Как ускорить visual studio 2022
Перейти к содержимому

Как ускорить visual studio 2022

  • автор:

Тормозит Visual Studio? Как ускорить Visual Studio

В этой статье мы рассмотрим основные решения как можно ускорить Visual Studio. Надеемся, что ваша среда разработки будет меньше тормозить после принятия нижеуказанных мер.
Важно: применяйте эти способы оптимизации Visual Studio последовательно, а не сразу все скопом. Если что-то перестало работать – то откатываем изменения. Итак.

Для ускорения работы Visual Studio следует сделать следующее:

  • удалить каталоги
    C:\Users\krintoul\AppData\Local\Temp\Temporary ASP.NET Files\siteName
    C:\Users\krintoul\AppData\Local\Microsoft\WebSiteCache
  • отключить опцию Edit & Continue
    Tools -> Options -> Debugging -> Edit & Continue
  • снять галочку “Use Hardware Graphics Acceleration If Available”
    Tools -> Options -> Environment -> под Visual Experience
  • удалить все папки с названием “Temporary ASP.net”
  • снять галочку “Аllow add in components to load”
    Tools -> Options -> Environment
  • снять галочку “Automatically Check for Updates”
    Tools -> Options -> Enviroments and Updates
  • использовать встроенные средства очистки диска для Windows и удаляйте временные файлы
  • для VS 2015 RTM обновить ReSharper до 9.1.3

Мы развиваем платформу Falcon Space. Суть – создание функциональных личных кабинетов в веб с использованием только MS SQL (бизнес-логика) и Bootstrap (для стилизации). Вся разработка осуществляется через личный кабинет разработчика на портале.

Демостенд с примерами кода

Описание веб-платформы для технического специалиста

Опубликовано в ASP.NET Меткой ASP.NET MVC, Visual Studio, Оптимизация

  • Демонстрация компонентов Falcon Space
  • Смотреть демо веб-платформы Falcon Space
  • Подпишись на наш видеоканал в Youtube

10 рекомендаций по ускорению рабочего процесса в Visual Studio Code

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

Visual Studio Code стал популярен среди редакторов кода с момента своего появления. Я же долгое время сопротивлялась и не хотела его осваивать, причем не из-за возможной сложности, а скорее из-за того, что весь мой рабочий процесс уже был идеально отлажен в Sublime.

В то время, как процесс работы и написания кода оставался прежним вне зависимости от того, каким редактором я пользовалась — моя итоговая производительность резко снизилась в течение первой недели использования VSC.

Отчасти так получилось из-за того, что мне потребовалось время для адаптации к новой схеме работы. Необходимо было разобраться с сокращениями, запомнить горячие клавиши, привыкнуть к восприятию кода и установить полезные расширения.

В конце концов я вышла на привычный рабочий ритм и вряд ли когда-нибудь захочу использовать другой редактор. Visual Studio Code — это бесплатный, надежный и легковесный программный продукт, который также имеет крупное сообщество пользователей. Его можно причислить к списку самых удачных детищ Microsoft.

Ниже я указала 10 полезных рекомендаций, которые помогли мне и помогут вам ускорить процесс написания кода.

1. Сниппеты

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

Написание кода во многом заключается в понимании того, где и какие шаблоны использовать. Сниппеты ускоряют ваш рабочий процесс благодаря заранее сконфигурированным частям кода, которые всегда оказываются в быстром доступе.

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

Применение сниппетов также может помочь вам освоить новый фреймворк или библиотеку.

С Vue я еще не работала, но судя по указанным данным, набор Vue 2 Snippets от hollowtree был установлен более 900 000 раз, зарекомендовав себя как весьма многообещающее расширение.

2. IntelliSense

Intellisense — это просто модное название автодополнения. Тем не менее работает оно гораздо продуманнее стандартного.

Преподносится эта функция как одна из существенно влияющих на продуктивность всего процесса работы в Visual Studio Code. Несмотря на это, многие пользователи редактора не применяют ее должным образом.

Если навести указатель на определенный элемент кода, эта функция предоставит вам дополнительные детали печати и позволит отследить путь создания вплоть до источника. Основная польза IntelliSense заключается в способности предугадывать ваш следующий шаг.

Например, когда вы начинаете прописывать объект, она выдает вам список потенциально подходящих методов. Чем больше знаков вы введете, тем точнее станет список предлагаемых вариантов, и вам останется только выбрать в нем подходящий. Если же вы не уверены, то документация с пояснениями по каждому методу также находится под рукой.

