Как стать автором
Обновить

10 рекомендаций по VS Code для повышения продуктивности

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров51K
Всего голосов 77: ↑69 и ↓8+87
Комментарии83

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

А вы знали, что 73% разработчиков по всему миру используют один редактор кода? 

Опрошенных разработчиков. Есть еще не опрошенные, и экстраполировать на них результаты первой группы неверно.

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

... беда в том, что, по ходу, этим при составлении опроса не заморачивались, да

А если провести опрос на форуме, посвящённом решению проблем с VSCode, то группы будут такими:

  • Ещё не пробовал и точно не буду

  • (пока ещё) пользователь

  • Уже не пользователь

А что вместо него? для js-ts?

Если бесплатно - то страдать.

Если за деньги - то продукты JetBrains.

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

Ну так VSCode редактор "для всего".

Если сложить "отдельные" IDE которые на самом деле срез IDEA под конкретный язык, то получим:

IntelliJ IDEA 26.82%
PyCharm 14.63%
Android Studio 16.82%
WebStorm 7.38%
PhpStorm 6.09%
CLion 4.9%
Goland 3.23%
Rider 5.57%
RubyMine 1.29%

Итого за IDEA 86.73% :)

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

Согласно опросу из моей группы в контакте (а это 2 человека)
Полину людей во всем мире зовут Денис
Другую же половину зовут Руслан

Да 90% этого всего было в ItelliJ уже лет 10 назад.
Из всего мне очень нравится Copilot, прям сильно с бойлерплейтом помогает.

Интересно у Visual Studio реально 28% или там замешались ответы людей, которые не вкуривают тразницу между VS Code и VisualStudio.

ещё лет 20 и наСИльники будут программировать как нормальные люди.

думаю что это .net разработчики

Там не только .net, но и python,php,go,cpp да и вообще большой список.Но он уж очень сам по себе специфический

понятно. спасибо за ликбез!

На .NET до относительно последнего момента как раз разрабатывать в VSCode было не прям сахар из-за отсутствия поддержки Solutions(теперь поддержка есть через официальный плагин)
А вот Python, JS, TS, C++, Go и Rust — это только в путь

За код скриншотами, который нельзя скопировать, хочется палкой по рукам дать )) А вот за плавную анимацию курсора спасибо. Приятнее смотрится.

Должен же кто-то прийти и сказать "а вот в emacs это уже давно было"..

Но, VSCode, конечно, весьма неплох.

https://xkcd.com/378/

Ctrl + Alt + Down или Ctrl + Alt + Up

У меня оно рабочий стол переворачивает вверх ногами (Win10). Пользуюсь зажиманием Alt + Shift + клик в некую точку, тогда курсоры размножатся от прошлой позиции до выбранной.

Это не система делает, а драйвер Интел. Жутко бесит, к счастью, можно отключить.

Хмм, благодарствую, про них то я всё время и забываю.

Это всё можно переназначить

Упомянули multiple cursors, который давно и часто использую, но самый частый паттерн забыли: выделить кусок текста, и дальше Ctrl-D (select next occurrence) или Ctrl-Shift-L (select all occurrences). И не нужно использовать мышь.

Кроме того, при использовании поиска по документу, тоже можно нажать Alt-Enter, и он перейдёт в режим multiple cursors по всем вхождениям искомой фразы.

В случае если речь идет о работе с кодом - да. У меня VSCode чаще используется для просмотра логов, правки конфигов, редактирования json'ов и тому подобных эпизодических задач, а для кода есть полноценная Visual Studio

Т.е. вы теперь вместо Ctrl+S постоянно нажимаете Ctrl+D и считаете, что это повысило вашу продуктивность?

Я во время живой аськи на Миранду поставил ctrl+s отправку сообщений, теперь это рефлекс :)

Ctrl+Enter для отправки - это же стандарт

Я себе поставил на insert добавление к мультикурсору следующего текста, идентичного выделенному, не так уж много телодвижений требует.

А при чем тут сохранение и автоформатирование?

Видать, я промазал. Казалось, что отвечаю на комментарий, который выше, где ctrl+d — это переход по найденным кускам. Я ещё и само действие перепутал. Это-то у меня ctrl+f3.

Чтобы создать каталог, а не файл, нужно в конце имени добавить слэш /

Да, столько удобных комбинаций и сочетаний клавишь)

Тем временем пользователи vim

Всему этому есть альтернатива — комбинация Ctrl + Shift + K, позволяющая удалить одну или множество строк в считаные секунды.

vim проще:

<количевство удаляемых строк>dd

vim однозначно рулез, но для редактирования на (очень) удалённом хосте, к сожаленью нет никаких работающих альтернатив кроме vscode. Удалённый vscode сервер - это то, о чём я мечтал последние 20 лет моей жизни. Если б vim научился пользовать vscode server - честь ему и хвала.

