Visual Studio에서 XML 주석 누락 경고 비활성화


198

500 개가 넘는 Missing XML Comment경고 가있는 프로젝트가 있습니다. XML 주석 기능을 제거하거나 빈 주석 조각을 모든 곳에 붙여 넣을 수 있다는 것을 알고 있지만이 유형의 모든 경고를 비활성화하는 하나의 변경을 할 수있는 일반적인 솔루션을 선호합니다.

내가 지금하는 일은

///<Summary>
/// 
///</Summary>

또는

#pragma warning disable 1591

가능하다면 궁금했을뿐입니다.


3
실제 질문은 무엇입니까? XML 주석이 누락 될 때 생성되는 경고를 비활성화하는 다른 방법을 알고 싶습니까? 프로젝트 속성에서 "빌드"탭으로 변경하고 "XML 문서 파일"을 선택 취소하십시오. 그러나 경고를 표시하지 않고 누락 된 설명서를 추가하는 것이 좋습니다.
Gorgsenegger

그것은 절대적으로 정확하지만 내가 이것을 처음 접했을 때 한 곳에서 이것을 해결할 수 있는지 궁금합니다.
Nivid Dholakia

이러한 관련 질문이 도움이 될 수 있습니다. stackoverflow.com/questions/11444631/… stackoverflow.com/questions/3630282/…
Mightymuke

1
경고는 다른 어셈블리에서 볼 수있는 멤버에만 나타납니다. 사람들은 종종 public정당한 이유없이 클래스 (및 인터페이스, 열거 형 등) 를 만듭니다. 이 경우 쉬운 (그리고 제 생각에는 좋은) 수정은 가장 바깥 쪽 둘러싸는 유형에서 단어를 제거 public하거나 internal선호하는 스타일에 따라 중복 키워드로 바꾸는 것입니다 . 그런 다음이 유형과 해당 구성원에 대한 모든 CS1591 경고가 사라집니다. 물론 일부 유형 을 유지해야 할 수도 있습니다 public. 그러나이 경우 공개 부분을 올바르게 문서화해야합니다.
Jeppe Stig Nielsen

답변:


318

위에서 제안한 바와 같이, 나는 일반적으로 이러한 경고를 무시 (억제)해서는 안된다고 생각합니다. 요약하면 경고를 둘러싼 방법은 다음과 같습니다.

  • 프로젝트를 변경하여 경고를 억제 Properties> Build> Errors and warnings> Suppress warnings1591을 입력하여
  • XML 문서 태그를 추가하십시오 ( GhostDoc 은 매우 유용 할 수 있습니다)
  • 컴파일러 옵션을 통해 경고를 표시하지 않습니다
  • 선택을 취소 프로젝트에서 "XML 문서 파일"체크 박스 Properties> Build>Output
  • 추가 #pragma warning disable 1591각 파일의 상단과 #pragma warning restore 1591하단에

178
GhostDoc을 사용하지 마십시오. 메소드 이름에서 주석을 추론 할 수 있으면 사람이 더 잘 추론 할 수 있습니다. 이것은 0 값을 추가합니다. 그 시간은 잘 알려진 방법으로 자신을 축하하는 데 더 좋습니다.
JRoughan 2016 년

24
동의하지 않으면 GhostDoc을 사용하여 필요한 매개 변수 목록과 반환 태그를 신속하게 추가 할 수 있습니다 (메소드가 무효가 아닌 경우). 나는 그것을 사용하고 좋아하며, 또한 다른 사람들도 알고 있습니다. 그러나 요약의 설명에 약간의 편집이 필요할 수 있지만 이러한 경우 대부분의 자동화에 적용됩니다.
Gorgsenegger

32
모든 것이 자리 표시자를 추가하는 것만으로도 시간을 절약 할 수 있지만, 개발자가 생성 된 텍스트를 남기는 곳에서 본 코드베이스의 수는 전체적으로 성숙하지 않다고 생각합니다. 주석은 자체 문서화되지 않은 코드에 대한 (종종 필요한) 목발이며, 바로 가기를 제공 하여이 도구는 세계 코드에 부정적인 영향을 미칩니다.
JRoughan

25
@JRoughan : 전적으로 동의합니다. 최악의 부분은 코드를 올바르게 문서화 할 시간을 찾게되면 이러한 도구를 사용하여 실제 문서 범위가 얼마나 철저한 지 알 수 없습니다. 문서 범위를 계산하는 모든 도구는 항상 100 %를 읽습니다. 따라서 말 그대로 모든 XML 주석 을 읽고 코드를 문서화하기에 충분한 지 평가 하는 정신적으로 지친 작업을 수행 해야합니다. 큰 프로젝트 에서이 작업을 수행하면 전혀 재미가 없습니다. 제발 사람들! 이 자동 문서화 도구를 사용하지 마십시오!
HiredMind

