Использование Clojure и leiningen с IDE
-
22-09-2019 - |
Вопрос
Я собираюсь переключить сборку своих проектов с Ant на Leiningen и хотел бы знать, существует ли Clojure IDE (intellij, eclipse, netbeans), для которой кнопки «сборка» и «отладка» по-прежнему будут работать?
Решение
Мне повезло с La Clojure и плагином Leiningen для IntelliJ IDEA.После создания нового проекта в командной строке с помощью lein new
, я создал новый проект в IntelliJ.Путь к сценарию конфигурации запуска должен указывать на файл core.clj, а в настройках модуля «Зависимости» необходимо включить каталог lib в качестве «Библиотеки модулей».
Плагин Leiningen предлагает обычные команды lein, поэтому вы можете собрать jar непосредственно из IDE (или из оболочки).Вы можете редактировать файл project.clj из IDEA, и, похоже, Run и Debug тоже работают.
Кстати, я тоже нашел этот скринкаст очень полезно для начала работы с La Clojure.
Другие советы
Я использовал плагин Eclipse и CounterClockwise с Leiningen, настроенным для доступа через Внешние инструменты.Как сказано в заголовке сообщения в блоге, это «Интеграция для бедняков», но она сработала для примера, который я пробовал.
Для отладки, подсветки синтаксиса и запуска Clojure в Eclipse попробуйте:
Загрузите против часовой стрелки для подсветки синтаксиса с помощью внешних инструментов, используя сайт обновлений.
Добавлять
[lein-eclipse "1.0.0"]
к вашим зависимостям в файле project.clj.Добавьте плагин вручную с помощью команды:
lein plugin install lein-eclipse "1.0.0"
.Этот шаг включен, потому что простое добавление зависимости не всегда работает.Запустите команду
lein eclipse
в папке проекта для создания файлов eclipse .project и .classpath.Этот шаг может занять некоторое время.Если он завис, запустите его еще раз.Должно быть написано «создано .project и .classpath».Перезапустите Затмение.
Перейти к | file -> import -> general -> существующие проекты в рабочей области | и выберите папку проекта.У вас должна быть возможность выбрать проект Clojure, отладить и запустить его.
Примечания:Похоже, что зависимости от разработки не добавляются в путь к классам проекта.Кроме того, вам необходимо изменить свое рабочее пространство на папку с проектом, чтобы оно не создавало вторую копию проекта и использовало реальные файлы.
Трудно сделать однозначный вывод, не просматривая последние версии каждого плагина IDE для Clojure, но как человек, который следит за Лейнингеном и общими разработками, связанными с IDE, я нигде не видел этой функциональности.Слова IDE, eclipse и netbeans также не упоминались в группе Google в Лейнингене, и я предполагаю, что если бы кто-то работал над этим, он бы упомянул об этом там.
Однако Leiningen действительно легко использовать из командной строки, так что не бойтесь попробовать.Я конвертировал свои проекты в lein, используя ранее ant и maven.Отслеживание зависимостей действительно удобно, и каждую неделю появляются новые плагины, добавляющие новые полезные команды.Если вам действительно нужна интеграция с IDE, одним из простых способов сделать это может быть добавление какой-то специальной команды или кнопки, которая просто запускает lein в фоновом режиме.
Лучшая интеграция, которую я нашел, — это slim-clojure через лейн-суонк.
По сути, вы используете команду lein swank для запуска сервера swank с путем к классам, настроенным в Лейнингене.Затем вы подключаетесь к этому шикарному серверу с помощью M-x slime-connect, и у вас есть готовый ответ.Ну, если вы умеете работать с emacs ;)
Я использую Intellij IDEA + La Clojure.
- Бегать
lein pom
создатьpom.xml
файл для Maven. - Создайте новый проект в Intellij IDEA и выберите «Создать из проекта Maven».
Когда вы меняете зависимости с помощью Leiningen, обновите pom.xml
.