[わ]

ZedでもSwiftをかいてみた

おはようございます。waturaです。Zedというエディタしっていますか?

Zed — The editor for what’s next Zed is a high-performance, multiplayer code editor from the c zed.dev

ZedはAtomの開発者がつくっているエディタです。特徴を羅列すると

最後のコラボ機能については、Zedをつかっているコラボする相手がいないので、まったく未検証ですが、チャットが出来たり同時編集が出来たりするようです?

個人的にはショートカットの感じとか,検索画面とかの扱いとかがVSCodeより圧倒的にすきです。可能であればメインのエディタにしたいくらいです。サイドパネルでもctrl+kとかctrl+nみたいなコマンドが結構普通に使えるところとかスキです。
ただ、Extensionでごりごりなんでもできるぜ!なVS Codeにくらべるとそのあたりの充実具合は低いです。

Zed AI Agent

最近、Zed にも AI Agent機能ができたのでiOSアプリ開発をできるようにしたときの、設定ファイルをかいておきます。

なお,高度なXcode連携・ビルド管理とかではなく、横にXcodeを立ち上げてビルドとか実行はそっちでやるスタイルで開発をしています。

Zed — Agentic Editing Collaborate with agents at 120fps in a natively multiplayer I zed.dev

Zed はわりと早い段階からチャットによるAI機能は備わっていたのですが,独特なUIになっていて、あまりおすすめできるものではありませんでした。
それが、最近になってよくあるUIになってよくある操作感になって、Agent 機能もある状態でリリースされました。

Zeta

Agent以外としては、Zed では独自の学習をしたモデルを公開したりしています。これは,入力中の補完につかわれるモデルでZetaという名前だそうです。

Zed AI — Edit Prediction A tool that predicts your next move, and sometimes feels like zed.dev

まあ、よくあることなのですが、Swift関連の入力にはあまりつよくありません。わりと意味の分からない選択肢を提案してきたりしています。

Swiftでつかう

まずは、Swift Extensionをいれます。公式ではなくコミュニティによるサポートです。

(ちなみに、ZedはOSSです。細かいライセンスとか全部公開されているかまではみていません)

そして、設定をかいていきます。設定はjsonによる管理です。

このあたりの設定をかくとLSPが使えるようになってきます。Swiftformatはテキトウにインストールとかしてください。

これで、Mac向けのSwiftプログラムならかけるようになりました。

iOS向けのプログラムをかくためには、sourcekit-lsp側の設定が必要になります。

~/.sourcekit-lsp/config.json やルートに**.sourcekit-lsp/config.json**をつくります。

backgound…はいれてみた!っていうっだけの設定でとくに意味はありません。重要なのはtripleです。

VSCodeでiOSアプリ開発を行なう場合もtriple設定が必要で、これがあるとiOS向けにお仕事をしてくれるようになります。VSCodeの場合は、**“swift.swiftSDK”: “arm64-apple-ios”**です。

これだけの設定をいれるとおおむねいい感じにsourcekit-lspが使えて、エラーとかが可視化されるようになります。

そして、このsourcekit-lspの設定ファイルはsourcekit-lsp側の設定になるので、extension等でsourcekit-lspをつかえるエディタが相手であれば、同じように仕事をしてくれるはずです :thinking_face:

お値段

この前までは、ベータ版で無料だったんですがもう有料です。

$20/month

です。
 よくあるエディタと同じ値段なんですが、個人的にはまだちょっとそれだけ払うのはツライなぁという感じで使うのはやめてしまっています。
もうちょっと成長したら、乗り換えたいなぁって思っていたりもするんですが難しいところです。。。

#note