如何查询VS Code中C#/OmniSharp扩展格式化配置的属性及默认值?
我之前折腾OmniSharp配置的时候也碰到过一模一样的情况——旧文档滞后、IntelliSense不全,找不到像OrganizeImports这类新增属性的准确信息。下面是几个亲测有效的方法,能帮你拿到最新最权威的格式化选项和默认值:
直接查看OmniSharp-Roslyn源码
这是最靠谱的途径,因为所有配置选项的定义都在源码里,完全同步当前版本。你可以找到OmniSharp-Roslyn项目中负责格式化配置的类文件(比如FormattingOptions.cs),里面会清晰列出所有支持的属性、类型和默认值。比如v1.21.10版本里的OrganizeImports属性,在源码里就能看到它的默认值和生效逻辑,完全不会有文档滞后的问题。通过VS Code扩展设置映射omnisharp.json属性
虽然omnisharp.json的IntelliSense不全,但VS Code的C#扩展设置面板里的选项和omnisharp.json是一一对应的。你可以在VS Code的设置里搜索「OmniSharp Formatting」,找到比如「Organize Imports On Format」这类选项,查看它的描述和默认值,然后把设置项的名称转换成驼峰格式(比如把omnisharp.organizeImportsOnFormat转换成organizeImports),就能直接用到omnisharp.json里。启用调试日志查看加载的配置
你可以在VS Code的settings.json里添加一行:"omnisharp.loggingLevel": "Debug",然后重启OmniSharp服务。之后在输出面板切换到「OmniSharp Log」,就能找到加载配置的日志段,里面会列出所有实际生效的配置项,包括那些IntelliSense没显示的隐藏属性,以及它们的默认值。检查扩展内置的Schema文件
VS Code的C#扩展自带了最新的omnisharp.json schema文件,比SchemaStore上的旧版本要新。你可以找到扩展的安装目录:- Windows:
%USERPROFILE%\.vscode\extensions\ms-dotnettools.csharp-<你的版本号>\schemas\omnisharp.json - Mac/Linux:
~/.vscode/extensions/ms-dotnettools.csharp-<你的版本号>\schemas\omnisharp.json
打开这个文件,就能看到完整的配置属性列表、类型说明和默认值,直接用来补全你的omnisharp.json。
- Windows:
内容的提问来源于stack exchange,提问作者Lance U. Matthews

