LoginSignup
5
3

More than 5 years have passed since last update.

figwheel を IntelliJ + Cursive で設定する

Posted at

figwheel は ClojureScript の開発がモダンになる Leiningen プラグインです。
様々なエディターから使えますが、今回は IntelliJ で設定してみます(といっても公式のチュートリアルをなぞるだけです)

IntelliJ と Cursive の準備

IntelliJ には無料で使用できるコミュニティーエディションがあり、Cursive には無料で6ヶ月使用できる個人ライセンス(更新可能)があります。

  • まず Cursive のサイトから Non-Commercial ライセンスを取得します。

スクリーンショット 2017-07-04 2.40.19.png

  • 必要事項を入力するとライセンスキーが記載されたメールが送られてきます。
  • IntelliJ の Plugin の設定から Cursive をダウンロードして IntelliJ を再起動します。
  • 再起動後、Cursiveがライセンスキーの入力を促す画面を表示するので、メールに記載されたライセンスキーを入力します

参考: https://cursive-ide.com/userguide/

Leiningen のインストール

  • 公式サイトからインストールする

    • Mac の場合は brew install leiningen でも可能
  • あとは lein new figwheel figwheel-test とすれば、自動でテンプレートを取得し figwheel が有効になったプロジェクトの雛形を生成してくれる

IntelliJ/Cursiveの設定

  • project.clj を以下の通り編集する
    • figwheel-sidecar を依存関係に加える
    • lein-figwheel をプラグインから削除する
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [org.clojure/clojurescript "1.9.671"]
                 [org.clojure/core.async  "0.3.443"
                  :exclusions [org.clojure/tools.reader]]
                 [figwheel-sidecar "0.5.10"]] ; <- この行を追加する



  :plugins [[lein-figwheel "0.5.10"] ; <- この行を削除する
            [lein-cljsbuild "1.1.5" :exclusions [[org.clojure/clojure]]]]
  • scripts/repl.clj ファイルを追加する
    • 以下のファイルを scripts ディレクトリ以下に配置する
(use 'figwheel-sidecar.repl-api)
(start-figwheel!) ;; <-- fetches configuration
(cljs-repl)
  • project.clj:source-pathscripts を追加する
:source-paths ["src" "scripts"]
  • IntelliJ で REPL の設定を行う
    • Run > Edit Configuration から Local REPL を設定する

スクリーンショット 2017-07-04 1.56.05.png

  • Local REPL を以下のように設定してOKをクリック

スクリーンショット 2017-07-04 1.57.31.png

REPL に接続する

  • 画面右上のスタートボタンから REPL を起動できます

スクリーンショット 2017-07-04 2.00.03.png

  • REPL上で (js/console.log "hello from console") などと打ち込んで実行すると、以下のように chrome のコンソールに反映されます。

スクリーンショット 2017-07-04 0.37.28.png

  • また、ソースコードを編集し保存した結果も、ブラウザ側に自動的に反映されます
    • 試しに core.clj(js/alert "hello") と追記し保存すると、以下のように自動的に反映されます

スクリーンショット 2017-07-04 0.27.56.png

以上で設定は完了です。

その他

figwheel は lein-cljsbuild という ClojureScript のビルドを自動化してくれるプラグインを同時に利用しています。
それに関しては以下の記事が参考になりました。

ClojureScript 開発時の project.clj を理解する

参考文献

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3