13 人が閲覧(直近 30 日) GitHub

VS Code 1.118の新機能|codebase semantic index・devcontainer-lock.json・Copilot設定の変更点

VS Code 1.118の新機能|codebase semantic index・devcontainer-lock.json・Copilot設定の変更点

Visual Studio Code 1.118は2026年4月29日に公開された週次リリースで、翌4月30日には「VS CodeからGitHub Copilot CLIが動かない」不具合を直した1.118.1が出ています。この版の中心は、Copilotのcodebase semantic index(意味で検索するためのインデックス)がGitHub以外のリポジトリにも広がったことと、Dev Containerのロックファイル devcontainer-lock.json が既定で作られるようになったことです。この記事は1.118で何が変わり、その後の版で何が変わったかに絞っています。現在の最新バージョンと確認方法はVS Codeの最新バージョンの記事で扱っています。

まとめ

  • 1.118は2026年4月29日公開。1.118.1(4月30日)はCopilot CLIの起動不具合だけを直した修正版。
  • codebase semantic indexはGitHub・Azure DevOps以外のワークスペースにも対象が広がった。ただしGitHub以外のリポジトリ向け機能は、組織・Enterpriseではポリシーによる有効化が必要で、利用時には対象ファイルがGitHubへアップロードされる。
  • github.copilot.chat.localIndex.enabled はsemantic indexの設定ではなく、チャット履歴を記録するChronicleの設定。
  • devcontainer-lock.json が既定で作られるようになり、Featureの版とSHA-256チェックサムを固定する。CIでは --frozen-lockfile で差分を検出できる。
  • Copilotを共著者としてコミットに自動追加する設定は、1.117ではall、1.118と1.118.1ではchatAndAgentが既定だった。1.119で既定値がoffに戻っている。

VS Code 1.118の変更点一覧とリリース日

1.118のリリースノートは6項目を目玉に挙げています。Copilot CLIのリモート操作、コードベース検索、スキル専用コンテキスト、チャット履歴の分析(Chronicle)、組織単位のアクセス制御、トークン効率化です。下の表では、この6項目に、Dev Containerなど目玉以外の変更を加えて、設定キーと1.118時点の状態をまとめました。

領域 変更 設定キー 1.118時点
コード検索 semantic indexを全ワークスペースへ なし(自動) 正式
コード検索 githubTextSearchツール追加 なし 正式
Copilot CLI GitHub.comとモバイルから遠隔操作 github.copilot.chat.cli.remote.enabled 実験的
スキル context: forkで専用サブエージェント github.copilot.chat.skillTool.enabled 実験的
チャット履歴 Chronicle(/chronicle) github.copilot.chat.localIndex.enabled 実験的
企業統制 承認済み組織ポリシー ChatApprovedAccountOrganizations 正式
Git Copilotを共著者に追加 git.addAICoAuthor 既定chatAndAgent
Dev Container ロックファイルを既定で作成 dev.containers.lockfile 既定オン
言語 TypeScript 7.0 Beta対応 拡張機能で切替 プレビュー

1.118.1のGitHub Releasesに書かれた修正内容は「Fixed GitHub Copilot CLI not working from VS Code.」の1行だけです。リリース説明に記載されている修正は、Copilot CLIの起動不具合です。

codebase semantic indexの対象拡大と使えないときの原因

semantic indexは、コードを意味で検索するためのインデックスです。「認証はどこで処理している?」と聞いたとき、文字列検索では「authentication」という語を含むファイルしか当たりません。semantic indexがあれば、signIn や verifyCredentials のように語が違っても意味の近いファイルが見つかります。1.118より前は、GitHubかAzure DevOps(ADO)のリポジトリを開いたワークスペースだけが対象でした。

インデックスの作られ方と3種類の取得元

インデックスは自動で作られ、更新も自動です。VS Codeの公式ドキュメント「How Copilot understands your workspace」(2026年9月16日承認版)では、取得元によって初回に使えるまでの時間が変わると説明しています。

ワークスペース インデックスを作る場所 初回 必要なサインイン
GitHubのリポジトリ GitHub側(リポジトリ単位で1回) 多くは即時 GitHubアカウント
Azure DevOpsのリポジトリ 自動構築 自動 Microsoftアカウント
それ以外(GitLab・ローカル等) Copilotが構築 数分 GitHubアカウント

対象になるのはプロジェクト内のテキストファイルで、言語は問いません。.gitignore と files.exclude で除外したファイル、画像やPDFなどのバイナリはインデックスに入りません。すぐにインデックスを作り直したいときは、コマンドパレットで Build Codebase semantic index を実行します。

