将Sublime Text 2配置为C#代码编辑器(附配置文件)
Posted muyouking
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Sublime Text 2配置为C#代码编辑器(附配置文件)相关的知识,希望对你有一定的参考价值。
有时候我们需要编写一些小的代码片段时,在Visual Studio中创建一个工程就显得有点杀鸡用牛刀的感觉了,所有说对于一个程序员来说一款轻巧的代码编辑器还是很有必要的。原来我用的主要的Notepad++,直到发现了Sublime Text 2之后,这是一款非常优秀的编辑器,用ST2写代码有种非常流畅的感觉,就像是原来刚使用Chrome浏览器的时候(不过现在已经越来越笨重了),ST2是收费软件,但是可以无限试用的,现在已经出了ST3了,不过还是测试版。同时ST2具有很强的扩展性,有很多的插件可供使用。ST2支持多种编程语言,不过对C#的支持不是太好,想要作为一款C#代码编辑器还需要自己手动改造一番。
1.格式化代码
ST2其实自带了代码格式化的功能,不过没有提供相应的快捷键,选中需要格式化的区域之后,使用方式如下:
在这里我们可以自己定义快捷键,在菜单栏中打开 Perferences ——> Key Bindings-User,输入:
{"keys": ["ctrl+shift+r"], "command": "reindent" , "args": {"single_line": false}}
2.配置C#编译器
ST2支持对编译器的调用,但没有对C#编译器提供内置支持,需要我们自行进行配置。
新建编译器选项
选择菜单栏中的 Tools ——> Build System ——> New Build System ,输入:
1 {
2 "cmd": ["csc", "$file"],
3 "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
4 "selector": "source.cs",
5 "encoding": "cp936"
6 }
另存为ST2程序目录的 Packages/User 文件夹下面,文件名为: C#.sublime-build ,如下:
编辑好C#代码文件后,输入 Ctrl + B ,编译代码,如下:
编译后直接运行程序
如果我们需要不仅仅只是编译程序,还需要直接运行程序并且获取控制台的输出结果,我们还需要对上面的配置进行改造。
1.创建RunCSharp.bat文件
在C#编译器所在目录(32机器下在: C:\\Windows\\Microsoft.NET\\Framework 目录下,有各版本的C#编译器)下创建一个 RunCSharp.bat 文件,内容如下:
1 @ECHO OFF
2 cd %~dp1
3 ECHO Compiling %~nx1.......
4 IF EXIST %~n1.exe (
5 DEL %~n1.exe
6 )
7 csc %~nx1
8 IF EXIST %~n1.exe (
9 ECHO -----------OUTPUT-----------
10 start %~n1
11 )
2.修改C#.sublime-build文件
要实现编译器后运行的效果我们需要修改前面创建的build文件,修改后内容如下:
1 {
2 "cmd": ["RunCSharp.bat", "$file"],
3 "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
4 "selector": "source.cs",
5 "encoding": "cp936"
6 }
3.编译并运行程序
和前面一样,编写好代码后,键入Ctrl + B编译运行,在输出栏中查看控制台输入结果:
3.为C#代码添加注释功能
C#中的注释快捷键是无效的,这是因为 Packages文件夹 中缺少了定义注释行为的文件。打开Packages,在C#文件夹中添加一个名为: Comments.tmPreferences 文件,输入如下内容:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0">
4 <dict>
5 <key>name</key>
6 <string>Comments</string>
7 <key>scope</key>
8 <string>source.cs</string>
9 <key>settings</key>
10 <dict>
11 <key>shellVariables</key>
12 <array>
13 <dict>
14 <key>name</key>
15 <string>TM_COMMENT_START</string>
16 <key>value</key>
17 <string>// </string>
18 </dict>
19 <dict>
20 <key>name</key>
21 <string>TM_COMMENT_START_2</string>
22 <key>value</key>
23 <string>/*</string>
24 </dict>
25 <dict>
26 <key>name</key>
27 <string>TM_COMMENT_END_2</string>
28 <key>value</key>
29 <string>*/</string>
30 </dict>
31 </array>
32 </dict>
33 <key>uuid</key>
34 <string>FBA964F9-2013-44D1-A5FD-AE8AB3FF8954</string>
35 </dict>
36 </plist>
添加注释文件后,就可以为C#代码添加注释了,可以使用菜单,也可以使用相应的快捷键,如下:
4.添加C#关键字
编程语言的关键字在ST2中是高亮显示的,对于ST2我们需要自己定义一下关键字,例如:virtual,var等,这时我们需要修改Packages文件夹中的C#文件夹的C#.tmLanguage文件,修改后文件的内容如下:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0">
4 <dict>
5 <key>fileTypes</key>
6 <array>
7 <string>cs</string>
8 </array>
9 <key>foldingStartMarker</key>
10 <string>^\\s*/\\*|^(?![^{]*?//|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|//|/\\*(?!.*?\\*/.*\\S))</string>
11 <key>foldingStopMarker</key>
12 <string>^\\s*\\*/|^\\s*\\}</string>
13 <key>keyEquivalent</key>
14 <string>^~C</string>
15 <key>name</key>
16 <string>C#</string>
17 <key>patterns</key>
18 <array>
19 <dict>
20 <key>begin</key>
21 <string>///</string>
22 <key>captures</key>
23 <dict>
24 <key>0</key>
25 <dict>
26 <key>name</key>
27 <string>punctuation.definition.comment.source.cs</string>
28 </dict>
29 </dict>
30 <key>end</key>
31 <string>$\\n?</string>
32 <key>name</key>
33 <string>comment.block.documentation.source.cs</string>
34 <key>patterns</key>
35 <array>
36 <dict>
37 <key>begin</key>
38 <string>(</?)(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]+)</string>
39 <key>captures</key>
40 <dict>
41 <key>1</key>
42 <dict>
43 <key>name</key>
44 <string>punctuation.definition.tag.source.cs</string>
45 </dict>
46 <key>2</key>
47 <dict>
48 <key>name</key>
49 <string>entity.name.tag.namespace.source.cs</string>
50 </dict>
51 <key>3</key>
52 <dict>
53 <key>name</key>
54 <