risou's Lithograph

Atom エディタ雑感

2014-07-06

GitHub が開発したエディタ Atom 。
使い始めて、かれこれ4ヶ月が過ぎた。

使うといっても、一日中使っているときもあれば、他のエディタで作業することもあったり、使用頻度はまちまちではある。そういう立ち位置の Atom に対して自分が今思っていることを整理してみようと思った。

僕は今のところ、パッケージを作ったりはしていない。 1ユーザとして使ってきて思ったことなどを備忘を兼ねてまとめる。 自分がこの時点でどう思っているかをつらつらと書くだけなので、ユーザやこれから使おうという人の役に立つ内容ではないと思う。

便利だと思うこと

git フレンドリー

やはり、 GitHub が開発しただけあって、 git プロジェクトを上手く扱ってくれる。 たとえば、ディレクトリ内のファイルをツリー表示すると、 そのディレクトリが git のリポジトリであった場合、 ファイル名を色分けしてくれる。

  • オレンジ : git の管理対象で変更のある(staged/unstaged)ファイル
  • グリーン : git の管理対象になっていない(untracked)ファイル
  • グレイ : .gitignore の対象となるファイル
  • 通常 : その他のファイル

それぞれ、 HEAD を基準としている。 つまり、それまで untracked だったファイルを git add して staged にしても、コミットを行うまではグリーンである。

また、 file finder でファイルを探す際、 .gitignore の対象となるファイルは候補に出てこない。 .git 内のファイル等が候補に出てこないのは、普段は便利である(もちろん、その対象となっているファイルを開きたい場合には面倒だが)。

GitHub との連携

その git プロジェクトのリモートリポジトリが GitHub 上にあったなら、さらに多くの機能を提供してくれる。 /GitHub 上の File/Blame/History ページをブラウザで開いてくれるショートカットがあったりする。 ブラウザがアクティブになってしまうので、この機能を便利と思うかどうかは別として、 こうい連携を進めていった先に、「Atom 上で issue を書く機能」とかでてくると、 それはとっても便利なのではないかと思う。

その点でいえば、 GitHub に限った話ではないが git add とか git commit とかが Atom 上でできると便利そうだなーと思っている。

Markdown Preview

Atom には Markdown Preview 機能がある。 .md ファイル上でそのコマンドを実行すれば、ウィンドウが2つのペインに分割され、 片方にプレビューが表示される。 僕が使い始めた頃は、 .md ファイルを保存したらプレビューに反映されていたが、 いつからかリアルタイムでプレビューに反映してくれるようになった。

このプレビュー、 GitHub Flavored Markdown として扱ってくれるので、 チェックボックスや絵文字が、GitHub 上と同様に使うことができる。

  • ☐ タスク

:+1:

困ったこと/困っていること

少し重い

僕が PC を使っていて一番メモリを食うのはブラウザなんだけれど、 Atom はそれと同じくらいメモリを食う。 ベースが Chromium なので Chrome と同じように複数の Helper プロセスができてしまうし、 それぞれがそこそこメモリを食うので、気がついたらメモリが逼迫していることもある。

もちろん、十分なスペックのマシンがあれば良いだけの話で、 それはお金さえかければ普通に手に入るものなのだけれど、 たとえば会社から支給されている PC だったりすると話はそう簡単ではない。

とはいえ、開発をする上で差し障るほどではないので、時折メモリ使用量に注意しながら使っている。

意図せず dev tool が起動する

これは不具合なのかどうかわかっていないけれど、 長い時間起動させっぱなしにして使っていると、 あるときを境に、いくつかのショートカットコマンドが dev tool の起動に割り当てられているかのように振舞い始める。 たとえば Command+S などがこうなると、ファイルを保存することもままならなくなる。 Atom を再起動すればこの問題は解消される。

原因がわかっていないのでどう対処したら良いか不明なまま使っているが、 最近この挙動に遭遇しなくなったので、実は既に直っているのかもしれない。

補完リストが出た状態で一部のキーが認識されなくなる

たとえば、 p って入力したときに補完リストがでてくる( print とか pack とか)。 このとき、次の文字を入力したら、それが反映されて補完リストが絞りこまれる。

この動作は補完機能によくあるものだと思う。 が、先の例でいえば、 p を入力したあと補完リストがでてくるまでは良いのだが、 そこから2文字目が入力できなくなる。 改行は入力できたり、補完リストからマウスカーソルで選択することはできるのだが、 必ず止まってしまうのは不便だ。

この問題がいつから起きているのか、そして自分の環境以外でも起きるのかはわからない。 自分の環境では設定で Use React Editor をオンにするとこの現象が起きることがわかっている (そのため、今はこのチェックをオフにしている)。

実のところ、そもそも Use React Editor がどういう効果を持つチェックボックスなのかわかっていない。 試しにチェックを入れてみたところ、上に書いたような問題が起きたわけだ。

.md ファイルを扱っているとき、たまに左右方向にスクロールが発生する

この記事も Atom で書いているが、今もリアルタイムで起きている。 そもそも、普通にコードを書いている分には、一行が伸びると右端で勝手に折り返してくれる。 したがって、左右方向にスクロールすることは基本的にない。

これまでの経験から、もしかしたら日本語を使っていることが原因かもしれない、と思っている(未検証)。 なんにせよ、この現象が起きると、カーソルが見えなくなったり漢字への変換が正しく行えているかわからなくなるので困る。 特に Markdown を書く場合は、 Markdown Preview がウィンドウを縦分割するので、1つのペインの横幅が狭くなることもあって、 この問題は意外と発生しやすい。

ちなみに、 Markdown を書いているときにこの問題が起きたら、改行して - と入力するようにしている。 Markdown Preview を開いていなくても、上記入力をリストとして評価するためか表示が左端まで戻ってくれる。

この数行を書くために試してみた感じではやはり日本語(非ASCII文字?)の問題っぽいので解消されると嬉しい。

Atom にたいしての印象

エディタとして最低限欲しいものはある

コードを書く上で、重大な機能不足はないと思う。 とはいえ、これまで自分にあわせて設定してきたエディタと比較すれば、手の届かないことは色々とある。 それらが、プラグインの充実などによってどの程度解消されるかはわからない。 (実際のところ、 Atom のユーザってどれくらいいるのかもわかっていない) Vim や Emacs のようにこれからプラグインが増えていけば、より使いやすいものになるだろう。

このエディタに注目している人は少なからずいる。 彼らと同じように、今しばらくはこのエディタと付き合っていこうと思う。

2014-07-06 21:46:41.338729 JST