Для тех, кто приступает к работе с VS Code на базе знания Java или C++, эта возможность не станет новшеством. Я применяла нечто подобное, когда работала с Eclipse. Что же касается проектов в JavaScript — эта возможность, наряду с удобным перемещением между связанными элементами кода, существенно ускоряет процесс.

3. Встроенный терминал

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

Открыть терминал можно, нажав ctrl + ` .

Изначально он запускается с указанием корневой директории вашего рабочего пространства.

Для открытия еще одного терминала нажмите shift + ctrl + ` .

4. Просмотр ссылок и обновление имен

Когда вы работаете над крупным проектом, то некоторые классы, методы и другие элементы могут быть задействованы во множестве мест. VSC позволяет вам просмотреть сформированный список мест использования той или иной ссылки и быстро отследить ее изначальный источник.

Для этого вам достаточно кликнуть правой кнопкой на выбранном методе, функции или ссылке, которую вы хотите отследить, и выбрать “просмотреть ссылки”. В качестве альтернативы можно выделить нужный элемент и использовать сочетание клавиш shift + F12 , но такой способ сработает только в среде Windows.

Функция обновления имен, в свою очередь, дает вам возможность изменять ссылки. Это чаще всего полезно при рефакторинге, а также в случаях, когда вы обнаруживаете несоответствие имени ссылки ее назначению или связанной области.

5. Форматирование и контроль технического долга

Форматирование кода может вызвать массу сложностей. Без сомнений, линтеры могут справиться с этой задачей, но в большинстве случаев вам придется запускать их отдельно.

Использование инструментов форматирования позволит вам не только ускорить процесс разработки, но и гарантировать определенный уровень единообразия. Это оказывается весьма кстати при командных разработках, когда каждый разработчик работает в привычном лишь ему стиле форматирования.

Инструменты форматирования обычно основаны на определенном соглашении относительно кода и гарантируют, что все находятся на одной странице, когда дело доходит до расстановки скобок, пробелов и оценки его внешнего вида.

Несмотря на то, что инструменты форматирования могут помочь сократить число командных аргументов и улучшить внешний вид кода, они никак не устранят технический долг. Поэтому следующее расширение, которое я вам представлю контролирует технический долг.

Он использует серию стандартных метрик для анализа сложности и потенциального долга в коде. Это расширение предназначено исключительно для JavaScript и TypeScript. Способное предоставлять мгновенные рекомендации по улучшению, оно поможет вам выработать привычку писать чистый и легко читаемый код.

6. Горячие клавиши

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

Многие разработчики стремятся все делать с клавиатуры — просто потому, что так быстрее.

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

Их список вы можете посмотреть, нажав ctrl + k + s .

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

Здесь вы найдете расширения для перенастройки встроенных горячих клавиш в Visual Studio Code.

7. Режим дзен

Этот режим разворачивает ваш редактор на весь экран. Для его активации вместо стандартного нажимания трех клавиш, вам потребуется набрать серию команд.

Существует несколько различных вариантов это сделать. Для начала нужно заглянуть в раздел горячих клавиш.

В моем случае по умолчанию установлена команда ctrl + z и k . То есть сначала я нажимаю ctrl + z , а потом k , а не все три вместе.

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

8. Git

VSC поддерживает git и позволяет производить все привычные коммиты, не выходя из его интерфейса. Стейдж, коммит, откат, комментарии — эти и другие возможности, доступные из командной строки, можно задействовать прямо из редактора.

Для этого достаточно нажать на добавление файла (плюс), а затем правой кнопкой на сам файл для вызова возможных опций.

Несмотря на то, что все это можно сделать из консоли или через десктопные приложения GitHub, возможность выполнения или внесения изменений, не выходя из редактора, позволит ускорить рабочий процесс..

9. Дебаггер

Visual Studio Code оснащен дебаггером, который позволяет вам назначать точки прерывания выполнения кода для тех мест, где вы хотите проанализировать происходящее более подробно.

Процесс дебаггинга подразумевает гораздо больше, чем просто проверку посредством консоли разработчика в Chrome. К примеру, вы предполагаете в каком месте могла возникнуть проблема: в определенной строке, функции или методе.

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

Все, что для этого нужно ,— это перейти в дебаггер через значок жучка в левой нижней части и запустить приложение кнопкой play.

Вы также можете открыть консоль и просмотреть текущее состояние, используя соответствующие запросы.

