Сниппеты
Сразу скажу, что сниппеты (snippets) были и раньше, кардинальных нововведений (помимо увеличения количества) не наблюдается. Тем не менее, вещь полезная (помним, что сейчас не рассматриваем дополнения от сторонних производителей). Сниппеты бывают обычными и окружающими.Обычные сниппеты используются с помощью набора названия в коде (или выбора из списка) и нажатия кнопки Tab. Ниже показан сниппет для конструктора.
После нажатия Tab получим публичный конструктор без параметров. Последнее, кстати, говорит о некоторой ограниченности сниппетов – в идеале, хотелось бы иметь возможность быстрого добавления параметров, которые соответствовали полям класса.
Есть также "окружающие" сниппеты для выделенного блока кода, которые можно вызвать по правой кнопке или комбинации Ctrl+K, Ctrl+S. Для конструкций вроде try-finally, которые часто вводятся уже после написания кода, очень удобно.
Можно написать свои сниппеты или скачать опубликованные. Только при использовании таких сниппетов нужно помнить, что ошибка в них будет многократно дублироваться в исходном коде.
Еще хотелось бы предостеречь от постоянного использования сниппетов там, где ту же самую задачу можно решить другими способами. Сниппеты могут приводить к дублированию кода, которого можно избежать, используя код повторно, применяя наследование, делегаты или аспектно-ориентированное программирование. Естественно, вышеупомянутые способы тоже нужно применять с умом.
Генерация заглушек
Генерация заглушек (stubs) присутствовала и в Visual Studio 2008. Возможность полезная как при обычном написании кода, так и при разработке по методике Test-Driven Development (TDD). При использовании несуществующего метода можно сгенерировать его (с учетом параметров).В Visual Studio 2010 в этом механизме замечен ряд улучшений:
- работает и со свойствами
- сам сразу подчеркивает код и показывает smart tag
- Ctrl+. удобнее чем Ctrl+K,Ctrl+M
Увеличение масштаба
По нажатию Ctrl+Wheel (или выбрав значение в левом нижнем углу) можно увеличить или уменьшить масштаб текста в редакторе кода. Вот один из плюсов того, что новая студия использует WPF. Полезно для презентаций, при написании кода требуется редко.Блочное выделение и редактирование текста
Крайне редко требуется, однако когда действительно требуется – полезно знать. Все очень просто – нажимаем и удерживаем Alt, затем стрелками на клавиатуре или мышью выделяем блок. После этого набираемый текст появляется синхронно во всех строчках. Забавная фишка для рисования псевдографикой в комментариях. Из серьезного применения вижу только один вариант – одновременное редактирование нескольких полей класса, например, изменение области видимости:Из мелких доработок – в Visual Studio 2010 добавили возможность выделения блока нулевой ширины, так что добавить область видимости, когда она не задана, теперь немного быстрее.
Отсутствие границ для окон
Теперь окна в студии не ограниченны главным окном. Их можно разбросать по монитору (или мониторам) как угодно.Думаю, для обладателей нескольких мониторов это будет очень удобно. Сам не пользуюсь, потому что у меня один, зато большой и широкоформатный.
За кадром остался, пожалуй, только слегка видоизмененный способ перетаскивания и закрепления окон, но этим обычно пользуюсь крайне редко (все настроено один раз и менять не имеет смысла). Поэтому и рассказывать не буду :)
Базовые горячие клавиши
Базовые горячие клавиши в Visual Studio наверняка известны большинству разработчиков. Поэтому последний раздел скорее для новичков или тех, кто давно не писал код в студии. Жирным выделю те, которые не слишком на виду, но, тем не менее, полезны.Поиск и замена:
- Ctrl+G – перейти на строку с введенным номером (появляется диалог для ввода номера строки)
- Ctrl+F/Ctrl+H – поиск/замена (по умолчанию - в текущем документе), при этом F3 ищет дальше в том же документе и при закрытии диалога
- Ctrl+Shift+F/Ctrl+Shift+H - поиск/замена в файлах (в отличие от предыдущего пункта, необязательно открывать все измененные файлы – не тормозит, когда нужно поменять что-то во многих местах)
- Ctrl+F3/Ctrl+Shift+F3 – поиск выделенного фрагмента без открытия диалога (вниз/вверх)
- Ctrl+I – инкрементный поиск, после нажатия Ctrl+I начинаете набирать текст, и курсор автоматически перескакивает на первое найденное сочетание букв. Удобно то, что можно набирать дальше, и поиск будет идти дальше (пока не нажат Esc и набранные символы содержатся в текущем документе).
- Ctrl+-/Ctrl+Shift+- – перейти на предыдущую/следующую позицию курсора (можно, например, вернуться после перехода на определение метода, посмотреть вызывающий его код и вернуться обратно)
- Ctrl+Left/Ctrl+Right – переход влево/вправо по “словам”
- Home/End – переход в начало/конец строки (если используются отступы, то для перехода на “самое начало” строки потребуется нажать Home дважды)
- Ctrl+Home/Ctrl+End – переход в начало/конец файла
- Если во время всех предыдущих действий держать нажатым Shift, то можно быстро выделять нужный текст (чтобы скопировать/удалить слово и т.п.).
- Ctrl+Tab – переключение между окнами в студии
- Ctrl+Alt+Down – быстрый выбор между открытыми файлами (удобно когда их много), в ReSharper это сочетание назначено на другую команду, поэтому для аналогичных действий я пользуюсь его Ctrl+E
- Ctrl+Insert/Shift+Insert/Shift+Delete – копировать в буфер обмена/вставить из буфера/вырезать в буфер
- Ctrl+C/Ctrl+V/Ctrl+X – более традиционные аналоги первого пункта
- Ctrl+Shift+V – возможность вставки нескольких предыдущих скопированных значений (у меня ReSharper показывает окно с выбором, в чистой студии, по идее, заменяются значения при повторном нажатии)
Резюме
- Новая версия студии лучше предыдущей в плане навигации по коду.
- Рефакторингов по-прежнему мало.
- Если не хватает возможностей, имеет смысл попробовать дополнения от сторонних разработчиков.
Ещё ИМХО, очень полезное сочетание это Ctrl+, для вызова окна Navigate To. Уж больно долго искать нужные файлы в Solution Explorer в больших проектах.
ОтветитьУдалить>Ещё ИМХО, очень полезное сочетание это Ctrl+
ОтветитьУдалитьДа, полезное - в предыдущей статье упомянул :)
P.S. Аналог в ReSharper - Ctrl+Alt+Shift+N - немного длинно, но по смыслу грамотно (Ctrl+N - поиск типов, Ctrl+Shift+N - поиск файлов)
Почему Вы написали этот топик относительно Студии 2010? Все эти фичи (кроме изменения масштаба) есть и в 2008 студии.
ОтветитьУдалить>Почему Вы написали этот топик относительно Студии 2010? Все эти фичи (кроме изменения масштаба) есть и в 2008 студии.
ОтветитьУдалитьПолучить ответ на этот вопрос можно самостоятельно, если прочитать не только заголовки :) А в предыдущем посте я и про Intellisense писал - им вообще издревле пользовались :)
Ctrl+Left/Ctrl+Right – переход влево/вправо по “словам”
ОтветитьУдалитьчета не работают...
> Ctrl+Left/Ctrl+Right – переход влево/вправо по “словам”
ОтветитьУдалить> чета не работают...
Не работают вообще, или не так как хотелось бы?
Это вроде бы базовая функциональность большинства редакторов.
>Не работают вообще, или не так как хотелось бы?
ОтветитьУдалитьда, не работают вообще
нет никакой активности
VS 2010 Version 10.0.30319.1 RTMRel
возможно связано с билдом...
Как продублировать выделенный блок(строку на которой курсор ) текста?
ОтветитьУдалитьнапример в notepad++ ctrl+D
ctrl+c+v
УдалитьНикак, мне пришлось писать кривой макрос, который забивает буфер. Нативной реализации нет. Вообще по сравнению с Notepad++ Визуал студии еще расти и расти, именно как текстовому редактору.
ОтветитьУдалитьОтличный пост, очень удачное сочетание Ctrl + .
ОтветитьУдалить