Да, vscode server крутая штука, особенно нравится что без запар можно в контейнере запустить. Pycharm, например, с доккером дружит, но запустить для отладки в singularity его очень сложно, code server тут спасает.
Но, кстати, если канал до удаленного сервера быстрый - то вполне прокатывает запустить вим на нем и в нем же разрабатывать. Для небольшых проектов сойдет.

Visual Studio Code остаётся наиболее предпочтительной IDE

VS code - не IDE.

Дайте определение IDE и четкие пункты, по которым VS Code не попадает в этот мир розовых пони

Я бы не стал спорить с MS на этот счет:

Раз

Два

Я давать четких определений не буду, но предлагаю сравнить опыт при использовании IDE (такой, как VS) с опытом использования редактора (такого, как VS Code). В первом случае установил - и можешь работать, больше делать ничего не надо, у тебя сразу все есть. Во втором случае - установил, поискал нужные плагины, установил их, настроил, пути прописал ко всяким SDK если не нашлись и т. д. - и все равно результат, как ни крути, до VS не дотягивает. Точно так же можно на vim все это навешать, но почему-то никто не спешит называть vim IDE.

Я всё-таки попрошу перечислить объективные "признаки" IDE, по которым VS Code после настройки плагинов не дотягивает до WebStorma например при разработке на js/ts

По поводу же того, что сам VS Code называет себя редактором - то как он должен себя называть? Он именно редактор, потому что универсален. IDE - это ограничение по сфере использования, по функционалу

Вопрос в том, что он как редактор, с плагинами превосходит в определенных случаях лучшие IDE в плане DX.

Значит, все же редактор :)

К сожалению, ничем не могу вам помочь, т. к. на js/ts не разрабатываю и вполне допускаю, что точно зная чего хотите достичь, обвесив VS Code плагинами он может дотянуть до WebStorm'а. Я разрабатываю на C# и немного на C++ и мне после VS, к сожалению, совсем не зашло. Даже с плагинами, и точно зная чего я бы хотел достичь.

Конечно, редактор. Только ваше презрительное отношение к данному термину устарело лет эдак на 10. Из этого "редактора" я запускаю и контролирую GitHub Actions и жутко удобно удаленно редактирую и дебажу PHP бэкенд на облачных серверах, и делаю еще много что, что стандартные узколобые IDE даже не предполагали делать.

Так что если задуматься, термин "integrated development environment" в универсальном смысле больше подходит именно VS Code. Именно поэтому он и занимает такую огромный процент рынка. А когда надо что-то специфичное, типа Андроид разработки, тогда да, приходится брать нишевой IDE.

И, кстати, да, некоторые плагины (например для Vue, или Codeium) на VC Code появляются намного раньше тормозного в этом плане WebStorm-a, который пытается всё подмять под себя и привязать к себе, поэтому Vue разработчикам приходится бросать этот прекрасный IDE ради удобства, стандартов и прогресса.

И опять-таки не услышал четких определений признаков IDE. Из чего заключаю, что их просто нет

Да нет у меня никакого презрительного отношения, с чего вы это взяли. Каждому разработчику нужен редактор, чтобы редактировать какие-то отдельно взятые файлы (xml, json, или вот GH Actions) - в моем случае, это Notepad++, кто-то в моей команде использует VS Code, кто-то Sublime и т. д. - и это нормально и вопросов здесь никаких нет. Каждому инструменту своя область применения.

Но я пока что-то не вижу чтобы кто-то всерьёз делал крупные C# проекты на VS Code - с нормальным GUI, чтобы 100+ проектов было в солюшне и так далее. Почему-то все используют для этого VS или Rider, загадка правда?

Насколько я понимаю, ваш опыт в этом вопросе исходит из сравнения WebStorm и VS Code в плане разработки на js/ts. Вот честно, на js/ts +- можно хоть в блокноте писать, особенно на js. Так что вполне допускаю, что IDE для js не дает какого-то вау эффекта :)

комбинация Ctrl + Shift + K, позволяющая удалить одну или множество строк в считаные секунды.

Всегда в подобных руководствах удивляет, что человек, который их пишет, знает о возможности перебиндивать клавиши, но всё равно у себя в тексте указывает дефолтное сочетание, будто оно у всех работает. Почему не указать в скобках действие "Delete line", которое вызывается этим хоткеем?

Можно предположить, что если я его переназначил, значит сам знаю, где у меня это действие. Но беда в том, что в vs code очень много всяких хоткеев, все не упомнить, да ещё у разных плагинов есть свои хоткеи. Я иногда что-то назначаю "на будущее", забываю и не пользуюсь. Конкретно то, что я здесь процитировал, у меня на ctrl+k. А Command palette у меня на F9, потому что часто пользуюсь, хочу нажимать как можно меньше кнопок. У меня даже поиск не ctr+f, а alt+s — меньше двигать рукой, так как я нажимаю ctrl большим пальцем, так исторически сложилось.

