Плагины для Sublime Text 3
Друзья! Я бы хотела поделиться минимальным необходимым списком плагинов для Sublime Text 3.
Для того, чтобы устанавливать плагины для Sublime Text 3, нужно сначала установить Package Control, если он у вас еще не установлен. Для этого нужно использовать вот эту инструкцию .
Далее в Sublime переходим Preferences – Package Control. Во всплывающем окне вводим Install Package. Это нужно проделывать каждый раз, когда вы хотите установить какие-либо плагины.
Первый плагин, который необходимо установить – Emmet. Он позволяет ускорить верстку за счет готовых конструкций.
Следующий плагин, который нам необходимо установить – AutoFileName. Он нужен для того, чтобы помогать прописывать путь к файлам. Например, если мы в html-файле пропишем , то при установке курсора на атрибут src плагин автоматически откроет список файлов и папок в той директории, в которой хранится файл html. Это очень удобно и позволяет не ошибаться в написании имени и пути к файлу.
Не стоит оставлять без внимания плагин AllAutoComplete. Он помогает нам при указании нового класса или идентификатора воспользоваться теми классами или идентификаторами, которые уже использовались ранее. Причем не только в том документе, который открыт сейчас, а еще и в тех документах, которые привязаны к этому документу.
Также хотелось обратить внимание на плагин BracketHighlighter. Он подсвечивает начало или конец тех тегов, которые мы выделяем. При большом количестве кода это незаменимо. Вы никогда не ошибетесь, какой div вы нажали.
На мой взгляд, этих плагинов будет достаточно новичку для работы в Sublime Text 3.
Sublime Text 3 для верстки сайтов. Настройка внешнего вида и установка плагинов. Руководство для начинающих
Сегодня расскажу о редакторе кода, которым пользуюсь для верстки сайтов уже много лет. Быстрый, удобный и полностью настраиваемый Sublime Text 3.
Мы с нуля настроем его внешний вид, а также применим плагины AutoFileName, BracketHighliter, ColorHighliter, Emmet, GotoCSSDeclaration и Tag, которые существенно помогут нам при верстке сайтов! Ну что ж, от слов к делу!
Внешний вид программы
Первым делом, после установки Sublime Text 3, я настраиваю внешний вид программы.
Боковая панель
Для отображения панели переходим View – Side Bar – Show Open Files. В этой панели будут отображаться наши проекты, то есть папки и файлы нашей верстки. Для наглядности сейчас добавлю один из них. Все что там нужно сделать — это просто перетащить папку с проектом на нашу панель.

Цветовая схема
Далее настраиваю цветовую схему программы и кода, для наглядности открою любой файл, например, с HTML кодом. Для этого два раза кликаю на нужном файле. Теперь перехожу Preferences – Color Scheme, открывается окошко с установленными цветовыми решениями и при выборе той или иной темы внешний вид нашего кода и сама программа будут меняться.

Лично мне не подходит ни один из предустановленных вариантов, поэтому я устанавливаю дополнительную цветовую схему. Огромное их количество можно найти и ознакомиться на сайте с дополнениями к Sublime packagecontrol.io. Я уже знаю какую именно я схему хочу установить, что сейчас и сделаю.
Для того что устанавливать новые цветовые схемы, плагины и прочие дополнения, мне нужно сперва установить установщик этих дополнений. Звучит сложно, но на деле все гораздо проще.
Перехожу в меню Tools – Command Palette, либо нажимаю Ctrl+Shift+P. Открывается вот такое окно с поиском, в поле поиска ввожу install пока не увижу пункт Install Package Control, и нажимаю на него. Спустя несколько секунд получаю сообщение о том, что Package Control успешно установлен. Теперь я могу приступить к установке нужной цветовой схемы.

