2017-12-02 19 views
1

SuppressMessage의 수표 ID 목록은 어디에서 찾을 수 있습니까?SuppressMessage의 Check ID 목록을 어디에서 찾을 수 있습니까?

아래의 코드는 Microsoft 온라인 문서의 약 SuppressMessageAttribute.CheckId에서 발췌 한 것입니다. 나는 과 "CA1804:RemoveUnusedLocals"과 같은 쌍의 유효한 값 목록 인 SuppressMessage을 알고 싶습니다.

[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "isChecked")] 
[SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals", MessageId = "fileIdentifier")] 
static void FileNode(string name, bool isChecked) 
{ 
    string fileIdentifier = name; 
    string fileName = name; 
    string version = String.Empty; 
} 

나는 경고 "방법에 대한 표현의 몸을 사용하여"억제 싶지만 값이 SuppressMessage 고려되어야한다 무엇인지에 아무 생각이 없습니다.

코드 예제 :

namespace MyNameSpace 
{ 
    public class MyClass 
    { 
     // This code raises a warning "Use expression body for methods". 
     public string MyMethod() 
     { 
      return MyPrivateMethod(); 
     } 

     // This code raises a warning "Use expression body for methods". 
     string MyPrivateMethod() 
     { 
      return "Hello"; 
     } 

     // This code raises a warning "Use block body for methods". 
     public string MyMethod2() => MyPrivateMethod2(); 

     // This code raises a warning "Use block body for methods". 
     string MyPrivateMethod2() => "Hello"; 
    } 
} 

경고를 표시하는 방법 이름에 커서를 이동합니다. 이 동작은 메서드의 문서 주석이 표시되는 것을 방지합니다.


비주얼 스튜디오 개발자 커뮤니티 : IDE0022 missmatch to IDE description

+0

표시하지 않으려는 경고를 생성하는 코드를 표시하십시오. [mcve] – mjwills

+0

@mjwills 경고를 생성하는 코드 예제를 추가했습니다. –

+0

@mjwills Mac (커뮤니티), 버전 7 용 Visual Studio.2.2 (빌드 11). 메소드 이름에 커서를 이동하면 경고가 표시됩니다. 이 동작은 메서드의 문서 주석이 표시되지 않도록합니다. –

답변

1

그래서 난 당신이 텍스트 위에 마우스와 경고를 구축 할 때 Mac 용 VS는 보여줍니다 툴팁에 대해 얘기하는 가정입니다.

tooltip

당신은 텍스트 편집기의 기본 설정 대화 상자에서 코드 규칙 경고의 목록을 볼 수 있습니다 - 소스 분석 - C#을 섹션을.

preferences dialog

여기에 코드 규칙을 해제하면이 맥 텍스트 편집기에서 도구 설명을 표시하기위한 VS을 방지해야한다.

0

IDE0022 모두 "메소드를 사용하여 블록의 몸""방법에 대한 표현의 몸을 사용하여" 억제 보인다.

using System.Diagnostics.CodeAnalysis; 

namespace MyNameSpace 
{ 
    public class MyClass 
    { 
     [SuppressMessage("ArbitraryCategoryNameSeemsToWork", "IDE0022")] 
     public string MyMethod() 
     { 
      return MyPrivateMethod(); 
     } 

     // This code raises a warning "Use expression body for methods". 
     string MyPrivateMethod() 
     { 
      return "Hello"; 
     } 

     // This code raises a warning "Use block body for methods". 
     [SuppressMessage("ArbitraryCategoryNameSeemsToWork", "IDE0022")] 
     public string MyMethod2() => MyPrivateMethod2(); 

     // This code raises a warning "Use block body for methods". 
     string MyPrivateMethod2() => "Hello"; 
    } 
} 

나는 ".NET coding convention settings for EditorConfig"IDE0022을 발견했다. 경고는 Visual Studio (C# 컴파일러가 아닌)에서 발생합니다.

CA으로 시작하는 CheckIds 목록이 "Code Analysis Warnings for Managed Code by CheckId" 인 것을 발견했습니다.

나는이 "IDE0022 missmatch to IDE description" (비주얼 스튜디오 개발자 커뮤니티)에보고 "메소드를 사용하여 블록의 몸" 및 을 "방법에 대한 표현의 몸을 사용하여"사이의 루프의 문제를 발견했다.

내 로컬 PC에서 경고를 표시하지 않도록 Visual Studio의 설정을 변경할 수 있지만 다른 환경에서도 표시하지 않을 방법을 찾고있었습니다.