К слову об удалении. Плагин metago позволяет действием metago.delete удалить текст от текущей позиции до некоторой выбранной позиции на экране, которая вводится нажатием символа, находящегося на той позиции, и последующим выбором одного из подсвеченных символов (правда, если он один такой, всё равно его нужно выбрать вторым действием). Там же есть перевод курсора, добавление мультикурсора, выделение до указанной позиции, закладки, удаление слов целиком (с учётом пробелов и без).

а главное, почему Ctrl + Shift + K если много-много лет везде есть и работает Ctrl+Y?

Видимо, дефолт такой. Я не уверен. У мен ctrl+y — это redo.

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

И мы все знаем почему — он очень крут!

Потому что бесплатный.

Сам постоянно использую VSCode для разработки и поддержки огромных PS1 скриптов. Что бесит? Низкая производительность VSCode. Между нажатием и реакцией ощутимый лаг. Заметно на быстром наборе. Для мелких исправлений использую NPP - он просто летает по сравнению с VSCode (но поддержки PS1, кроме подсветки, понятно, нет). Рассматривал Sublime, но он платный - раз, поддержка PS1 слабая - два.

Либо вы очень быстрый, либо ваш компьютер очень медленный.

Если включить отображение blame на каждой строке и открыть репозиторий через sshfs, то будет подтормаживать. А ещё он умеет считать количество использований переменных в коде, это какой-то там lens, вот он тоже может много времени занимать.

Интересно сколько денег RuVDS тратит в месяц на поддержку поиска и публикации таких качественных статей и переводов?

Я в хорошем смысле

Это единственное, что в них есть хорошего. Упаси Вас бох стать их клиентом ....

Я их клиент чуть больше года (VPS). Проблем не было ни разу.

Я, волей судьбы, много лет вынужден общаться с ними от лица организаций - их клиентов.
Так вот, например, реагировать на таски класса "всёпропало" на третий день, после обеда, у них нормальная практика.
В июле этого 2023 года они вообще не посчитали нужным в принципе реагировать на обращение.

А, я понял. С поддержкой ни разу еще общаться не приходилось. Видимо, всё впереди))

Добрый день! Пожалуйста, напишите нам в личные сообщения номер тикета, на который вы не получили ответа. Разберёмся в ситуации. Обычно первичные заявки обрабатываются в течении 15 минут.

Вроде авторам по несколько тысяч рублей платят за статью.

Вот и считай (С)

НЛО прилетело и опубликовало эту надпись здесь

Так, в VSCode input lag присутствует всегда. Что с анимацией курсора, что без анимации.

у вас 486 чтоль? нет там лага, во всяком случае заметного глазом

Все мои знакомые девелоперы использую продукты Inteleji. VS Code используют только фронтендеры.

Вот сейчас обидно было.

Вспоминается старый анекдот. "У нас в группе три музыканта и один барабанщик"

У нас в группе эта шутка не прокатит, потому что наш барабанщик — это гитарист из другой группы. Зато басистом сработает. Правда, если так считать, то у нас из музыкантов один только барабанщик, но и он без целевого образования вроде как.

У меня стоит Vim плагин для VSC. Интересно, попадаю ли я в категорию "Vim" теперь...

Спасибо за статью!

Хорошая привычка - периодически искать плагины для автоматизации/упрощения процессов, быстрого взаимодейсвия с элементами инфраструктуры/API/контейнерами/git:

1) SQL базы: SQL-Tools

VSCode: https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools

VSCodium: https://open-vsx.org/extension/mtxr/sqltools

Плагин позволяет получать информацию почти из всех sql баз, смотреть таблицы, исполнять query, сохранять креды/пароли в зашифрованном виде. Всё это хорошо сочетается Command Palette, доступ ко многим командам есть через Ctrl+P

2) HTTP клиент: Thunder Client (*проприетарный)

VSCode: https://marketplace.visualstudio.com/items?itemName=rangav.vscode-thunder-client

VSCodium: https://open-vsx.org/extension/rangav/vscode-thunder-client

Инструмент для тестирования HTTP ендпоинтов, создания автотестов, коллекций тестов. Есть история запросов и переменные окружения, кодогенерация из запросов (с поддержкой большинства популярных языков)!

3) gRPC клиент: gRPC Clicker

VSCode: https://marketplace.visualstudio.com/items?itemName=Dancheg97.grpc-clicker

VSCodium: https://open-vsx.org/extension/dancheg97/grpc-clicker

