2018年お気に入り ATOM パッケージ

no extension

年末なので ATOM エディタの整理を。 といっても最近はあまりいじるところがないけど。

gocode を巡るあれこれ

本当のことを言うと Go 言語用の支援パッケージを LSP (Language Server Protocol) ベースにしたいんだけど,最近流行りの golspbingo を扱えるパッケージはなさそう。

以前からある go-langserver はバックエンドに gocode を利用しているのだが(今は違う?),本家の nsf/gocodeGo 1.10 以降で組み込まれたビルドキャッシュ機能に追従できず fork が乱立して混沌としている1

結局 ATOMGo 言語用の支援パッケージを利用するなら go-plus 一択で

  1. atom-ide-ui をインストール,またはインストール済みであることを確認する
  2. go-plus をインストールする。この際,サブパッケージおよび各種支援ツールが自動インストールされるのを確認する
  3. stamblerre/gocodego get コマンドで上書きインストールする2

という手順になるだろう。 golspbingo が使えれば将来的に楽なんだけどねぇ。

それ以前に 1.12 でモジュール対応モードに本格的に移行した場合に go-plus が追従できるかどうかなんだけど。 最悪の場合は Visual Studio Code に乗り換えるか(vim は若い頃のデスマーチなトラウマがフラッシュバックするので使いたくない)。

atom-ide-ui と連携する document-outline

今まで markdown テキストのアウトライン表示は nav-panel-plus を使ってたんだけど atom-ide-ui に対応していないのが欠点だった。 で,色々探してみたら document-outline が良さげである。 document-outline の設定で “show by default” 項目を無効にしておけば atom-ide-ui のアウトライン表示のタブだけが表示される。

document-outline は以下の構造化テキストに対応している

  • Markdown (Commonmark)
  • LaTeX
  • ReStructuredText
  • AsciiDoc
  • Knitr

らしいんだけど LaTeX ファイルのアウトラインが上手く表示されないんだよなぁ。 うーむ。

他にも ide-html で HTML を,ide-css で CSS を,ide-yaml で YAML を,ide-json で JSON を扱える。 これでメジャーな構造化テキストは大体扱えるかな3

ブックマーク


  1. gocode を巡るゴタゴタについては「gocode やめます(そして Language Server へ)」が参考になる。 ↩︎

  2. go-plus では mdempsky/gocode が自動インストールされるが, mdempsky/gocodeモジュール対応モードに対応していないらしいので stamblerre/gocode を手動でインストールする必要がある。実は ide-gogo-langserver を駆動させていたのだが ide-go 自体が go-plus を要求するので意味がなかったっぽい。 ↩︎

  3. 私は使わないが org-mode パッケージもあるらしい。 ↩︎