Для этого опять вызываю Command Palette зажимая Ctrl+Shift+P, в поле поиска опять ввожу install пока не увижу пункт Package Control: Install Package (установить пакет дополнения) нажимаю на него. Немного подождав вижу окно со списком всех доступных дополнений к Sublime. Ну, почти всех.
В поле поиска ввожу название того дополнения, которое хочу установить, в данный момент — это цветовая схема под названием Base16 Color Schemes, точнее это целый пакет с множеством цветовых схем. Нажимаю на найденный пункт и ожидаю установки. Индикатор процесса установки можно увидеть на нижней панели программы. Получив там же короткое сообщение о том, что все установлено перехожу к смене схемы. Для этого открываю уже знакомый пункт меню Preferences – Color Scheme и вижу в открывшемся окне уже большое множество разных вариантов. Меня интересует схема Ocean, ввожу название в поиске, их тут есть две: одна более контрастней другой.

Моя любимая цветовая схема установлена, ты конечно же можешь выбрать себе любую другую.
Общий вид программы мне больше нравится темный, поэтому перехожу Preferences – Theme, и переключаюсь на Adaptive.sublime-theme

Сочетание цветов очень важно для работы с кодом, так как это влияет не только на восприятие, но и на усталость и здоровье твоих глаз. Так что подбери себе цветовую схему так, чтобы тебя ничего в ней не напрягало. И помни про перерывы в работе!
Дополнительные настройки
Дополнительно повысить восприятие кода и комфорт при работе с ним мне помогут следующие дополнительные настройки. Переходим Preferences – Settings. Открывается такое окно разделенное на две части. В левой части настройки по умолчанию, их изменить нельзя, а вот в правой части ты можешь эти настройки переназначить, каждая следующая должна идти через запятую. Вот какие настройки использую я:
"margin": 0, // Убирает отступы "font_size": 10, // Размер шрифта по умолчанию "draw_indent_guides": true, // Включает/выключает направляющие линии "draw_white_space": "all", // Отображает непечатаемые символы "tab_size": 3, //Размер табуляции "remeber_open_files": true, // Помнит открытые ранее файлы
Поясню каждую настройку.
"margin": 0, // Убирает отступы
Убирает странные отступы в программе между кодом и боковой панелью, что делает общую картину более компактной.

"font_size": 10, // Размер шрифта по умолчанию
Выставляет размер шрифта по умолчанию.Также быстро изменить размер шрифта, работая с кодом, можно зажав контрол и покрутив колесо мыши.
Если ты вдруг размер изменил случайно, то сбросить его можно перейдя в Preferences – Font — Reset

"draw_indent_guides": true, // Включает/выключает направляющие линии
Эти линии очень полезны для новичка, потому что визуально соединяют открывающий и закрывающий элемент, что существенно помогает в ориентации в коде.
Лично я отключаю их (false) по двум причинам. Первая — я уже не новичок и без них неплохо справляюсь, вторая причина — это следующая настройка.

"draw_white_space": "all", //Отображает непечатаемые символы
Отображает невидимые табуляции и пробелы. То есть это не часть кода, а просто разметка для удобства работы. И вот, если включить и draw_indent_guides и draw_white_space то получатеся кашица которая лично меня напрягает. Что из этого использовать, а что нет — решать тебе.

"tab_size": 3, //Размер табуляции
Размер ширины линии отступа при нажатии Tab. Лично мне нравится 3й размер 🙂

"remember_open_files": true, //Помнит открытые файлы
Например мы работали работали, а потом неожиданно закрыли программу 🙂 Бывает такое? У меня постоянно, так вот эта настройка включает «память» у Sublime и при следующем открытии программы откроются и все последние файлы. И да, память работает и после перезагрузки компа.
Разделение рабочего окна
Еще более улучшить восприятие кода и ускорить процесс верстки нам поможет разделение рабочего окна.
Поскольку практически всегда приходится работать с несколькими разными файлами, например index.html style.css и какой-то js файл, то дополнительным удобством будет разделение окна с кодом на секторы. Варинтов несколько. Переходим в View – Layout и смотрим что тут у нас есть.

Соответственно Single – это вид без разделений как сейчас, Columns: 2, 3, 4 это разбивка по вертикали. Например нажав на Columns: 2 наш экран с кодом разделится пополам, и мы можем часть файлов переместить в пустую колонку, например CSS слева HTML и JS справа, что делает работу более наглядной и быстрой.

