LoginSignup
8

More than 1 year has 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

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
What you can do with signing up
8