LoginSignup
10
9

More than 3 years have passed since last update.

Emacs で Julia の開発環境を整える

Last updated at Posted at 2021-02-27

Julia では REPL を使って実行結果を見ながらコードを書くケースが多いかと思います。
ログが残るように Jupyter Notebook を使ったり、エディタで .jl ファイルに書き込んだりすると思いますが、私の場合 Emacs をメインで使っているため、現状の私的最適な Emacs での Julia 開発環境をまとめます。

Language Server のインストール

補完や関数定義を参照するために Language Server のパッケージを追加します。

Julia REPL

$ julia

] をタイプして Package モードに移行し、LaunguageServer のパッケージを追加します。

(@v1.7) pkg> add LanguageServer

下記コマンドを実行して Language Server を起動できるようになります。

$ julia -e "using LanguageServer, LanguageServer.SymbolServer; runserver()"

Emacs で下記3つのパッケージをインストールする

  • eglot
    • Emacs で LSP を利用するためのクライアント

  • julia-mode
    • Julia のコードを書くときのマイナーモード

  • julia-repl
    • Emacs から Julia REPL を利用するためのパッケージ

下記設定を追加します。

init.el
;; αなどの文字幅が曖昧な文字を多用するため
(set-language-environment "UTF-8")

(require 'eglot)
(add-hook 'julia-mode-hook 'eglot-ensure)

(require 'julia-mode)
(require 'julia-repl)
(add-hook 'julia-mode-hook 'julia-repl-mode)
(add-to-list 'eglot-server-programs
             '(julia-mode . ("julia" "-e using LanguageServer, LanguageServer.SymbolServer; runserver()")))

上記環境でできること

カーソル位置の関数のドキュメントの参照できます。
スクリーンショット 2021-02-27 19.44.59.png

自作関数のドキュメントも同様に参照できます。
スクリーンショット 2021-02-27 19.50.35.png

Julia REPL でできる \alpha などの補完も効きます。
Kapture 2021-02-27 at 19.49.39.gif

カーソル行や選択範囲を C-c C-c で Julia REPL で実行できます。
Kapture 2021-02-27 at 19.54.20.gif

10
9
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
10
9