Так же у нас есть варианты поделить экран по горизонтали это Rows: 2 и Rows: 3, нажав например на Rows: 3 получим три горизонтальных окна и можно перекинуть JS файл в третье окно. И последний вариант это Grid: 4 который делит экран пополам как по горизонтали, так и по вертикали. В результате получаются четыре окна. Обрати внимание, что переключаться между режимами можно и с помощью горячих клавиш Alt+Shift+ соответствующая цифра.

Так что у тебя есть широкий выбор по вкусу. Я чаще всего использую одно разделение по вертикали.
Подсветки синтаксиса
Конечной настройкой внешнего вида будет настройка подсветки синтаксиса. Слово страшное, однако на деле все просто.
Подсветки синтаксиса – это особое окрашивание цветом того или иного елемента в коде. Например, в этой цветовой схеме в HTML файле краcным выделен тег, зеленым — название класса, белым — текст и так далее. Это делает восприятие кода намного понятнее. Обрати внимание на правый нижний угол окна программы, в зависимости от того как кой файл у нас сейчас активен, CSS HTML JS и так далее происходит переключение отображения кода этого конкретного файла.
Зачем же тут что-то делать если все и так отлично работает? Дело в том что в начальном пакете Sublime установлены пакеты подсветки синтаксиса далеко не для всех форматов.
Например, в дальнейшем я планирую работать с файлами SCSS, открыв его я увижу сплошную простыню из набора белых символов. Не очень удобно, правда?

Так вот, в таких случаях я дополнительно устанавливаю нужный пакет.
Открываем наш привычный Commаnd Palette перейдя Tools – Command Palette, либо нажимаем Ctrl+Shift+P набираем install, жмем Install Package Control и ищем дополнение SCSS. Нажимаем на него, после установки мы можем переключить наше отображение на SCSS. Сейчас все выглядит симпатичнее, не так ли?

Настройка внешнего вида редактора важна, так как мы довольно длительное время проводим за написанием кода. Это влияет на нашу усталость, продуктивность, здоровье да и просто на настроение.
Следующее, что мы сделаем это установим ряд плагинов и дополнений. Их существует огромное количество, а я расскажу про основные, которые активно использую сам и которые в разы ускорят весь процесс верстки. Приступим!
Плагины
AutoFileName
Дело в том, что в процессе верстки часто приходится подключать различные картинки. Этот плагин в разы облегчает процесс подключения. Установим его. Нажимаем Ctrl+Shift+P далее Install Package Control ищем AutoFileName устанавливаем. Попробуем подключить картинку сейчас. Сразу замечаем появление выпадающего меню со списком локальных файлов. Переходим в нужную папку с картинками и видим тут нужный нам файл, а также его размеры, что тоже пригодится.

BracketHighliter
BracketHighliter можно перевести как подсветка кавычек. Установим его. Нажимаем Ctrl+Shift+P, Install Package Control ищем BracketHighliter. Устанавливаем. Тут даже открывается отдельный файл с сообщением об успешной установке. Теперь в нашем коде будет подсвечиваться начальный и конечный элемент, например открывающий и закрывающий тег, начальная и конечная ковычка, открывающая и закрывающая скобка. Это очень помогает с ориентацией в коде.

ColorHighliter
Обрати внимание на этот код — это код цвета, но какого именно непонятно.

Давай установим плагин. Ctrl+Shift+P, Install Package Control ищем ColorHighliter. Опять открывается отдельный файл с сообщением об успешной установке. И сообщения о некой ошибке, игнорируем их. Смотрим на наш код с цветом, и теперь видим что за цвет скрывается за буквенноцифровым кодом. Сам плагин можно дополнительно настроить в меню Tools — ColorHighliter но сейчас не будем останавливаться на этом. Все и так стало намного лучше.