По умолчанию VSC запускает дебаггер на основе Node.js, но вы также можете запустить его на базе самого Chrome. В обычном режиме у вас нет возможности приостанавливать выполнение вашего приложения, но с помощью дебаггера вы с легкостью сможете это сделать, назначив точки прерывания.

В то же время вы получаете возможность более пристально оценить различные элементы кода и их состояния в тех или иных местах.

Если вы установите расширение GitLens, то сможете получать больше информации о коммитах: кто и что сделал, удаленные репозитории, тэги, а также записанные и не записанные в них изменения. Помимо этого оно сопроводит ваш код сообщениями от git, указывающими время и ID коммита, внесенные изменения и создателя. Достаточно будет просто навести на интересующий элемент кода и вы увидите дополнительную информацию.

10. Live Share

Пробовали ли вы когда-нибудь редактировать Google Docs совместно с кем-нибудь еще? Live share работает по тому же принципу, только связь устанавливается через ваш аккаунт Azure или GitHub.

Это расширение очень полезно при командной работе. Оно позволяет производить ускоренный дебаггинг, пир-программирование и в целом сокращает время написания кода.

Live share нет в Visual Studio Code по умолчанию, но легко устанавливается в виде расширения. Скачать его можно здесь.

Заключение

Эффективность разработчика заключается не только в его способности грамотно писать код, но также в его способности рационально применять вспомогательные инструменты.

Visual Studio Code — это поистине фантастическое решение из разряда бесплатного и доступного программного обеспечения, которое способно существенно помочь вам в процессе написания кода. Будет очень полезным окунуться в освоение его особенностей, чтобы повысить показатели вашей продуктивности.

Благодарю вас за чтение!

  • 7 моих любимых расширений VS Code
  • Как я настроил VS Code
  • VSCode. 27 расширений для JavaScript разработчика

Download Visual Studio Code

Free and built on open source. Integrated Git, debugging and extensions.

Windows Windows 10, 11

User Installer x64 x86 Arm64
System Installer x64 x86 Arm64
.zip x64 x86 Arm64
CLI x64 x86 Arm64

.deb Debian, Ubuntu .rpm Red Hat, Fedora, SUSE

.deb x64 Arm32 Arm64
.rpm x64 Arm32 Arm64
.tar.gz x64 Arm32 Arm64
Snap Snap Store
CLI x64 Arm32 Arm64

Mac macOS 10.15+

.zip Intel chip Apple silicon Universal
CLI Intel chip Apple silicon

By downloading and using Visual Studio Code, you agree to the license terms and privacy statement.

Технология IntelliSense в Visual Studio

Одним из достижений, которым давно славится компания Microsoft, является автоматическая помощь при редактировании кода. В ранних версиях среды Visual Basic уже была частично реализована технология IntelliSense, но с появлением системы Visual Studio .NET компания Microsoft распространила эту технологию на всю среду интегрированной разработки. В последних выпусках системы технология IntelliSense стала настолько вездесущей, что ее в шутку стали называть IntelliSense Everywhere.

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

— это общее название автоматизированной справочной системы и технологии, лежащей в основе приложений, созданных с помощью инструментов компании Microsoft. Наиболее широко известным аспектом технологии IntelliSense является подчеркивание волнистой линией слов с орфографическими ошибками в текстовом редакторе Microsoft Word, а также небольшие визуальные индикаторы в листах электронной таблицы Microsoft Excel, информирующие пользователя о том что содержание конкретной ячейки не соответствует ожидаемому.

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

В системе Visual Studio уже довольно давно были реализованы аналогичные возможности. Фактически простейшие функции технологии IntelliSense были реализованы уже в среде разработки Visual Basic 6. С каждым новым выпуском системы Visual Studio компания Microsoft совершенствовала технологию IntelliSense, делая ее все более контекстно-чувствительной и внедряя ее более широко, чтобы разработчик всегда мог легко получить необходимую информацию.

В системе Visual Studio 2013 название IntelliSense относится к большому количеству функций, начиная с визуальной реакции на неправильный код и интеллектуальных дескрипторов для проектирования форм до комбинаций клавиш, нажатие которых приводит к вставке целых фрагментов кода. Эти свойства, вместе взятые, обеспечивают разработчику более глубокое понимание происходящего, более высокую эффективность его работы и позволяют ему контролировать свою программу. Некоторые из этих возможностей для системы Visual Studio 2013 являются новыми. К ним относятся, например, режим подсказок (suggestion mode) и генерация кода в зависимости от его использования (Generate From Usage). Эти возможности предназначены для поддержки альтернативного стиля разработки, получившего название разработка через тестирование (test-driven development — TDD).

