Поиск по сайту:

Полезные плагины редактора Vim для разработчиков программного обеспечения — часть 2: Syntastic


Нет никаких сомнений в том, что Vim — готовый редактор программирования, но его плагины для редакторов помогут вам максимально эффективно использовать его возможности. В первой части этой серии статей мы обсудили несколько подключаемых модулей Vim, связанных с программированием (Tagbar и delimitMate). Продолжая в том же духе, в этой статье мы обсудим еще один полезный плагин Vim, ориентированный на разработчиков программного обеспечения — Syntastic.

Обратите внимание, что все примеры, команды и инструкции, упомянутые в этом руководстве, были протестированы на Ubuntu 16.04, а используемая нами версия Vim — 7.4.

Синтаксический

Если ваша работа по разработке программного обеспечения связана с такими языками, как C и C++, само собой разумеется, что устранение ошибок времени компиляции станет частью вашей повседневной работы. Во многих случаях ошибки компиляции возникают из-за неправильного синтаксиса, используемого в исходном коде, поскольку разработчики не замечают их, просто просматривая код.

Что, если я скажу вам, что существует подключаемый модуль Vim, который предоставляет информацию о синтаксических ошибках без необходимости компилировать ваш код? Да, такой плагин существует, и называется он Syntastic.

\Syntastic – это плагин для проверки синтаксиса, указанный в официальной документации плагина. \Если обнаруживаются синтаксические ошибки, пользователь получает уведомление и счастлив, потому что ему не нужно компилировать свой код или выполнять скрипт, чтобы найти их\.

Установка этого плагина аналогична тому, как мы устанавливали те, которые обсуждались в первой части — все, что вам нужно сделать, это выполнить следующие команды:

cd ~/.vim/bundle/
git clone https://github.com/scrooloose/syntastic.git

После того, как плагин успешно установлен (это означает, что приведенные выше команды выполнены успешно), вам больше ничего не нужно делать — он загружается автоматически при запуске редактора Vim.

Теперь, чтобы использовать плагин, откройте файл исходного кода и сохраните его с помощью команды :w Vim. После очень короткой паузы вы заметите, что синтаксические ошибки (если они есть) в вашем коде будут выделены. Например, следующий снимок экрана должен дать вам представление о том, как плагин выделяет ошибки:

Знак >> в начале строки указывает на наличие проблемы с кодом, написанным в этой строке. Чтобы узнать, в чем именно заключается ошибка, или хотя бы получить приблизительное представление о ней, подведите курсор к этой строке — описание ошибки отобразится внизу окна Vim.

Таким образом, вы можете устранить большинство ошибок, связанных с синтаксисом, даже не компилируя код.

Далее, если вы запустите команду :Errors , отобразится описание всех связанных с синтаксисом ошибок в текущем исходном файле. Например, запуск команды :Errors в моем случае привел к следующей информации:

Имейте в виду, что информация, отображаемая командой :Errors, не обновляется автоматически, а это означает, что даже после устранения ошибки ее описание будет отображаться в нижней области до тех пор, пока вы снова не запустите команду :Errors.

Стоит отметить, что существует множество параметров конфигурации, которые делают Syntastic еще более удобным для пользователя. Например, вы можете поместить следующую строку в файл .vimrc, если хотите, чтобы команда :Errors автоматически обновляла свой вывод каждый раз, когда устраняется ошибка:

let g:syntastic_always_populate_loc_list = 1

Еще одно серьезное ограничение, которое имеет синтаксическое поведение по умолчанию, заключается в том, что вам нужно запустить команду :w, чтобы заставить плагин указать ошибочные строки — это нормально при редактировании файла, но становится немного странно, когда вы только что открыли исходный файл. .

Чтобы убедиться, что Syntastic автоматически выделяет ошибки при открытии файла, добавьте следующую строку в файл .vimrc:

let g:syntastic_check_on_open = 1

Точно так же, если вы хотите, чтобы курсор переходил к первой обнаруженной проблеме при сохранении или открытии файла, поместите следующую строку в файл .vimrc:

let g:syntastic_auto_jump = 1

Вышеупомянутой переменной можно присвоить еще два значения: 2 и 3. Вот что говорится в официальной документации об этих двух значениях:

\Если установлено значение 2, курсор перейдет к первой обнаруженной проблеме, но только если эта проблема является ошибкой\ и \если установлено значение 3, курсор перейдет к первой обнаруженной ошибке, если таковая имеется. Если все проблемы обнаружены предупреждения, курсор не прыгает.\

Вам также будет полезна следующая информация:

\Используйте :SyntasticCheck для ручной проверки\ на наличие ошибок. \Используйте :Errors, чтобы открыть окно списка местоположений, и :lclose, чтобы закрыть его. Вы можете очистить список ошибок с помощью :SyntasticReset, и вы можете использовать :SyntasticToggleMode для переключения между активным (проверка записи буфера) и пассивным ( ручная) проверка.\

Примечание. Syntastic не ограничивается только кодом, написанным на C и C++. Он также поддерживает огромный список других языков программирования. Перейдите сюда, чтобы узнать о нем больше.

Заключение

Несомненно, Syntastic — очень полезный плагин для Vim, поскольку он избавляет вас от хлопот, связанных с частой компиляцией, по крайней мере, когда речь идет об ошибках, связанных с синтаксисом. И не говоря уже о том, что вы также экономите много своего времени.

Как вы заметили, Syntastic становится еще более полезным после того, как вы настроите некоторые из его основных параметров. Чтобы помочь вам начать работу с этим, официальная документация содержит раздел «Рекомендуемые настройки» — просмотрите его. Также есть приятный небольшой раздел часто задаваемых вопросов на случай, если вы столкнетесь с некоторыми ошибками или у вас возникнут сомнения или вопросы.