You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在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

火山引擎 最新活动