これがないと捗らない、僕が使ってるAtomパッケージ(late2017)
Atomのカスタマイズはパッケージだけじゃないんだけど、とりあえずパッケージ入れないことには始まらないってことで、2017年の棚卸し的に列挙しておこうと思う。
僕の場合、Ruby(Rails)とJavaScript,HTML,CSSを書くことが多いのでそのへんに特化してるカスタマイズになってるはず。使用パッケージが結構多くてそれぞれのパッケージ間でキーマップがバッティングしてたり、スタイルの競合がおこってたりするのでstylesheetとkeymapで弄ってたり、configで特別な設定してたりするけど、それはそれで別の記事に書く。
- [これがないと捗らない、僕が使ってるAtomパッケージ(late 2017)](/atom-packages-late-2017)
- [これがないと捗らない、僕がカスタムしてるAtom設定(late 2017)](/atom-customize-late-2017)
- [これがないと捗らない、僕のAquaSKKカスタマイズ(late 2017)](/aqua-skk-customize-late-2017)
- [これがないと捗らない、僕のErgoDoxファームウェア設定(late 2017)](/ergodox-customize-late-2017)
- [これがないと捗らない、僕のKarabiner-elementsカスタマイズ(late 2017)](/karabiner-customize-late-2017)
テーマ
UIテーマ
atom-material-ui
いろいろ設定できるし見やすいので。
ちなみに設定だけだと各種パッケージと上手く行かなかったりするので
ゴリゴリにStylesheet弄ってる。そこについては後日書きます。
シンタックステーマ
gruvbox-plus-syntax
ビビッドな発色も少なく丁度いい感じ。
すごい好きなんだけど、ややメジャーではないらしくエディタのテーマとか選べるツールとかにgruvboxテーマがないのが残念。
共通
選択系、変換、入力補助
Sublime-Style-Column-Selection
SublimeText的な矩形選択(見たままの四角の範囲を選択可能)。
change-case
選択した単語のキャメルケース、スネークケースとかを相互に変換。ケバブケースもドット記法なども幅広く対応しててうれしい。
editorconfig
コーディングフォーマット統一のためのeditorconfigをAtomで対応するためのパッケージ。
expand-region
選択範囲を文字、単語、クォートや括弧で囲んだ要素、と順々に大きくできる。
highlight-column
キャレットのある列をハイライト。
highlight-line
キャレットのある行をハイライト。
highlight-selected
選択してるものと同じものをハイライト。
line-jumper
設定した行数文だけキャレットを一気に移動する。僕はEmacsのページ送り的な送り用途として使用している。
lines
選択した複数行をA-Z順にソート
toggle-quotes
シングルクォートとダブルクォートのトグル変換。configで設定すれば例えばバッククォートも対応できたりする。
toggler
Booleanのような二元的要素をトグル変換。専用のconfigを設定すれば、自分で対応を文字列を増やせる。
trailing-semicolon
行末にセミコロンとカンマをつける。キーバインドで設定すると捗る。
trailing-spaces
行末のスペースを目立たせる。
sequential-number
複数行にわたって連番生成連番の文字列を生成。
show-ideographic-space
全角スペースを目立たせる。わかりやすくStylesheetでカスタムした設定すると良い感じ。
symbols-tree-view
メソッド定義などの一覧をドロワーにツリー型で表示。
tabs-to-spaces
インデントのタブorスペースをトグル変換。ファイル保存時にファイル全体に対して自動実行も可能。
todo-show
プロジェクト内に存在するTODOやNOTEなどのコメントを抽出して表示。
multi-cursor-plus
デフォルトより高機能なマルチカーソル。キーバインドがバッティングしやすいので僕はゴリゴリにkeymapを編集してる。
pigments
カラーコードになってる部分をその色で表示。CSSとか書くなら。StylusやSassの変数も対応してるので重宝する。
regex-railroad-diagram
正規表現をビジュアルで表示してくれる。
autocomplete-paths
path入力のAutocompleteアドオン、でもたまに邪魔なときがある気がする。
ファイル、タブ、ペイン操作系
atom-fuzzy-grep
プロジェクト内をag的なfuzzyGrepしてファイル表示。
split-diff
Paneで分割してDiff表示、見やすい。しかも保存してない状態でもDiffとれるので、長大な文字列とか大きめなオブジェクトを一時的に比較するときも重宝する。
advanced-open-file
ディレクトリ毎に絞り込みでファイルを開ける、フルキーボードで階層ごとに掘っていく場合に便利。
douglas
CLI用リポジトリ管理ツールghqのローカル管理下にあるプロジェクトのショートカット、全てのプロジェクトがGit管理されていればプロジェクトマネージャーはこれだけで十分だと思う。
expose
開いてるタブをmacのexpose的に表示、切り替えできるやつ。
hey-pane
複数paneで分割してる時にアクティブなペインを自動的にほぼ最大化する。フォーカスしたペインに自動的に適用したりもできる。
tree-view-filter
tree-viewで表示しているファイルをインクリメンタルに絞り込む。
tree-view-git-status
tree-view上でGit-statusによる色分け表示する。追加ファイルや変更したファイルとかが視覚的にわかりやすいし、未コミットのファイルもみつけやすい。
zentabs
最大タブ数の設定制御。設定数を越えると古いタブから自動的に閉じていれ変わる挙動になる。設定でピン止めしたファイルや、未コミットファイル除外したりもできる。たくさんファイル開きすぎてわかんなくなっちゃうので。
auto-encoding
エンコーディングの自動判別。
convert-to-utf8
マルチバイトのファイルをutf-8に変換。
Linter系
linter
Linter機能。各言語用は後述。ないと死ぬ。
各言語用のLintは後述。
linter-ui-default
Linter表示用。たぶんLinter入れると入ってくるはず。
MiniMap系
minimap
画面端にコード全体をざっと単純化して見わたせるようなやつを表示。他のパッケージで拡張可能。
minimap-autohider
ミニマップをスクロールしてないとき以外は自動的に非表示。
minimap-find-and-replace
ミニマップ内で検索文字列を全てハイライト。
minimap-highlight-selected
ミニマップ内で選択した文字を全てハイライト。
minimap-pigments
ミニマップ内でカラーコード部分をカラー表示。
HyperClick系
hyperclick
コード中のいろんな要素がクリッカブルになる、キーバインドにも対応してるので対象の文字列にキャレットがあるときにキー操作でも動作できる。**-hyperclick
系のアドオンとかで拡張可能。言語特化のアドオンは、後述の言語別のところで。
hyperlink-hyperclick
URLをクリッカブルにしてデフォルトブラウザで開けるようになる。
汎用フォーマッタ
aligner
オブジェクトの定義とか、連続して変数に値を入れるとき、=
や:
をセパレータとして左右のインデントが揃うようにしてくれるフォーマッタ。言語別のものもある。
atom-beautify
ネストした要素のインデントをうまいこと整形してくれるフォーマッタ。JSONとかも良い感じにやってくれたり。けっこういろいろ対応してる。
その他
sync-settings
GitHubGist経由でAtomの設定を複数端末で同期する、アンインストールしたパッケージも同期できるようになって凄く便利になった、ないと死ぬ。
atom-notes
notational-velocityライクなノートシステムをAtomに組み込み、メモ系の集積ができてそれがカスタマイズした強力な補完機能のAtomで編集できるのは強み。ないと死ぬ。
atomic-chrome
同名のchrome-extensionをGoogle Chrome系のブラウザに入れることで、ブラウザで開いてるページのtextareaを同期的にAtomで編集できるようになる。例えばPull RequestなどMarkdown対応のテキストエリアをAtomで編集できるのはかなり便利。ないと死ぬ。
platformio-ide-terminal
Atom内でターミナルを動作させる。
tablr
CSVエディタ。
preview
プリプロセッサ言語から元言語へコンパイル後の表示。
auto-update-packages
パッケージにアップデートがあったら自動でアップデートする。ちょいちょい自分で確認しなくていいので楽。
busy-signal
ステータスバーに状況表示アイコンをプラス。確かLinterと一緒に入ってくるはず。
custom-title
Atomのウィンドウに表示されるタイトルのルールを変更できるようになる。上手く好きなようにファイル名の表示とかにカスタマイズすると地味に便利。
file-icons
ツリービューやタブにファイルのアイコンを表示して視認性を上げる。わりとないと死ぬ。現在もアップデートが盛んでちょいちょい対応アイコン増えてるのがうれしい。
file-types
自動で判別されるファイルタイプのルールをカスタマイズを楽にする。
goto-definition
メソッドの定義元にジャンプできるようになる。
各言語とか用途とか別
Git
gist
GitHubのGistを編集したりアップロードしたり、挿入したり。Gist系はいくつかあったけどこれが一番使いやすかった。
git-blame
行ごとにGitで変更した人を表示する。
git-plus
よく使うGit操作をAtomから直でできる、Atomのコマンド補完が効くので便利、基本的なgit操作はこれだけでいける。わりとないと死ぬ。
merge-conflicts
Gitでmergeしようとしてコンフリクトしたときの編集サポート。コンフリクトの解消はGitKrakenでやってるけど、一応入れてる。
Markdown
markdown-preview-enhanced
デフォルトのMarkdownプレビューより高機能なプレビュー、TOCやプレゼンモードもあったりする。目次機能もあったり、いろいろと便利。
document-outline
右ドロワーに編集中のMarkdownの目次をページ内リンク付きで表示。
markdown-table-editor
Markdownのテーブル記法編集補助、うまいこと縦のカラム表示を整えてくれる。
markdown-writer
Markdownの全般的な入力補助。とりあえず入れてる。
toggle-markdown-task
Markdownのチェックボックス記法のチェック状態のトグル変換。そんなに使わないけどいちいちキャレットを移動するのが面倒なので。
tidy-markdown
Markdownのテーブル記法の整形や番号付きリスト記法の番号振りなおしなど、フォーマッタ。
language-markdown
デフォルトのものより高機能なハイライタ。
linter-textlint
特に日本語に強い自然言語用のLinter、textlintをAtomで使えるように。Markdown以外でも効く。
JSON
atom-json-color
JSONファイルを階層によってカラーリングを変えて視認性を上げる。
pretty-json
JSONファイルの整形フォーマッタ。
linter-jsonlint
JSON用のLinterアドオン。
Ruby
language-haml
haml用の言語ファイル。
language-slim
Slim用の言語ファイル。
language-rspec
Rspec(Rubyのテストフレームワーク)用の言語ファイル。
language-rabl
Rabl(Ruby用のJSONやxmlに特化したテンプレートサポートGem)用の言語ファイル。
linter-rubocop
Rubocop用のLinterアドオン。
linter-erb
erb用のLinterアドオン。
linter-haml
haml用のLinterアドオン。
linter-slim
slim用のLinterアドオン。
autocomplete-ruby
Ruby用のAutocompleteアドオン。
rubocop-auto-correct
Rubocopルールに従って自動修正。
rufo-atom
Ruby用フォーマッタのrufoをAtomから実行、まだsave時に自動でやってくれたりはしないもよう。JSのprettierな感じになってくれるとうれしいな。
Rails用
autocomplete-rails-partial
Railsのパーシャビュー名のための用Autocompleteアドオン。
rails-db-scheme
schema.rbを参照して自動補完や定義元にジャンプ。
rails-open-rspec
現在開いてるファイルに対応したRspecのファイルを開く。
rspec
Atom上でRspecをrun。
ruby-block
do``if``begen
とend
などの対になるブロック要素をハイライト。
rails-i18n-plus
Railsのi18n用のAutocompleteとHyperClickアドオンのセット。
rails-snippets
Rails用のスニペット集。
rails-transporter
Model,View,Controllerなど対応するファイル同士を素早く開けるようにする。
JavaScript系(Node.jsやメタ言語、フレームワーク含む)
atom-typescript
TypeScriptの言語ファイルか補完や便利機能まで、IDE的サポート。
language-vue
Vue.js用の言語ファイル。
linter-eslint
JavaScript用のLintパッケージであるEslintのAtom-lintアドオン、prettierと連携もできる、ないと死ぬ。
linter-coffeelint
CoffeeScript用のLinterアドオン。
prettier-atom
JSのフォーマッタprettierをAtomから実行、save時に自動実行できる、ないと死ぬ。
aligner-javascript
JavaScript用のalignerアドオン。
js-hyperclick
JavaScript用のHyperClickアドオン。
vue-hyperclick
vue.js用HyperClickアドオン。
vue2-autocomplete
Vue.js用Autocompleteアドオン。
gulp-snippets
gulp用のスニペット集。
jquery-snippets
jQuery用のスニペット集。
HTML系(メタ言語含む)
個人的にはPug(Jade)しか書きたくないけど、どうしても使わざるを得ないので他も少々。
language-jade
HTMLプリプロセッサJade用の言語ファイル。
language-pug
JadeはPugになりました。
linter-htmlhint
HTML用Linterアドオン。
linter-pug
Pug用Linterアドオン。
tag
HTMLの閉じタグのショートカットと補完。Pugで書けばいらないんだけどね。
emmet
html,css(プリプロセッサ含む)の強力なスニペット集。
indent-tooltip
Jade(pug)やStylus,Sassのインデントベース記法の環境で現在のキャレットの位置がどの要素のネスト中なのかツールチップで表示。
CSS系(メタ言語含む)
個人的にはStylusしか書きたくないけど、どうしても使わざるを得ないので他も少々。
Stylus
Stylus用の言語ファイルとスニペット集。
linter-stylelint
CSS用のLinterアドオン。
linter-scss-lint
SCSS(SASS含む)のLinterアドオン。
linter-stylint
Stylus用のLinterアドオン。
autocomplete-css-with-stylus-support
Stylus用のAutocompleteアドオン。
PUML
UMLをテキストから表現したもの。細かいレイアウトは難しいもののテキストならGit管理もできるし素早くかけるので覚えてよかった。
language-plantuml
PlantUMLの言語ファイル
plantuml-viewer
PlantUML用のUML図ビューア