(macOSの)VSCodeでiOSのSwiftを補完してほしい

はじめましての人ははじめまして。そうでないひとはお久しぶりです。猫ロキ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 とは

Applesourcekit-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