<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>VSCode on 大体動かない</title><link>https://daitai.dev/tags/vscode/</link><description>Recent content in VSCode on 大体動かない</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Thu, 14 May 2026 21:55:46 +0900</lastBuildDate><atom:link href="https://daitai.dev/tags/vscode/index.xml" rel="self" type="application/rss+xml"/><item><title>VS Code 1.120 のターミナル出力圧縮とリスク評価がなかなかよさそう</title><link>https://daitai.dev/posts/vscode-1120-terminal-compress/</link><pubDate>Thu, 14 May 2026 21:55:46 +0900</pubDate><guid>https://daitai.dev/posts/vscode-1120-terminal-compress/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; — VS Code 1.120 でプレビュー追加されたターミナル出力圧縮（&lt;code&gt;chat.tools.compressOutput.enabled&lt;/code&gt;）とリスク評価（&lt;code&gt;chat.tools.riskAssessment.enabled&lt;/code&gt;）。圧縮はコンテキスト管理、リスク評価は実行前の安全確認と役割が違う。特に圧縮は RTK と処理レイヤーが完全に別なので共存できる（らしい）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="何が追加されたか"&gt;何が追加されたか&lt;/h2&gt;
&lt;p&gt;VS Code 1.120 のリリースノートを眺めていたら、エージェント周りで自分の関心をひく機能が 2 つ入っていた。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ターミナル出力の自動圧縮&lt;/strong&gt;と&lt;strong&gt;ターミナルコマンドのリスク評価&lt;/strong&gt;だ。&lt;/p&gt;
&lt;h2 id="ターミナル出力の自動圧縮"&gt;ターミナル出力の自動圧縮&lt;/h2&gt;
&lt;p&gt;設定は &lt;code&gt;Chat › Tools › Compress Output: Enabled&lt;/code&gt;。これはプレビュー。&lt;/p&gt;
&lt;p&gt;Claude さんの解説は以下。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;有効にすると、エージェントがターミナルコマンドを実行したあと、その出力をモデルに送る前に VS Code 側で自動的に削減してくれる。具体的には以下の処理が入る。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git diff&lt;/code&gt; の差分で変更のない部分を折りたたむ&lt;/li&gt;
&lt;li&gt;lockfile や snapshot の差分を丸ごと除外&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -l&lt;/code&gt; をファイル名だけに削減&lt;/li&gt;
&lt;li&gt;&lt;code&gt;npm install&lt;/code&gt; の進捗バー・非推奨警告・audit サマリーを除去&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;圧縮された出力には先頭にバナーが付く。「どのフィルタが適用されたか」「生のテキストが必要なら圧縮を無効にできる」という情報をモデルに伝えるためのやつ。モデルが圧縮済みであることを認識できるのは地味に大事。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;いや、これ RTK と同じじゃね？&lt;/p&gt;
&lt;p&gt;AI を提供している会社のどれかがそのうち自社で実装するかもなー、とか思ってたけど案外早かったな。&lt;/p&gt;
&lt;h2 id="リスク評価"&gt;リスク評価&lt;/h2&gt;
&lt;p&gt;設定は &lt;code&gt;Chat › Tools › Risk Assessment: Enabled&lt;/code&gt;。こちらはエクスペリメンタル。&lt;/p&gt;
&lt;p&gt;おなじみの Claude さんの解説は以下。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;エージェントがターミナルコマンドを実行しようとしたとき、確認ダイアログにリスクバッジと AI 生成の説明が表示されるようになる。バッジは 3 段階。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;バッジ&lt;/th&gt;
 &lt;th&gt;意味&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;🟢 Safe&lt;/td&gt;
 &lt;td&gt;ファイルの読み取りや出力のみ。変更なし&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;🟠 Caution&lt;/td&gt;
 &lt;td&gt;ワークスペースへの変更やネットワーク呼び出しを含む&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;🔴 Review carefully&lt;/td&gt;
 &lt;td&gt;force push や外部への削除など、要注意な操作&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;バッジの横に 1 文のサマリーが出る。「このコマンドが何をするか」を一言で教えてくれるやつ。自動承認の判断材料として使える。&lt;/p&gt;</description></item><item><title>VS Code の Chronicle 機能が結構便利だった</title><link>https://daitai.dev/posts/vscode-chronicle/</link><pubDate>Tue, 12 May 2026 23:34:46 +0900</pubDate><guid>https://daitai.dev/posts/vscode-chronicle/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; — Chronicle は Copilot Chat のチャット履歴をローカルで記録・分析する実験的機能。&lt;code&gt;/chronicle:standup&lt;/code&gt; でその日の作業サマリー、&lt;code&gt;/chronicle:tips&lt;/code&gt; で自分の使い方フィードバックが出せる。これがなかなか良い。Claude にはこういう公式機能はないけど、自宅では QMD で履歴検索は実現してる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;職場で VS Code を使っていて、ふと試してみた機能の話。&lt;/p&gt;
