.NET 轻量级 命令行工具 CSharpRepl
前言
当我们需要快速测试代码片段时,常见的做法是启动Visual Studio或使用在线代码编辑器。然而,Visual Studio的启动可能较为缓慢且占用较多系统资源,而在线编辑器则可能遇到语法支持局限或网络延迟问题。
为解决这个问题,给大家推荐一款轻量级的本地C#执行工具——CSharpRepl。可以提供一个即时、便捷的环境,能够迅速验证代码想法,无需等待IDE的启动,也不受网络连接的限制。
CSharpRepl 的优势在于体积小巧、启动迅速,同时支持C#的广泛语法特性,非常适合即时能够看到代码效果,帮助我们快速验证文问题。
无论是初学者还是大神级别,CSharpRepl都能成为一个理想的代码运行平台,帮助你更高效地学习和工作。
简而言之,CSharpRepl 是一个实用的选择,它简化了C#代码的测试流程,让你专注于编程本身,而无需为工具的局限性所困扰。
CSharpRepl 简介
CSharpRepl 是一个在 .NET Core 环境下运行的 C# 交互式 REPL(Read-Eval-Print Loop)工具,由 waf 在 GitHub 上开源维护。
REPL 环境允许开发者以交互方式执行 C# 代码,非常适合实验、原型设计、学习语言特性和快速脚本编写。
CSharpRepl 特点
1、即时反馈:输入代码后,CSharpRepl 立即执行并显示结果,无需编译整个项目。
2、.NET Core 兼容:完全兼容 .NET Core,这意味着它可以在多种操作系统上运行,包括 Windows、macOS 和 Linux。
3、代码补全和智能感知:提供代码自动补全和智能感知功能,提高编码效率。
4、代码重用:在 REPL 会话中定义的变量和方法在后续的命令行输入中仍然可用,便于代码重用。
5、文件导入:可以导入本地文件中的代码,方便在 REPL 环境中测试和调试代码片段。
6、自定义配置:用户可以根据需要调整 REPL 的行为,例如设置默认的引用集合、预加载的程序集等。
7、支持IL(中间语言)反汇编,包括调试和发布模式。
8、支持OpenAI集成。
安装与使用
1、安装 CSharpRepl
通过 NuGet Package Manager
如果已经安装了 .NET SDK,可以通过命令行使用以下命令来全局安装 CSharpRepl:
dotnet tool install --global CSharpRepl
源代码编译
使用源码编译 CSharpRepl,可以从 GitHub下载源代码,然后使用.NET CLI 或 Visual Studio 构建项目。

2、启动 CSharpRepl
安装完成后可以在命令行中输入以下命令来启动 CSharpRepl工具

3、使用 CSharpRepl
输入和执行 C# 代码,然后按 Enter 键执行。

安装NuGet包并引用

高亮的语法和智能提示

使用C#和.NET API

引用本地项目

查看IL代码

查看源码

使用场景
教学和学习:适合教授 C# 编程基础知识,学生可以即时看到代码执行的结果。
原型设计:快速测试算法或功能,无需完整的项目结构。
代码探索:研究 .NET 标准库或第三方库的功能和用法。
开源地址
https://github.com/waf/CSharpRepl
如果觉得这篇文章对你有用,欢迎加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行交流心得,共同成长。

.NET 轻量级 命令行工具 CSharpRepl的更多相关文章
- 20个命令行工具监控Linux系统性能
作为Linux/Unix 系统管理员需要掌握一些常用的工具用于检测系统性能.在这里,dodo为大家推荐非常20个有用的并且最常用的命令行系统监视工具: 1. top -Linux系统进程监控 top ...
- 【No.2】监控Linux性能25个命令行工具
接着上一篇博文继续 [No.1]监控Linux性能25个命令行工具 10:mpstat -- 显示每个CPU的占用情况 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一 ...
- 监控Linux性能的18个命令行工具
监控 Linux 性能的 18 个命令行工具 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保 ...
- JMeterPluginCMD命令行工具使用详解
MeterPluginCMD命令行工具生成png图片和csv统计文件 Jmeter是个纯java的开源的轻量级性能测试工具,功能强大.因为是轻量级的,与loadrunner相比,报告统计的相对较少.不 ...
- Linux 性能监控的18个命令行工具
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我 ...
- 20个linux命令行工具监视性能(下)
昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给 ...
- 20个命令行工具监控 Linux 系统性能(转载)
1. top — Linux 系统进程监控 top 命令是性能监控程序,它可以在很多 Linux/Unix 版本下使用,并且它也是 Linux 系统管理员经常使用的监控系统性能的工具.Top 命令可以 ...
- 监控 Linux 性能的 18 个命令行工具
http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance 1.Top-Linux进程监控 Lin ...
- [转载]监控 Linux 性能的 18 个命令行工具
转自:http://www.kuqin.com/shuoit/20140219/338066.html 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一 ...
- 20个命令行工具监控 Linux 系统性能
对于每个系统管理员或网络管理员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作.我已经有5年 Linux 管理员的工作经历,知道如何监控系统使其保持正常运行.为此,我们编写了对于 L ...
随机推荐
- protoc-gen-go: error:inconsistent package names: , prototest
如果你已经安装proto ,以及go生成proto插件.但还是报这种错误,请看一下是否 protoc --go_out=./ *.proto 指令打错了
- 使用Rainbond部署Logikm,轻松管理Kafka集群
简介 滴滴Logi-KafkaManager脱胎于滴滴内部多年的Kafka运营实践经验,是面向Kafka用户.Kafka运维人员打造的共享多租户Kafka云平台.专注于Kafka运维管控.监控告警.资 ...
- 企业级nginx内核优化篇
1. cpu核心配置 方法1: worker_processes auto; 自动调用[推荐] 方法2: worker_processes 4; 手工配置 检查CPU核心:yum install nu ...
- MySQL学习笔记-索引
索引 索引(index)是帮助MySQL高效获取数据的数据结构(有序).在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现 ...
- autojs拉人进群
/* 微信 version:8.0.1 语言:AutoJs [https://hyb1996.github.io/AutoJs-Docs/#/] @author:奔跑的前端猿 */ auto.wait ...
- UDP端口探活的那些细节
一 背景 商业客户反馈用categraf的net_response插件配置了udp探测, 遇到报错了,如图 udp是无连接的,无法用建立连接的形式判断端口. 插件最初的设计是需要配置udp的发送字符 ...
- 夜莺监控发布 v6.7 版本,推送部分商业版功能
熟悉夜莺的小伙伴都知道夜莺分为开源版.专业版.企业版,三个版本良性发展.近期夜莺团队发布了 v6.7 版本,把机器Metadata管理功能推送到了开源版,下面是该功能的简单介绍. 如上图,机器列表页面 ...
- 1004 成绩排名 PAT Basic Level
我的个人博客地址 azoux's blog 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 ...
- 根据两个日期之间获取LocalDate日历列表和LocalDate和LocalDateTime数据格式转换
根据两个日期之间获取LocalDate日历列表和LocalDate和LocalDateTime数据格式转换 package com.example.core.mydemo.localdatetime; ...
- 报错 ERR !npicode ELIFECYCLE dev: wue-cli-service serve
在系统变量 Path 里面加上:%SystemRoot%\system32,关掉终端,重新启动项目.