방법: 코드 분석 사전 사용자 지정
코드 분석에서는 기본 제공 사전을 사용하여 코드의 식별자에 맞춤법 및 문법 오류나 .NET Framework 지침의 다른 명명 규칙을 위반하는 오류가 있는지 검사합니다.사용자 지정 사전 Xml 파일을 만들어 기본 제공 사전에 단어, 약어 및 머리글자어를 추가, 제거 또는 수정할 수 있습니다.
예를 들어 코드에 DoorKnokker라는 클래스가 있다고 가정하면코드 분석에서는 이 이름을 door와 knokker라는 두 단어가 복합된 것으로 식별합니다.그런 다음 knokker의 맞춤법이 잘못되었다는 경고를 발생시킵니다.코드 분석에서 이 맞춤법을 인식하도록 하려면 사용자 지정 사전에 knokker 단어를 추가합니다.
사용자 지정 사전을 만들려면
CustomDictionary.xml이라는 파일을 만듭니다.
다음 XML 구조를 사용하여 사용자 지정 단어를 정의합니다.
<Dictionary>
<Words>
<Unrecognized>
<Word>knokker</Word>
</Unrecognized>
<Recognized>
<Word></Word>
</Recognized>
<Deprecated>
<Term PreferredAlternate=""></Term>
</Deprecated>
<Compound>
<Term CompoundAlternate=""></Term>
</Compound>
<DiscreteExceptions>
<Term></Term>
</DiscreteExceptions>
</Words>
<Acronyms>
<CasingExceptions>
<Acronym></Acronym>
</CasingExceptions>
</Acronyms>
</Dictionary>
사용자 지정 사전 요소
사용자 지정 사전에 다음 요소의 내부 텍스트로 단어를 추가하여 코드 분석 사전의 동작을 수정할 수 있습니다.
Dictionary/Words/Recognized/Word
코드 분석에서 올바른 맞춤법으로 식별되는 단어 목록에 단어를 추가하려면 해당 단어를 Dictionary/Words/Recognized/Word 요소의 내부 텍스트로 추가합니다.Dictionary/Words/Recognized/Word 요소의 단어는 대/소문자를 구분하지 않습니다.
예제
<Dictionary>
<Words>
<Recognized>
<Word>knokker</Word>
...
</Recognized>
...
</Words>
...
</Dictionary>
Dictionary/Words/Recognized 노드의 단어는 다음 코드 분석 규칙에 적용됩니다.
Dictionary/Words/Unrecognized/Word
코드 분석에서 올바른 맞춤법으로 식별되는 단어 목록에서 단어를 제외하려면 제외할 단어를 Dictionary/Words/Unrecognized/Word 요소의 내부 텍스트로 추가합니다.Dictionary/Words/Unrecognized/Word 요소의 단어는 대/소문자를 구분하지 않습니다.
예제
<Dictionary>
<Words>
<Unrecognized>
<Word>meth</Word>
...
</Unrecognized>
...
</Words>
...
</Dictionary>
Dictionary/Words/Unrecognized 노드의 단어는 다음 코드 분석 규칙에 적용됩니다.
Dictionary/Words/Deprecated/Term[@PreferredAlternate]
코드 분석에서 사용되지 않는 것으로 식별되는 단어 목록에 단어를 추가하려면 해당 단어를 Dictionary/Words/Deprecated/Term 요소의 내부 텍스트로 추가합니다.사용되지 않는 단어는 맞춤법이 올바르지만 사용하지 않아야 하는 단어입니다.
경고에 추천 대체 단어를 포함하려면 Term 요소의 PreferredAlternate 특성에서 대체 단어를 지정합니다.대체 단어 추천을 원하지 않는 경우에는 이 특성 값을 비워 둡니다.
Dictionary/Words/ Deprecated/Term 요소의 사용되지 않는 단어는 대/소문자를 구분하지 않습니다.
PreferredAlternate 특성 값은 대/소문자를 구분합니다.복합 대체 단어에는 파스칼식 대/소문자를 사용합니다.
예제
<Dictionary>
<Words>
<Deprecated>
<Term PreferredAlternate="LogOn">login</Term>
...
</Deprecated>
...
</Words>
...
</Dictionary>
Dictionary/Words/Deprecated 노드의 단어는 다음 코드 분석 규칙에 적용됩니다.
Dictionary/Words/Compound/Term[@CompoundAlternate]
기본 제공 사전은 일부 단어를 복합 단어가 아닌 단일 개별 단어로 식별합니다.코드 분석에서 복합 단어로 식별되는 단어 목록에 단어를 추가하고 단어의 올바른 대/소문자를 지정하려면 해당 단어를 Dictionary/Words/Compound/Term 요소의 내부 텍스트로 추가합니다.Term 요소의 CompoundAlternate 특성에서 개별 단어의 첫 번째 문자를 대문자로 표시하여 복합 단어를 구성하는 개별 단어를 지정합니다.내부 텍스트에 지정한 단어는 Dictionary/Words/DiscreteExceptions 목록에 자동으로 추가됩니다.
Dictionary/Words/ Deprecated/Term 요소의 사용되지 않는 단어는 대/소문자를 구분하지 않습니다.
PreferredAlternate 특성 값은 대/소문자를 구분합니다.복합 대체 단어에는 파스칼식 대/소문자를 사용합니다.
예제
<Dictionary>
<Words>
<Compound>
<Term CompoundAlternate="CheckBox">checkbox</Term>
...
</Compound>
...
</Words>
...
</Dictionary>
Dictionary/Words/Compound 노드의 단어는 다음 코드 분석 규칙에 적용됩니다.
Dictionary/Words/DiscreteExceptions/Term
복합 단어의 대/소문자 규칙으로 단어를 검사할 때 코드 분석에서 단일 개별 단어로 식별되는 단어 목록에 단어를 추가하려면 해당 단어를 Dictionary/Words/DiscreteExceptions/Term 요소의 내부 텍스트로 추가합니다.Dictionary/Words/DiscreteExceptions/Term 요소의 사용되지 않는 단어는 대/소문자를 구분하지 않습니다.
예제
<Dictionary>
<Words>
<DiscreteExceptions>
<Term>checkbox</Term>
...
</DiscreteExceptions>
...
</Words>
...
</Dictionary>
Dictionary/Words/DiscreteExceptions 노드의 단어는 다음 코드 분석 규칙에 적용됩니다.
Dictionary/Acronyms/CasingExceptions/Acronym
복합 단어의 대/소문자 규칙으로 단어를 검사할 때 코드 분석에서 올바른 맞춤법으로 식별되는 단어 목록에 머리글자어를 추가하고 머리글자어의 구성을 표시하려면 해당 단어를 Dictionary/Words/DiscreteExceptions/Term 요소의 내부 텍스트로 추가합니다.Dictionary/Acronyms/CasingExceptions/Acronym 요소의 머리글자어는 대/소문자를 구분합니다.
예제
<Dictionary>
<Acronyms>
<CasingExceptions>
<Acronym>NESW</Acronym> <!-- North East South West -->
...
</CasingExceptions>
...
</Acronyms>
...
</Dictionary>
Dictionary/Acronyms/CasingExceptions 노드의 단어는 다음 코드 분석 규칙에 적용됩니다.
프로젝트에 사용자 지정 사전을 적용하려면
솔루션 탐색기에서 다음 절차 중 하나를 따릅니다.
단일 프로젝트에 사전을 추가하려면 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 기존 항목 추가를 클릭합니다.기존 항목 추가 대화 상자에서 파일을 지정합니다.
둘 이상의 프로젝트에서 공유되는 사전을 추가하려면 기존 항목 추가 대화 상자에서 공유할 파일을 찾고 추가 단추의 아래쪽 화살표를 클릭한 다음 링크로 추가를 클릭합니다.
솔루션 탐색기에서 CustomDictionary.xml 파일 이름을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
빌드 작업 목록에서 CodeAnalysisDictionary를 선택합니다.
출력 디렉터리로 복사 목록에서 복사 안 함을 선택합니다.