Windows下在Sublime Text 3中运行C#的问题及替代方案咨询
解决ScriptCS在Sublime Text3中运行C#的乱码问题
乱码根源是Windows控制台默认GBK编码与Sublime终端UTF-8编码不匹配,可通过以下步骤修复:
- 修改ScriptCS构建系统编码:
- 打开Sublime Text3,依次点击
Tools->Build System->New Build System - 替换原有内容为以下配置:
{ "cmd": ["scriptcs", "-script", "$file"], "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.cs", "encoding": "cp936", "windows": { "cmd": ["cmd", "/c", "chcp 65001 && scriptcs -script \"$file\""] } }- 保存为
ScriptCS.sublime-build,默认保存路径即可 - 重新打开C#脚本,按
Ctrl+B运行验证
- 打开Sublime Text3,依次点击
在Sublime Text3中运行C#的替代方案
方案1:使用.NET CLI直接运行
适合.NET 6+版本,支持单个文件运行:
- 新建构建系统:
Tools->Build System->New Build System - 替换为以下配置:
{ "cmd": ["dotnet", "run", "--", "$file"], "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.cs", "working_dir": "${file_path}", "encoding": "utf-8" }
- 保存为
DotNetRun.sublime-build - 直接按
Ctrl+B运行单个C#文件(无需初始化项目,.NET 6+支持顶级语句)
方案2:使用Mono编译运行
适合跨平台或旧版本.NET环境:
- 新建构建系统,配置如下:
{ "cmd": ["mcs", "$file", "-out:${file_path}/${file_base_name}.exe"], "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.cs", "variants": [ { "name": "Run", "cmd": ["mono", "${file_path}/${file_base_name}.exe"] } ] }
- 保存为
MonoCSharp.sublime-build - 按
Ctrl+B编译代码,Ctrl+Shift+B选择Run执行生成的程序
内容的提问来源于stack exchange,提问作者Programmer
相关产品推荐
相关产品推荐

