Clojureはインタラクティブな言語であり、コード評価(接続されたREPLを介して)と構造編集(コードフォームをテキストではなくデータとして操作すること)をサポートするエディターを使用することで、最高のClojureエクスペリエンスが得られます。幸いなことに、これらの機能やその他のプログラマーにとって便利な機能を提供する優れたClojureエディターがたくさんあります。
Emacsは、現在も活発に使用されている最も古いエディターの1つです。独自のLispの方言で拡張可能なプラットフォームとして、実行したいことのほとんどすべてに対してオプションが存在します。ご想像のとおり、優れた拡張性とは、このツールをお好みに合わせて構成すること自体が仕事になる可能性があり、Emacsは一部の人にとってエディターというよりもライフスタイルです。とはいえ、Clojure開発者向けのフレンドリーな出発点があり、Emacsエコシステムを吸収する速度を選択できます。
注意すべき主なEmacsモードは次のとおりです。
clojure-mode:Clojure(Script)のフォントロック(構文の強調表示)、インデント、ナビゲーション、およびリファクタリングのサポートを提供するEmacsのメジャーモード
CIDER:EmacsにClojureでのインタラクティブプログラミングのサポートを拡張します。これは、clojure-modeを補完してインタラクティブなサポートを提供するEmacsのマイナーモードであるcider-modeを介して行われます。
inf-clojure - 人気のあるinferior-lispパッケージのアイデアに基づいて、Clojureサブプロセス(REPL)との基本的な対話を提供します。
開始するためのいくつかの場所
GNU Emacs - ダウンロードとインストール - GNU Emacsの公式ページ
SpacemacsのPracticalliガイド:Clojure向けのコミュニティ主導のEmacs構成 - clojure-modeとCIDERが含まれています
Prelude - Emacsの初心者向けのEmacs構成。Clojureに特化したものではありませんが、Clojureサポート(clojure-mode、CIDER)が含まれています
Aquamacs - AquamacsはMacネイティブユーザーを念頭に置いて設計されたEmacsであり、inf-clojureモードと組み合わせると、ミニマリストのClojure環境に十分です。
IntelliJ IDEAは、さまざまな言語とツールをサポートする最高の「モダン」IDEの1つです。IntelliJは、大規模なJavaコードベースに対して優れた探索性とリファクタリングを提供する静的解析プラットフォームを活用した、洗練されたJavaエディターとしてその名を馳せました。JVM開発向けのIntelliJ IDEA Community Editionは、無料ダウンロードとして入手できます。
IntelliJでClojure開発を有効にするために、2つの重要なプラグインが利用可能です
Cursive - フル機能のClojure開発環境
clojure-extras - clj-kondoを介したインライン評価結果やリンティングなどの機能を追加します
Cursiveは、すでにJavaに慣れているか、Clojure/Java混在プロジェクトで作業することを想定している場合に適しています。
Visual Studio Codeは、さまざまな言語で使用が急速に増加しており、Clojureも例外ではありません。
Vim(またはvi)も長い歴史を持つエディターであり、テキストを迅速かつ効率的に編集できることで知られています。これは、ベースとなったオリジナルのUnixビジュアルエディターであるviの事実上の代替となっています。
その独自で強力なUIは非常に人気があるため、上記の他のほとんどのエディターには、VimのコアUI機能を再現するviモードが含まれています。
NeovimはVimのフォークです。高い互換性を維持していますが、2つのエディター間にはいくつかの大きな違いがあります。
VimとNeovimはどちらも高度に拡張可能であり、豊富なプラグインが利用可能です。すべてではありませんが、ほとんどのプラグインは両方のエディターで動作します。
次のプラグインは、VimとNeovimの両方でClojureサポートを提供します
Fireplace - ClojureサポートとREPL統合
vim-iced - CIDERに触発されたもの
vim-slamhound - 名前空間の自動書き換え
次のプラグインは、NeovimのみにClojureサポートを提供します
Conjure - インタラクティブな開発に焦点を当てる
Clojureプラグインに加えて、s式を編集するためのVimを拡張することも価値があります。以下のプラグインは、VimとNeovimの両方で使用できます
vim-sexp - S式の精密編集
vim-sexp-mappings-for-regular-people - 一部のユーザーが好む可能性のある代替キーバインディング
vim-surround - 括弧、引用符、およびその他のトークンで式をラップするのを容易にします。
括弧の色を一致させる多数のプラグインもあります。
他の環境も存在しますが、アクティブ度が低く、使用頻度が低くなっています。その他のアイデアについては、ツールページを参照してください。
オリジナル作者:Alex Miller