Ste*_*erg 78 c# asp.net visual-studio-2017
我刚刚安装了visual studio 2017.当我打开一个现有的网站时,我收到各种各样的警告信息,例如:
IDE1006命名规则违规:这些单词必须以大写字符开头:swe_calc
在代码中,它被定义为:
[System.Runtime.InteropServices.DllImport("swedll32.dll")]
public static extern Int32 swe_calc(double tjd, int ipl, Int32 iflag, IntPtr xx, IntPtr serr);
Run Code Online (Sandbox Code Playgroud)
我的asp.net控件也会出现这种情况.作为DropDownList的示例:
IDE1006命名规则违规:这些单词必须以大写字符开头:ddlMonth_SelectedIndexChanged
如何在Visual Studio下消除这些类型的警告?
小智 123
它是一个新的可配置功能,如果你去
选项→文本编辑器→您的语言(我做了C#)→代码样式→命名
在那里,我去管理样式添加驼峰案例(它在那里,但你需要将它添加到你的可选择):转到"+"符号,然后相应地添加你的规则.
重要提示:关闭解决方案并重新打开它以使更改生效.
例如,我只使用camel Case作为私有方法.所以我选择私有方法并且需要Style我创建的新"camel Case"并将其设置为Severity Suggestion(我也将其提升到顶部).
内置的都是"建议",所以你也可以关闭消息.
A.J*_*uer 21
如果你需要摆脱这些消息,你也可以压制它们.
Rob*_* S. 17
如果只想在某些文件或区域中禁止显示,则可以使用以下命令:
#pragma warning disable IDE1006
// the code with the warning
#pragma warning restore IDE1006
Run Code Online (Sandbox Code Playgroud)
Dan*_*ite 13
您可以重命名该方法,并使用该EntryPoint
属性将该名称添加到该属性.
[System.Runtime.InteropServices.DllImport("swedll32.dll", EntryPoint = "swe_calc")]
public static extern Int32 SweCalc(double tjd, int ipl, Int32 iflag, IntPtr xx, IntPtr serr);
Run Code Online (Sandbox Code Playgroud)
.editorconfig
这可以使用正常的 VS2017 和 VS2019 使用设置文件并使用命名规则来完成:https: //learn.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
该文件可以手动创建,或者在 VS2019 中,您可以让 Visual Studio 根据您的偏好创建它(即按照/sf/answers/2879209441/中配置您的偏好之后),通过点击从设置按钮生成编辑器配置文件。
例如,以下几组规则将为所有非公共方法启用驼峰命名法,并保留 VS 自带的其他默认命名规则。
#### Naming styles ####
# Naming rules
dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
dotnet_naming_rule.private_method_should_be_camelcasestyle.severity = suggestion
dotnet_naming_rule.private_method_should_be_camelcasestyle.symbols = private_method
dotnet_naming_rule.private_method_should_be_camelcasestyle.style = camelcasestyle
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
# Symbol specifications
dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.interface.required_modifiers =
dotnet_naming_symbols.private_method.applicable_kinds = method
dotnet_naming_symbols.private_method.applicable_accessibilities = private, protected, internal, protected_internal
dotnet_naming_symbols.private_method.required_modifiers =
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.types.required_modifiers =
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.non_field_members.required_modifiers =
# Naming styles
dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case
dotnet_naming_style.camelcasestyle.required_prefix =
dotnet_naming_style.camelcasestyle.required_suffix =
dotnet_naming_style.camelcasestyle.word_separator =
dotnet_naming_style.camelcasestyle.capitalization = camel_case
Run Code Online (Sandbox Code Playgroud)
小智 5
如果要在方法中省略或取消警告消息,可以使用命名空间System.Diagnostics.CodeAnalysis 中的SuppressMessage:
[SuppressMessage("Microsoft.Design", "IDE1006", Justification = "Rule violation aceppted due blah blah..")]
Run Code Online (Sandbox Code Playgroud)
该理由属性是可选的,但它是值得花了一会儿写一个理由,让你的团队知道这些代码被修改,就可以了。
归档时间: |
|
查看次数: |
55711 次 |
最近记录: |