Статьи

Настройка Ensime с Sublime в OS X: разработка Scala с Sublime

В этом посте показано, как настроить Ensime с Sublime Text . В частности, мы используем Sublime 3, чтобы продемонстрировать этот процесс установки. Поэтому, чтобы следовать, мы должны убедиться, что у нас уже установлена ​​Sublime 3.

Среди прочего, мы собираемся использовать следующие инструменты:

  • доморощенного
  • Гит
  • SBT
  • Настройка 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 поддерживает дополнения синтаксиса (как показано далее), переход к определению и т. Д.

    завершение синтаксиса

    Эти функции также доступны из контекстного меню, как показано ниже.
    Название изображения

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