如何在VS Code中自定义C#文件(*.cs)的格式化器?
如何在VS Code中自定义C#文件(*.cs)的格式化器?
嘿,我来给你唠唠怎么自定义VS Code里C#的格式化规则,毕竟默认的有时候确实没法完全贴合咱们的编码习惯~
目前在VS Code里自定义C#格式化主要有几种常用的方式,我一个个给你说清楚:
1. 用.editorconfig文件(项目级推荐)
这个方式特别适合团队协作或者想让规则跟着项目走的场景,它能覆盖VS Code的全局设置,而且所有支持这个标准的编辑器都能识别。
- 第一步:在你的项目根目录或者解决方案根目录,新建一个名为
.editorconfig的文件(注意文件名前面有个点,别漏了) - 第二步:在文件里添加你想要的格式化规则,举几个常用的例子:
# 基础配置,告诉编辑器这是根配置文件 root = true # 针对所有C#文件的规则 [*.cs] # 缩进用4个空格 indent_size = 4 # 按Tab键时插入空格 indent_style = space # 语句末尾必须加分号 csharp_semicolon_at_end_of_statement = always # 方法名和括号之间不要空格 csharp_space_before_open_parenthesis = never # 私有字段以下划线开头的命名规则 dotnet_naming_rule.private_fields_should_use_underscore.severity = suggestion dotnet_naming_rule.private_fields_should_use_underscore.symbols = private_fields dotnet_naming_rule.private_fields_should_use_underscore.style = underscore_prefix dotnet_naming_symbols.private_fields.applicable_kinds = field dotnet_naming_symbols.private_fields.applicable_accessibilities = private dotnet_naming_style.underscore_prefix.required_prefix = _ dotnet_naming_style.underscore_prefix.capitalization = camel_case
保存之后,VS Code就会自动应用这些规则来格式化你的C#文件了。
2. 修改VS Code全局/工作区设置
如果只是想给自己的编辑器设置统一规则,不想每个项目都弄文件,可以直接改VS Code的设置:
- 打开设置面板:按
Ctrl+,(Windows/Linux)或者Cmd+,(Mac) - 在搜索框里输入「C# format」,就能看到一堆和C#格式化相关的选项,比如是否保存时自动格式化、缩进大小、是否保留空行等等,直接勾选或者修改数值就行
- 如果你习惯编辑json配置文件,也可以打开
settings.json,添加针对C#的专属配置:
"[csharp]": { "editor.tabSize": 4, "editor.insertSpaces": true, "editor.formatOnSave": true, "editor.trimTrailingWhitespace": true }
3. 使用第三方格式化器
如果官方的Roslyn formatter满足不了你的需求,还可以试试第三方工具,比如CSharpier或者Fantomas:
- 先安装对应的工具,比如CSharpier可以用命令行安装:
dotnet tool install -g csharpier - 然后在VS Code的扩展商店里搜索安装对应的插件(比如CSharpier的插件叫「CSharpier」)
- 最后在VS Code设置里把C#的默认格式化器改成第三方插件的ID,比如CSharpier的ID是
csharpier.csharpier-vscode,在settings.json里添加:
"[csharp]": { "defaultFormatter": "csharpier.csharpier-vscode" }
这类第三方工具也有自己的配置文件,比如CSharpier用.csharpierrc,你可以在里面自定义更个性化的格式化规则。
最后提醒一句:.editorconfig的优先级比VS Code的全局设置高,如果你的项目里有这个文件,编辑器会优先用它的规则哦~
内容来源于stack exchange