組織アカウントでは既定で無効になる理由

1.118のリリースノートは「rolled out to all users」と書いています。ただし、GitHub以外のリポジトリで使えるかどうかは契約形態で分かれます。GitHubのドキュメント「Indexing repositories for GitHub Copilot」によると、この機能はワークスペースのファイルをGitHubへアップロードして検索できるようにする仕組みで、ポリシーの既定は無効です。Copilot BusinessやCopilot Enterpriseでは、組織またはEnterpriseのオーナーがポリシー「Semantic indexing for non-GitHub repositories」を Enabled にするまで、メンバーは使えません。ポリシーが Unconfigured のままなら使えないままです。

提供範囲はGitHub.comに限られ、GHE.com(データレジデンシー版)とGitHub Enterprise Serverでは使えません。社外に出せないコードをGitLabや社内サーバーで管理している組織では、ポリシーを有効にすることが「コードをGitHubへ送ってよい」という判断と同じ意味になります。そのため、有効化は開発チームではなく情報管理の責任者が判断すべき事項です。

「No indexable repos found」エラーの読み方

Build Codebase semantic indexを実行すると、「Could not build codebase semantic index. No indexable repos found and support for indexing non-GitHub repos is not available」と表示されることがあります。GitHubのリポジトリを開いていても出るため、原因が分かりにくいエラーです。microsoft/vscodeのIssue #315276では、2026年6月2日にメンテナーが原因を説明しています。報告の時点では、個人のCopilotユーザーの約25%で、GitHub以外のリポジトリ向けの機能が一時的に無効になっていました。現在は個人アカウントの全員で有効になっており、組織・Enterpriseのユーザーは上記のポリシーを有効にする必要があります。このメンテナーは、1.122以降でも同じ症状が続く場合は新しいIssueを立てるよう案内しています。

つまり、このエラーの主な原因は2つです。個人アカウントなら1.122以降へ更新し、組織アカウントなら管理者にポリシーの状態を確認します。インデックスが無くても、Copilotは文字列検索・grep・ファイル検索・言語機能で探索を続けます。公式ドキュメントは、これらの手段でも多くのプロンプトに正確に答えられると説明しています。ただし、意味で探す検索は使えません。

#codebaseとgithubTextSearchの使い分け

プロンプトに #codebase を付ける必要は基本的にありません。エージェントは必要に応じてsemantic searchを自分で選びます。付けるのは、そのプロンプトで確実に意味検索を使わせたいときだけです。

1.118で追加された githubTextSearch ツールは逆の役割を持ちます。開いているワークスペースの外にある、GitHubリポジトリや組織全体のコードを、grepのように文字列の完全一致で検索するツールです。エラーメッセージやAPI名を他リポジトリで探す場面に向いています。既存の githubRepo ツールは、他リポジトリに対する意味検索を担当します。

github.copilot.chat.localIndex.enabledはChronicleの設定

github.copilot.chat.localIndex.enabled は名前に「index」を含むので、semantic indexの設定と誤解されがちです。実際には、1.118で実験的に入ったChronicleを動かすための設定です。Chronicleは、チャットのやり取り、ツール呼び出しで触ったファイル、参照したPRやIssueをローカルのSQLiteデータベースに記録します。semantic indexとは別の機能です。

1.118で使えたコマンドは3つです。/chronicle:standup は直近24時間のセッションからスタンドアップ用の報告を作り、/chronicle:tips は7日分の使い方を分析して改善点を示します。/chronicle [質問] は「昨日どのファイルを編集した?」のような自然文の問い合わせに答えます。

1.123(2026年6月3日)では、セッションをGitHubアカウントへ同期する chat.sessionSync.enabled が追加されました。1.118時点ではローカル保存だけでしたが、この版以降は設定によって履歴がクラウドにも保存されます。業務で使う場合は、次の既定値の違いに注意してください。

  • localIndex.enabled の既定値は、1.118.0ではfalse、1.139.0のCopilot拡張のpackage.jsonではtrue(実験で値が変わる onExp 付き)。
  • chat.sessionSync.enabled は、1.139.0のソースでは既定false(実験的)。一方、公式ドキュメントの設定一覧は既定を true と書いており、両者が食い違っている。

自分の環境で同期がオンになっているかは、推測せず設定画面で確認してください。同期させたくないリポジトリは chat.sessionSync.excludeRepositories で除外できます。Copilot BusinessとEnterpriseでは、グループポリシー CopilotSessionSync を無効にすると同期がfalseに固定されます。

1.118で既定値が変わった設定と現行版との差