Великий и могучий Emmet
Устанавливаем по наработанной схеме. Ctrl+Shift+P, Install Package Control ищем Emmet. Открывается отдельный файл с сообщением с просьбой перезагрузить программу для окончания установки. Закрываем и открываем Sublime. Получаем сообщение, что все установлено.
Итак, что же умеет Emmet?
Перейдем в HTML файл и попробуем записать тег div с классом .block, для этого нам теперь достаточно поставить точку, написать «block» и нажать клавишу Tab. Мы получим:
Чтобы сделать более сложную запись, например в тег div с классом .block вставить тег span используем следующую запись:
.block>span
Жмем клавишу Tab и получаем:
Но и это еще не все, мы можем создавать свои сниппеты, то есть шаблоны/заготовки.
Для этого перейдем Preferences – Package Settings – Emmet – Settings User. Здесь запишем следующее:
< "snippets":< "html":< "snippets":< "bl":"Теперь для того чтобы вызвать запись:
нам достаточно написать bl и нажать клавишу Tab
Из этого следует, что возможности Emmet безграничны, и мы можем настроить свои сниппеты как угодно и работать очень быстро. Подробную информацию о возможностях плагина можно найти на сайте https://emmet.io
GotoCSSDeclaration
Плагин поможет нам с навигацией в коде. Устанавливаем ровно так же как и предыдущие плагины. Далее назначим горячие клавиши для работы с плагином для этого переходим Preferences – Key Bindings, и пишем следующий код
Где [«ctrl+1«] это и есть нужное сочетание клавиш. Сохраняем Cntr+S.
И вот как это работает. У нас должен быть открыт CSS и HTML файлы. CSS как правило очень большой и найти что-то быстро сложно, но это в прошлом. Например, нам нужно изменить CSS для класса content-mainpage кликаем на него мышкой и нажимаем ctrl+1. Вуаля, мы в нужном месте CSS файла.

Tag
Ну и для тех, кто дочитал до этого момента покажу еще один плагин, который установить не так просто, но он точно того стоит.
Зовут его Tag и установить нам придется его вручную. По этой ссылке можно скачать архив с плагином. Далее распаковываем в особую папку программы. Для Windows 10 это C:\Users\[Подставь свое имя пользователя]\AppData\Roaming\Sublime Text 3\Packages. Далее закрываем Sublime и открываем снова и добавляем горячие клавиши открыв Preferences – Key Bindings и дописав следующее:
Где ctrl+` это и есть наше сочетание клавиш.
Итак, для чего же мы проделали весь этот нелегкий путь? Как правило, в процессе написания, кода мы работаем сначала с HTML потом переносим названия классов в CSS и работаем уже там. Так вот этот перенос делать вручную давольно долго. И тут нам на помощь приходит плагин Tag. Сейчас нам достаточно выделить нужный HTML код, нажать наше сочетание клавиш ctrl+`

