настройке словаря для анализа кода

Анализ кода использует встроенный словарь для проверка идентификаторов в коде для ошибок в орфографии, грамматического регистра и других соглашений об именовании рекомендаций по проектированию .NET. Вы можете создать пользовательский 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>

Настраиваемые элементы словаря

Вы можете изменить поведение словаря анализа кода, добавив термины в качестве внутреннего текста следующих элементов в пользовательском словаре:

Словарь,слова/распознанные/word

Чтобы включить термин в список терминов, которые анализ кода идентифицирует как правильно орфографический, добавьте термин в качестве внутреннего текста элемента Dictionary/Words/Recognized/Word. Термины в словаре, слова, распознанные или элементы Word не учитывает регистр.

Пример

<Dictionary>
      <Words>
         <Recognized>
            <Word>knokker</Word>
            ...
         </Recognized>
         ...
      </Words>
      ...
</Dictionary>

Термины в словаре, слова и распознанные узлы применяются к следующим правилам анализа кода:

Словарь,слова/нераспознанные/Word

Чтобы исключить термин из списка терминов, которые анализ кода идентифицирует как правильно орфографический, добавьте термин, который следует исключить в качестве внутреннего текста элемента Dictionary/Words/Unrecognized/Word. Термины в словаре,словах/элементах Unrecognized/Word не учитывает регистр.

Пример

<Dictionary>
      <Words>
         <Unrecognized>
            <Word>meth</Word>
            ...
         </Unrecognized>
         ...
      </Words>
      ...
</Dictionary>

Термины в словаре, слова и нераспознанные узлы применяются к следующим правилам анализа кода:

Словарь/слова/нерекомендуемые/термины[@PreferredAlternate]

Чтобы включить термин в список терминов, которые анализ кода определяет как нерекомендуемый, добавьте термин в качестве внутреннего текста элемента Dictionary/Words/Deprecated/Term. Нерекомендуемый термин — это слово, которое правильно орфографировано, но не должно использоваться.

Чтобы включить предлагаемый альтернативный термин в предупреждение, укажите альтернативный вариант в атрибуте PreferredAlternate элемента Term. Значение атрибута можно оставить пустым, если вы не хотите предложить альтернативный вариант.

  • Нерекомендуемый термин в dictionary/Words/Deprecated/Term не учитывает регистр.

  • Значение атрибута PreferredAlternate учитывает регистр. Используйте вариант Pascal для составных альтернативных вариантов.

Пример

<Dictionary>
      <Words>
         <Deprecated>
            <Term PreferredAlternate="LogOn">login</Term>
            ...
         </Deprecated>
         ...
      </Words>
      ...
</Dictionary>

Термины в узле "Словарь"/ "Слова"/"Нерекомендуемые" применяются к следующим правилам анализа кода:

Словарь,слова/составные/термины[@CompoundAlternate]

Встроенный словарь определяет некоторые термины как отдельные, дискретные термины, а не составной термин. Чтобы включить термин в список терминов, которые анализ кода идентифицирует как составное слово и указать правильный регистр термина, добавьте термин в качестве внутреннего текста элемента Dictionary/Words/Compound/Term. В атрибуте CompoundAlternate элемента Term укажите отдельные слова, составляющие составной термин, прописав первую букву отдельных слов (pascal case). Обратите внимание, что термин, указанный в внутреннем тексте, автоматически добавляется в список "Словарь", "Слова" или "Дискретные".

  • Составной термин в элементе Dictionary/Words/Compound/Term не учитывает регистр.

  • Значение атрибута CompoundAlternate учитывает регистр. Используйте вариант Pascal для составных альтернативных вариантов.

Пример

<Dictionary>
      <Words>
         <Compound>
            <Term CompoundAlternate="CheckBox">checkbox</Term>
            ...
         </Compound>
         ...
      </Words>
      ...
</Dictionary>

Термины в словаре, слов и составных узлах применяются к следующим правилам анализа кода:

Словарь/ слова/ДискретныеExceptions/Term

Чтобы исключить термин в списке терминов, которые анализ кода идентифицирует как одно дискретное слово, если термин проверка правилами регистра для составных слов, добавьте термин в качестве внутреннего текста элемента Dictionary/Word/DiscreteExceptions/Term. Термин в dictionary/Words/DiscreteExceptions/Term не учитывает регистр.

Пример

<Dictionary>
      <Words>
         <DiscreteExceptions>
            <Term>checkbox</Term>
            ...
         </DiscreteExceptions>
         ...
      </Words>
      ...
</Dictionary>

Термины в узле Dictionary/Words/DiscreteExceptions применяются к следующим правилам анализа кода:

Словарь/акронимы/CasingExceptions/Acronym

Чтобы включить акроним в список терминов, которые анализ кода идентифицирует правильно орфографию и указывает, как акроним, когда термин проверка правилами регистра для составных слов, добавьте термин в качестве внутреннего текста элемента Dictionary/Acronyms/CasingExceptions/Acronym. Акроним в элементе Dictionary/Acronyms/CasingExceptions/Acronym учитывается регистр.

Пример

<Dictionary>
      <Acronyms>
         <CasingExceptions>
            <Acronym>NESW</Acronym>   <!-- North East South West -->
            ...
         </CasingExceptions>
         ...
      </Acronyms>
      ...
</Dictionary>

Термины в узле Dictionary/Acronyms/CasingExceptions применяются к следующим правилам анализа кода:

Применение пользовательского словаря к проекту

  1. В Обозреватель решений используйте одну из следующих процедур:

    • Чтобы добавить словарь в один проект, щелкните правой кнопкой мыши имя проекта и нажмите кнопку "Добавить существующий элемент". Для типов файлов выберите "Все файлы", а затем укажите файл в диалоговом окне "Добавить существующий элемент ".

    • Чтобы добавить словарь, общий доступ к двум или нескольким проектам, найдите файл для общего доступа в диалоговом окне "Добавить существующий элемент ", щелкните стрелку вниз на кнопке "Добавить " и нажмите кнопку "Добавить как ссылку".

  2. В Обозреватель решений щелкните правой кнопкой мыши имя файла CustomDictionary.xml и щелкните "Свойства".

  3. В списке действий сборки выберите CodeAnalysisDictionary.

  4. В списке "Копирование в выходной каталог " выберите " Не копировать".