1.118で入った設定の多くは、その後の版で既定値が変わっています。下の表は、VS Codeのリポジトリで1.118.0タグと1.139.0タグ(2026年9月23日公開)のpackage.jsonを比べたものです。

設定キー 1.118.0の既定 1.139.0の既定
git.addAICoAuthor chatAndAgent off
github.copilot.chat.cli.remote.enabled false(実験的) true
github.copilot.chat.localIndex.enabled false(実験的) true(onExp)
github.copilot.chat.skillTool.enabled false(実験的) false(実験的)

Copilot共著者の自動追加:1.117で有効化、1.119で既定offへ変更

1.118のリリースノートには「Copilot is automatically added as a co-author」とあり、Copilotがファイルを変更したコミットには Co-authored-by: トレーラーが自動で付きました。この設定には経緯があります。Microsoftが2026年5月5日に公開したIssue #314311によると、1.110で追加された時点の既定値はoffでした。1.117(4月22日に展開開始)で既定値をallに変えたところ、Copilotが関与していない補完まで共著者として記録する不具合がありました。この不具合は、AI機能を無効にする disableAIFeatures をオンにしていても起きていました。そこで1.118では既定値をchatAndAgentに絞っています。

最終的に、2026年5月3日にマージされたPR #313931で既定値はoffに戻りました。1.119.0(5月6日)からは、disableAIFeatures がオンなら設定値にかかわらず共著者行は付きません。1.119のリリースノートはこの変更に触れていません。Microsoftは今後、共著者行を付ける前に必ず利用者の同意を求める方針を示しています。

このため、1.117と1.118系を使っていた2026年4月下旬から5月上旬のコミットには、Copilotの共著者行が付いている場合があります。とくに1.117の時期のものは、Copilotを使っていない変更に付いた可能性があります。共著者行だけでは実際にCopilotを使ったかどうかを判定できないので、監査では当時のVS Codeの版と変更内容をあわせて確認してください。今後も付けたい場合は、git.addAICoAuthor を chatAndAgent(チャットとエージェントの変更)か all(インライン補完も含む)に明示的に設定します。

Copilot CLIのリモート操作とスキルの専用コンテキスト

リモート操作は、手元のマシンで動いているCopilot CLIのセッションを、GitHub.comかGitHubモバイルアプリから確認・承認・指示できる機能です。1.118では設定をオンにしたうえで、Copilot CLIのチャットに /remote on と入力して開始しました。/remote で状態を確認し、/remote off で止めます。1.139.0では設定の既定がtrueになり、実験的の扱いも外れています。

スキルの専用コンテキストは、スキルを別のサブエージェントで動かし、結果だけを元の会話に返す機能です。大量のファイルを読むスキルでも、本来の会話のコンテキストが埋まりません。SKILL.md の先頭に次のフロントマターを置き、その後にレビュー手順などのスキル本文を記述します。

---
name: pr-review
description: Review a pull request for code quality and correctness.
context: fork
---

github.copilot.chat.skillTool.enabled がオフのままだと、VS Codeは「The ‘context: fork’ attribute requires the skill tool to be enabled (github.copilot.chat.skillTool.enabled).」という警告を出します。これはエラーではなく警告なので、スキル自体は読み込まれます。ただし、forkの指定は効きません。この設定は1.139.0でも既定false・実験的のままなので、forkを使うなら明示的にオンにする必要があります。

ワークスペースの.mcp.jsonとMCPサーバーの重複排除

1.118から、ワークスペース直下の .mcp.json にMCPサーバーを宣言できるようになりました。Copilot CLIと同じ形式です。同じ名前のMCPサーバーが複数の場所に定義されているときは、最も具体的な定義だけが有効になり、ほかは無効になります。どのサーバーが有効かは、拡張機能ビューで @mcp @installed を検索するか、Chat: Open Customizations で確認します。

devcontainer-lock.jsonの既定化とCIでの扱い

devcontainer-lock.json は、devcontainer.json に書いたDev Container Featureの実際の版とチェックサムを記録するファイルです。npmの package-lock.json と同じ役割を持ちます。1.118では、Dev Containers拡張の設定 dev.containers.lockfile が既定でオンになりました。Featureを初めてインストールしたときの版とSHA-256チェックサムが記録され、以後はその版に固定されます。これはサプライチェーン攻撃への対策です。Dev Containerの仕組みそのものはDev Containerのメリットと設定の記事で解説しています。

ロックファイルに記録される項目

Dev Container仕様のロックファイル定義では、Featureごとに version(完全な版番号)、resolved(OCIのFeatureならsha256付きの識別子)、integrity(成果物のSHA-256)を記録し、依存があれば dependsOn も記録します。ファイルは devcontainer.json と同じフォルダーに置かれます。仕様書の例は次のとおりです。

{
    "features": {
        "ghcr.io/devcontainers/features/node:1": {
            "version": "1.0.4",
            "resolved": "ghcr.io/devcontainers/features/node@sha256:567d704b3f4d3eca3acee51ded7c460a8395436d135d53d1175fb565daff42b8",
            "integrity": "sha256:567d704b3f4d3eca3acee51ded7c460a8395436d135d53d1175fb565daff42b8"
        }
    }
}

ローカルのFeatureと、廃止されたGitHub Releases形式のFeatureは記録されません。devcontainer.json のFeatureに新しい版が出ると、エディターにCode Lensが表示されます。Dependabotを設定すれば、ロックファイルを更新するPRも自動で作れます。

devcontainer CLIでロックファイルを強制する方法

VS Codeの拡張機能とは別に、CIで使うdevcontainer CLIでも、0.87.0(2026年5月)でロックファイルが実験機能から正式機能になりました。build と up を実行すると既定でロックファイルが作られ、--frozen-lockfile と --no-lockfile の2つのフラグが追加されています。以前の --experimental-lockfile は警告付きで引き続き使えます。

# ロックファイルが無い、または内容と違えば失敗させる(CI向け)
devcontainer build --workspace-folder . --frozen-lockfile

# ロックファイルを作らず、検証もしない
devcontainer up --workspace-folder . --no-lockfile

ロックファイルを使うなら、リポジトリにコミットし、CIでは --frozen-lockfile を付けてください。コミットしないと開発者ごとに別のロックファイルが作られ、版を固定する意味がなくなります。--no-lockfile と --frozen-lockfile は同時に指定できず、CLIがエラーで止まります。

1.118.1で報告された個人設定の混入

