В этом посте показано, как настроить Ensime с Sublime Text . В частности, мы используем Sublime 3, чтобы продемонстрировать этот процесс установки. Поэтому, чтобы следовать, мы должны убедиться, что у нас уже установлена Sublime 3.
Среди прочего, мы собираемся использовать следующие инструменты:
Настройка Ensime-Sublime
Чтобы начать установку, мы сначала клонируем Ensime-sublime , плагин Sublime для взаимодействия с Ensime следующим образом.
$ cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages
$ git clone https://github.com/ensime/ensime-sublime.git Ensime
$ git checkout ST3
Обратите внимание, что, поскольку мы используем Sublime 3, мы должны оформить ST3
ветку github
хранилища. Мы называем этот каталог как $ENSIME_SUBLIME
:
$ export ENSIME_SUBLIME="/Users/adilakhter/Library/Application Support/Sublime Text 3/Packages/Ensime"
Альтернатива такого подхода является клонировать его в любом каталоге , а затем, создать символическую ссылку следующим образом :
$ ln -s ensime-sublime ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/Ensime
Настройка ensime-sbt
Затем мы устанавливаем ensime-sbt , плагин SBT. Его можно настроить на уровне проекта (добавив его project\plugins.sbt
) или на глобальном уровне, как указано далее.
$ cd ~/.sbt/0.13/plugins
$ echo "addSbtPlugin("org.ensime" % "ensime-sbt" % "0.1.7")" >> plugins.sbt
Запуск Ensime Server
Для этого мы должны убедиться, что coreutils
он уже установлен. Если не установлено, мы можем использовать brew для его установки:
$ brew install coreutils
Чтобы сгенерировать связанную с Ensime конфигурацию для проекта SBT, мы вызываем следующую команду в этом корне проекта:
$ sbt gen-ensime
Он генерирует все соответствующие настройки (см. Сгенерированные .ensime
), необходимые для взаимодействия с сервером Ensime из Sublime. Наконец, мы можем начать ensime-server
следующим образом:
$ $ENSIME_SUBLIME/serverStart.sh .ensime
...
13:02:15.536 DEBUG None o.e.i.SearchService - committing index to disk...
13:02:15.536 DEBUG None o.e.i.SearchService - ...done committing index
13:02:15.539 DEBUG akka://ENSIME/user/project o.e.c.Project - indexed 0 and removed 0
13:02:16.489 DEBUG akka://ENSIME/user/project/analyzer o.e.c.Analyzer - received handled message FullTypeCheckCompleteEvent in state loading
13:02:16.490 DEBUG akka://ENSIME/user/project/analyzer o.e.c.Analyzer - Analyzer ready in 0.012 seconds.
Настройка Sublime
Последний шаг этой настройки — настроить Sublime editor для нашего проекта. Для этого сначала нужно изменить связанную с Ensime конфигурацию, которую мы можем найти, перейдя по ней, обновив Sublime Text > Preferences > Package Settings > Ensime > Settings - User
ее следующим образом и перезапустив Sublime:
{
"connect_to_external_server": true,
"external_server_port_file": "[project-root]/.ensime_cache/port"
}
Обратите внимание, что в будущих версиях Ensime-sublime plugins, external_server_port_file
вероятно, не потребуется (см. Обсуждение в этом запросе). Однако на момент написания, это действительно было необходимо.
Если мы до сих пор следовали, мы закончили с настройкой Ensime с Sublime. Далее мы начинаем разработку с Sublime.
Начало разработки с Sublime
Чтобы начать разработку с Sublime, мы открываем корневой каталог проекта, для которого мы запустили сервер (см. Раздел «Запуск Ensime Server»), и вызываем Ensime:Startup
в Sublime Command Palette
(то есть cmd+shift+p
).
После этого мы также можем построить проект с помощью Ensime:Build
команды, которая приводит к запуску соответствующей sbt
команды для компиляции проекта. Что касается функций, среди прочего, ensime-sublime поддерживает дополнения синтаксиса (как показано далее), переход к определению и т. Д.
Эти функции также доступны из контекстного меню, как показано ниже.
На сегодня все! Если у вас есть какие-либо замечания или предложения, пожалуйста, напишите. Я с нетерпением жду ваших отзывов.