2013-08-09 3 views
2

Я провел много исследований по программированию clojure. Я хотел бы иметь чистую настройку, где я могу легко видеть и получать доступ ко всем моим проектам, быстро тестировать/модифицировать их в REPL и упаковывать их после их завершения, чтобы я мог вызывать их из командной строки.Хороший Clojure настроен на Mac

Через несколько рекомендаций у меня в настоящее время запутанный мош CCW в Eclipse, Leiningen, maven и SublimeREPL. Опытные клиурианцы, особенно пользователи Mac, какие инструменты вы используете?

Я был бы особенно благодарен за поэтапный учет работы над проектом, например, как у вас установлены ваши окна и как быстро загружать файлы в REPL.

В соответствующей заметке, когда я ударяю ошибку при использовании REPL в eclipse, я должен закрыть ее и перезапустить ее каждый раз. Если я попытаюсь продолжить, все, что я получаю, это «необработанное исключение REPL».

ответ

4

Для разработки Clojure на Mac я использую превосходный «кураторский опыт Emacs» Сэма Аарона, Emacs-live. Это набор настроек для emacs, которые были объединены в первую очередь, чтобы превратить emacs в инструмент живой музыки (с Overtone, библиотекой Clojure для создания музыки). Однако, как побочный эффект этого, он выглядит красиво и поставляется с аккуратной конфигурацией Clojure. Я использую его для всех моих разработок Clojure на Mac.

Чтобы получить и работает с Clojure Emacs-Live:

  1. Установите последнюю версию Emacs. Вы можете получить бинарные файлы Mac по адресу http://emacsformacosx.com/
  2. Установите emacs-live. Самый простой способ, чтобы запустить «brogrammer» сценарий установки

    bash <(curl -fksSL https://raw.github.com/overtone/emacs-live/master/installer/install-emacs-live.sh) 
    

    Вы также можете выполнить установку вручную, следуя инструкциям на GitHub репо https://github.com/overtone/emacs-live

  3. Установка Leiningen. Похоже, у вас это уже есть. Если нет, просто сделайте brew install leiningen (у вас есть доморощенный право? Если нет, вы можете следовать инструкциям на leiningen repo https://github.com/technomancy/leiningen).

Теперь для реальных вопросов ....

  1. Как легко увидеть и получить доступ ко всем из моих проектов? Emacs построил в закладках - я просто заклаю корневой каталог каждого проекта, чтобы я мог быстро перейти к нему. Чтобы добавить в закладки файл или папку, воспользуйтесь командой C-x r m, и для просмотра списка закладок используйте C-x r l. Вы можете просматривать каталоги в emacs с помощью текстового браузера каталога (так называемый dired), который доступен по команде ключа C-x d.

  2. Как быстро проверить/изменить мои проекты в REPL? Emacs-live содержит nrepl.el. Это означает, что из любого исходного файла clojure вы можете вызвать команду M-x nrepl-jack-in. Это даст вам ответ, который вы можете использовать для тестирования вашей программы. Любой файл .clj, загруженный в emacs, поместит вас в режим clojure.Некоторые полезные команды в Clojure-режиме, являются:

    • C-c M-n (из исходного файла) переключателя пространства имен РЕПЛ к пространству имен источника тока файла
    • C-c C-k оценить текущий буфер (файл)
    • C-x C-e оценки последнего S-выражение
    • M-. переход к определению
    • M-, прыжок назад
  3. Как настроить мои окна? Обычно у меня горизонтальный сплит (C-x 2), с заменой в нижнем окне и исходным файлом, с которым я сейчас работаю в верхнем окне. Я переключаюсь между файлами с открытым исходным кодом в верхнем окне, используя C-x b (буфер переключения). Работает на меня.

  4. Как упаковать их после их завершения? Используйте lein uberjar из командной строки (M-x eshell), чтобы упаковать проект и его зависимости.

Примечание: Я использовал стандартную сокращенную запись для выражения сочетания клавиш в Emacs выше. Это немного архаично, но на Mac, как стандарт, C отображается на управляющий ключ, а M отображается на Alt-ключ.

+0

Спасибо за ответ, это была именно та деталь, которую я искал! – Phylth

2

Моя личная установка:

  • Lein (устанавливается с помощью Homebrew)
  • VIM (Вим-Clojure, Powerline, ВИМ-беглец плагинов)

То есть, легко и просто! И я работал в Clojure профессионально в течение одного года.

Но вы также можете взглянуть на: LightTable и NightCode. Оба выглядят интересными подходами к разработке Clojure.

+0

Согласовано - LightTable обладает огромным потенциалом. Я особенно с нетерпением жду бета-версии, которая откроет ее для пользовательских плагинов. –

Смежные вопросы