首页 > 其他分享 >.NET 轻量级 命令行工具 CSharpRepl

.NET 轻量级 命令行工具 CSharpRepl

时间:2024-07-25 10:19:23浏览次数:16  
标签:CSharpRepl C# 代码 REPL 命令行 NET 轻量级

前言

当我们需要快速测试代码片段时,常见的做法是启动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技术匠] 社区,与其他热爱技术的同行交流心得,共同成长。

标签:CSharpRepl,C#,代码,REPL,命令行,NET,轻量级
From: https://www.cnblogs.com/1312mn/p/18321908

相关文章

  • debian 中使用 telnet 测试服务
    在Debian中使用Telnet命令Telnet是一种基于文本的协议,用于在网络中进行双向交互通信。它通常用于远程登录和测试网络服务。以下是如何在Debian系统上安装和使用Telnet的详细步骤。安装Telnet客户端在Debian系统中,Telnet客户端通常不会预装,因此需要先进行安装。......
  • 发布.NET应用程序,不单独安装运行时
    很多.NET开发者编译好的的程序,发布到另外一台电脑的时候,往往都不能运行,而是需要安装运行时。这个大多数人都知道,直接去运行时官网下载对应版本的安装包即可。比如我用了6.0,那么选择对应架构的版本下载即可。然后在目标机器上安装这个包,就可以运行我们的.NET程序了。这样操作起来......
  • 昇思25天学习打卡营第21天|基于MobileNetv2的垃圾分类
    基于MobileNetv2的垃圾分类实验目的MobileNetv2模型原理介绍实验环境数据处理数据准备数据加载数据预处理操作MobileNetV2模型搭建MobileNetV2模型的训练与测试训练策略模型训练与测试模型推理导出AIR/GEIR/ONNX模型文件本文档主要介绍垃圾分类代码开发的方法。通过......
  • 记录荒废了三年的四年.net开发的第二次面试(进复试了)
    这次面试的是小公司,深圳计通智能,面试分为初试和复试。使用腾讯视频会议完成。相比与上次面试,这次有所进步,进复试了。当然,这可能也与面试风格有关。这次面试着重与项目经历和技术,因此回答比较顺畅。这一周干了什么我先是研究了上次面试没回答出来,或者回答得不好的技术问题。然后......
  • 类库项目无法引用Microsoft.AspNetCore程序集下的类库
    类库项目无法引用Microsoft.AspNetCore程序集下的类库 在类库项目中不能直接引用WebApplicationBuilder、ApplicationBuilder等类,这些类位于Microsoft.ASPNetCore程序集中,但是无法通过Nuget包引用,因为该Nuget包的版本已经不再支持,很久没有更新过了。解决方法:在项目文件cspr......
  • mqtt- 轻量级的消息传输协议
    金融数据流:实时数据传输 实现方式基于mqttMQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,主要用于低带宽和高延迟的网络环境。它特别适合于物联网(IoT)应用、移动设备和其他需要可靠消息传递的场景。MQTT的主要特点1.轻量级和高效:•MQTT协议......
  • .NET Core 核心知识点(四) -- 初会依赖注入
    控制反转、服务定位器、依赖注入  控制反转:使用对象或者服务的时候,不需要自己去创建/new服务,而是在使用的时候直接声明,容器会自动分配一个服务实例。相当于自己用发电机发电使用和利用电网公司的电的区别,自己发电,我需要一台发电机,安装发电机,自己设置电压,频率等等,而使用电......
  • VS2022 安装.NET4.5目标包
    转载自https://www.cnblogs.com/Stay627/p/15549958.html[VS2022安装.NET4.5目标包]众所周知VS2022将不再支持.NET4.5,即使在VisualStudioInstaller中也找不到.NET4.5的选项在不改变项目结构的情况下,要么选择继续使用VS2019,当然博主已经卸掉了,那么还有什么方法呢?我们可以......
  • unet网络解析
    Unet网络结构学习记录导入包#!/user/bin/python#coding=utf-8importnumpyasnpimporttorchimporttorch.nnasnn能够访问PyTorch中定义的所有神经网络层(如全连接层、卷积层、池化层等)、损失函数(如交叉熵损失、均方误差损失等)以及激活函数(如ReLU、Sigmoid等importtor......
  • 在.NET MVC 中使用 Quartz.NET 创建可以修改时间的定时任务,并结合 Autofac 进行依赖注
    net4.6.1  nuget包Quartz  3.0Autofac  5.0Autofac.Mvc5 5.0  步骤1:创建Quartz任务首先,创建一个实现 IJob 接口的任务类。这个类将定义你希望定时执行的操作。publicclassMyJob:IJob{publicTaskExecute(IJobExecutionContextcontext)......