2013-08-09 2 views
2

나는 clojure 프로그래밍에 대한 많은 연구를 해왔다. 나는 모든 프로젝트를 쉽게보고 액세스 할 수있는 깨끗한 설정을 원하고 REPL에서 신속하게 테스트/수정하고 완료되면 패키지화하여 명령 줄에서 호출 할 수 있도록하고 싶습니다.Mac에서 좋은 Clojure 설정

여러 권장 사항을 통해 현재 Eclipse, Leiningen, maven 및 SublimeREPL에 CCW라는 혼란스러운 모쉐가 있습니다. 숙련 된 Clojurians, 특히 Mac 사용자, 당신이 사용하는 도구는 무엇입니까?

Windows 설정 방법 및 파일을 REPL에 빠르게로드하는 방법과 같이 프로젝트 작업에 대한 단계별 계정을 특히 감사하게 생각합니다.

관련 메모에서 REPL을 Eclipse에서 사용하는 동안 오류가 발생할 때마다 항상 닫고 다시 시작해야합니다. 계속하려고하면 처리되지 않은 REPL 예외가 발생합니다.

답변

4

Mac에서 Clojure를 개발할 때는 Sam Aaron의 뛰어난 "curated emacs experience", Emacs-live를 사용합니다. 주로 이맥스를 라이브 음악 연주 도구 (음악 제작을위한 Clojure 라이브러리 인 Overtone과 함께 사용)로 바꾸기 위해 함께 사용 된 이맥스에 대한 사용자 정의 모음입니다. 그러나 이것의 부작용으로 아름답게 보이고 깔끔한 Clojure 구성이 제공됩니다. Mac에서 모든 Clojure 개발 작업에이 도구를 사용합니다.

일어나서 Clojure의 이맥스 - 라이브 실행하려면

  1. 최신 이맥스를 설치합니다. Mac 바이너리는 http://emacsformacosx.com/
  2. emacs-live를 설치하십시오. 가장 쉬운 방법은 또한 GitHub의의 REPO https://github.com/overtone/emacs-live

  3. leiningen 설치의 지침에 따라 수동 설치를 할 수

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

    은 "brogrammer"설치 스크립트를 실행하는 것입니다. 이미 가지고있는 것 같습니다. 그렇지 않다면 brew install leiningen (집에 익숙해 졌습니까? 그렇지 않은 경우, leiningen repo https://github.com/technomancy/leiningen의 안내를 따르십시오). 당신의 진짜 질문 이제

....

  1. 어떻게 쉽게보고 내 모든 프로젝트에 액세스합니까? Emacs는 북마크에 내장되어 있습니다. 각 프로젝트의 루트 디렉토리에 책갈피를 달아서 빨리 이동할 수 있습니다. 파일 또는 폴더를 북마크하려면 키 명령 C-x r m을 사용하고 북마크 목록을 보려면 C-x r l을 사용하십시오. 텍스트 기반의 디렉토리 브라우저 (dired)를 사용하여 이맥스의 디렉토리를 둘러 볼 수 있습니다.이 브라우저는 키 명령어 C-x d으로 접근 할 수 있습니다.

  2. REPL에서 프로젝트를 신속하게 테스트/수정하려면 어떻게해야합니까? Emacs-live에는 nrepl.el이 포함되어 있습니다. 즉, 모든 클로저 소스 파일에서 M-x nrepl-jack-in 명령을 호출 할 수 있습니다. 그러면 프로그램을 테스트하는 데 사용할 수있는 repl가 제공됩니다. emacs에로드 된 .clj 파일은 모두 사용자를 clojure-mode로 전환시킵니다.Clojure의 모드의 일부 유용한 명령은 다음과 같습니다

  3. C-c C-k
  4. C-x C-e 마지막의 표현을 평가 (파일) 현재의 버퍼를 평가하는 현재 소스 파일의 네임 스페이스에 REPL의 스위치 네임 스페이스 (소스 파일)
    • C-c M-n 정의
    • M-, 다시 점프
  5. -는
  6. M-. 점프
  7. 내 창은 어떻게 설정합니까? 저는 보통 수평 분할 (C-x 2)을 가지고 있습니다. 하단 창에는 repl이 있고 현재 상단 창에는 원본 파일이 있습니다. C-x b (스위치 버퍼)을 사용하여 상단 창에서 오픈 소스 파일간에 전환합니다. 나를 위해 일합니다.

  8. 완료되면 어떻게 패키지합니까? 명령 줄 (M-x eshell)에서 lein uberjar을 사용하여 프로젝트와 그 종속성을 패키지화하십시오.

참고 : 나는 위의 이맥스에서 키보드 단축키를 표현하기위한 표준 속기를 사용했습니다. 다소 고풍이지만 Mac에서는 표준으로 C이 컨트롤 키에 매핑되고 M은 alt 키에 매핑됩니다.

+0

응답 해 주셔서 감사합니다. 이것은 정확하게 내가 찾고있는 세부 사항이었습니다! – Phylth

2

내 개인 설정은 다음과 같습니다

  • Lein이 쉽고 간단하다는

을 (브루 통해 설치)

  • VIM (빔-Clojure의, 전력선, VIM-도망자 플러그인)! 저는 Clojure에서 1 년 동안 전문적으로 일했습니다.

    그러나 LightTableNightCode을보고 싶을 수도 있습니다. 두 가지 모두 Clojure 개발에 대한 흥미로운 접근법을 보여줍니다.

  • +0

    동의 - LightTable에는 최고의 가능성이 있습니다. 특히 사용자 플러그인까지 열리는 베타 버전을 기대합니다. –