Omnisharp / VS Code 不考虑 .editorconfig 中的设置

Mon*_*rlo 9 omnisharp visual-studio-code editorconfig

我正在尝试设置我的 Visual Stuido Code,以便 Omnisharp 使用 中提供的设置,如https://www.strathweb.com/2019/07/editorconfig-support-in-omnisharp-and-c-extension.editorconfig中所述-vs-代码/ . 我使用设置了一个新的 .net-core 3.1 控制台项目,dotnet new console并将一个.editorconfig文件添加到项目的根目录中。然后,我填写了博客文章中的确切值(见下文),并为 OmniSharp 启用了 editorconfig 和 roslyn 分析器。我什至尝试了两种启用这些功能的方法:Insettings.json和 in omnisharp.json。但是,当我使用 OmniSharp 的重构功能从构造函数参数创建字段时,生成的名称等于参数名称,而不是以_. 多次重新启动 OmniSharp 服务器也没有帮助。

.editorconfig

[*.cs]
dotnet_style_qualification_for_field = false
dotnet_naming_style.instance_field_style.capitalization = camel_case
dotnet_naming_style.instance_field_style.required_prefix = _
Run Code Online (Sandbox Code Playgroud)

具有自动生成字段的示例类

[*.cs]
dotnet_style_qualification_for_field = false
dotnet_naming_style.instance_field_style.capitalization = camel_case
dotnet_naming_style.instance_field_style.required_prefix = _
Run Code Online (Sandbox Code Playgroud)

我正在使用什么:

  • VS 代码版本 1.42.1
  • VS Code 版本 1.21.12 的 C# 扩展
  • Omnisharp 服务器(扩展的一部分)版本 1.34.13

如果有人能告诉我我做错了什么或指出我正确的方向,我将非常感激。

m42*_*m42 6

我最近在格式化方面也遇到了麻烦。

我想我终于有了一个稳定的工作解决方案。

  • 我禁用了之前安装和尝试过的所有其他代码格式化扩展。这包括注释掉与这些扩展相关的所有设置settings.json
  • 我删除了.editorconfig项目根目录下的文件。
  • 我添加了以下内容settings.json
"[csharp]": {
    "editor.defaultFormatter": "ms-dotnettools.csharp"
 },
"omnisharp.enableMsBuildLoadProjectsOnDemand": true,
"omnisharp.enableEditorConfigSupport": true,
"omnisharp.enableRoslynAnalyzers": true,
Run Code Online (Sandbox Code Playgroud)
  • 我将以下内容添加到文件顶部omnisharp.json
{
  "RoslynExtensionsOptions": {
    "enableAnalyzersSupport": true,
  },
  "FormattingOptions": {
    "enableEditorConfigSupport": true,
Run Code Online (Sandbox Code Playgroud)
  • 使用上面提到的帖子中链接的 示例.editorconfig在项目根目录重新创建。这对我来说很重要,因为即使在所有其他更改之后,我之前使用的也无法正常工作。.editorconfig
  • 重新启动 VS 代码
  • 重新加载您的项目

readonly string _name直到重新启动所有内容后我才看到创建选项。

[编辑]@Stephen 的以下回答可能对您也有帮助。

#IDE1006
dotnet_naming_style.camel_case.capitalization = camel_case
dotnet_naming_symbols.private_symbols.applicable_accessibilities = private
dotnet_naming_rule.camel_case_for_private.severity = warning
dotnet_naming_rule.camel_case_for_private.symbols  = private_symbols
dotnet_naming_rule.camel_case_for_private.style = camel_case
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

5173 次

最近记录:

6 年,4 月 前