既定化の直後に、ユーザー設定 dev.containers.defaultFeatures で入れている個人用のFeatureが、プロジェクトの devcontainer-lock.json に書き込まれる問題が報告されました(microsoft/vscode-remote-release Issue #11616、1.118.1で報告、2026年5月5日にcompletedでクローズ)。devcontainer CLIでは0.86.1で「--additional-features で渡したFeatureをロックファイルに書かない」修正が入っています。仕様上、ロックファイルには devcontainer.json に指定したFeatureと、その依存Featureが記録されます。1.118系の時期に作ったロックファイルをコミットしている場合は、devcontainer.json の指定にも依存関係にも含まれない、個人設定由来のFeatureが記録されていないか確認してください。含まれていたら、現行版で作り直します。

トークン効率化とCopilotの従量課金への備え

GitHubは2026年4月27日に、Copilotを6月1日から従量課金へ移行すると発表しました。1.118のリリースノートでは、これに合わせたトークン削減策がまとめて説明されています。

施策 公式の数値 対象
キャッシュ境界の見直し 各リクエストの入力の93%超をキャッシュから再利用 エージェントセッション
ツール検索(tool_search) 常時読み込みは約30ツール・呼び出しの約88%をカバー Anthropic・GPT-5.4/5.5
ツール検索の削減効果 最大20% Anthropicモデル
agentic search・executionツール 最大20% 順次展開
WebSocketモード OpenAIモデルで12%高速 対応モデル

キャッシュされた入力は、Anthropicモデルでは通常より約10分の1の単価で課金されます。つまり、長いセッションほど効果が大きくなります。agentic executionツールは、テストやビルドのためのターミナル実行を小さなモデルに任せる仕組みで、1回の呼び出しにつき最大10回までしかコマンドを実行しません。長いターミナル出力をメインのモデルに渡さないことが、削減の中身です。

GPTモデル向けのツール検索を有効にする github.copilot.chat.responsesApi.toolSearchTool.enabled と、キャッシュ境界の設定 github.copilot.chat.anthropic.cacheBreakpoints.lastTwoMessages は、1.118で導入されました。どちらも、1.139.0のCopilot拡張のpackage.jsonには定義が残っていません。1.139.0のpackage.jsonでは、これらの設定定義を確認できません。

Agentsアプリ・企業向けポリシー・TypeScript 7の扱い

Visual Studio Code Agentsアプリ(Insiders限定)

Agentsアプリは、複数のリポジトリでエージェントを並行して動かすための専用アプリです。1.118ではVS Code Insidersにだけ同梱されていました。Insidersのタイトルバーの Open in Agents から開けるようになり、Claudeエージェント、ブラウザー版(insiders.vscode.dev/agents、code-insiders tunnel で接続)、差分表示のレイアウト切り替えが加わっています。Stableでエージェントウィンドウがプレビュー提供されたのは1.120からで、その内容はVS Code 1.120の記事にまとめています。

ChatApprovedAccountOrganizationsとサンドボックスの読み取り制限

ChatApprovedAccountOrganizations は、チャットとAI機能を、承認したGitHub組織のメンバーだけに使わせるデバイスポリシーです。2つの条件が揃うまでチャットは有効になりません。承認済み組織に所属するアカウントでサインインしていること、そしてアカウント単位のポリシーの解決が終わっていることです。確認できない間は機能を止めるフェイルクローズ型なので、個人アカウントでサインインした社用端末からCopilotを使われるのを防げます。

同じ1.118で、サンドボックス内で実行するコマンドから $HOME 以下を自由に読める挙動もなくなりました。$HOME配下では、ワークスペースとサンドボックスの一時フォルダーに既定の読み取り権限があり、実行するコマンドに応じたパスにも権限が追加されます。

TypeScript 7.0 BetaとEdit Modeの廃止予告

1.118では、TypeScript Native preview拡張を入れるだけでTypeScript 7.0 Betaを試せるようになり、TS 6.0との切り替えも簡単になりました。VS Code自身の開発では、約6,000ファイルの型チェックが約60秒から約10秒に短くなったと書かれています。TypeScript 7はその後、npmで7.0.2(2026年7月8日)が正式版として公開されています。移行の要点はTypeScript 7の記事で扱っています。

1.118のリリースノートには、Edit Modeの廃止予告も載っています。chat.editMode.hidden による一時的な再有効化は、1.126で終了するという予告です。実際に1.126(2026年6月24日)でこの設定は削除され、Agent modeを無効化するポリシーを受けている環境だけに旧Edit Modeが残っています。詳細はGitHub Copilot EditsとEditモードの記事を参照してください。

1.118のまま使い続けるリスクと更新の判断

2026年9月23日の1.139.0までに、1.118から21版が公開されています。1.118に残る理由は、ほぼありません。semantic indexのエラーは1.122以降で解消が案内されています。共著者の自動追加は1.119で既定offに戻り、Edit Modeも1.126で削除済みです。

拡張機能の互換性などで1.118に固定している場合は、少なくとも次の2点を確認してください。

  • git.addAICoAuthor を明示的にoffにする(1.118系の既定はchatAndAgent)。
  • コミット済みの devcontainer-lock.json に個人用のFeatureが混入していないか確認する。

現在の版は code --version の1行目に出ます。

よくある質問

codebase semantic indexとは何ですか?

Copilotがコードを意味で検索するためのインデックスです。GitHubとAzure DevOpsのリポジトリでは、それぞれのサービス側で作られます。1.118からは、それ以外のワークスペースでもCopilotが数分で構築するようになりました。組織・Enterpriseのアカウントでは、GitHub以外のリポジトリを対象にするにはオーナーによるポリシーの有効化が必要です。

github.copilot.chat.localIndex.enabledは何の設定ですか?

チャット履歴を記録して /chronicle コマンドで分析するChronicleの設定で、semantic indexとは関係ありません。1.118.0では既定false(実験的)でしたが、1.139.0のpackage.jsonでは既定trueです。

devcontainer-lock.jsonはコミットすべきですか?

コミットを推奨します。版とチェックサムを固定するためのファイルなので、コミットしないと開発者ごとに別の版が入ります。CIでは、devcontainer CLI 0.87.0以降の --frozen-lockfile で不一致を検出できます。

VS Code 1.118のリリース日はいつですか?

1.118.0は2026年4月29日、修正版の1.118.1は2026年4月30日に公開されました。次の1.119.0は2026年5月6日です。

1.118.1では何が修正されましたか?

GitHub Releasesの記載は「VS CodeからGitHub Copilot CLIが動かない」不具合の修正だけです。リリース説明には、これ以外の変更は記載されていません。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.09.28 テックブログ タイムズカーの不正アクセスと約660万件の流出|免許証画像を退会者まで残さない保管設計
  2. 2026.09.25 コラム 最低賃金引き上げ【令和8年度】47都道府県の改定額・発効日と企業の対応手順
  3. 2026.09.25 コラム 障害者雇用の助成金一覧:月いくら・支給要件と申請書類を勤怠データで揃える方法
  4. 2026.09.05 コラム 犯罪収益移転防止法の本人確認:2027年4月の対面IC読み取り義務化と改修要件
  5. 2026.04.03 テックブログ マイナビ情報漏洩11万件|不正アクセスの経緯・対象確認と「登録は危険か」の判断材料

RELATED POSTS 関連記事

目次