先日Twitterで「Lapce」というエディタが少し話題に上っていた。VSCodeっぽいUIになっており、Rust製で高速らしい。 試しに軽く使ってみたので使用感をメモ。
公式サイトはここ: https://lapce.dev/
インストール
現時点ではLinux、Windows、MacOSに対応している。Windows向けには.msi
が配布されていた。 ぽちぽちやっていけば入る。
UI
レイアウトはかなりVSCodeに近い。VSCodeに慣れていれば基本的な部分に迷うことはなさそう。
公式で銘打っている通り高速。普通に使っていて待ち時間を感じることはほぼない。
VSCodeに比べると、カーソルを上に乗せたときのホバーエフェクトとかそういうインタラクションが欲しいなーと思う場所がいくつかあった。例えば拡張機能リストの項目とか、設定画面の設定項目とか、カーソルを乗せても特に色が変わったり枠線が付いたりしないUIがちょこちょこある。慣れかもしれないが、今どきのPCアプリとしてはやっぱりそういうのが欲しくなる。
あと一部動作が不安定。具体例を挙げると最小化すると一発で落ちる。UIフレームワークも一緒に開発しているらしいので、この辺は今後の成熟に期待としか言いようがない。
かつてはDruidを利用していたが、諸事情あってFloemというUIライブラリを自分たちで作ってそちらに切り替えたらしい。
テキストエディタ部分
なんか動作が変だなと思ったらデフォルトでvimの動作だった。Aで挿入モードになってEscでノーマルモードに戻る。よく見たら公式HPにもちゃんと書いてあった。どうやら設定から一般的なテキストエディタの動作にすることもできるのでvimmerでない人も一安心。
動作はおおむね快適だが、なんと日本語が入力できない。表示もバグがある。これは日本語圏ユーザーにとってはだいぶ大きな問題になる。 英語しか入力しない前提で使うなら良いかもしれないが、日本語を入力するつもりがあるならこの一点だけでちょっとまだ使えないと思う。
拡張機能・言語対応
新興のエディタなのでさすがにVSCodeほど多くの便利拡張機能は揃っていないが、メジャーどころの言語用拡張は結構揃っている印象。かなり感心した。
- Rust
- C/C++
- HTML
- CSS/SCSS
- TS/JS
- vue
- Svelte
- Angular
- C#
- Go
- Python
- Dart
- Java
- PHP
- Zig
- Swift
- Julia
今ある言語用拡張はこのあたり。
ちょっとした問題点としては、補完とかのための設定は結構手動でやる必要がある。typescriptならtypescript-language-serverとか、C++ならclangdとかを別途インストールしてパスを設定するなどする必要がある。これはVSCodeの拡張機能の手軽さに比べるとちょっと面倒かもしれない。自分はいろいろ勝手に検出してくれる環境に甘やかされて育った人間なのでやや苦労した。色々とオープンという意味ではこっちの方が気に入る人もいるかも。
あとはワークスペースごとの環境設定とかが出来ると嬉しいのだが、そういうのは見当たらない。単に見つけてないだけだったら恥ずかしい。
サードパーティの拡張機能が今後増えていくどうかは謎。Wasmにコンパイルできる言語なら何でも使えるというのを売り文句にしているが、開発チュートリアルみたいなのが現状あまり整備されてないので敷居は高いのではと思う。
その他
- キーバインドは好きに設定できる。
- ターミナルのシェルは好きに設定できるが、VSCodeのように複数の種類を設定してGUIで選ぶみたいなのは出来ない。
- Ctrl+Shift+Eでファイルエクスプローラを表示することが出来るが、フォーカスは移らないのが残念。
- GitはデフォルトでGUIに統合されているが、プッシュしたりコミット履歴を見ることはGUIでは出来ない。できるのはコミットすることのみ。
総合
UI周りがもうちょっとこなれるの待ちかなという感じがする。 VSCodeに求めているものの要所は押さえているし、速いのは実際速いし、言語サポートは割と十分と感じるし、日本語入力をまともにサポートしてくれれば割と乗り変えうると感じた。
「VSCode一強な状況はなんかなあ」という個人的な気持ち込みの感想ではある。有力な対抗馬になってくれ~~。