5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VS Code での Swift開発の環境を作る(Swift公式拡張機能やフォーマッターの話も)

5
Last updated at Posted at 2026-02-14

はじめに

Mac でとある仕組みを作ろうとしたのですが、その実現方法の 1つに「ちょっとした Swift のコードを書いてアプリを作る(そして、そのアプリの出力を別アプリで活用する)」というやり方がありそうでした。それを試す前準備を、今回は進めた形です。

開発する内容的には Xcode でガッツリ作る感じではなさそうだったため、VS Code でサクッと作ることができればと思いました。そのため、VS Code で Swift開発の環境を準備してみたというのが、今回の記事の内容です。

前提条件の補足

なお、自分が今回使う Mac は、Xcode でのちょっとしたアプリ開発や、Xcode Command Line Tools の導入などを過去にやっていた状態のものです。そのため、まっさらな環境からセットアップを進めた場合には、今回の内容とは必要になる手順に差異が出ると思われます。

手順など

Swift Package Manager で雛形を作る

まずは Swift Package Manager でプロジェクトの雛形を作ります。

当初、Swift のファイルを単体で作って進めようとしたのですが、この後の VS Code を使った開発で想定通りの挙動にならない部分がでてきました。どうやら「Package.swift」が見つからないことが原因だったようでした。

そこで、今回のお試しで使うフォルダを作成してから、Swift Package Manager で雛形を作りました。そのために実行したコマンドは、以下のとおりです。

mkdir fn-key-monitor
cd fn-key-monitor
swift package init --type executable

上記を実行した後のファイル・フォルダの構成は、以下のようになりました。

2026-02-14_19-33-29.jpg

作成された 2つのファイルは、それぞれ以下のとおりです。

Package.swift
// swift-tools-version: 6.2
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "fn-key-monitor",
    targets: [
        // Targets are the basic building blocks of a package, defining a module or a test suite.
        // Targets can depend on other targets in this package and products from dependencies.
        .executableTarget(
            name: "fn-key-monitor"
        ),
    ]
)
fn_key_monitor.swift
// The Swift Programming Language
// https://docs.swift.org/swift-book

@main
struct fn_key_monitor {
    static func main() {
        print("Hello, world!")
    }
}

公式の情報: 「Package.swift」が必要という話について

後から気がついたのですが、公式の情報で上記について明記されていました。

https://github.com/swiftlang/vscode-swift?tab=readme-ov-file#swift-for-visual-studio-code
2026-02-14_20-05-27.jpg

VS Code で Swift公式の拡張機能を追加する

VS Code で Swift公式の拡張機能を追加します。他にも拡張機能がありそうですが、今回は以下の公式のものを使います。

●Swift - Visual Studio Marketplace
 https://marketplace.visualstudio.com/items?itemName=swiftlang.swift-vscode

2026-02-14_20-13-44.jpg

●Configuring VS Code for Swift Development | Swift.org
 https://www.swift.org/documentation/articles/getting-started-with-vscode-swift.html

VS Code での フォーマッター利用関連

VS Code でフォーマッターを使おうとしたところ、当初は既に入っていた Prettier が呼び出されるような挙動でした(そして Swift の整形は対応していない、というメッセージが出る状態)。

この後、フォーマッターを使うための設定・確認をあれこれ試したのですが、いろいろ試した内容のどれが最終的に必須だったかが分からなくなってしまいました。

それについて、ここでは自分が試したことを一通り書いておくことにします。

swift-format に関する確認

Xcode をインストールしていたので、そこに同梱されている swift-format は使える状態のようでした。まずは念のため、それを確認しました。

swift-format はターミナルで実行できなかったものの(※ ターミナルで実行する場合 swift format で処理ができるようでしたが)、以下のコマンドにより利用可能な状態になっていることは確認できました。

xcrun --find swift-format

2026-02-14_19-42-14.jpg

Toolchain関連の設定

VS Code のコマンドパレットを使った以下の手順で、Toolchain関連の設定も行いました。

2026-02-14_18-55-24.jpg

2026-02-14_18-56-09.jpg

2026-02-14_18-56-30.jpg

上記で設定を進めた後、画面右下に以下のようなポップアップが出たので、拡張機能の再起動を行いました。

2026-02-14_18-56-43.jpg

settings.json の編集

当初、settings.json への手動での設定追記もやっていたのですが、最終的に不要そうだったので、ここでは不要そうだったというメモのみ記載します。

settings.json へ追記された内容

拡張機能のインストール・上記の手順を進めた中で、VS Code の settings.json には以下の設定が追加されたようでした。

settings.json
  "swift.path": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin",
  "swift.swiftEnvironmentVariables": {
    "DEVELOPER_DIR": "/Applications/Xcode.app/Contents/Developer",
  },
  "[swift]": {
    "editor.defaultFormatter": "swiftlang.swift-vscode",
  },

アプリのビルド

あとは、作られた雛形をビルドしてみます。

上記の手順を進めた後であれば、以下の赤矢印で示した部分でビルドを実行できます。

2026-02-14_20-20-31.jpg

その後、以下のように「Hello, World!」という出力が得られました。

2026-02-14_20-21-17.jpg

今回の環境準備の手順は以上です。

その他

VS Code用拡張機能を使う

Swift公式の VS Code用拡張機能でできることで、上の手順ではコマンドを使ってやっていた内容のメモです。

●swiftlang/vscode-swift: Visual Studio Code Extension for Swift
 https://github.com/swiftlang/vscode-swift

プロジェクトの雛形の作成

この記事の手順では、コマンドで作成していたプロジェクトの雛形を、拡張機能で作れるようです(上記の流れでは、先に雛形作成して、その後に VS Code への拡張機能を導入をしていたため、コマンドで作成していました)。

やり方は、コマンドパレットで「Swift: Create New Project...」を選んで、その後に出るいくつかの選択肢を選べば OK です。

2026-02-14_20-00-57.jpg

以下に、その流れが示されていました。

2026-02-14_20-08-18.jpg

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?