GUI обертка над некоторыми функциями из grpcurl от storydev. Позволяет визуально посмотреть gRPC апи, используемые типы в запросах, генерирует grpcurl команды.

4) Docker - Docker

VSCode: https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker

VSCodium: https://open-vsx.org/extension/ms-azuretools/vscode-docker

В общем то все функции докера, хотя некоторые всё же удобнее через терминал.

5) Mario: The Block Jumper Extension: быстрая навигация по коду

VSCode: https://marketplace.visualstudio.com/items?itemName=jeff-hykin.mario

VSCodium: https://open-vsx.org/extension/jeff-hykin/mario

Удобный плагин для быстрой навигации по блокам кода.

---

Есть еще пара не озвученных горячих клавиш:

1) Ctrl+Shift+A - фокусировка Activity Bar, для быстрого доступа к разным плагинам

2) Ctrl+Shift+F на выделении - поиск по рабочей директории, удобно для поиска дубликатов и рефакторинга.

Коллеги, подскажите, если кто-то знает, п-та, как включить такую прекрасную подсветку scope как на картинках у ТС. Что-то в гугле меня забанили.

Вот это?
Вот это?

Да, оно. Спасибо!

Пытался найти в этом списке хоть что-то, чего нет в IntelijIdea и .... не нашёл ...

И это вы называете килер фичами?

На практике, мне сложно представить джависта или андроидщика, который пишет в VSСode.

Поэтому к статистике - бооооольшииииииие вопросы. Я уж молчу про то, что в сумме получается гораздо больше 100%

Я уж молчу про то, что в сумме получается гораздо больше 100%

Ну почему бы и нет? Я вот пишу на Go в neovim+gopls, но на работе есть стандарт: GoLand. Соответственно, я пользуюсь обоими, зависит от того, что пишу, куда и когда надо будет пушить.

Да, на практике Java-разработчик, или под Android в подавляющем большинстве случаев будут использовать решения что не VSCode. А если взглянуть на разработчиков что стоят за цифрами этой статистики, то это подавляющая масса front-end разработчиков. Тех, кто толпами представлен в IT на данный момент. А им бесплатный VSCode самое то.

Долгое время использовал VS Code, полгода назад пересел за WebStorm.
До сих пор не могу смириться с тем, что нельзя временно файл создать через Ctrl+N или двойным кликом в шапке с вкладками. Scratch-file создавать не удобно, а порой надо просто JSON какой-нибудь хранить весь день...

К слову, пример с мультикурсором как по мне не самый удачный - здесь наверное удобнее и быстрее было бы Ctrl+C, Ctrl+V, Ctrl+V, нежели мышкой прокликивать места, ведь мышкой всегда медленнее выходит.

Fleet не пробовали?

В примере с мультикурсором удобнее было бы скачать нормальную IDE и сделать ctrl -ctrl - либо alt + j. Мышь в таком случае трогать не нужно

В VS Code тоже можно добавлять курсоры без использования мыши.

Что-то я уже привык, что во всех программах под винду CTRL+P - это вывод модалки печати. А тут эвона как.

11 лет назад для Visual Studio [не code а оригинальной] появилось расширение Code Achievemnts.

Оно добавляло геймификацию а код. Таи были разного типа ачивки, но большая часть из них была по приколу. Ну так вот, там была ачивка Kill the Tree. Для того чтобы её получить надо было распечтать свой код. Уже в 2012 году не знали про то, зачем его печтатать.

Последний раз я печатал код из редактора в 2006 году, когда его надо было приложить к какой-то работе в универе.

Есть ли способ без хаков уменьшить гигантскую панель слева (без изменения общего масштаба)?

Сам предпочитаю PHPStorm, т.к. VSCode с любым количеством плагинов не дотягивает до возможностей IDE. Однако скорость работы VSCode (особенно в WSL) иногда подкупает.
В мире PHP, кстати, VSCode вряд ли займёт лидирующую позицию.

Любопытно еще и то, что, все тоже самое, умеет делать Google Developer Tools вызываемый из Google Chrome и подобных браузеров.

И делать все єто, он умеет уже не менее 5 лет. Кроме, разве что, создания каталогов в один клик.

Кто вдруг не в курсе - вкладка source => создать сниппет. Или комманда => открыть текущий код в source tab.

Ну и конечно все те-же самые ctrl - p, ctrl - shift - p...

Без которых работа в современном dev tools мало продуктивна.

Почему ставится уровня hello world с таким рейтингом?

Ну а что касается самого vs code - то он у меня заметно тормозит. Те же самые анализаторы работают в SublimeText гораздо отзывчивее. И с каждым новым языком у которого на стартовой странице есть ссылка на плагин для VSCode - я возвращаюсь на него. Но через пару месяцев разработки меня достаёт печатать на тормозах, и оказывается, что те же инструменты на Sublime удобнее.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий