VSCode 1.108 の変更点まとめ

まえがき

VSCode 1.108 の変更点をまとめました。
VSCode 1.108 Release Notes

次のバージョン:VSCode1.109の変更点まとめ(2026年2月頃リリース予定)
前のバージョン:VSCode1.107の変更点まとめ
リリースノート一覧:VSCodeリリース情報

エージェント関連の変更点

Agent Skills (実験的)

設定: chat.useAgentSkills
VSCode 1.108 では Agent Skills が実験的に導入され、Copilot やコーディングエージェントに対して、特定の作業手順やドメイン知識をまとめて教えられるようになりました。
Agent Skills は、単なる指示文ではなく、手順・スクリプト・補助リソースを1つの単位として定義できる仕組みで、Copilot が必要と判断した場面で自動的に利用されます。

スキルは SKILL.md を含むディレクトリとして管理され、VSCode は複数の場所からスキルを自動検出します。
なお、VSCode 1.107 では useClaudeSkills という設定名で提供されていましたが、Agent を汎用化する流れに伴い、VSCode 1.108からは useAgentSkills に統一されています。後方互換のため、Claude Skills 向けのフォルダーも引き続き認識されます。

Agent Skills の認識対象フォルダー

種別ワークスペース個人
現行(Agent Skills).github/skills~/.copilot/skills
後方互換(Claude Skills).claude/skills~/.claude/skills

これらのフォルダーに配置されたスキルは常に読み込まれるわけではなく、チャット内容や作業内容に関連すると判断された場合のみ、オンデマンドでコンテキストに追加されます。

Agent Skills を使用してみる

試験段階のためデフォルトでは無効になっているので、まずはchat.useAgentSkillsを有効にします。

VSCode1.108 - chat.useAgentSkillsを有効にする

スキルを定義して認識できるか確認してみましょう。

---
description: 長い文章を短く要約します。
---

# Summarize Text Skill

このスキルは、与えられた文章を簡潔に要約します。

## 指示
- 要点を3〜5行でまとめる
- 詳細な説明や背景は省く
- 箇条書きで出力する

summarize-textという要約スキルを、ワークスペース上で定義しました。

「summarize-textのスキルで要約して」とプロンプトで指示すると、

VSCode1.108 - summarize-textという要約スキルを使用

summarize-textのスキルが読み込まれ、ちゃんとスキルの指示に沿った3~5行の間の箇条書きで要約されていることが確認できます。

エージェントセッションビューの改善

今回のアップデートでは、エージェントセッションビューが次の点で改善されました。

アクションに対するキーボードアクセスのサポート

アーカイブやタイトル名変更といったアクションに対するキーボードアクセスがサポートされるようになりました。

アーカイブする

セッションを選択してDeleteキーを押下するとアーカイブされるようになりました。

VSCode1.108 - Deleteキー押下でアーカイブされるようになった

アーカイブを戻す

アーカイブされたセッションを選択してShift+Deleteキーを押下するとアーカイブされたセッションが戻されるようになりました。

VSCode1.108 - Shift+Deleteキー押下でアーカイブされたセッションが戻される

タイトル名の変更

セッションを選択してF2キーを押下するとタイトル名が変更できるようになりました。

VSCode1.108 - F2キー押下でセッションのタイトル名が変更できる

ショートカットキーをカスタマイズする場合

上記ショートカットキーをカスタマイズしたい場合は、Ctrl+KCtrl+Sを押下して「キーボードショートカット」を開きagentSession.で検索するとセッション一覧に関連する項目が出てきます。
上記以外にも、agentSession.markReadagentSession.markUnreadといった既読のOn/Offに関連するアクションもあります。

VSCode1.108 - エージェントセッションビューのアクションのショートカットキーをカスタマイズする

セッション一覧をグループ化

セッション一覧の並列表示時に、状態と経過時間に基づいてグループ化されるようになりました。

VSCode1.108 - エージェントセッションビューがグループ化されるようになった
「TODAY」や「YESTERDAY」などでグループ化されるようになった

グループ化セッションのアーカイブ

「TODAY」などでグループ化されたセッションをまとめてアーカイブできるようになりました。

VSCode1.108 - グループ化されたセッションをまとめてアーカイブできるようになった

グループセッション右側のArchive Allボタンを押下すると確認画面が表示され、「Archive All」ボタンを押下するとグループ化されたセッションがまとめてアーカイブされます。

VSCode1.108 - グループセッションのアーカイブ確認ダイアログ

なお、まとめてアーカイブされたセッションはグループ化が解除された状態で保存されます。
そのため、アーカイブを元に戻す場合は、各セッションを個別に選択して復元する必要があります。

VSCode1.108 - グループセッションのアーカイブ後

セッション関連情報の表示

セッションに関連する変更ファイルや関連 PR の情報が表示されるようになりました。
表示される内容は、チャット内での最新のアクティビティに基づいています。

VSCode1.108 - セッションに関連する変更ファイルの情報が表示される
セッションのファイル編集の情報が表示されている

一方で、セッションの種類によって表示の挙動に差異があります。
バックグラウンドセッションやクラウドセッションでは関連情報が保持されますが、ローカルセッションにおいては、変更内容のマージが完了したタイミングで、表示が「終了」や「◯秒で終了しました」などのステータスに切り替わる仕様になっているようです。

VSCode1.108 - バックグラウンドセッション/クラウドセッションだけ情報が残る

現在、この表示仕様については Agent Sessions: File diff/stats alignment で議論が進められています。
当該 Issue は 2026 年 1 月のマイルストーンに設定されており、VSCode 1.109 前後でセッション種別ごとの表示ルールが整理される可能性があります。

chat.viewSessions.orientation の auto オプションを統合

VSCode 1.107の chat.viewSessions.orientation にはautoオプションがありましたが、1.108ではsideBySideに統合されています。

VSCode1.108 - chat.viewSessions.orientationの auto は sideBySide に統合
VSCode 1.108では auto は sideBySide に統合された

chat.viewSessions.orientationについては VSCode1.107の変更点まとめ - 配置方向の設定 をお読みください。

Chat関連の変更点

チャットピッカーがエージェントセッションと連携

チャットセッション用の Quick Pick は、エージェントセッションビューと同じ情報を参照するようになりました。
これにより、過去のチャットセッションを一覧から選択し、アーカイブ・名前変更・削除などの操作を直接行えます。

Quick Pick に加えて Quick Open も同じ仕様になっています。
開き方はそれぞれ下記の通りです。

Quick Pickの開き方

チャットセッション用の Quick Pick はセッションのタイトルをクリックすると開けます。

VSCode1.108 - チャットセッション用の Quick Pick を開く

Quick Openから開く

エージェントセッションは、Quick Open(Ctrl+P)で agent + 半角スペースを入力して開くこともできます。

VSCode1.108 - Quick Open (Ctrl+P)で agent + 半角スペースを入力して開く

チャットタイトルの表示改善

Chat ビューのタイトル操作は、アクティビティバー の構成に関係なく常に表示されるようになりました。
これまでは、デフォルトの アクティビティバー 構成を使用している場合にのみ表示されていました。

試しに、画像の通りアクティビティバーの位置を「上部」に変更して試してみましょう。

VSCode1.108 - アクティビティバーの構成を既定値以外に設定
アクティビティバーの構成を既定値以外に設定

すると下記画像の通り VSCode 1.108以降ではアクティビティバーを「上部」に変更してもタイトル操作ができるようになっています。

VSCode1.108 - タイトル操作がアクティビティバー の構成に関係なく常に表示される
既定値以外に設定しても操作できるようになった

再起動時に空の Chat を開く

VSCode 1.108 以降では、VS Code を再起動した際に前回のチャットセッションは自動的に復元されず、代わりに空の Chat ビューが表示されるようになりました。
過去のチャットセッションは、Chat ビュー上部の Agent Sessions コントロールから選択して再表示できます。

なお、リリースノートではこの挙動を chat.viewRestorePreviousSession 設定で変更できると記載されていますが、VS Code 本体および GitHub Copilot / Copilot Chat 拡張のいずれにも、この設定はユーザー向けの設定項目としては存在しません。
そのため、現時点ではこの挙動をユーザーが設定で切り替えることはできず、VSCode 1.108 からは起動時に常に空のChat ビューが表示される仕様となっています。

Terminal tool の自動承認デフォルトルール

デフォルトで自動承認されるコマンドが追加

設定: chat.tools.terminal.enableAutoApprove
chat.tools.terminal.enableAutoApproveを有効にすると、以下のコマンドはデフォルトで実行時の確認なしに自動承認されるようになりました。

  • git ls-files
  • git --no-pager
  • git -C
  • rg(※ --pre--hostname-bin を除外)
  • sed(※ 一部の引数と使用パターンを除外)
  • Out-String

実際に挙動を確認すると、VS Code 1.107 では実行前に承認を求められますが、
VS Code 1.108 では承認なしでそのまま実行されることが分かります。

VSCode1.108 - chat.tools.terminal.enableAutoApproveが有効の場合に自動承認されるコマンドが追加された

Allow ドロップダウンにアクションを追加

「Allow」ドロップダウンに、実行するコマンドに対して現在のセッションまたはワークスペース単位で許可するためのアクションが追加されました。

VSCode1.108 - 現在のセッションまたはワークスペースに対して許可するための対応アクションが追加された

「ワークスペース単位」を選択すると、ワークスペースのsetting.jsonに下記設定が追加されます。

"chat.tools.terminal.autoApprove": {
    "uname": true
}

シェル履歴への追加を防止

設定: chat.tools.terminal.preventShellHistory
Terminal ツール経由で実行されたコマンドは、bashzshpwshfish などのシェル履歴に記録されなくなりました。
この挙動はシェルごとに実装が異なり、たとえばbashではHISTCONTROL=ignorespaceを利用し、実行するコマンドの先頭に自動的にスペースを付与することで履歴への追加を回避しています。

bashで挙動を確認してみると、実行されるコマンドの先頭にスペースが自動的に付与され、履歴に残らないようになっていることが確認できます。

VSCode1.108 - 実行しているコマンドの先頭にスペースが入力され履歴が残らないようにしている
uname コマンドの先頭にスペースが付与されている

なお、Terminal ツールで実行したコマンドもシェル履歴に残したい場合は、chat.tools.terminal.preventShellHistory設定を無効にしてください。

Accessibility(アクセシビリティ)関連の変更点

Accessible View でチャット応答がリアルタイム表示に対応

Accessible View 上でも、生成中のチャット応答がリアルタイムで更新されるようになりました。
これまでは内容を確認するたびに Accessible View を閉じて開き直す必要がありましたが、今後は画面を切り替えずに AI の応答を追いかけられます。

チャットで応答待ち中に Accessible View を開くとリアルタイムで更新される

「Accessible View(ユーザー補助対応のビュー)」はチャットにフォーカスがある状態で、Alt + F2を押下するか、Ctrl + Shift + Pでコマンドパレットから「アクセシビリティ対応ビュー」で検索して「アクセシビリティ対応ビューを開く」を選択すると開くことができます。

ウィンドウタイトルで 言語ID を参照可能に

設定: window.title
ウィンドウタイトルの設定(window.title)で、新たに${activeEditorLanguageId}変数が利用できるようになりました。
現在アクティブなエディターの言語 ID を表示できるため、使用中のプログラミング言語に応じて音声コマンドを切り替える必要があるTalonなどのアクセシビリティツールと組み合わせる用途に役立ちます。

例えばwindow.titleを下記のように設定すると、

`"window.title": "${activeEditorLanguageId}${separator}${activeEditorShort}"`

main.rsというファイル名の場合、Rust言語なのでrust - main.rsと表示されるようになります。

VSCode1.108 - ウィンドウタイトルに言語IDが表示できるようになった

エディター体験の改善

ドラッグ&ドロップでプロファイルをインポート

.code-profileファイルを VSCode にドラッグ&ドロップするだけで、インポートできるようになりました。チーム内でのプロファイル共有や、新しい環境のセットアップがこれまでより簡単になります。

では、実際に試してみましょう。
.code-profileファイルを VSCode にドラッグ&ドロップすると、

VSCode1.108 - .code-profileを VSCode にドラッグ&ドロップする

Profiles エディター が開きます。
プロファイルの内容を確認したうえで「作成」ボタンを押下するとインポートできます。

VSCode1.108 - Profiles エディター

操作感は、.code-workspaceファイルをドラッグ&ドロップしてワークスペースを開く場合とほぼ同じです。

パンくずリストのシンボルパスをコピー

Copy Breadcrumbs Pathコマンドを使うと、パンくずリストに表示されているシンボル階層をクリップボードにコピーできるようになりました。
コピーされるのはファイルパスではなく、次の画像の赤枠で示しているAppError.ParseError のような シンボル名の連結結果です。

VSCode1.108 - パンくずリストのシンボル階層が Copy Breadcrumbs Path でコピーできるようになった

Copy Breadcrumbs Pathコマンドは、エディタータブを右クリックした際に表示されるコンテキストメニューから実行できます。

VSCode1.108 - エディタータブを右クリックした際に表示されるコンテキストメニュー

コピーするとAppError.ParseErrorのように、シンボル名は.で区切られてますが、この区切り文字は breadcrumbs.symbolPathSeparator の設定から変更できます。

VSCode1.108 - Copy Breadcrumbs Pathでコピーされるシンボル名の区切り文字はbreadcrumbs.symbolPathSeparatorでカスタマイズできる

注意点

次の画像のように、シンボル階層が存在しないパンくずリストでは、Copy Breadcrumbs Pathコマンドを実行しても、クリップボードには何もコピーされません。

VSCode1.108 - シンボル階層が存在しないパンくずリストでは Copy Breadcrumbs Path コマンドは機能しない

ファイルパスをコピーしたい場合は同じコンテキストメニュー内にある「相対パスのコピー」を使用しましょう。

ワークスペース内シンボル検索で特殊文字をサポート

Go to Symbol in WorkspaceCtrl+T)では、検索クエリに # を含めた場合でも、結果がすべて除外されてしまう問題が解消されました。

この改善により、rust-analyzer などの言語拡張が、シンボル検索時の修飾子として # を正しく利用できるようになります。
たとえば rust-analyzer では、main# のようにクエリの末尾に # を付けることで、現在のワークスペース内にある関数のみを対象に検索できます。

VSCode1.108 - rust-analyzer で作成されたシンボル検索に、#が修飾子として正しく利用できるようになった

VSCode 1.107 以前のバージョンでは、結果がすべて除外されていました。

VSCode1.107 - rust-analyzer で作成されたシンボル検索で、#が修飾子として機能していない

コード編集まわりの改善

新しいスニペット変換

新しく snakecasekebabcase の 2 つのスニペット変換が追加されました。以下はその使用例です。

スネークケースへの変換

prefixfilename_snakeとして下記のようにスニペットを定義します。

"Filename to snake_case": {
  "prefix": "filename_snake",
  "body": [
    "${TM_FILENAME/(.*)/${1:/snakecase}/}"
  ],
  "description": "現在のファイル名を snake_case に変換する"
}

この変換を使うと、ファイル名をスネークケース形式に変換できます。
MyTestFile.txtファイルでfilename_snakeプリフィックスを入力すると、filename_snakeが候補に表示されます。
TABキーで表示された候補を選択するとスネークケースに変換されたファイル名my_test_file.txtが出力されます。

VSCode1.108 - snakecase のスニペット変換を使用してファイル名をスネークケース形式に変換

ケバブケースへの変換

prefixfilename_kebabとして下記のようにスニペットを定義します。

"Filename to kebab-case": {
  "prefix": "filename_kebab",
  "body": [
    "${TM_FILENAME/(.*)/${1:/kebabcase}/}"
  ],
  "description": "現在のファイル名を kebab-case に変換する"
}

この変換を使うと、ファイル名をケバブ形式に変換できます。
MyTestFile.txtファイルでfilename_kebabプリフィックスを入力すると、filename_kebabが候補に表示されます。
TABキーで表示された候補を選択するとケバブケースに変換されたファイル名my-test-file.txtが出力されます。

VSCode1.108 - kebabcase のスニペット変換を使用してファイル名をケバブケース形式に変換

ソース管理まわりの改善

Git Blame 情報の設定

空白変更を除外して Blame を判定

設定: git.blame.ignoreWhitespace
git.blame.ignoreWhitespace を有効にすると、
Git Blame が行の最終更新コミットを判定する際に、空白のみの変更を無視するようになります。

※ Git Blame は、行単位で「最後に触ったコミット」を表示する機能です。

下記の例では、=の前後にスペースのみを入れた修正をスペースを追加のコメントでコミットしています。
git.blame.ignoreWhitespaceが無効だとスペースを追加のコミットが直前の変更として表示されています。

VSCode1.108 - git.blame.ignoreWhitespaceが無効の場合は、空白のみの変更が表示される

git.blame.ignoreWhitespaceを有効にすると、スペースを追加のコミットが無視されその前のコミットが表示されます。

VSCode1.108 - git.blame.ignoreWhitespaceが有効の場合は、空白のみの変更が無視される

この機能により、コードを自動フォーマットした後でも、インデントやスペース調整のコミットではなく、実際にロジックや挙動を変更したコミットを辿れるため、履歴の把握がしやすくなります。

ちなみにGit Blameの表示は、Ctrl + Shift + Pでコマンドパレットを開き、git blameと検索してGit: Toggle Git Blame Editor Decoration(または「Git: Git Blame エディター装飾の切り替え」)を選ぶと表示されます。

VSCode - Git Blame のエディター装飾を切り替える

Git Blame のホバー表示を無効化

設定: git.blame.editorDecoration.disableHover
git.blame.editorDecoration.disableHover を有効にすると、
Git Blame のエディターデコレーションにマウスを重ねたときに表示されるツールチップを非表示にできます。

実際の挙動を確認してみましょう。
まず、git.blame.editorDecoration.disableHover を無効にした状態で、
Blame のエディターデコレーションにマウスをホバーすると、ツールチップが表示されます。

VSCode1.108 - git.blame.editorDecoration.disableHoverが無効だとツールチップが表示される

次に、git.blame.editorDecoration.disableHover を有効にしてみると、
Blame のエディターデコレーションにマウスをホバーしても
ツールチップは表示されなくなります。

VSCode1.108 - git.blame.editorDecoration.disableHoverが有効だとツールチップが非表示になる

この機能は、インラインの blame 表示だけを確認したい場合や、
余計なポップアップを表示せずに編集に集中したい場合に便利です。

エディターを使ったコミットメッセージの作成

以前から、通常のファイル編集と同じフル機能のエディター(COMMIT_EDITMSG) を使って、コミットメッセージを作成 できる機能が提供されていました。

VS Code 1.107 までは、コミットの確定やキャンセルといった操作が
エディタータイトルツールバー右上に配置されており、やや気付きにくい UI となっていました。

VSCode1.107 - コミットの確定やキャンセルがエディタータイトルツールバー右上に配置されている
VSCode 1.107 では右上に配置

VS Code 1.108 では、この操作 UI が見直され、
エディター右下に表示されるオーバーレイボタンへと移動しました。

VSCode1.108 - コミットの確定やキャンセルがエディター右下に表示されるオーバーレイボタンになった
VSCode 1.108 では右下にオーバーレイで配置

これにより、コミットメッセージの入力から確定・キャンセルまでの流れが視覚的に分かりやすくなり、操作の発見性と使いやすさが向上しています。

Source Control Repositories ビューに Worktree 表示を追加(実験的)

設定: scm.repositories.selectionMode
scm.repositories.explorer

VSCode 1.108 では、Source Control Repositories ビューに「Worktrees」ノードが新たに追加されました。