Основы технологии IntelliSense

Простейшим свойством технологии IntelliSense является немедленная реакция на неправильный код. На рисунке ниже приведен один из примеров, в котором для инициализации объекта используются данные неизвестного типа. Поскольку тип этих данных неизвестен в том месте, где введен код, система Visual Studio подчеркивает строку красной (для языка C#) или синей (для языка VB) волнистой линией, чтобы обозначить проблему.

Подсветка ошибок в редакторе кода Visual Studio с помощью IntelliSense

Изменить цвет линии подчеркивания можно с помощью группы переключателей Fonts and Colors в окне Options.

Оставив курсор мыши над неправильным фрагментом кода, разработчик увидит подсказку, объясняющую проблему. В данном примере курсор находится над типом данных, поэтому разработчик увидит подсказку «The type or namespace name ‘Customer’ could not be found».

Система Visual Studio имеет возможность обнаруживать такие ошибки, потому что она непрерывно осуществляет предварительную компиляцию кода, который вводится разработчиком, и ищет все, что может привести к ошибкам компиляции. Если бы разработчик добавил класс Customer в свой проект, то система Visual Studio автоматически обработала бы это действие и удалила бы маркер, поставленный средствами IntelliSense.

На рисунке ниже показан интеллектуальный дескриптор, ассоциированный с этой ошибкой. Он применяется только к ошибкам, для которых система Visual Studio 2013 может предложить конструктивный способ исправления. Непосредственно под неправильным фрагментом кода на экране появляется небольшой синий (для языка C#) или красный (для языка VB) маркер в виде прямоугольника. Поместив курсор мыши на этот маркер, разработчик увидит меню команд интеллектуального дескриптора для ошибок данного типа. В данном случае это меню содержит команды для генерации пользовательского класса Customer, с помощью которого система Visual Studio может определить способ его использования.

Подсказки по исправлению ошибки в IntelliSense

Для вызова интеллектуального дескриптора IntelliSense во всех приложениях компании Microsoft используется комбинация клавиш , но в системе Visual Studio 2013 предложена более удобная комбинация .

Технология интеллектуальных дескрипторов, применяемая в системе Visual Studio, предназначена не только для редактирования кода. По существу, система Visual Studio 2013 позволяет применять интеллектуальные дескрипторы и к визуальным элементам управления, когда разработчик редактирует форму или элемент управления в окне Design view.

Когда разработчик выбирает команду, имеющую интеллектуальный дескриптор, в правом верхнем углу элемента управления появляется маленький треугольник. Для того чтобы открыть список Tasks для интеллектуального дескриптора, необходимо щелкнуть на этой кнопке. Комбинации клавиш, вызывающие интеллектуальный дескриптор, применяются и для визуальных элементов управления.

Дополнение слова и фраз

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

В системе Visual Studio 2013 технология IntelliSense проявляет себя сразу, как только программист начинает набирать текст в окне редактора кода. На рисунке ниже показано, как работает технология IntelliSense в ходе создания цикла for в программе на языке C#. Как только программист наберет букву f, в левой части изображения откроется список доступных слов, начинающихся с буквы f, который постепенно сокращается по мере набора остальных букв. Легко заметить, что этот список содержит все варианты — инструкции, классы, методы и свойства, — содержащие введенные буквы (в данном случае для всех имен, содержащих слово for).

Подбор ключевых слов при вводе фразы с помощью IntelliSense

Несмотря на полезность списка IntelliSense, учитывающего вводимые программистом буквы, этот инструмент является «обоюдоострым». Довольно часто разработчикам приходится искать переменную или член класса, не зная их полное имя. В этом случае можно ввести первые несколько букв наугад, а затем просмотреть список в поисках правильного варианта. Очевидно, что этот прием не сработает, если введенные буквы уже исключили правильный вариант. Для того чтобы увидеть полный список вариантов, нажмите клавишу , пока список IntelliSense открыт.

В старых версиях системы Visual Studio (ниже 2010) технология IntelliSense позволяла находить лишь члены классов, имена которых начинались с символов, набранных программистом в окне редактора кода. Начиная с системы Visual Studio 2010 это не так. Теперь можно найти слова, которые появляются и в середине имен членов класса. Для этого система осуществляет поиск границ слова в именах членов классов. На рисунке ниже приведен пример на языке C#, в котором, набрав слово Console.In, пользователь получает варианты In, InputEncoding, OpenStandardInput, SetIn и TreatControlCAsInput, но не LargestWindowHeight, несмотря на то, что это слово содержит подстроку «in».

Поиск по части слова с помощью IntelliSense

Если вы точно знаете, что ищете; введите первую букву каждого слова в верхнем регистре. Например, если набрать System.Console.OSI, то подсистема IntelliSense найдет слово OpenStandardInput.

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

Просмотр скрытого под списком IntelliSense кода

Список IntelliSense предназначен не только для удовлетворения информационных потребностей. Разработчик может выбрать элемент этого списка, и система Visual Studio вставит его полный текст в окно редактора кода. Выбрать элемент в списке можно разными способами. Например, можно дважды щелкнуть мышью на требуемом элементе; можно также использовать клавиши с изображениями стрелок для выбора разных элементов, а затем нажать клавишу или , чтобы вставить в программу текст; и наконец, когда элемент в списке подсвечен, он автоматически будет выбран, если пользователь введет символ фиксации (commit character). Символами фиксации называют символы, которые не допускаются в именах членов классов. Примерами таких символов являются круглые и фигурные скобки, математические символы и двоеточие.

Список членов классов

Поскольку технология IntelliSense разрабатывается уже давно, большинство разработчиков знакомы со списком членов классов, который появляется при наборе имен, завершающихся точкой. Это значит, что программист собирается сослаться на член класса и система Visual Studio автоматически выводит список членов классов, доступных для данного объекта:

Просмотр членов класса с помощью IntelliSense

При первом открытии списка членов класса, доступных для данного объекта, система Visual Studio выводит список в алфавитном порядке, оставляя видимой его верхнюю часть. Однако, если этот список уже использовался ранее, система подсвечивает последний член, к которому обращался разработчик, чтобы ускорить выполнение повторяющихся действий.

На рисунке выше продемонстрирован также еще один полезный аспект списка членов классов для программистов, работающих на языке Visual Basic. Корешки закладок Common и All (в нижней части списка членов класса) позволяют увидеть либо совместно используемые члены классов, либо их полный список. Фильтровать список свойств, методов и событий по свойствам доступа можно только для языка Visual Basic.

Режим подсказок

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

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

Для того чтобы этого избежать, компания Microsoft в интегрированной среде разработки Visual Studio 2010 предложила новый режим функционирования системы IntelliSense, который называется режимом подсказок (suggestion mode). Когда система IntelliSense работает в режиме подсказок, один из членов классов в списке находится в фокусе, но не выбирается по умолчанию. По мере набора текста система IntelliSense перемещает фокус на элемент, наиболее точно соответствующий набранным символам, но не вставляет его автоматически. Вместо этого набранные символы вставляются в начало списка IntelliSense, и если пользователь введет один из символов фиксации или нажмет клавишу или , то в окно редактора будет вставлена точно набранная строка.

Элементы списка IntelliSense можно по-прежнему выбирать с помощью навигационных клавиш или клавиши .

На рисунке ниже приведен пример задачи, для решения которой предназначен режим подсказок. В левой части рисунка программист набирает текст для нового метода Load из класса CustomerData. Класс CustomerData еще не содержит метода Load, но в нем уже есть класс LoadAll. Справа, показано, что программист набрал имя Load, за которым следует открывающая круглая скобка. Система IntelliSense неправильно предположила, что разработчик подразумевал метод LoadAll, и вставила его в окно редактора.

Использование режима подсказок Visual Studio

Для того чтобы избежать этого, можно включить режим подсказок, нажав клавиши . Теперь, когда программист наберет имя Load, оно появится в начале списка IntelliSense. Набрав открывающую круглую скобку, разработчик получит метод Load, что и требовалось:

Включение режима подсказок

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

Stub Completion

Кроме автоматического дополнения слов и фраз, система IntelliSense может также работать в режиме заглушки. Это свойство можно увидеть в среде разработки Visual Basic, когда программист создает функцию, вставляя ее объявление и нажимая клавишу . Среда Visual Studio автоматически переформатирует строку, добавляя соответствующее ключевое слово ByVal для параметров, которые не были явно определены своим контекстом, и строку End Function, завершающую код функции. Другой пример можно увидеть при редактировании XML-документа. Когда программист набирает открывающий дескриптор (open tag) нового элемента, система Visual Studio автоматически добавляет закрывающий дескриптор для него.

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

  1. Запускаем систему Visual Studio 2013 и создаем проект типа C# Windows Forms Application. Когда интегрированная среда разработки сгенерирует первоначальный код, открываем файл Form1.cs в окне редактора кода.
  2. В начало файла добавляем директиву using, чтобы открыть доступ к пространству имен System.Collections.Generic.

using System.Collections.Generic;
public class CustomerCollection : IEnumerable

Поскольку мы набираем интерфейс IEnumerable, система Visual Studio сначала добавляет красную волнистую линию в конце фрагмента, чтобы показать, что в определении класса нет фигурных скобок, а затем добавляет индикатор интеллектуального дескриптора перед именем интерфейса:

Подсветка ошибки при определении интерфейса IntelliSense

Список доступных команд для реализации интерфейса IntelliSense

Интерфейс, который получится в результате, показан на рисунке ниже:

Реализация сгенерированного интерфейса

Обработчики событий также можно автоматически сгенерировать с помощью системы Visual Studio, (например, myBase.OnClick+=), система Visual Studio выполняет автоматическое дополнение, которое можно подтвердить, нажав клавишу .

Свойство Generate From Usage

Вместо генерирования кода в соответствии с существующим определением иногда удобнее генерировать определение кода элемента в зависимости от способа, которым он используется. Это особенно удобно при разработке через тестирование, когда разработчик пишет тесты для классов, которые еще не определены. В этом случае желательно иметь возможность генерировать классы по самим тестам. Для этой цели в языки C# и Visual Basic было включено новое свойство — Generate From Usage.

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

  1. Запускаем систему Visual Studio 2013 и создаем проект типа C# Command Line. Когда интегрированная система разработки будет готова к работе, открываем файл Program.cs.
  2. Включаем в метод Main следующий код C#:

Customer c = new Customer < FirstName = "Joe", LastName = "Smith" >; Console.WriteLine(c.FullName); c.Save();

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

Если неопределенный код, который разработчик пытается сгенерировать, является типом, то можно выбрать команду Generate Class или Generate New Type. Если выбрать команду Generate New Type, то откроется диалоговое окно Generate New Туре:

Диалоговое окно Generate New Туре

Оно предоставляет пользователю много возможностей для конфигурации нового типа, включая выбор его разновидности: класс, перечисление, интерфейс или структура; уровень доступа: открытый (public), закрытый (private) или внутренний (internal), а также его местонахождение.

Информация о параметрах

В старых версиях инструментов разработки программ, выпущенных компанией Microsoft, например в системе Visual Basic 6, как только пользователь создавал вызов Функции, при наборе параметров система IntelliSense сразу выводила на экран информацию о них. К счастью, это невероятно полезное свойство по-прежнему доступно в системе Visual Studio 2013.

Старый способ представления информации о параметрах имел один недостаток: информация появлялась только тогда, когда разработчик действительно модифицировал вызов функции. Следовательно, он мог увидеть полезную подсказку только при создании вызова функции или при его изменении, но не при обычном просмотре кода.

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

Система Visual Studio 2013 исключила такой риск ошибок, предоставив команду, которая выводит информацию на экран, не требуя модификации кода. Нажав комбинацию клавиш , можно вывести на экран информацию о вызове функции, как показано на рисунке ниже. Кроме того, можно получить доступ к этой информации, выбрав команду Edit —> IntelliSense —> Parameter Info.

Подсветка информации о параметре метода с помощью IntelliSense

На рисунке ниже метод Regex.Replace имеет три параметра, в версии по умолчанию. Если параметр является необязательным, то он выводится в квадратных скобках с указанием его значения по умолчанию. Программисты, работающие на языке VB, уже знакомы с этой синтаксической конструкцией, для языка C# 4.0 она является новой.

Команда Quick Info

Иногда программист хочет видеть информацию об объекте или интерфейсе, не модифицируя его код. Нажав комбинацию клавиш , , можно увидеть короткую подсказку, объясняющую предназначение объекта и способ его объявления:

Информация об объекте IntelliSense

Комбинации клавиш в системе VS2013 зависят от выбранных параметров инсталляции (например, Visual Basic Developer, Visual C# Developer и т.д.). Все комбинации клавиш в этой статье соответствуют настройкам профиля General Developer Profile.

Эту подсказку можно увидеть также, выбрав команду Edit —> IntelliSense —> Quick.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *