VSCode环境下无法自定义C#代码格式化规则问题求助
OmniSharp 自定义格式化规则不生效排查步骤
- 确认编辑器的C#扩展设置中,
OmniSharp: Use Global OmniSharp选项处于关闭状态,否则会优先读取全局配置,忽略项目本地的omnisharp.json - 检查omnisharp.json的JSON语法是否正确,尤其注意括号、逗号的闭合,所有格式化规则配置必须放在
formatting父字段下,基础配置结构参考如下:
{ "formatting": { "enable": true, "newLine": "\n", "indentationSize": 4, "useTabs": false, "spacing": { "afterComma": true, "beforeComma": false, "afterSemicolonInForLoop": true } } }
- 验证配置文件放置路径:项目根目录的omnisharp.json优先级高于
.omnisharp文件夹下的配置,确保你放置配置的目录是当前打开的工作区根目录,而非嵌套的子项目文件夹 - 配置修改完成后必须重启OmniSharp服务生效:按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)调出命令面板,执行OmniSharp: Restart OmniSharp命令,等待服务完全加载完成后再测试格式化功能 - 确认编辑器的默认C#格式化程序绑定为OmniSharp:右键编辑器空白区域选择「使用...格式化文档」,确认默认格式化程序为「C#」
- 排查.editorconfig文件的覆盖影响:如果项目根目录存在.editorconfig文件,其代码格式规则优先级高于omnisharp.json,需要对应修改.editorconfig的规则,或在OmniSharp设置中关闭对.editorconfig的支持
内容的提问来源于stack exchange,提问作者Rafael
相关产品推荐
相关产品推荐

