Skip to main content

Windsurf 開発環境セットアップガイド

概要

Windsurf のワークスペースは、コンパイル、リント、デバッグにおいてオープンソースのツール群のみを使用します。Microsoft のプロプライエタリな Visual Studio コンポーネントは再配布できないため、コミュニティがメンテナンスする言語サーバー、デバッガー、コンパイラを統合しています。 このガイドでは、次の 2 つのスタックを扱います:
  1. .NET / C# – .NET Core と .NET Framework(Mono 経由)の両方に対応
  2. C / C++ – clang ベースのツール群を使用
同一のワークスペース内で、いずれか一方または両方をインストールできます。
⚠️ 重要: 以下の例は、プロジェクトごとにカスタマイズが必要なテンプレートです。コードベースに合わせて、ファイルパス、プロジェクト名、ビルドコマンドを編集してください。

1. .NET / C# 開発

ご利用のコードベースに合った種類を選択してください。

.NET Core / .NET 6+

拡張機能:
  • C# (muhammad-sammy.csharp) – OmniSharp LSNetCoreDbg を同梱しており、すぐに F5 で実行できます
  • .NET Install Tool (ms-dotnettools.vscode-dotnet-runtime) – 不足しているランタイム/SDKを自動インストール
  • Solution Explorer (fernandoescolar.vscode-solution-explorer) – .NET のソリューションやプロジェクトのナビゲートと管理
デバッガ: 追加は不要です—この拡張には言語サーバーと、.NET Core に適したオープンソースのデバッガが含まれています。 ビルド: dotnet build

Mono を使用した .NET Framework

拡張機能:
  • Mono Debug (chrisatwindsurf.mono-debug) – Mono 用のデバッグアダプター(Open VSX
  • C# (muhammad-sammy.csharp) 言語機能用
デバッガー: ワークスペース内に Mono のツールチェーンも必ずインストールしてください。 Mono リポジトリのインストールガイドに従ってください。デバッガー拡張機能はデバッグ時にそのランタイムへ接続します。
⚠️ .NET Framework の構成: Mono をインストール後、.NET Framework プロジェクトで C# 拡張機能を使用するには、IDE の設定で特定の項目を切り替える必要があります。Settings(C# Extension セクション)に移動し、“Omnisharp: Use Modern Net” をオフにしてください。この設定は .NET 6 用の OmniSharp ビルドを使用し、SDK スタイルの Framework、.NET Core、.NET 5+ の各プロジェクトで大幅なパフォーマンス向上をもたらします。なお、このバージョンは Unity を含む非 SDK スタイルの .NET Framework プロジェクトをサポートしません。
ビルド: mcs Program.cs

プロジェクト用の tasks.json を設定する

ワークスペースのルートにある .vscode/tasks.json を作成または編集する必要があります。 次のテンプレートをカスタマイズしてください:

デバッグ用の launch.json を設定する

ワークスペースのルートにある .vscode/launch.json ファイルを作成または編集し、パスを更新してください。

CLI における対応コマンド

.NET Framework の制限事項

⚠️ 重要: 混合アセンブリ(C++/CLI)や複雑な Visual Studio 依存関係を持つ .NET Framework コードベースには、Windsurf での利用に大きな制限があります。これらのコードベースは通常、Visual Studio 独自のビルドシステムを必要とし、Microsoft 固有のツールやアセンブリ参照解決機構に依存しているため、Windsurf だけでは完全なコンパイルやデバッグを行うことができません。 .NET Framework プロジェクトに対する推奨アプローチ:
  • コード生成および編集には、Visual Studio と併用して Windsurf を使用する
  • 可能な部分は .NET Core へ移行する

2. C / C++ 開発

必須拡張機能:
Note: Windsurf C++ Tools バンドルをインストールすると、以下の個別拡張機能が自動で導入されます。バンドルのみのインストールで問題ありません。
CMake を使わないワークフローでも、カスタムの tasks.json ターゲット経由で makeninja などを呼び出せます。

C/C++ ビルド タスクの設定

C/C++ プロジェクト用に .vscode/tasks.json を作成または編集します:

3. 注意点とハマりどころ

  • オープンソースのみ – プロプライエタリな Microsoft製ツールをインストールするよう求められても拒否してください。Windsurf コンテナにはそれらを含めることはできません。
  • コンテナ vs ホスト – SDKやコンパイラは、必ず Windsurf ワークスペースコンテナの内部にインストールされている必要があります。
  • キーボードショートカット
    • Ctrl/⌘ + Shift + B → アクティブなビルドタスクを使ってコンパイルします
    • F5 → 選択した launch.json の設定を使ってデバッグします

4. セットアップ チェックリスト

  • 使用する言語スタックに必要な拡張機能をインストールする
  • プロジェクトのビルドコマンドに合わせて .vscode/tasks.json作成し、カスタマイズする
  • 実行可能ファイルへの正しいパスを指定して .vscode/launch.json作成し、カスタマイズする
  • Mono の場合: ランタイムをインストールし、mono --version で確認する
  • ファイルパス、プロジェクト名、ビルド引数をコードベースに合わせて更新する
  • セットアップをテスト: Ctrl/⌘ + Shift + B でビルドし、続けて F5 でデバッグする
💡 ヒント: 構成ファイルはプロジェクトごとに異なります。各ワークスペースに合わせて上記の例を調整してください。