и потом вставить результат копирования в наш CSS ctrl+v.
О Python с Игорем Давыденко
Всякое разное о Python, раньше было про Django/Flask, сейчас больше про Fast Python и asyncio.
16 июля 2018 г.
Настройка Sublime Text 3 для Python разработки
Выбор редактора (среды для разработки), наверное, главное событие в жизни каждого разработчика. Я тоже поначалу не мог долго определиться какой редактор использовать, но потом, лет 8-9 назад установил Sublime Text и все — вопрос с редактором был закрыт раз и навсегда. Да, за эти года я иногда пробовал научиться работать в vim, но не смог, ну а на новомодные Atom, PyCharm или VS Code я вообще не смотрел. Поэтому я хотел бы рассказать про то, как я использую Sublime Text 3 и почему мне не нужен IDE в 2018 году.
Главная причина, почему мне не нужен IDE — это, конечно, база расширений для Саблайма, которая находится на packagecontrol.io и покрывает любой из языков, на которых я программирую. Так как блог о Python, то я расскажу только о расширениях для Python, но у меня также есть установленные плагины для JavaScript, flow, TypeScript, Elm и Rust.
В Python же все начинается с установки MagicPython от Юрия Селиванова, расширения, которое добавляет поддержку подсветки всех всех новомодных фич Python, и хоть авторы Sublime Text пытаются улучшать поддержку базового Python от релиза к релизу, нам это не нужно после установки и настройки MagicPython.
Дальше. Было бы неплохо иметь автодополнение для Python, да? Поэтому следующим делом, устанавливаем SublimeJEDI от Сережи Русских. Благодаря движку JEDI, который используется в IPython, к примеру, на выходе мы получаем автодополнение нашей мечты. Но для этого в настройках проекта нам нужно сделать две вещи,
- Задать путь к python_interpreter , в общем случае это «~/Projects//.venv/bin/python» , чтоб JEDI использовал все зависимости, установленные в проекте
- Настроить python_package_paths . Опять же в общем случае это [«~/Projects/»]
Все, теперь мы получили автодополнение к любому import стейтменту и много других фич, опять же благодаря движку JEDI.
Идем дальше. Линтинг. Тут нам нужны SublimeLinter-flake8 и SublimeLinter-contrib-mypy (а куда без type annotations в 2018 то году?). По дефолту, они будут пытаться использовать стандартный Python, установленный в системе, но так как в моем случае набор flake8 плагинов от проекта к проекту отличается, я задаю executable для этих линтеров в файле настройки проекта ( .sublime-project ) как,
- «SublimeLinter.linters.flake8.executable»: «~/Projects//.venv/bin/flake8» для настройки SublimeLinter-flake8
- «SublimeLinter.linters.mypy.executable»: «~/Projects//.venv/bin/mypy» для настройки SublimeLinter-contrib-mypy
Отдельно вы возможно захотите настроить сам SublimeLinter, но так или иначе про ошибки линтера мы узнаем куда быстрее и прямо в редакторе.
По большому счету с главными расширениями, которые превращают Sublime Text 3 в удобную среду разработки на Python мы закончили, но мне также хотелось бы упомянуть еще некоторые плагины, которые могут точно пригодиться,
- sublack — автоформатирование Python файлов при помощи black. Нужная вещь, когда вы работаете в команде и не хотите на код ревью тратить время о спорах насчет форматирования Python кода.
- editorconfig-sublimetext — также в 2018 году не зачем спорить о табах vs пробелах или отступах. Единократно кладем .editorconfig в корень проекта, а дальше Sublime Text 3 автоматически применяет необходимые настройки форматирования для любых файлов.
- DocBlockr — упрощает работу с комментариями в коде. Конечно, этот плагин больше применим для JavaScript кода, но и для Python иногда бывает полезен.
- GitGutter — просмотр того, как изменился блок кода, прямо в Sublime Text. Очень нужная вещь, для разработчиков, которые не любят бессмысленный закомментированный старый код.
- Terminus — и хоть я постоянно держу открытым Terminal.app иногда бывает удобно открыть терминал прямо в соседней вкладке Sublime Text.
Ну и напоследок чуть о внешнем виде. Все это время я использую схему подсветки кода Tomorrow-Night, так что очень был рад, когда настроил Boxy Theme для внешнего вида Sublime Text, используя это же цветовое решение. В итоге, мой Sublime Text выглядит следующим образом,

