Visual Studio에서 명명 규칙 위반 메시지를 제거하는 방법은 무엇입니까?
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);
이것은 내 ASP에서도 발생합니다.넷 컨트롤.DropDownList의 예로 다음을 들 수 있습니다.
IDE1006 명명 규칙 위반:다음 단어는 대문자로 시작해야 합니다: ddlMonth_Selected변경된 인덱스
Visual Studio에서 이러한 유형의 경고를 제거하려면 어떻게 해야 합니까?
구성 가능한 새로운 기능입니다.
도구 → 옵션 → 텍스트 편집기 → 사용자의 언어(C#) → 코드 스타일 → 이름 지정
거기서 저는 관리 스타일에 낙타 케이스 추가(안에 있지만 선택 가능한 항목에 추가해야 함)로 이동했습니다. "+" 기호로 이동한 다음 그에 따라 규칙을 추가합니다.
중요:변경 내용을 적용하려면 솔루션을 닫았다가 다시 엽니다.
예를 들어, 저는 개인적인 방법으로만 카멜 케이스를 사용합니다.그래서 저는 "카멜 케이스"를 새로 만든 "개인적인 방법"과 필수 스타일을 선택하고 심각도 제안으로 설정했습니다(또한 이 방법을 맨 위로 승격했습니다).
기본 제공되는 모든 "제안"도 있으므로 메시지를 끌 수도 있습니다.
일부 파일 또는 영역에서만 억제하려면 다음을 사용할 수 있습니다.
#pragma warning disable IDE1006
// the code with the warning
#pragma warning restore IDE1006
이러한 메시지를 삭제해야 할 경우 메시지를 표시하지 않을 수도 있습니다.
메서드의 이름을 변경하고 다음을 사용하여 속성에 이름을 추가할 수 있습니다.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);
메서드에서 경고 메시지를 생략하거나 무효화하려면 네임스페이스 시스템에서 메시지 억제를 사용할 수 있습니다.진단.코드 분석:
[SuppressMessage("Microsoft.Design", "IDE1006", Justification = "Rule violation aceppted due blah blah..")]
정당성 속성은 선택 사항이지만 잠시 이유를 적어 팀에 코드가 수정되어 정상임을 알리는 것이 좋습니다.
이 작업은 일반 VS2017 및 VS2019를 사용하여 수행할 수 있습니다..editorconfig
설정 파일, 이름 지정 규칙 사용: https://learn.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
이 파일은 수동으로 만들 수도 있고, VS2019에서는 설정에서 편집기 구성 파일 생성 버튼을 눌러 Visual Studio가 사용자의 기본 설정(예: https://stackoverflow.com/a/41131563/131701 에서 prefs를 구성한 후)에서 해당 파일을 만들 수 있습니다.
예를 들어, 다음 규칙 집합은 모든 비공용 메서드에 대해 camelCase를 사용하도록 설정하고 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
이름 지정 규칙 위반 위에 마우스를 놓으면 Alt + Enter를 사용하여 해당 언어의 이름 지정 스타일을 불러올 수 있습니다.또한 도구 -> 옵션 -> 텍스트 편집기 -> {language} -> 코드 스타일 -> 이름 지정을 사용할 수 있습니다.
메서드에 대한 낙타 사례 규칙의 경우 새 규칙을 추가하고 이 규칙을 낙타 사례로 설정할 수 있습니다.코드 파일을 닫았다가 다시 열면 해당 경고가 더 이상 표시되지 않습니다.이 옵션이 기본 옵션이 아닌 이유는 모르겠지만 제 경우에는 없었습니다(Visual Code 15.8 사용).저는 회사 기준에 맞게 스타일을 수정해야 했습니다.
규칙을 비활성화합니다.오류 메시지를 마우스 오른쪽 버튼으로 클릭하고 심각도를 없음으로 선택합니다.
이 규칙은 필드가 비공개여야 한다고 주장합니다.
필드 뒤에 {get;set;}을(를) 추가하여 속성으로 변환할 수 있습니다.
이것으로 저는 오류를 제거했습니다.
언급URL : https://stackoverflow.com/questions/40856186/how-to-get-rid-of-naming-rule-violation-messages-in-visual-studio
'programing' 카테고리의 다른 글
iOS 7.0에서 잘못된 컨텍스트 0x0 및 시스템 성능 저하 (0) | 2023.04.27 |
---|---|
"[이름 공간] 유형을 로드할 수 없습니다.글로벌"이 나를 슬프게 합니다. (0) | 2023.04.27 |
삭제로 스와이프하고 "추가" 버튼(iOS 7의 메일 앱에서처럼) (0) | 2023.04.27 |
참조되지 않은 어셈블리에 유형이 정의되어 있습니다. 원인을 찾는 방법은 무엇입니까? (0) | 2023.04.27 |
UI 테이블 보기에서 누른 UI 버튼 감지 (0) | 2023.04.27 |