&lt;h2 id="chronicle-とは"&gt;Chronicle とは&lt;/h2&gt;
&lt;p&gt;VS Code v1.118 で実験的に追加された GitHub Copilot Chat の機能。Copilot とのやり取り、編集したファイル、参照した PR や Issue あたりをローカルの SQLite データベースに記録しておいて、あとから振り返ったり分析したりできる。&lt;/p&gt;
&lt;p&gt;で、早速使ってみた。&lt;/p&gt;
&lt;p&gt;有効化は &lt;code&gt;github.copilot.chat.localIndex.enabled&lt;/code&gt; を &lt;code&gt;true&lt;/code&gt; にするだけ。&lt;/p&gt;
&lt;p&gt;GUI の設定じゃないのはまだプレビュー段階だからかな。&lt;/p&gt;
&lt;p&gt;使えるコマンドは主に 3 つ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;/chronicle:standup&lt;/code&gt;&lt;/strong&gt;
過去 24 時間の作業内容をまとめてくれる。「このブランチでこのファイル触って、この PR を参照した」みたいな感じで出てくる。朝会の準備が秒で終わるらしい(使ったことはない)。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;/chronicle:tips&lt;/code&gt;&lt;/strong&gt;
7 日間の使い方を分析して、「お前こういうプロンプトの書き方してるけど、こうしたほうが良くね？」みたいなフィードバックをくれる。自分の癖を指摘してもらえるのがおもしろいし、フィードバックがまあまあためになる。これはよき。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;/chronicle [query]&lt;/code&gt;&lt;/strong&gt;
自然言語で過去の履歴を検索できる。「先週やってたあれ、なんだっけ」が出てくる。&lt;/p&gt;
&lt;h2 id="試してよかったのは-tips"&gt;試してよかったのは tips&lt;/h2&gt;
&lt;p&gt;「同じような質問を繰り返してる」とか「毎回コンテキストを初めから説明してる」みたいな自分のパターンを指摘してくれる。ほう、わかってんじゃねーかこいつ…&lt;/p&gt;
&lt;p&gt;Copilot との対話の仕方に改善余地があると気づかせてくれるのが嬉しい。&lt;/p&gt;
&lt;p&gt;やるじゃん。&lt;/p&gt;
&lt;h2 id="claude-だと"&gt;Claude だと？&lt;/h2&gt;
&lt;p&gt;で、家で使ってる Claude Code でこういう機能があるかというと、公式にはない。
そこんとこどうなんよ？と Claude さんに聞いてみた結果が以下。&lt;/p&gt;</description></item><item><title>mise + linuxbrew 環境で cargo install したバイナリが VSCode に認識されない問題</title><link>https://daitai.dev/posts/cargo-path/</link><pubDate>Tue, 21 Apr 2026 21:36:42 +0900</pubDate><guid>https://daitai.dev/posts/cargo-path/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; — &lt;code&gt;mise&lt;/code&gt; で Rust を管理している環境では &lt;code&gt;.cargo/env&lt;/code&gt; が no-op になる。&lt;code&gt;.profile&lt;/code&gt; で &lt;code&gt;export PATH=&amp;quot;$HOME/.cargo/bin:$PATH&amp;quot;&lt;/code&gt; と無条件に書くのが確実。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://daitai.dev/posts/rtk-copilot-chat/"&gt;前の記事&lt;/a&gt;の &lt;a href="https://github.com/rtk-ai/rtk/issues/1425"&gt;RTK のバグ報告&lt;/a&gt;のために深夜にせこせこやってたんですよ。&lt;/p&gt;
&lt;p&gt;で、&lt;code&gt;cargo install --path .&lt;/code&gt; してローカルのバイナリで確認しようとしたら、Claude Code が旧バイナリを使い続ける。小一時間ハマってイライラしたので記録しておく。&lt;/p&gt;
&lt;h2 id="症状"&gt;症状&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo install --path . &lt;span class="c1"&gt;# ローカル fix 済みバイナリをインストール&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;which rtk &lt;span class="c1"&gt;# → /home/linuxbrew/.linuxbrew/bin/rtk ← 旧バイナリ&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;~/.cargo/bin/rtk&lt;/code&gt; のはずが、linuxbrew の rtk が勝っている。&lt;/p&gt;
&lt;p&gt;なにやっても変わらねぇ…&lt;/p&gt;
&lt;h2 id="調査"&gt;調査&lt;/h2&gt;
&lt;h3 id="path-の順序"&gt;PATH の順序&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1 ~/.local/share/mise/shims
2 /home/linuxbrew/.linuxbrew/bin ← ここで rtk を拾う
...
7 ~/.cargo/bin
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;linuxbrew が &lt;code&gt;.cargo/bin&lt;/code&gt; より前にいるんでよくある単純な PATH 順の問題だろうと甘く見てました。はい。&lt;/p&gt;
&lt;p&gt;そこからはまりまくった。&lt;/p&gt;
&lt;h3 id="bashrc-に追記しても効かない"&gt;.bashrc に追記しても効かない&lt;/h3&gt;
&lt;p&gt;Claude さんのおすすめにより、&lt;code&gt;.bashrc&lt;/code&gt; 末尾に &lt;code&gt;. &amp;quot;$HOME/.cargo/env&amp;quot;&lt;/code&gt; を追記して VSCode を再起動、結果変わらず。そりゃそうだろ。&lt;a href="https://daitai.dev/posts/copilotchat-claudecode-bash/"&gt;前調べた時&lt;/a&gt;って非インタラクティブじゃなかったっけ？&lt;/p&gt;</description></item><item><title>WSL + VSCode Copilot Chat で RTK インストールしたら動かなかった話</title><link>https://daitai.dev/posts/rtk-copilot-chat/</link><pubDate>Tue, 21 Apr 2026 20:34:40 +0900</pubDate><guid>https://daitai.dev/posts/rtk-copilot-chat/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; — RTK のフックが vscode の Copilot Chat では動かない（2つの理由がある）。フックをやめてグローバルインストラクションに &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; の内容を転記すれば Copilot が自発的に &lt;code&gt;rtk&lt;/code&gt; プレフィックスを使うようになった。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;職場の WSL 環境に RTK をインストールして VSCode Copilot Chat と組み合わせようとしたら、フックが全然動かなかった。調査した結果と、現状の対策を書いておく。&lt;/p&gt;
&lt;h2 id="rtk-とは"&gt;RTK とは&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/rtk-ai/rtk"&gt;RTK（Rust Token Killer）&lt;/a&gt; は CLI プロキシで、コマンド出力を 60〜90% 圧縮して AI エージェントのトークン消費を削減するツール。&lt;code&gt;git status&lt;/code&gt; の代わりに &lt;code&gt;rtk git status&lt;/code&gt; を使うと、AI に渡る出力がコンパクトになる。&lt;/p&gt;
&lt;p&gt;前の記事でも紹介したなこれ。書かなくてもいいかと思ったけど一応書いておく。&lt;/p&gt;
&lt;h2 id="rtk-init--g-は-copilot-向けではない"&gt;&lt;code&gt;rtk init -g&lt;/code&gt; は Copilot 向けではない&lt;/h2&gt;
&lt;p&gt;RTK のセットアップで &lt;code&gt;rtk init -g&lt;/code&gt; を実行すると Claude Code 向けのフックしか設置されない。Copilot 向けは &lt;code&gt;--copilot&lt;/code&gt; フラグが必要：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rtk init -g --copilot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ただし &lt;code&gt;-g&lt;/code&gt;（グローバル）をつけても実質プロジェクトスコープで、このコマンドを実行したディレクトリの &lt;code&gt;.github/&lt;/code&gt; 以下に &lt;code&gt;copilot-instructions.md&lt;/code&gt; と &lt;code&gt;hooks/rtk-rewrite.json&lt;/code&gt; が生成される。&lt;/p&gt;</description></item></channel></rss>