А вот шаблон настроек, который я использую для своих проектов,
< "folders": [ < "file_exclude_patterns": [ ".install*", "*.lock", "*-lock.json" ], "folder_exclude_patterns": [ ".*cache", "node_modules" ], "path": "/Users/playpauseandstop/Projects/" > ], "settings": < "python_interpreter": "/Users/playpauseandstop/Projects//.venv/bin/python", "python_package_paths": [ "/Users/playpauseandstop/Projects/" ], "SublimeLinter.linters.flake8.executable": "/Users/playpauseandstop/Projects//.venv/bin/flake8", "SublimeLinter.linters.mypy.executable": "/Users/playpauseandstop/Projects//.venv/bin/mypy" > >
Вот и получается, что Sublime Text 3 с таким набором расширений — это прекрасный редактор для программирования на Python.
Настройка Sublime Text 3 для Python разработки
Выбор редактора (среды для разработки), наверное, главное событие в жизни каждого разработчика. Я тоже поначалу не мог долго определиться какой редактор использовать, но потом, лет 8-9 назад установил Sublime Text и все — вопрос с редактором был закрыт раз и навсегда. Да, за эти года я иногда пробовал научиться работать в vim, но не смог, ну а на новомодные Atom, PyCharm или VS Code я вообще не смотрел. Поэтому я хотел бы рассказать про то, как я использую Sublime Text 3 и почему мне не нужен IDE в 2018 году.
Главная причина, почему мне не нужен IDE — это, конечно, база расширений для Саблайма, которая находится на packagecontrol.io и покрывает любой из языков, на которых я программирую. Так как блог о Python, то я расскажу только о расширениях для Python, но у меня также есть установленные плагины для JavaScript, flow, TypeScript, Elm и Rust.
В Python же все начинается с установки MagicPython от Юрия Селиванова, расширения, которое добавляет поддержку подсветки всех всех новомодных фич Python, и хоть авторы Sublime Text пытаются улучшать поддержку базового Python от релиза к релизу, нам это не нужно после установки и настройки MagicPython.
Дальше. Было бы неплохо иметь автодополнение для Python, да? Поэтому следующим делом, устанавливаем SublimeJEDI от Сережи Русских. Благодаря движку JEDI, который используется в IPython, к примеру, на выходе мы получаем автодополнение нашей мечты. Но для этого в настройках проекта нам нужно сделать две вещи,
- Задать путь к python_interpreter , в общем случае это «~/Projects//.venv/bin/python» , чтоб JEDI использовал все зависимости, установленные в проекте
- Настроить python_package_paths . Опять же в общем случае это [«~/Projects/»]
Все, теперь мы получили автодополнение к любому import стейтменту и много других фич, опять же благодаря движку JEDI.
Идем дальше. Линтинг. Тут нам нужны SublimeLinter-flake8 и SublimeLinter-contrib-mypy (а куда без type annotations в 2018 то году?). По дефолту, они будут пытаться использовать стандартный Python, установленный в системе, но так как в моем случае набор flake8 плагинов от проекта к проекту отличается, я задаю executable для этих линтеров в файле настройки проекта ( .sublime-project ) как,
- «SublimeLinter.linters.flake8.executable»: «~/Projects//.venv/bin/flake8» для настройки SublimeLinter-flake8
- «SublimeLinter.linters.mypy.executable»: «~/Projects//.venv/bin/mypy» для настройки SublimeLinter-contrib-mypy
Отдельно вы возможно захотите настроить сам SublimeLinter, но так или иначе про ошибки линтера мы узнаем куда быстрее и прямо в редакторе.
По большому счету с главными расширениями, которые превращают Sublime Text 3 в удобную среду разработки на Python мы закончили, но мне также хотелось бы упомянуть еще некоторые плагины, которые могут точно пригодиться,
- sublack — автоформатирование Python файлов при помощи black. Нужная вещь, когда вы работаете в команде и не хотите на код ревью тратить время о спорах насчет форматирования Python кода.
- editorconfig-sublimetext — также в 2018 году не зачем спорить о табах vs пробелах или отступах. Единократно кладем .editorconfig в корень проекта, а дальше Sublime Text 3 автоматически применяет необходимые настройки форматирования для любых файлов.
- DocBlockr — упрощает работу с комментариями в коде. Конечно, этот плагин больше применим для JavaScript кода, но и для Python иногда бывает полезен.
- GitGutter — просмотр того, как изменился блок кода, прямо в Sublime Text. Очень нужная вещь, для разработчиков, которые не любят бессмысленный закомментированный старый код.
- Terminus — и хоть я постоянно держу открытым Terminal.app иногда бывает удобно открыть терминал прямо в соседней вкладке Sublime Text.
Ну и напоследок чуть о внешнем виде. Все это время я использую схему подсветки кода Tomorrow-Night, так что очень был рад, когда настроил Boxy Theme для внешнего вида Sublime Text, используя это же цветовое решение. В итоге, мой Sublime Text выглядит следующим образом,

А вот шаблон настроек, который я использую для своих проектов,
< "folders": [ < "file_exclude_patterns": [ ".install*", "*.lock", "*-lock.json" ], "folder_exclude_patterns": [ ".*cache", "node_modules" ], "path": "/Users/playpauseandstop/Projects/" > ], "settings": < "python_interpreter": "/Users/playpauseandstop/Projects//.venv/bin/python", "python_package_paths": [ "/Users/playpauseandstop/Projects/" ], "SublimeLinter.linters.flake8.executable": "/Users/playpauseandstop/Projects//.venv/bin/flake8", "SublimeLinter.linters.mypy.executable": "/Users/playpauseandstop/Projects//.venv/bin/mypy" > >
Вот и получается, что Sublime Text 3 с таким набором расширений — это прекрасный редактор для программирования на Python.
Sublime Text как Golang IDE
Внимание: я переехал на ST4, этот гайд обновляться больше не будет.
Необходимо установить менеджер пакетов с https://packagecontrol.io!
Соглашения гайда
Данные элементы являются “соглашением по-умолчанию”, если не обговорено иное:
- Все пакеты устанавливаются с помощью Package Control: жмем CTRL+SHIFT+P ( CMD+SHIFT+P на macOS), ищем Package control: Install Package (работает автокомплит), жмем Enter . Спустя несколько секунд откроется меню со списком доступных для установки плагинов. Начните вводить название плагина из заголовка для сортировки списка. Установка осуществляется нажатием на Enter.
- Практически у всех пакетов есть клавиатурные сокращения, если они не являются плагином к плагину. Для просмотра оных перейдите в Preferences → Package Settings → ИМЯ ПЛАГИНА → Key Bindings .
Перед всеми делами
Sublime Text подгружает переменные окружения через параметр –login (или -l ) шелла. Поведение шеллов может отличаться из-за этой переменной, поэтому при необходимости сделайте:
- Симлинк ~/.zshrc → ~/.zprofile для ZSH.
Конфигурация самого Sublime Text
Я предпочитаю следующую конфигурацию:
"always_prompt_for_file_reload": false, "always_show_minimap_viewport": true, "animation_enabled": false, "auto_complete_commit_on_tab": true, "auto_complete_cycle": true, "auto_complete_with_fields": true, "block_caret": false, "bold_folder_labels": true, "color_scheme": "Packages/One Half Color Schemes/OneHalfLight.tmTheme", "draw_minimap_border": true, "ensure_newline_at_eof_on_save": true, "font_face": "Go Mono", "font_options": [ ], "font_size": 8, "highlight_line": true, "ignored_packages": [ "Vintage" ], "lsp_format_on_save": true, "match_brackets_angle": true, "shift_tab_unindent": true, "show_encoding": true, "theme": "Default.sublime-theme", "trim_trailing_white_space_on_save": true, "word_wrap": true >
- always_prompt_for_file_reload должен быть в false , чтобы тот же gofumports не заставлял перезагружать файлы, которые открыты в редакторе и были им исправлены.
- lsp_format_on_save — единственный параметр LSP, который находится в главном конфиге.
Обязательное
LSP
Этот плагин реализует Language Server Protocol и позволяет использовать gopls, который уже давно и прочно поселился в VSCode и стал, практически, стандартным средством линтинга исходников на Go.
Для работы этого плагина необходим установленный gopls где-то в PATH. В противном случае можно будет дописать полный путь до него в конфигурации (см. ниже).
Конфигурация
Перейдите в Preferences → Package settings → LSP → Settings и скопируйте туда следующее:
"show_diagnostics_count_in_view_status": true, "show_diagnostics_in_view_status": true, "show_code_actions_bulb": true, "show_symbol_action_links": true, "show_references_in_quick_panel": true, "clients": "gopls": "command": ["/data/projects/go/bin/gopls"], "settings": "gopls": "codelens": "gc_details": true >, "gofumpt": true, "usePlaceholders": true, "completeUnimported": true > > > > >
- В command впишите полный путь до бинарника gopls, если он не находится у вас в PATH. Иначе удалите этот элемент совсем.
- В settings передается конфигурация для gopls. Структура полностью аналогична той, которую вы вводите в VSCode, а полный список возможных параметров можно посмотреть тут.
Конфигурация клавиатурных сокращений настраивается в Preferences → Package settings → LSP → Key Bindings :
В этом примере используются следующие сокращения:
- CTRL+SHIFT+F12 — перейти к имплементации (или показать список доступных имплементаций).
- CTRL+ALT+SHIFT+F12 — перейти к определению типа.
- F12 — перейти к определению символа (перезаписывает поведение Sublime Text на более контекстное).
Помощь по возможным сокращениям, как обычно, приведена в левой части окна.
SublimeLinter
Этот плагин на самом деле является неким “метаплагином”, ибо у него есть свои плагины, которые реализуют интерфейс общения с линтерами.
Установка линтеров
Нам необходимо установить два линтера:
- SublimeLinter-golangcilint — плагин, реализующий работу с golangci-lint.
- SublimeLinter-gofumports — плагин, реализующий работу с gofumports.
В настоящее время плагин для работы с golangci-lint ожидает мержа PR от меня для более удобной конфигурации, поэтому устанавливать рекомендую из моего форка: https://github.com/pztrn/SublimeLinter-golangcilint.
Плагин для работы с gofumports пока не добавлен в Package Control, поэтому его необходимо установить вручную из https://github.com/pztrn/SublimeLinter-gofumports. Также по-умолчанию линтеру передается флаг -w , который в автоматическом режиме исправляет проблемы с импортом.
Оба плагина устанавливаются следующим образом:
- Архивируете корень репозитория в zip (можно даже скачать весь репозиторий в zip и не архивировать локально).
- Переименовываете файлик в ИМЯ_ЛИНТЕРА.sublime-package, например SublimeLinter-golangcilint.sublime-package.
- Копируете получившийся архив в директорию Installed Packages. Получить к ней доступ можно через Preferences → Browse packages…, перейдя на уровень выше.
Конфигурирование линтеров
Идем в Preferences → Package Settings → SublimeLinter → Settings и вставляем:
"lint_mode": "load_save", "linters": "golangcilint": "executable": "/data/projects/go/bin/golangci-lint", "args": "--fast -c $/.golangci.yaml" >, "gofumports": "executable": "/data/projects/go/bin/gofumports" > > >
- В linters в обоих случаях нужно или удалить executable , если бинарники линтеров находятся в PATH, или же указать правильные пути.
- У линтера golangci-lint в этом примере используется файл конфигурации из корня открытой директории. Почините путь при необходимости.
- Текущее поведение — линтинг при открытии и сохранении. Изменить можно с помощью указания другого значения в поле lint_mode , справку по которому можно получить в левой части окна редактирования настроек.
Gomod
Это подсветка синтаксиса для файлов go.mod и go.sum .
Дополнительные полезности
Дополнительно можно поставить еще следующие плагины:
| Плагин | Установка | Описание |
|---|---|---|
| Ansible | Package Control | Подсветка синтаксиса для Ansible. Внимание: выставлять файлам тип для подсветки, возможно, придется вручную! |
| Bracket Highlighter | Package Control | Подсветка скобок текущего участка кода. |
| Dockerfile Syntax Highlighting | Package Control | Подсветка синтаксиса для Dockerfile. |
| GitGutter | Package Control | Крайне удобное дополнение, показывающее текущее состояние измененности кода в столбце с номерами строк. Также можно включить инлайн-отображение последнего человека, который изменил строку. |
| MarkdownLivePreview | Package Control | Лайв превью (в отдельном окне) редактируемого Markdown файла. |
| SideBar Enchancements | Package Control | Много годных дополнений для сайдбара — возможность нормально создавать, удалять, переименовывать, переимещать файлы и директории, открывать в браузерах и многое другое. |
Wanna discuss? Write me a mail!
© pztrn’s Wiki. Все права защищены. При использовании материалов с этого сайта действующая обратная ссылка обязательна.
