Три года назад передо мной встала задача выбрать редактор кода для SQL. Язык программирования у меня специфический и для него нет широко распространенных интерфейсов, которые были бы признаны однозначным стандартом для использования.
Довольно быстро я наткнулся на VS Code, провел ресерч и написал начальству ознакомительную статью в любимом мной непринужденном стиле. С некоторыми изменениями я и публикую её здесь.
В борьбе за идеальные UI наших продуктов, мы часто забываем об удобстве собственных интерфейсов разработчика. Эргономичность сред разработки влияет на продуктивность, поэтому мы вправе искать новые решения. Особенно, если обновление IDE для СУБД не происходило десятилетиями.
В 2015 году в проекте MS Visual Studio произошел open source форк – VS Code. Проект активнейшим образом был поддержан общественностью и по статистике уже на 2018 год до 35% программистов выбрали КОД своим основным редактором.
Эргономичный, мультифункциональный, быстрый и отказоустойчивый – он стал плодом мечтаний целого поколения программистов. Взгляните, как привлекательно он выглядит в выбранной по умолчанию Dracula Theme.
Межплатформенный редактор Code имеет настолько универсальную архитектуру, что перспективы его развития и распространения весьма широки. Приспособленный для кодирования на трёх десятках основных языков (от c++ до html), поддерживающий все новейшие технологии (Git, Jira, Docker), он может стать универсальной средой для full stack разработки в современной компании.
Давайте кратко рассмотрим, что конкретно он может предложить SQL разработчику.
Прежде всего, мы не должны обманываться – никакая новомодная среда разработки не поднимет создание проектов на новый уровень, если:
- отсутствуют корпоративные правила построения системы;
- нет code review со стороны архитекторов;
- не применяются шаблоны проектирования (для серверной разработки, почему нет);
- а также не используются методологии разработки ПО.
Первым помощником являются extensions. Прямо из редактора осуществляется доступ в Marketplace, откуда можно инсталлировать бесчисленное множество расширений. При желании можно самому написать не хватающее расширение (статьи на Хабре подталкивают к этому).
Вторым источником помощи в работе с настроенным КОДом является единая палитра команд (вбирает в себя все функции среды и установленных расширений).
Третьим полезным инструментом становится IntelliSense – интеллектуальный помощник при наборе кода.
Также имеется возможность использовать и настроить линтеры (linter), следящие за правилами форматирования.
Наконец, сниппеты (snippets) – сокращения в редакторе, трансформируемые в полноценный код – замыкают пятерку основных подручных средств. Магия сниппетов проявляется в указании последовательности точек фокуса внутри авто подставленного кода и в возможности задавать списки значений на выбор.
Уже из коробки среда умеет делать множество полезных вещей. Взгляните хотя бы на операцию сравнения файлов. В данном примере показана подсветка добавленного, удаленного и измененного фрагмента скрипта:
VS Code был создан с помощью Node.js, и он обладает полной поддержкой для JavaScript разработчиков. А мы с вами помним, что JS за последние 10 лет из гадкого утёнка превратился в прекрасного лебедя, с которым должен быть знаком современный программист. Хм, знаком с лебедем, ладно проехали.
Все настройки среды и конфигурации расширений хранятся в формате JSON (прощайте ini файлы). Самих настроек множество: форматирование, подсветка, установка Tab в два пробела, настройка auto save, да что угодно.
Поддержка Git технологии для управления исходным кодом уже встроена в VS Code и расширяется плагинами, например, до хранения на GitHub.
Существует расширение JIRA, позволяющее посредством указания специальных слов в комментариях (TODO, BUG, FIXME, или ISSUE) создавать задачи прямо из студии.
Связь КОДа и задач JIRA также происходит и по указанию тикета в комментарии. Взаимодействие с JIRA может выглядеть так: создаем на GitHub новую хранимую процедуру, через VS Code связываем его с существующим issue или создаем новую задачу, затем через комментарии и commit отслеживаем прогресс решения.
Упомяну еще режим мульти курсора, а также возможность трансляции действий встроенными средствами редактора («удаленный рабочий стол» в рамках окна VS Code), например для обучения или презентации проекта.
Выпуск №7, Санкт-Петербург, дата написания 18.01.2023