はじめましての人ははじめまして。そうでないひとはお久しぶりです。猫ロキP(@deflis/id:deflis55)です。
Web開発の界隈の人がiOS開発をやろうとすると、VisualStudioCodeにSwift拡張機能を入れて開発したいと皆さん思いますよね?
ただ、これだけだとUIKitなどのiOS固有機能のクラス補完ができずほとんどの機能が使えなくなってしまいます。 かといって、XCodeを使って開発するのもなにか違う感じがするし、Copilotなどの色々便利なものをそのままVSCodeで使いたくなるのが人情ですよね?
ということで、VSCode + Swift拡張機能 を使って既存のiOSプロジェクトを補完する方法を探してみました。
TL;DR
xcode-build-server
をインストールして、 buildServer.json
を生成するとちゃんとLSP動くよ!
github.com
xcode-build-server とは
Appleの sourcekit-lsp
はデフォルトではXcodeのプロジェクトをサポートしないので、それをなんとかするやつらしいです。
使い方
普通にhomebrewでインストールできます。
$ brew install xcode-build-server
インストールしたらLSPを使いたいプロジェクトルートで以下のコマンドを実行します
# ワークスペースの場合 $ xcode-build-server config -workspace *.xcworkspace -scheme <XXX> # プロジェクトの場合 $ xcode-build-server config -project *.xcodeproj -scheme <XXX>
サブディレクトリにある場合は
$ xcode-build-server config -workspace subdir/WorkSpace.xcworkspace -scheme <XXX>
のようにすればOKです。
これで buildServer.json
が生成されてVSCodeのLSP補完が動くようになります。VSCode使いが大喜びするやつです。
参考文献
以下のブログを参考にしました。 blog.ottijp.com