Настройки системы IntelliSense в Visual Studio

137

Система Visual Studio устанавливает много настроек средств IntelliSense по умолчанию, но многие из них можно изменить с помощью диалогового окна Options, если их значения, заданные по умолчанию, не устраивают разработчика. Некоторые из этих настроек связаны только с определенным языком программирования.

Общие настройки

Сначала рассмотрим настройки из группы Keyboard в разделе Environment. Каждой команде, доступной в системе Visual Studio, соответствует вполне определенная запись в списке комбинаций клавиш (на рисунке ниже показано диалоговое окно Options, которое открывается по команде Tools --> Options):

Настройки комбинаций клавиш для IntelliSense

Комбинации клавиш, заданные по умолчанию, можно заменить или добавить новые. Комбинации клавиш для команд системы IntelliSense приведены в таблице ниже:

Комбинации клавиш, заданные по умолчанию, для команд системы IntelliSense
Команда Комбинация клавиш Описание
Edit.QuickInfo <Ctrl+K>, <Ctrl+I>

Выводит на экран информацию команды Quick Info о выбранном элементе

Edit.CompleteWord <Ctrl+Space>

Пытается дополнить слово, если существует однозначное соответствие, или выводит список, если есть несколько совпадений

Edit.ToggleConsumeFirstCompletionMode <Ctrl+Alt+Space>

Переключает систему IntelliSense из режима подсказки в режим дополнения

Edit.ParameterInfo <Ctrl+Shift+Space>

Выводит на экран информацию о списке параметров вызываемой функции

Edit.InsertSnippet <Ctrl+K>, <Ctrl+X>

Открывает диалоговое окно Code Snippet, в котором можно выбрать фрагмент кода, чтобы вставить его автоматически (создание и использование сниппетов мы рассмотрим позже)

Edit.GenerateMethodStub <Ctrl+K>, <Ctrl+M>

Генерирует полную заглушку метода по шаблону

Edit.ImplementAbstractClassStubs нет

Генерирует определения абстрактного класса из заглушки

Edit.ImplementInterfaceStubsExplicitly нет

Генерирует явную реализацию интерфейса для определения класса

Edit.ImplementInterfaceStubsImplicitly нет

Генерирует неявную реализацию интерфейса для определения класса

Используя способы, описанные в статье "Горячие клавиши в Visual Studio", можно добавить новые комбинации клавиш или изменить существующие для любой команды.

Дополнение инструкции

Работой системы IntelliSense можно управлять либо в глобальном масштабе, как показано на рисунке ниже, либо для каждого языка программирования в отдельности. Для того чтобы определить способ вывода списка членов классов или вообще отменить его вывод, на закладке General в группе All Languages диалогового окна Options можно изменить настройки Statement Completion:

Настройки Statement Completion для IntelliSense

Настройки для языка C#

Кроме общих настроек интегрированной среды разработки и языков программирования для системы IntelliSense, некоторые языки, например C#, имеют дополнительную закладку для определения собственных настроек. С помощью закладки настроек для языка C#, показанной на рисунке ниже, можно также задать способ вызова и использования средств технологии IntelliSense.

Настройки IntelliSense для C#

Во-первых, можно отключить список дополнений, чтобы они не появлялись автоматически. Некоторые разработчики предпочитают делать именно так, потому что списки членов классов мешают им набирать тексты своих программ. Если список дополнений выводится не автоматически, а только по вызову, то пользователь может сам решить, что включать в эти списки, помимо стандартных записей, включая ключевые слова и фрагменты кода.

Для того чтобы выбрать запись в списке членов классов, можно использовать любой из символов, доступных в разделе Selection In Completion List, или нажать клавишу пробела. В заключение, как указывалось ранее, система Visual Studio автоматически выделит тот член класса в списке, который использовался последним. В языке C# можно либо отключить это свойство, либо очистить историю.

Дополнительные возможности системы IntelliSense

Кроме основных аспектов технологии IntelliSense, в системе Visual Studio 2013 реализованы также дополнительные функциональные возможности интегрированной среды разработки, которые тоже относятся к этой технологии. Эти свойства подробно обсуждаются позже, а в этой статье приводится лишь их краткое описание.

Сниппеты

Сниппеты (code snippets) - это фрагменты кода, которые можно автоматически генерировать и вставлять в свой собственный код вместе с соответствующими ссылками и директивами using, помечая переменные фразы, чтобы облегчить их замену. Для того чтобы открыть диалоговое окно Code Snippets, следует нажать клавиши <Ctrl+K>, <Ctrl+X>.

В поисках требуемого сниппета можно перемещаться по иерархии каталогов сниппетов. Если разработчик знает комбинацию клавиш, установленную для конкретного сниппета, он может просто нажать ее и клавишу <Tab>, и система Visual Studio вставит сниппет, не открывая диалоговое окно. Мощь сниппетов будет продемонстрирована в одной из следующих статей.

Использование сниппетов с помощью IntelliSense

Комментарии XML

Комментарии XML используются как способ автоматического документирования проектов и решений. Еще одним преимуществом использования XML-комментариев в своем коде является то, что система Visual Studio может использовать их в своей системе IntelliSense для вывода подсказок и более полной информации о параметрах, помимо простой информации о типах, как это делается в обычных пользовательских классах. Мы приведем примеры использования комментариев XML в одной из следующих статей.

Добавление собственных схем IntelliSense

Пользователь может добавить собственные схемы IntelliSense, которые бывают полезными для редактирования XML- и HTML-файлов. Для этого следует создать правильно отформатированный XML-файл и инсталлировать его в подкаталог Common7\Packages\schemas\xml каталога инсталляции системы Visual Studio (по умолчанию C:\Program Files\Microsoft Visual Studio {версия}). Например, можно расширить возможности технологии IntelliSense для XML-редактора, включив свою собственную схему определений. Описание процесса создания таких схем, выходит за рамки нашего руководства, но о нем можно прочитать в статье "Функции IntelliSense редактора XML".

Итак, в этой и предыдущих статьях мы рассмотрели систему IntelliSense. Функциональные возможности технологии IntelliSense выходят за пределы основного окна редактирования кода. Мощь технологии IntelliSense, проявляющаяся в автоматическом дополнении инструкций и параметров, можно использовать во многих других инструментальных окнах, например Command и Immediate. Любые ключевые слова и даже переменные и объекты, известные в текущем контексте на протяжении сессии отладки, могут быть найдены с помощью списка членов классов IntelliSense. Технология IntelliSense во всех ее проявлениях значительно повышает эффективность работы системы Visual Studio по сравнению с большинством других доступных инструментов. Постоянно отслеживания нажатия клавиш, чтобы обеспечить обратную визуальную связь или автоматическое дополнение и генерацию кода, система IntelliSense позволяет разработчикам исключительно быстро, эффективно и правильно набирать программы с первой попытки.

Пройди тесты
Лучший чат для C# программистов