EditorConfig:允许或强制私有字段以下划线开头
EditorConfig: Allow or Enforce Private Fields to Begin with An Underscore
编辑: 我正在使用 VS 代码。
我的代码收到以下警告,该代码在私有字段前加了下划线:
Naming rule violation: Prefix '_' is not expected [MyProject]csharp(IDE1006)
下面是我的代码:
namespace MyProject
{
public class Dog
{
// Naming rule violation: Prefix '_' is not expected [MyProject]csharp(IDE1006)
private int _age;
public int Age()
{
return _age;
}
public void SetAge(int age)
{
_age = age;
}
}
}
下面是我的 .editorconfig
文件:
[*.cs]
# Require private fields to begin with an underscore (_).
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = warning
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style
dotnet_naming_symbols.instance_fields.applicable_kinds = field
dotnet_naming_style.instance_field_style.capitalization = camel_case
dotnet_naming_style.instance_field_style.required_prefix = _
我也发布了我的 Directory.Build.props
文件,以防它与我上面的 .editorconfig
文件冲突。
我将它设置得尽可能严格,这样我就可以修复(或根据需要抑制)更严格的 C# 编译器会引发的所有警告:
<Project>
<PropertyGroup>
<Features>strict</Features>
<WarningLevel>9999</WarningLevel>
</PropertyGroup>
</Project>
我正在寻找一种解决方案,使 C# 的编译器尽可能严格,并且我可以在私有字段前加上下划线,允许它们或最好强制执行它们(私有字段 没有下划线会得到警告。
在 Visual Studio 中,您可以通过转到选项来执行此操作,然后执行以下步骤:
- 转到 C# 下的“命名”
- 单击“管理命名样式”
- 点击 + 号
- 填写一个合乎逻辑的名字
- 用_
填写“必填前缀”
- Select 大写的“驼峰命名法”
- 点击确定
- 点击确定
- 点击 + 号
- Select“私有或内部字段”(如果您只想私有,则需要创建自定义规范)as Specification
- Select 你的自定义命名风格作为命名风格
- Select 严重程度警告
请记住这些设置将被 .editorconfig
覆盖
看了微软的文档终于弄明白了here.
显然,条目的中间部分是一个 标识符,可以设置为任何我们想要的。
我创建了一条新规则,要求私有字段以下划线开头并采用驼峰式大小写。
下面是我的新 .editorconfig
文件:
# Define what we will treat as private fields.
dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private
# Define rule that something must begin with an underscore and be in camel case.
dotnet_naming_style.require_underscore_prefix_and_camel_case.required_prefix = _
dotnet_naming_style.require_underscore_prefix_and_camel_case.capitalization = camel_case
# Appy our rule to private fields.
dotnet_naming_rule.private_fields_must_begin_with_underscore_and_be_in_camel_case.symbols = private_fields
dotnet_naming_rule.private_fields_must_begin_with_underscore_and_be_in_camel_case.style = require_underscore_prefix_and_camel_case
dotnet_naming_rule.private_fields_must_begin_with_underscore_and_be_in_camel_case.severity = warning
非常感谢所有提供帮助的人,我希望这对那里的人有所帮助。
编辑: 我正在使用 VS 代码。
我的代码收到以下警告,该代码在私有字段前加了下划线:
Naming rule violation: Prefix '_' is not expected [MyProject]csharp(IDE1006)
下面是我的代码:
namespace MyProject
{
public class Dog
{
// Naming rule violation: Prefix '_' is not expected [MyProject]csharp(IDE1006)
private int _age;
public int Age()
{
return _age;
}
public void SetAge(int age)
{
_age = age;
}
}
}
下面是我的 .editorconfig
文件:
[*.cs]
# Require private fields to begin with an underscore (_).
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = warning
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style
dotnet_naming_symbols.instance_fields.applicable_kinds = field
dotnet_naming_style.instance_field_style.capitalization = camel_case
dotnet_naming_style.instance_field_style.required_prefix = _
我也发布了我的 Directory.Build.props
文件,以防它与我上面的 .editorconfig
文件冲突。
我将它设置得尽可能严格,这样我就可以修复(或根据需要抑制)更严格的 C# 编译器会引发的所有警告:
<Project>
<PropertyGroup>
<Features>strict</Features>
<WarningLevel>9999</WarningLevel>
</PropertyGroup>
</Project>
我正在寻找一种解决方案,使 C# 的编译器尽可能严格,并且我可以在私有字段前加上下划线,允许它们或最好强制执行它们(私有字段 没有下划线会得到警告。
在 Visual Studio 中,您可以通过转到选项来执行此操作,然后执行以下步骤:
- 转到 C# 下的“命名”
- 单击“管理命名样式”
- 点击 + 号
- 填写一个合乎逻辑的名字
- 用_ 填写“必填前缀”
- Select 大写的“驼峰命名法”
- 点击确定
- 点击确定
- 点击 + 号
- Select“私有或内部字段”(如果您只想私有,则需要创建自定义规范)as Specification
- Select 你的自定义命名风格作为命名风格
- Select 严重程度警告
请记住这些设置将被 .editorconfig
覆盖看了微软的文档终于弄明白了here.
显然,条目的中间部分是一个 标识符,可以设置为任何我们想要的。
我创建了一条新规则,要求私有字段以下划线开头并采用驼峰式大小写。
下面是我的新 .editorconfig
文件:
# Define what we will treat as private fields.
dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private
# Define rule that something must begin with an underscore and be in camel case.
dotnet_naming_style.require_underscore_prefix_and_camel_case.required_prefix = _
dotnet_naming_style.require_underscore_prefix_and_camel_case.capitalization = camel_case
# Appy our rule to private fields.
dotnet_naming_rule.private_fields_must_begin_with_underscore_and_be_in_camel_case.symbols = private_fields
dotnet_naming_rule.private_fields_must_begin_with_underscore_and_be_in_camel_case.style = require_underscore_prefix_and_camel_case
dotnet_naming_rule.private_fields_must_begin_with_underscore_and_be_in_camel_case.severity = warning
非常感谢所有提供帮助的人,我希望这对那里的人有所帮助。