Windsurfの設定 - 環境変数

提供: MochiuWiki : SUSE, EC, PCB

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

概要

Windsurfの設定は、Windsurf固有のAI関連設定とVS Code互換のエディタ設定の2つの体系で構成される。

Claude Codeが環境変数 (export) とsettings.jsonの両方で設定を管理するのに対し、
WindsurfはGUIベースの設定画面 と settings.jsonを中心とした管理体系を採用している。

下表に、Windsurfの設定項目を示す。

Windsurfの主な設定項目
設定項目 説明
AI関連設定 Cascade、Windsurf Tab、Memory 等の AI 機能に関する設定
BYOK (Bring Your Own Key) 自分の API キーを使用したモデルアクセス設定
エディタ設定 フォント、テーマ、キーバインド等の VS Code 互換設定
ネットワーク設定 プロキシ、SSL証明書等のネットワーク関連設定
プライバシー設定 テレメトリ、データ収集の制御



設定の全体像

下表に、Windsurfの設定体系を示す。

設定体系の全体像
カテゴリ 設定方法 説明
Windsurf AI設定 設定画面 / settings.json Cascade、Tab、Memory等のAI関連設定
VS Code互換設定 設定画面 / settings.json エディタ設定、テーマ、フォント等
MCP設定 mcp_config.json MCPサーバの設定
ルール .windsurf/rules/*.md Cascadeへの指示
スキル .windsurf/skills/ 多段階ワークフロー
ワークフロー .windsurf/workflows/*.md 反復タスクの自動化



設定ファイルの場所と書式

下表に、Windsurfの設定ファイルのパスを示す。

設定ファイルの場所
設定 パス 用途
ユーザ設定 ~/.config/Windsurf/User/settings.json 全ワークスペース共通のエディタ・AI設定
ワークスペース設定 /<プロジェクトルート>/.vscode/settings.json プロジェクト固有のエディタ設定
キーバインド ~/.config/Windsurf/User/keybindings.json キーボードショートカット設定
グローバルAI設定 ~/.codeium/windsurf/ MCP、メモリ、グローバルルール等
グローバルルール ~/.codeium/windsurf/memories/global_rules.md 全ワークスペース共通のルール


設定画面の開き方

  • GUI設定画面
    [Ctrl] + [,]キーを同時押下
  • JSON設定
    コマンドパレット ([Ctrl] + [Shift] + [P]キー) -> [Preferences: Open Settings (JSON)]


Claude Codeとの設定方式の比較

設定方式の比較
項目 Claude Code Windsurf
主な設定方法 環境変数 (export) + settings.json GUI設定画面 + settings.json
APIキー設定 ANTHROPIC_API_KEY (環境変数) BYOK (GUI設定画面)
モデル選択 ANTHROPIC_MODEL (環境変数) Cascadeパネルのドロップダウン
設定ファイル ~/.claude/settings.json ~/.config/Windsurf/User/settings.json
CLI設定 claude config set なし (GUIベース)



BYOK (Bring Your Own Key) 設定

BYOK (Bring Your Own Key) は、自分のAPIキーを使用してAIモデルにアクセスする設定である。

対応プロバイダ

下表に、BYOKで利用可能なプロバイダを示す。

BYOK対応プロバイダ
プロバイダ 対応モデル APIキー形式
Anthropic Claude Opus 4.6, Claude Sonnet 4.5, Claude Sonnet 4 sk-ant-xxxx
OpenAI GPT-5.2-Codex, GPT-4.1, GPT-4o sk-xxxx
Google Gemini 3 Flash, Gemini 3 Pro, Gemini 2.5 Pro AIzaXXXX
Z.ai (Zhipu AI) GLM-5 {ID}.{secret}


設定手順

  1. Windsurf設定画面を開く。
    または、[Ctrl] + [,]キーを押下する。
  2. 検索バーで BYOK と入力する。
  3. [Cascade] - [BYOK]セクションに移動する。
  4. 使用するプロバイダのAPIキーを入力する。
  5. 保存して設定を反映する。


コスト管理の注意事項

  • BYOKを設定すると、使用したモデルのAPIコストが直接課金される。
  • Windsurfのクレジットとは別にAPI利用料金が発生する。
  • APIキーの使用量を定期的に確認することを推奨する。



Windsurf Tab (自動補完) 設定

Windsurf Tabは、AIによるコード自動補完機能である。

Autocomplete

カーソル位置での従来型のコード補完を提供する。

  • 有効 / 無効の切り替え
    設定画面から切り替え可能
  • トリガー
    入力中に自動的に候補が表示される
  • 受け入れ
    [Tab]キーで候補を受け入れ
  • 拒否
    [Esc]キーで候補を拒否


Supercomplete

カーソル周辺の追加と削除を同時に提案する高度な補完モードである。(推奨モード)

  • Autocompleteとの違い
    従来のAutocompleteが「カーソル位置での追加」のみであるのに対し、Supercompleteは「周辺コードの削除を含む変更」も提案する。
  • メリット
    リファクタリングに近い提案が可能であり、コード品質の向上に寄与する。


Tab to Jump

関連する編集箇所への自動ジャンプ機能である。

  • 動作
    現在の編集に関連する次の編集箇所に [Tab]キーでジャンプできる。
  • 使用場面
    関数名の変更後、呼び出し箇所にジャンプして修正する場合等。


Tab to Import

使用しているライブラリの自動インポート機能である。

  • 動作
    コード内で使用しているライブラリが未インポートの場合、自動的にインポート文を提案する。
  • 対応言語
    JavaScript, TypeScript, Python等の主要言語


設定例

Windsurf Tabに関連する設定例を以下に示す。

 {
   "windsurf.autocomplete.enabled": true,
   "windsurf.supercomplete.enabled": true,
   "windsurf.tabToJump.enabled": true,
   "windsurf.tabToImport.enabled": true
 }



Memory機能の設定

Memory機能は、会話間のコンテキストを自動保存する機能である。

設定項目

  • 自動メモリ
    Cascadeが重要なコンテキストを自動的に記憶する。
    有効 / 無効の切替が可能
  • 手動メモリ
    ユーザが明示的にメモリを作成する。
    「〜を覚えておいて」とCascadeに依頼する。


メモリの管理方法

  1. Cascadeスライダーメニューを開く。
  2. [Memories]セクションを選択する。
  3. 保存されたメモリの一覧を確認する。
  4. 不要なメモリを個別に削除する。


メモリの保存場所

  • メモリデータ
    ~/.codeium/windsurf/memories/
  • グローバルルール
    ~/.codeium/windsurf/memories/global_rules.md


注意事項

  • メモリはワークスペースに紐づけられ、他のワークスペースとは共有されない。
  • メモリの使用はクレジットを消費しない。
  • メモリが増えすぎるとCascadeのコンテキストに影響する場合がある。
    定期的な整理を推奨する。



キーボードショートカット

Windsurfの主要なキーボードショートカットを以下に示す。

主要キーボードショートカット
ショートカット 機能
[Ctrl] + [L] Cascadeパネルを開く / 閉じる
[Ctrl] + [I] インライン編集を開始
[Ctrl] + [Shift] + [P] コマンドパレットを開く。
[Ctrl] + [Shift] + [Enter] Cascade: Writeモードに切替
[Ctrl] + [Enter] Cascade: Chatモードに切替
[Tab] 補完候補の受け入れ / Tab to Jump
[Esc] 補完候補の拒否
[Alt] + [\] 補完の手動トリガー
[Ctrl] + [,] 設定画面を開く。
[Ctrl] + [Shift] + [X] 拡張機能パネルを開く。
[Ctrl] + [`] 統合ターミナルを開く / 閉じる
[Ctrl] + [B] サイドバーを開く / 閉じる
[Ctrl] + [K], [Ctrl] + [S] キーボードショートカット設定を開く。


キーバインドのカスタマイズ

キーバインドのカスタマイズ方法を以下に示す。

  1. [Ctrl] + [K]キー、[Ctrl] + [S]キーでキーボードショートカット設定を開く。
  2. 変更したいショートカットを検索する。
  3. 新しいキーバインドを設定する。


または、~/.config/Windsurf/User/keybindings.json を直接編集する。

 [
   {
     "key": "ctrl+shift+l",
     "command": "windsurf.openCascade"
   }
 ]



プロキシ設定

企業ネットワーク等でプロキシサーバを経由する場合の設定方法を以下に示す。

HTTP/HTTPSプロキシ

settings.jsonでのプロキシ設定例を以下に示す。

 {
   "http.proxy": "http://proxy.example.com:8080",
   "http.proxyStrictSSL": true,
   "http.proxyAuthorization": null
 }


環境変数でのプロキシ設定を以下に示す。

 # プロキシサーバの設定
 export HTTPS_PROXY="http://proxy.example.com:8080"
 export HTTP_PROXY="http://proxy.example.com:8080"
 
 # プロキシを経由しないホストの設定
 export NO_PROXY="localhost,127.0.0.1,.internal.example.com"


自動検出

Windsurfはシステムのプロキシ設定を自動検出する機能を持つ。

自動検出の設定を以下に示す。

 {
   "http.proxySupport": "on"
 }


下表に、設定値の説明を示す。

プロキシモードの設定値
設定値 説明
"on" システムのプロキシ設定を自動検出して使用
"off" プロキシを使用しない。
"override" settings.jsonのプロキシ設定のみを使用


SSL証明書の設定

自己署名証明書を使用するプロキシ環境では、CA証明書のパスを設定する。

 # 自己署名証明書の設定
 export NODE_EXTRA_CA_CERTS="/path/to/ca-bundle.crt"


SSHトンネル経由の接続

SSHトンネルを経由してWindsurfを使用する場合、以下の設定が必要になる。

# SSHトンネルの設定例
ssh -L 8080:api.windsurf.com:443 user@jump-server



テレメトリ設定

Windsurfのテレメトリ (使用状況データの収集) の制御方法を以下に示す。

テレメトリの無効化

settings.jsonでテレメトリを無効化する設定を以下に示す。

 {
   "telemetry.telemetryLevel": "off"
 }


設定値の説明を以下に示す。

テレメトリレベル
設定値 説明
off テレメトリとクラッシュレポートを完全に無効化
crash クラッシュレポートのみ送信
error エラーとクラッシュレポートを送信
all (デフォルト) 全てのテレメトリデータを送信


収集されるデータの種類

テレメトリで収集されるデータの例を以下に示す。

  • 使用状況データ (機能の使用頻度等)
  • エラーレポート (クラッシュ情報等)
  • パフォーマンスデータ (応答時間等)


ソースコードの内容はテレメトリデータに含まれない。


.codeiumignore

.codeiumignore ファイルは、CascadeとWindsurf Tabの対象からファイルを除外する設定ファイルである。

書式

.gitignore ファイルと同じ構文を使用する。

配置場所

プロジェクトルートに配置する。

設定例

# 依存関係
node_modules/
vendor/

# ビルド出力
dist/
build/

# バージョン管理
.git/

# 機密情報
.env
.env.local

# 大規模ファイル
*.min.js
*.map


Cascadeへの影響

  • .codeiumignoreに記載されたファイルは、Cascadeのコンテキストから除外される。
  • Windsurf Tabの補完対象からも除外される。
  • 大規模なプロジェクトでは、不要なファイルを除外することでパフォーマンスが向上する。



Cascade設定オプション

下表に、Cascadeに関連する設定オプションを示す。

Cascade設定オプション
設定項目 説明 デフォルト値
ルール文字数制限 (個別) 個別ルールファイルの最大文字数 6,000文字
ルール文字数制限 (合計) グローバル + ワークスペースルールの合計最大文字数 12,000文字
ツール呼び出し制限 1プロンプトあたりの最大ツール呼び出し回数 25回
ターボモード コマンド実行の承認モード Off
モデル選択 使用するAIモデル SWE-1 (デフォルト)



Claude Code環境変数との比較

下表に、WindsurfとClaude Codeの設定方式の詳細な比較を示す。

設定方式の比較
項目 Claude Code Windsurf
設定方法 環境変数 (export) + settings.json settings.json (GUI設定画面)
APIキー ANTHROPIC_API_KEY (環境変数) BYOK (GUI設定画面)
モデル指定 ANTHROPIC_MODEL (環境変数) Cascadeパネルのドロップダウン
プロキシ HTTPS_PROXY 等 (環境変数) http.proxy (settings.json) / 環境変数
テレメトリ DISABLE_TELEMETRY (環境変数) telemetry.telemetryLevel (settings.json)
タイムアウト BASH_DEFAULT_TIMEOUT_MS なし (固定値)
設定ファイル ~/.claude/settings.json ~/.config/Windsurf/User/settings.json
推論努力レベル CLAUDE_CODE_EFFORT_LEVEL なし
出力トークン制限 CLAUDE_CODE_MAX_OUTPUT_TOKENS なし
クラウドプロバイダ Bedrock / Vertex AI / Foundry BYOK (APIキー設定)



トラブルシューティング

設定が反映されない

  • settings.jsonの構文が正しいか確認する。(JSONバリデーション)
  • Windsurf Editorを再起動する。
  • ワークスペース設定がユーザ設定を上書きしていないか確認する。


BYOK設定の問題

  • APIキーが正しいか確認する (プロバイダのダッシュボードで確認)。
  • APIキーの使用量制限に達していないか確認する。
  • ネットワーク接続 (プロキシ設定含む) を確認する。


プロキシ接続の問題

  • プロキシURLが正しいか確認する。
  • 認証が必要なプロキシの場合、認証情報が設定されているか確認する。
  • http.proxyStrictSSL の設定を確認する。
  • 自己署名証明書の場合、NODE_EXTRA_CA_CERTS を設定する。


テレメトリの無効化確認

  • settings.jsonに "telemetry.telemetryLevel": "off" が設定されているか確認する。
  • Windsurf Editorを再起動して設定を反映する。



参考リンク