Helixは11月にアップデートする予定だった12月に延期になった
12月のアップデートまで待とうかなと思ったが、特に待つ理由もそこまでなかったので2022/12/05現在に投稿することにした
Helix22.12が正式にリリースされた
はじめに
ロゴがやっとできた
ロゴのデザインは紆余曲折あり、途中でVSCodeやMetaのロゴに似ている問題が出たりしていろいろ試行錯誤していた
若干Visual StdioとVScodeの色の感じが残っているが、個人的には二重螺旋のシンプルなデザインで良いと思っている
あとはたくさんの細かい点が修正された
全体的にユーティリティが向上しており、Helix自体の使い勝手の良さが全体的に上がったという感じ
特徴的なアップデート
個人的なピックアップなので全体を見たいときにはchange logを見ること
- Git diff gutter
恐らく今回の一番の目玉になる機能
左のガターに(git)diffが表示されるようになった
だいぶ実装するのに苦労していたみたい
windowsでgitの改行がcrlf
だと全部変更マークがついてしまうバグがあるので注意
修正された
-
テーマ系
地味にたくさんあってびっくりした-
Support underline styles and colors
アンダーラインの色と種類を変更できるようになった
割とすごくいい機能だが、種類はターミナル?に依存してしまうので波線とかを表示できない問題もある
エラーとかの過剰だった表示を線だけで表示させられるので良いが、上記の問題で今試行錯誤している
-
Inheritance for themes
既存のテーマを継承して部分的に色などを変更できるようになる
既存のテーマはたくさんあるが、色が微妙に違ったりメンテナンスされていなかったりする
これにより、いちいち全てを編集せずに自分の環境でカスタマイズできる
onedark_transparent.tomlinherits = "onedark" "ui.background" = { bg = "" } # ポップアップも透過するとテーマの統一性が上がる
こんな感じで背景を透過した
onedark
のテーマを簡単に作れるこれを
/runtime/themes/
に配置するだけ -
cursorcolumn
vimのcursorcolmと同じで列に背景を出すことができる
色はcursorlineと同じ色で,テーマにこの設定が無ければ表示されない
実際base16_transparentでは背景を設定すると配色がごちゃごちゃになるので設定していない
-
ui.gutter.selected
カーソルがある行のガターを強調表示できる
これも地味に視認性にかかわる部分
-
Popup scrollbar
右側の白いバーのところ
ポップアップはCtrl+d(u)でスクロールすることができた
そのポップアップにスクロールバーが追加されたのでどこまで見えるかを視覚的に確認できるようになった
地味にありがたいbase16_transparentではバーの色(白)とその背景(透明)だが,バーの背景が見にくければ灰色とか別の色するとよりわかりやすくなるかもしれない
これもテーマによるので透明だったらメンテナンスされていないことになる
-
-
:lsp-restart
便利機能の一つ
今までlspがクラッシュしたら再度Helixを起動し直す必要があった
だが、これがあるおかげで起動し直す手間が省けるようになった
どこかにキーバインドしたい
- make_search_word_bounded
Helixでは正規表現を使って選択状態から特定の文字列にカーソルを追加することができる
なので選択し検索が編集する上で重要になるのだが、それに追加の単語の境界をつけることができる
まだ、試しきれていない
-
statusline element
-
Add a statusline element to show number of selected chars
選択した文字数を表示
今までなかったことに気づかなかった
-
Add a statusline element showing global LSP diagnostic warning and error counts
ファイルとワークスペースのエラー・ワーニングを別々で表示できる
個人的には嬉しい機能だが、どっちがどっちだかわかりにくいのが難点
-
などなどいろいろと目白押し
言語の追加やLSPの追加、テーマの追加など様々ある
他にもクラッシュの原因の修正や、あいまい検索のソートなど地味にうれしい修正がいくつもある
徐々に徐々に手に馴染むエディタになってきた
今後の個人的に注目しているPR
-
エラーメッセージ
左寄席になるので見やすくなりそう
欲を言えばエラー箇所との距離が近い箇所にポップアップしてくれればうれしい -
統合ターミナル
GUIがないから個人的にはそこまで必要ではない
ただあればやっぱりコマンド系を上手く統合できそう
出力結果などを綺麗に表示したりできそう -
ビューベースリファクタリング
地味に便利そうな機能
マルチカーソルがやりやすくなると編集が捗るので、これはよさげ
ただ、だいぶ先にはなりそう -
Pop-upのアウトライン
LSPのポップアップなどにアウトラインを追加できる
地味だけどだいぶ見やすくなる気がする
こういうカスタマイズ性があるのはいろんな人にとって利点になる
実際ハイコントラストのテーマを作ったときにアウトラインが欲しいと要望があったのでマージされたらアップデートしたい
エラーメッセージにもアウトラインが欲しいところ -
ジャンプモード
vimのeasymotionやhopとかの機能
helixはf, F, t, Tが見つかるまで検索される
これにより拡張されて視覚化されれば使い勝手が向上すると思う
個人的には既に入れており、使っているが特にそこまで問題が発生していないので良いと思う
日本語とかだとダメみたい -
補完
単語を環境構築なしで補完できる
個人的に欲しい機能に挙げてる
環境があればいらないので最近はそこまで重要度が高くない
ぱっと出した時には必要なので欲しい -
カスタムコマンドのラベル付け
カスタムコマンドに対してラベルを付けられる
複数コマンドをキーバインドしたときに[Multiple commands]
と表示されていた
それに対してラベルを付けられる
Issueを作っていたので割と欲しかった機能 -
ファイルエクスプローラー
defxやNERDTreeとかの機能
複数のディレクトリまたがって編集しているときとかこういうのがあると目視で場所が把握できるので良い
ただ、Helixにはfzfがあるのでそこまで必要性がない気もする -
括弧の色付け
tree-sitterを利用した対応する括弧の色付け
VSCodeで標準になってから使っていた機能で個人的には欲しい機能
括弧を誤って消した時とか違う色になって深さが変わったのを目視で判断しやすくなる -
インラインヒント
型情報などLSPで推論された内容を表示する機能
私が欲しいなあと思っていた機能の一つかなりいい感じ
-
センタリング
ウィンドウを真ん中に配置する
ウィンドウは必ず左側に寄せて表示される
この左側に表示されているのを右に寄せたりとかできなかったのが中央に表示できるようになる
これと今の表示されている情報をいくつかそぎ取れば,いわゆるZennモードになる
-
デバッグモード
デバッグも一応Helixにはついており,実際に扱うことができる
これはそれを更に拡張して目視で変数の確認したりできるようになる
VSCodeのを参考に作られているので見た目が似ているので扱いが簡単そう
マージされた
-
マルチカーソル補完
マルチカーソルが強みなのに今は補完できないのが辛い
これが直ればより一層編集の幅が広がる -
ソフトラップとバーチャル文字
いままでエディタの右端まで文字が来ても,改行されず見切れるようになっていた
これのおかげでそれをソフトラップによる改行になるようになった
すごい勢いでみんながコメントやテストをしていてOSSの凄さを感じた
型などの表示ができるようになるらしい(まだない)
個人的には非常に欲しい機能の一つ
VScodeなどで型情報が出るのがRustを扱う上で役立つ
それがこれで解消されればVScodeの個人てきな利用回数が各段に減ると思う
終わりに
全体的にはユーティリティの向上になっている
使い勝手が少しづつ良くなっており、いつの間にかできなかったり不便だったところが修正されており良かった
テーマ系の拡張が地味にあったので、自分のテーマでもそれらに対応させないといけないなあと思った
気になっているPRがマージされれば、正直プラグインはいらないなあと思ってしまった
取り出せてすぐ使えるがこのHelixの強みなので、プラグインに依存せず基礎機能が充実すれば問題ないと思う
ただ、やっぱりあれば面白い機能ができるだろうから待ち遠しいところ