cse*_*lls 5 omnisharp visual-studio-code
我试图利用与Visual Studio Code的集成,但无法弄清楚如何设置C#格式化选项.我的Mac上的OmniSharp exe旁边的config.json(/ Applications/Visual Studio Code.app/Contents/Resources/app/extensions/jrieken.vscode-omnisharp/bin/packages/OmniSharp/config.json)没有匹配标准的OmniSharp config.json格式,因此设置大括号+换行符属性不起作用,例如methodBraceStyle.它确实可以设置tabSize等.
g0n*_*0nk 13
如果有人遇到 Omnisharp 无法识别omnisharp.json 文件的问题(就像我今天早些时候遇到的那样),请将以下内容放入您的 vscode 中settings.json
:
"omnisharp.enableEditorConfigSupport": false
和Restart Omnisharp
以下是有关此内容的更多信息的链接:https://github.com/OmniSharp/omnisharp-vscode/issues/5446#issuecomment-1308655891
只需使用最新的omnisharp(dev分支)和omnisharp.json
(粘贴在下面)与我的项目相同的文件夹即可使用.sln
.它应该适用于自v1.9-beta18以来的所有版本,我只是从源代码编译,因为我没有使用受支持的系统.
{
"FormattingOptions": {
"newLine": "\n",
"useTabs": false,
"tabSize": 4,
"indentationSize": 4,
"NewLinesForBracesInTypes": false,
"NewLinesForBracesInMethods": false,
"NewLinesForBracesInProperties": false,
"NewLinesForBracesInAccessors": false,
"NewLinesForBracesInAnonymousMethods": false,
"NewLinesForBracesInControlBlocks": false,
"NewLinesForBracesInAnonymousTypes": false,
"NewLinesForBracesInObjectCollectionArrayInitializers": false,
"NewLinesForBracesInLambdaExpressionBody": false,
"NewLineForElse": false,
"NewLineForCatch": false,
"NewLineForFinally": false,
"NewLineForMembersInObjectInit": false,
"NewLineForMembersInAnonymousTypes": false,
"NewLineForClausesInQuery": false,
}
}
Run Code Online (Sandbox Code Playgroud)
可用选项列在此文件中:https://github.com/bstockus/omnisharp-roslyn/blob/dev/src/OmniSharp.Abstractions/Options/FormattingOptions.cs
在启动时,OmniSharp 使用以下(分层)顺序获取配置选项:
- 它自己的硬编码默认值
- 环境变量
- 命令行参数
- 一个
omnisharp.json
文件位于%USERPROFILE%/.omnisharp/
omnisharp.json
位于 OmniSharp 指向的工作目录中的文件每个配置源都可以覆盖前一个源设置的任何设置。
根据其中一位开发人员的博客文章总结上述配置位置:
config.json
在 OmniSharp 扩展的目录中指定。这是不建议修改这个文件。omnisharp.json
在%USERPROFILE%\.omnisharp\
(或~/.omnisharp/
)特定于用户的设置。omnisharp.json
在项目目录中用于项目特定的设置。使用ms-vscode.csharp
Visual Code v1.42.0 扩展的v1.21.11 进行测试,似乎 OmniSharp 仅适用omnisharp.json
于工作区文件夹的根目录,而不适用于后代目录。
Visual Studio Code的C# 扩展也支持EditorConfig
,您可以通过以下方法之一启用:
File
? Preferences
? Settings
? Extensions
? C# configuration
?OmniSharp: Enable Editor Config Support
settings.json
...
{
"omnisharp.enableEditorConfigSupport": true,
}
Run Code Online (Sandbox Code Playgroud)omnisharp.json
{
"FormattingOptions": {
"enableEditorConfigSupport": true
}
}
Run Code Online (Sandbox Code Playgroud)Linux用户:
对于那些不想为每个项目一遍又一遍重复这些步骤的人来说,这是一个全局解决方案。
重要提示:从doc.microsoft.com/...选择正确的 Linux 版本来安装 dotNet SDK很重要!否则,omnisharp 将无法正确安装,并且上述代码将无法工作。
归档时间: |
|
查看次数: |
4128 次 |
最近记录: |