Я хочу поделиться некоторыми из них с вами, поскольку они не все очевидны, а некоторые требуют изменения некоторых настроек. Подробности под катом!
За перевод спасибо нашему MSP, Льву Буланову.
Загрузка Clean Solution
Когда решение закрыто, его состояние сохраняется, и в следующий раз, когда вы откроете его, Visual Studio сможет восстановить свернутое/развернутое состояние проектов и папок в обозревателе решений (Solution Explorer) и снова открыть оставленные открытыми документы. Это замечательно, но я предпочитаю чистый лист, когда открываю решения — файлы не открываются, а все узлы дерева в обозревателе решений сворачиваются.
Я создал расширение Clean Solution, чтобы обеспечить такое поведение в предыдущей версии Visual Studio. Эта функция теперь встроена в Visual Studio 2019 и может быть включена двумя отдельными галочками. Перейдите в поиск (Ctrl+Q) и введите load, чтобы найти страницу Projects and Solutions > General options.
Снимите галочки Reopen documents on solution load и Restore Solution Explorer project hierarchy on solution load.
Дополнительным преимуществом снятия этих двух галочек является то, что решения будут загружаться быстрее из-за устранения накладных расходов при восстановлении состояния. Win-win.
Git pull сочетанием клавиш
Я много работаю с репозиториями GitHub и часто принимаю запросы от людей. Это означает, что я должен сделать git pull перед тем, как делать последующие коммиты. Но, как оказывалось неоднократно, это можно легко забыть. В результате я сталкивался с конфликтами слияний и другими неприятностями.
В прошлом единственным способом сделать git pull было использование Team Explorer, командной строки или внешнего инструмента. Что я действительно хотел получить, так это сочетание клавиш в Visual Studio, которое бы делало это для меня.
Раньше команда pull в Team Explorer не была командой, которой можно назначать сочетания клавиш, но теперь это так. Перейдите к поиску (Ctrl+Q) и введите «keyboard», чтобы найти страницу Environment > Keyboard. В ней найдите команду Team.Git.Pull в списке. Затем присвойте ей любое сочетание и нажмите кнопку ОК. Я решил использовать Ctrl+Shift+P.
Чтобы автоматически выполнить git pull при загрузке решения, попробуйте открытое расширение Git Pull.
Code Cleanup для C#
Ведение аккуратно-отформатированного исходного кода и обеспечение согласованности стилей кодинга — это то, в чем я никогда не был хорош. Новая функция Code Cleanup очень помогает поддерживать мой код в чистоте и порядке, поскольку я настроил его для запуска всех фиксеров по умолчанию.
Для этого перейдите в меню Code Cleanup, расположенное в нижней части окна редактора, и нажмите Configure Code Cleanup.
В диалоговом окне выберите все фиксеры один за другим на нижней панели и нажмите кнопку со стрелкой вверх, чтобы переместить их наверх. Затем нажмите OK.
Теперь все фиксеры будут запускаться каждый раз, когда вы выполняете очистку кода. Просто нажмите Ctrl+K, Ctrl+E для выполнения. В результате получается хорошо отформатированный документ, в котором применяется набор правил стиля кодирования, таких как добавление недостающих скобок и модификаторов. Вуаля!
IntelliCode
IntelliCode — это новая функция, которая расширяет возможности IntelliSense в зависимости от контекста, в котором вы используете продвинутые алгоритмы машинного обучения. Это полезно для многих сценариев, в том числе при изучении новых интерфейсов или API. Я пишу много расширений Visual Studio, и разнообразность API настолько велика, что есть части, которые я никогда не использовал. Когда я изучаю новую часть API Visual Studio, я нахожу очень полезным, что IntelliCode подсказывает мне, как ее использовать.
Чтобы включить эту мощную функцию, вы можете скачать IntelliCode из Visual Studio Marketplace и установить расширение.
IntelliCode работает с C#, C++ и XAML.
Просмотр содержимого Clipboard Ring
Каждый раз, когда вы копируете (Ctrl+C) что-то в Visual Studio, оно сохраняется в Clipboard Ring. Сочетание клавиш Ctrl+Shift+V позволяет циклически перемещаться по элементам в Clipboard Ring и вставлять выбранный элемент. Я считаю очень полезным хранить несколько вещей в буфере обмена одновременно, а затем вставлять различные элементы в определенные места.
В Visual Studio 2019 Clipboard Ring теперь показывает визуальное превью своего содержимого при нажатии Ctrl+Shift+V. Это облегчает навигацию по истории копий и выбор нужного элемента для вставки.
Новые рефакторинги C#
В C# есть много новых и очень полезных рефакторингов, которыми я пользовался каждый день. Они отображаются как подсказки в виде лампочки.
Чтобы узнать больше о новых рефакторингах и других функциях C # в Visual Studio 2019, ознакомьтесь с с этой статьей в блоге .NET.
Git Stash
Возможность отложить какую-то работу на будущее может быть очень полезна. Git Stash — это то, что дает мне эту возможность без необходимости создавать новую ветку. Если вы знакомы с TFS, то Git Stash очень похож на shelveset.
Самое приятное, что я могу управлять всеми своими заметками в окне Team Explorer. Их легко создавать и применять, и я стал их использовать гораздо больше, после того как Visual Studio начал их поддерживать по умолчанию.
Попробуйте Visual Studio 2019
Это были лишь некоторые из множества улучшений, добавленных в Visual Studio 2019, которые я считаю особенно полезными. Пожалуйста, делитесь своими лайфхаками или улучшениями, которые вы считаете полезными, в комментариях ниже!
Скачать Visual Studio 2019
Mads Kristensen
Senior Program Manager, Visual Studio Extensibility
Комментарии (18)
Skykharkov
08.04.2019 11:35IntelliCode — реально умная штука. Очень помогает.
CoolCmd
08.04.2019 14:32вот только для JavaScript до сих пор недоступна. а в VS Code уже давно есть. как так?
yurec_bond
08.04.2019 12:41Чем больше они добавляют «умных» фич.
Тем больше времени нужно тратить на их отключение, что бы они не мешали решарперу.
До сих пор не нашел как отключить «Live code analysis» в VS 2017Carbonade
08.04.2019 13:20Откройте вкладку настроек решарпера Environment — Performance Guide, оттуда можно выключить.
windrider
08.04.2019 15:25+1Вообще-то, clipboard ring в таком виде существовала ещё в VS2008 (или 2012, не помню). Но в 2015 её зачем-то выпили из GUI (то есть фича работала, но GUI-подсказка с превьюшками не показывалась). Теперь вернули. Паттерн «сделать хорошо, поломать, вернуть как было».
questor
08.04.2019 19:58Часто приходится работать как с TFS, так и с Git, так что неплохо, что появился хоткей и для git, эквивалентный TfsGetLatestVersion.
А Cleanup — это тоже самое, что и CTRL + K, D (формат документа), только теперь поддерживает профили. Профили — это пожалуй хорошо, если вдруг придётся переключаться между проектами с разными настройками. По логике тогда надо, чтобы эти профили можно было сохранить на уровне проекта в настройки в какой-то файл, и чтобы этот файл был виден как отдельный профиль а-ля vs-cleanup-profile-rc.json
ksbes
09.04.2019 20:01Так получается, что много пишу и на VS (2008 и 2017) и AndroidStudio (IntelliJ IDEA)… Короче, что я хочу сказать: я рад, что VS становится нормальной полнофункциональной IDE, интегрированной со множеством современных инструментов!
(Вот только бы обратной совместимости бы побольше подвезли...)
DreamChild
Запустил на днях VS 2017 Community без Resharper и с удивлением обнаружил, что она теперь имеет целый ряд возможностей, которые раньше были фичами Решарпера, даже сочетания клавиш те же самые. Судя по появлению циклической вставки, курс на заимствование идей у Решарпера продолжается. Впрочем, я не говорю, что это плохо
Kobalt_x
Это да, но вроде бы на каком то из BUILDов говорили что супер-продвинутых прямо рефакторингов не будет, чтобы не отгрызать нишу у расширений типа VA/Resharper.
isxaker
это очень даже хорошо
Студия с включенным решарпером последнее время очень дико тормозит. Приходится либо перезагружаться либо саспендить решарпер =(
PashaPash
Clipboard Ring по Ctrl+Shift+V/Ins был еще Visual Studio 2003, а первый Resharper вышел в 2004, так что еще непонятно, кто у кого эту фичу позаимствовал. В Win 10, кстати, есть системный Clipboard Ring, по Win+V.
VioletGiraffe
Ух ты, про Win + V не знал, спасибо!