この機能は 実験的なリポジトリエクスプローラーとして提供されています。
以下の2つの設定を有効にすると利用できます。

  • scm.repositories.selectionModesingle に設定
  • scm.repositories.explore を 有効化

VSCode1.108 - Source Control Repositories ビューに「Worktrees」ノードが新たに追加された

これにより、Source Control Repositories ビュー内で、ブランチ・タグ・stash に加えて worktree も一元的に管理できるようになります。

リポジトリが表示されていない場合は、右上の「…」メニューを開き、「リポジトリ」にチェックを入れると表示されるようになります。

VSCode - Source Control Repositories ビューでリポジトリを表示

ターミナルまわりの改善

ターミナル IntelliSense のデフォルト UX 再設計

ターミナルのクイックサジェストやトリガー文字によるサジェスト表示が、熟練者の誤操作を減らすためデフォルトで無効になりました。
今後は Ctrl+Space を押して、明示的にサジェストを呼び出す必要があります。(入力時にサジェスト表示したい場合は、後述する「目」アイコンで有効化できます)

VSCode1.108 - ターミナルのクイックサジェストやトリガー文字でのサジェスト表示が、デフォルトで無効になった

ステータスバーの改善

下部の「ステータスバー」も改善されています。
キーバインド表示されていたものがアイコン化されました。

VSCode1.108 - キーバインド表示されていたものがアイコン化された

以前のようにコマンド入力時にサジェストを表示したい場合は、ステータスバー右側に新たに追加された「目」アイコンをクリックすることで、再度有効にできます。

VSCode1.108 - サジェストを表示したい場合は、「ステータスバー」に新たに追加された「目」アイコンをクリックして再度有効にできる

ステータスバー左側の「Selection Mode」は、サジェスト表示時の TabEnter の挙動を切り替える設定です。
クリックするごとに、次の 3 つのモードを切り替えられます。

  • Selection Mode: Partial (Tab)
    Tab キーのみでサジェストを確定します(従来の挙動に近い)

  • Selection Mode: Always (Tab or Enter)
    Tab または Enter のどちらでも確定できます

  • Selection Mode: None
    Tab / Enter のどちらでも確定しません(誤確定を防ぎたい場合向け)

ヒントの表示

サジェスト表示機能がデフォルトで無効になったため、ターミナルを開いた時にサジェストの表示方法を説明するヒントが表示されるようになっています。

VSCode1.108 - ターミナルを開いた時にサジェストの表示方法を説明するヒントが表示されるようになった

こちらの表示は、「don’t show」をクリックすると恒久的に非表示になります。
再度表示したい場合はterminal.integrated.initialHintの設定を有効化してください。

パフォーマンスと安定性の改善

このリリースでは、ターミナルのパフォーマンスと安定性に関する重要な改善がいくつか行われました。

  • node-pty#831
    macOS / Linux 環境において、大量のテキストを一度に貼り付けた際の挙動が大きく改善されました。
    従来(VS Code 1.107 まで)は、50 文字を超える貼り付けや Copilot による長いコマンド実行時に入力が分割・遅延し、環境によってはターミナル全体が重くなることがありました。
    VS Code 1.108 では、動画右側のように KB〜MB 単位の入力でも一気に処理され、他のターミナルと同様にほぼ即座に反映されます。
    あわせて、同様の操作を繰り返した際に macOS でクラッシュする可能性があった問題も修正されています。

  • vscode#285031 , vscode#285032 , xterm.js#5548 : ターミナルやエディターの動作が重くなる原因となっていた、複数のレイアウトスラッシングの問題を修正しました。
  • vscode#239541 : CommitMono などのフォントをターミナルに設定した際に、特定の条件下で発生していたクラッシュを修正しました。

今後の追記・更新について

本記事では今後も気づいた点や検証できた内容を、スクリーンショット付きで随時追記していく予定です。


スポンサーリンク

もふもふ

プロフィール

著者
もふもふ
プログラマ。汎用系→ゲームエンジニア→Webエンジニア→QAエンジニア。開発からテストまで一通り経験し、実際に詰まった点や検証結果を技術ブログとしてまとめています。