36
@Gorgsenegger :이 경우에는 아닙니다. 결함이있는 도구가 아니라 전체 개념입니다. VS2012는 표준 XML 주석에 메소드 / 매개 변수 스텁을 추가합니다 (원하는 경우). 그러나 단순히 더 긴 버전의 메소드 이름 인 주석을 추가하고이를 문서라고하는 것은 시각적 혼란입니다.
HiredMind

74

경고를 비활성화하십시오 : 프로젝트 속성으로 이동하십시오 (프로젝트를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 속성을 선택하십시오) 빌드 탭으로 이동하십시오 여기에 이미지 설명을 입력하십시오

경고 표시 안 함 텍스트 상자에 1591 추가 여기에 이미지 설명을 입력하십시오


4
"S125, CS1591, S1172"와 같이 쉼표로 구분 된 목록이있는 참처럼 작동합니다. 빌드 후 경고가 사라졌습니다.
AFD

9
질문에 답변하고 경고를 억제할지 여부를 강의하지 않은 것에 감사드립니다!
Dal

31

첫 번째 안에 태그 .csproj를 포함하도록 프로젝트 파일을 수정할 수도 있습니다 . 원래 Alexandru Bucur의 기사에서<noWarn>1591</noWarn><PropertyGroup>

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    ...
    <NoWarn>1591</NoWarn>
  </PropertyGroup>
  ...
</Project>

3
이것은 현재의 성가심이어야합니다.
Edgar Salazar

3
동의했다. 대부분의 답변은 Visual Studio Code와 같은 다른 편집기에서는 작동하지 않습니다.
Krzysztof Czelusniak

9

프로젝트 속성으로 이동하여 XML 문서 생성 옵션을 선택 취소하십시오.

XML 문서 파일을 선택 취소하십시오.

다시 컴파일하면 경고가 사라집니다.


2
XML 문서를 생성 할 필요가없고 XML 주석의 유효성을 검사하지 않는 한 좋은 방법입니다.
Keith

1
자동 생성되지 않은 파일에서 경고를 유지하려는 경우에는 작동하지 않습니다. 경고의 하위 집합을 제거하기 위해 모든 경고를 제거하는 것은 나에게 약간 과잉 것 같습니다. 또한 대부분의 회사에서는 자동 생성 코드가 포함되지 않은 모든 파일에서 실제로 XML 주석을 작성하는 것이 일반적입니다. 또한 사용자는 단순히 XML 주석 기능을 제거하지 않는 솔루션을 요청했기 때문에 질문에 대답하지 않습니다.
SubliemeSiem

4

이것은 주석 이었지만 한계에 맞지 못했습니다.

Reference.cs 및 WebService 가져 오기에 대해서만 비활성화하고 싶습니다. 실제로 나는 파일을 위해 매크로를 사용하고 있습니다. 파일을 열고이 매크로를 실행하십시오 (VS2010에서 테스트 됨).

Sub PragmaWarningDisableForOpenFile()
    DTE.ActiveDocument.Selection.StartOfDocument()
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.LineUp()
    DTE.ActiveDocument.Selection.Insert("#pragma warning disable 1591")
    DTE.ActiveDocument.Selection.EndOfDocument()
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.Insert("#pragma warning restore 1591")
    DTE.ActiveDocument.Save()
End Sub

실제로 자동으로 수행 할 수있는 방법이 없습니까? 자동 생성 된 코드가 파일을 재정의 할 때마다이 작업을 다시 실행해야합니다.


2
이 경고는 자동 생성 된 콘텐츠에는 표시되지 않아야한다고 생각합니다. 프로젝트 속성에서 해당 설정을 확인해야 할 수도 있습니다.
Gorgsenegger

1
아니요, XML 주석 경고 만 활성화하면 모두 표시됩니다. 그리고 자동 생성 코드에 대해서만 비활성화하는 옵션은 없습니다. 따라서 코드를 재생성해야 할 때 엿볼 수 있습니다.
Kjellski

프로젝트 속성 Code Analysis에는 옵션이 Supress results from generated code있습니다. 각 코드 재생성 후 매크로를 다시 실행해야하는 것은 실제로 솔루션 IMO가 아닙니다. 위의 옵션이 작동하지 않으면 pragma 지시문을 자동으로 추가하도록 코드 생성기를 조정할 수 있습니까?
Laoujin

@Laoujin은 귀하의 의견에 감사하지만 언급 한 것처럼이 솔루션도 마음에 들지 않습니다. 공감대에 대한 이유를 알 수 없으므로 언급하지 않은 설정을 성공없이 사용했습니다. WebService 가져 오기 솔루션을 사용해 보시겠습니까?
Kjellski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.