.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 ...
随机推荐
- 记一次Idea无法打开记录(idea升级)
记一次Idea无法打开记录 前言,本来今天是打算升级Idea,然后体验一波的,结果升级完之后,发现无法打开idea(双击之后并没有任何打开的反应). 原因排查,打开idea所在目录,找到idea.ba ...
- Android 12(S) MultiMedia Learning(六)NuPlayer Decoder
接下来将会从4个角度来记录NuPlayerDecoder部分 相关代码路径: http://aospxref.com/android-12.0.0_r3/xref/frameworks/av/medi ...
- 最全SpringBoot日志配置-按照日期和日志级别进行归档
指定日志文件路径 在 spring的配置文件中配置: logging: config: classpath:logback.xm 日志配置 <?xml version="1.0&quo ...
- linux获取docker容器中的文件路径怎么表示
在Linux系统中,Docker容器中的文件路径与宿主机上的文件系统是隔离的,因此我们不能直接使用宿主机的文件系统路径来访问容器内的文件.但是,有几种方法可以让我们获取或操作Docker容器中的文件. ...
- 面试官:说说Netty的核心组件?
Netty 核心组件是指 Netty 在执行过程中所涉及到的重要概念,这些核心组件共同组成了 Netty 框架,使 Netty 框架能够正常的运行. Netty 核心组件包含以下内容: 启动器 Boo ...
- RTOS入门
RTOS是什么? RTOS是一款操作系统,相当于Windows\Linux 分为ucos FreeRTOS RT-Thread LiteOS 比裸机开发的优势在于,多任务系统,不必串行 临界区 临界区 ...
- 「AntV」X6 自定义vue节点(vue3)
官方文档 本篇文档只讲解vue3中如何使用,vue2的可以参考下官方文档 安装插件 @antv/x6-vue-shape 添加vue组件 既然使用vue节点,那么我们就需要准备一个vue的组件,这个组 ...
- Qt信号与槽的使用
参考视频:黑马程序员https://www.bilibili.com/video/BV1XW411x7NU?p=4 1 新建工程 先创建一个控件基础工程,创建后的界面如下: 主函数我们不需要修改,就 ...
- JAVA RSA 私钥签名 公钥验证签名 公钥验签
JAVA RSA 私钥签名 公钥验证签名 公钥验签 1.待签名字符串转为byte数组时,一般使用UTF8. 2.将私钥字符串(PKCS8格式)转为PKCS8EncodedKeySpec对象. 3.使用 ...
- python 简单剖析及语法基础
1.Python的应用领域 WEB开发 网络编程 爬虫 云计算 人工智能.数据分析 自动化运维 金融分析 科学运算 游戏开发 2.Python的发展前景 知乎上有一篇文章,问Python未来10 ...