Введение

По разным причинам, которые известны лишь… всем, программисты в России всё меньше пользуются WebStorm. Недавно ко мне пришли ребята с вопросом, как жить на VS Code. Они знали, что несмотря на возможность установить корпоративный WebStorm, я оставался приверженцем бесплатного vscode.

Эта заметка составлена из сообщений, в которых я рассказывал, как использую VS Code.

Надеюсь, она будет полезна тем разработчикам, которые сейчас находятся в состоянии фрустрации. Многие сидели на PyCharm и CLion ещё с универа. Взять и резко сменить инструмент на что-то другое непросто.

JetBrains давал бесплатные лицензии, чтобы подсадить ни о чём не догадывающихся студентов на капиталистическую иглу платных подпи… Проклятые капиталисты, они меня до могилы доведут!

Короче, факт остаётся фактом, Джетбрейнс больше нет. Но мы не какие-то там пфф… любители! И можем собрать IDE из чего угодно! А самый быстрый и простой способ - это установить VS Code и накинуть на него плагины.

Плагины

  • Какие-то базовые вещи
    • Better Comments - симпотно подсвечивает комменты с TODO, ?, !;
    • GitLens - работа с git;
    • GitGraph - работа с графом git;
    • Git changelists manager - полезно, когда подсовываешь, какие-то данные для работы, которые не должны оказаться в истории гита, например, хэши или временные стабы для разработки, экран какой-то надо врубить в сложном флоу;
    • Markdown Preview Enhanced - можно смотреть прёвью MD файлов;
    • Prettier - форматировние кода на кнопку или при сохраненнии. Это не только JS тема, может быть полезно для GraphQL, JSON штук;
    • Material Icon Theme - в боковом меню файлам и папкам с определёнными именами будет присвоен значок;
    • Code Spell Checker - проверяет грамотность на инглише, с банковскими терминами мастхэв;
    • Russian Spell Checker - то же, но для русского языка;
    • Batch Rename - когда скопом нужно что-то переименовать;
    • Live Share - шарить свой код и прогать вместе;
    • Bookmarks - когда нужно тыкаться в несколько мест в большой кодовой базе и не забыть, куда тыкался;
    • DotENV - подсветка синтаксиса для .env файлов;
  • Front-end
    • Pretty TypeScript Errors - человекочитаемые TypeScript ошибки;
    • Javascript Booster - всякие полезности для JS косметического рефакторинга;
    • CodeMetrics - считает цикломатическую сложность и количество строк кода, подсвечивает те методы, у которых метрика отстойная. То есть его нужно переписать, разбить, упростить;
    • Jest Runner - жизненно необходимо при TDD, ты переписываешь код, при сохранении сразу же видишь, что тесты зеленеют и двигаешься дальше;
  • Back-end
  • AI
    • IntelliCode - всякие подсказки, которые берутся прямо из GitHub;
    • Tabnine - очень мощный Ai генератор. Мне лично задачи стало в два раза быстрее делать;
    • Codeium - AI автоподсказки, чат и помощник в рефакторинге;
  • Для новоприбывших c WebStorm

Про merge-конфликты

Я использую для этого уже очень давно Sublime Merge, но есть восьмиминутное видео с официального канала vscode, которое должно закрыть 90% вопросов того, как это делать прямо в IDE.

Ещё Штуки

Vscode в проектах смотрит в папку .vscode, где есть разные конфиги специфические для проекта.

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

Для этого в .vscode/settings.json нужно положить:

{
	"workbench.colorTheme": "Aurora X", // Цветовая тема
}

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

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

  • f2 - переименовать переменную;
  • cmd + d - найти совпадения в файле и поставить каретку;
  • alt + click - расставляет каретки в выбранные места;
  • cmd + p - найти какой-либо файл;
  • cmd + b - скрыть/показать панель навигации;
  • cmd + w - закрыть таб;
  • cmd + j - открыть терминал;
  • cmd + \ - разделить файл на несколько редакторов;

Пара слов о том, почему мне норм на VS Code

Мой первый редактор я открыл для себя в 14 лет. Это был стандартный блокнот windows, на нём я написал свой первый сайт, и его функционала было для меня более, чем достаточно.

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

В школе мы писали на Notepad++ и turboPascal. Подсветка ключевых слов это уже было большое продвижение.

Позже я открыл для себя Adobe Dreamweaver, но действительно надолго задержался на Sublime Text, который увидел в уроках “JavaScript Джедай” от Sorax.

Чёрт, как же это было хорошо! Нас всегда учили не судить о книге по обложке, но это было по-настоящему впервые красиво, быстро, удобно. Он был хорош всем:

  • подсветка синтаксиса;
  • поддержка vim;
  • конфиг настроек в одном файле;
  • куча кастомных тем.

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

Позже в Политехе чего только не было. Пришлось вернуться к TurboPascal, попробовать XCode и Eclipse, MS Visual Studio, nano, vim. Но в домашних проектах я всё равно использовал Sublime Text.

Когда я пришёл на свою первую работу, мне предложили установить VS Code. Моя реакция была что-то типа:

Quote

Это та хрень с лабораторных у Молодякова? Ни за что.

Мне объяснили, что это вообще другой продукт, и по сути, похож во много м на Sublime, только есть тонна полезных плагинов. Я подумал: “Почему бы и нет”, - и на 5 лет завис в этом редакторе.

Подводя итог, хочу сказать, что я не особо прихотлив в выборе IDE. Не исключено, что и от VS Code придётся отказаться, но для разработчика, дизайнера, просто ищущего человека это никогда не будет проблемой.

Neovim

Ещё рекомендую ознакомиться со статьями Алексея Агапова про то, как он пробовал перейти с Xcode на Neovim:

Вдохновляют

  • Свобода от продуктов по подписке и мощь свободного программного обеспечения
  • Клинт Иствут и Серджио Леоне

Тэги

фронтендыинструментыvscodeIDEплагины