<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>開発ツール on KnightLiブログ</title>
        <link>https://www.knightli.com/ja/categories/%E9%96%8B%E7%99%BA%E3%83%84%E3%83%BC%E3%83%AB/</link>
        <description>Recent content in 開発ツール on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Fri, 03 Apr 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://www.knightli.com/ja/categories/%E9%96%8B%E7%99%BA%E3%83%84%E3%83%BC%E3%83%AB/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>CH347 開発用の共通リソースのコレクション: ドライバー、ツール、SPI フラッシュ フラッシュ</title>
        <link>https://www.knightli.com/ja/2026/04/03/ch347-resources-drivers-tools/</link>
        <pubDate>Fri, 03 Apr 2026 10:00:00 +0800</pubDate>
        
        <guid>https://www.knightli.com/ja/2026/04/03/ch347-resources-drivers-tools/</guid>
        <description>&lt;p&gt;この記事では、箱から出してすぐにデバッグとフラッシュを開始できるようにすることを目的として、CH347 を使用するときに最も頻繁に使用する一連のリソースをコンパイルします。&lt;/p&gt;
&lt;p&gt;CH347 を初めて使用する場合は、次の順序で環境を準備することをお勧めします。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;まずは公式商品ページをご覧いただき、記載内容をご確認ください&lt;/li&gt;
&lt;li&gt;目的に応じて対応するドライバーをインストールしてください&lt;/li&gt;
&lt;li&gt;SPI Flash フラッシュ ツールを準備し、接続検証を実行する&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;正式な入り口&#34;&gt;正式な入り口
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;CH347商品ページ：https://www.wch.cn/products/CH347.html&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不明なソースや古いバージョンからドライバー パッケージを入手することを避けるために、最初に公式ページからダウンロード エリアにアクセスすることをお勧めします。&lt;/p&gt;
&lt;h2 id=&#34;よく使用されるドライバー&#34;&gt;よく使用されるドライバー
&lt;/h2&gt;&lt;h3 id=&#34;1-ch341parexe&#34;&gt;1) &lt;code&gt;CH341PAR.EXE&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;使用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;USB to JTAG / SPI / I2C / パラレル ポート / GPIO およびその他のインターフェイス ドライバー&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;該当するシナリオ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;マルチプロトコル通信や低レベルインターフェースのデバッグにCH347を使用する必要がある場合&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-ch343serexe&#34;&gt;2) &lt;code&gt;CH343SER.EXE&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;使用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;USB から高速シリアル ポートへの Windows 製造元のドライバー&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;該当するシナリオ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主に CH347 をシリアル ポート ツールとして使用し、より高いシリアル ポート レートを必要とします。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;spiフラッシュフラッシュツール&#34;&gt;SPIフラッシュフラッシュツール
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;AsProgrammer：https://github.com/nofeletru/UsbAsp-flash&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一般的な用途:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SPI NOR フラッシュの識別&lt;/li&gt;
&lt;li&gt;チップIDの読み取り&lt;/li&gt;
&lt;li&gt;元のファームウェアをバックアップする&lt;/li&gt;
&lt;li&gt;ファームウェアの消去/書き込み/ベリファイ&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;推奨される操作順序-落とし穴を避けるため&#34;&gt;推奨される操作順序 (落とし穴を避けるため)
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;ドライバーのインストール後、デバイスを抜き差しし、デバイスマネージャーを開いて正常に認識されるか確認してください。&lt;/li&gt;
&lt;li&gt;初めてフラッシュする前に、「読み取り + バックアップ」を実行して元のコンテンツを保持します。&lt;/li&gt;
&lt;li&gt;書き込み後は必ずご確認ください。 「書き込みが成功しました」というプロンプトだけを見てはいけません。&lt;/li&gt;
&lt;li&gt;チップが認識できない場合は、電源、レベル、配線を確認し、その後ソフトウェア構成を確認してください。&lt;/li&gt;
&lt;/ol&gt;
</description>
        </item>
        <item>
        <title>FFmpeg の `-map` パラメータの詳細な説明: ビデオ、オーディオ、および字幕ストリームの正確な選択</title>
        <link>https://www.knightli.com/ja/2026/04/02/ffmpeg-map-parameter-guide/</link>
        <pubDate>Thu, 02 Apr 2026 23:14:03 +0800</pubDate>
        
        <guid>https://www.knightli.com/ja/2026/04/02/ffmpeg-map-parameter-guide/</guid>
        <description>&lt;p&gt;マルチオーディオ トラックおよびマルチ字幕ビデオ処理では、&lt;code&gt;-map&lt;/code&gt; は FFmpeg の最も重要で最も誤用されやすいパラメータの 1 つです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-map&lt;/code&gt; を明示的に指定しない場合、FFmpeg はデフォルトのルールに従ってストリームを自動的に選択するため、多くの場合、期待した結果が得られません。例えば：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;エクスポートすると字幕が失われる&lt;/li&gt;
&lt;li&gt;間違ったオーディオトラック言語が選択されました&lt;/li&gt;
&lt;li&gt;不要なデータストリームが混入している&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この記事では、最も一般的なシナリオを使用して、&lt;code&gt;-map&lt;/code&gt; の使用方法を説明します。&lt;/p&gt;
&lt;h2 id=&#34;まずは流れとは何かを理解する&#34;&gt;まずは「流れ」とは何かを理解する
&lt;/h2&gt;&lt;p&gt;通常、コンテナー ファイルには複数のコンテンツ ストリーム (ストリーム) が存在します (&lt;code&gt;mp4&lt;/code&gt;、&lt;code&gt;mkv&lt;/code&gt; など)。一般的なものには次のようなものがあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ビデオストリーミング (&lt;code&gt;v&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;オーディオ ストリーム (&lt;code&gt;a&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;字幕ストリーム (&lt;code&gt;s&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;添付ファイル/データ ストリーム (フォント、表紙、章など)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;まず &lt;code&gt;ffprobe&lt;/code&gt; を使用して、ファイル内にどのようなストリームがあるかを確認できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffprobe -hide_banner input.mkv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;-map-の基本構文&#34;&gt;&lt;code&gt;-map&lt;/code&gt; の基本構文
&lt;/h2&gt;&lt;p&gt;最も一般的な書き方は次のとおりです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-map input_index[:stream_type][:stream_index]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;例えば：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;0:v&lt;/code&gt;: 1 番目の入力ファイルのすべてのビデオ ストリーム&lt;/li&gt;
&lt;li&gt;&lt;code&gt;0:a:0&lt;/code&gt;: 入力ファイル 1 のオーディオ ストリーム 1&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1:s:1&lt;/code&gt;: 2 番目の入力ファイルの 2 番目の字幕ストリーム&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例証します:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;input_index&lt;/code&gt; は &lt;code&gt;0&lt;/code&gt; から始まり、&lt;code&gt;-i&lt;/code&gt; のシーケンスに対応します。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;stream_index&lt;/code&gt; も &lt;code&gt;0&lt;/code&gt; で始まります&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;実践例&#34;&gt;実践例
&lt;/h2&gt;&lt;h3 id=&#34;1-ビデオは-a-から音声は-b-から来ます&#34;&gt;1) ビデオは A から、音声は B から来ます
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i english.mp4 -i french.mp3 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -map 0:v:0 -map 1:a:0 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -c:v copy -c:a aac &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  french.mp4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;意味：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;english.mp4&lt;/code&gt; の最初のビデオ ストリームを取得します&lt;/li&gt;
&lt;li&gt;&lt;code&gt;french.mp3&lt;/code&gt; の最初のオーディオ ストリームを取得します&lt;/li&gt;
&lt;li&gt;結合された出力は &lt;code&gt;french.mp4&lt;/code&gt; です。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-最初の入力のすべてのストリームを保持し追加のオーディオ-トラックを追加します&#34;&gt;2) 最初の入力のすべてのストリームを保持し、追加のオーディオ トラックを追加します。
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i english.mp4 -i french.mp3 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -map &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; -map 1:a:0 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -c copy &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  english-french.mp4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;意味：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-map 0&lt;/code&gt; まず、すべてのストリームを最初の入力ファイルに取り込みます&lt;/li&gt;
&lt;li&gt;2 番目の入力の最初のオーディオ ストリームを追加します&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;非常に実践的な-2-つの高度なテクニック&#34;&gt;非常に実践的な 2 つの高度なテクニック
&lt;/h2&gt;&lt;h3 id=&#34;1-ネガティブ-マッピング-不要なフローを除外します&#34;&gt;1) ネガティブ マッピング: 不要なフローを除外します。
&lt;/h3&gt;&lt;p&gt;たとえば、最初の入力のすべてのストリームを保持しますが、2 番目のオーディオ ストリームを削除します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i input.mkv -map &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; -map -0:a:1 -c copy output.mkv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;2-オプションのマッピング-ストリームは存在せず中断されません&#34;&gt;2) オプションのマッピング: ストリームは存在せず、中断されません。
&lt;/h3&gt;&lt;p&gt;一部のファイルには字幕がない場合があります。その場合は、&lt;code&gt;?&lt;/code&gt; を使用できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i input.mp4 -map 0:v -map 0:a -map 0:s? -c copy output.mp4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;0:s?&lt;/code&gt; は、「字幕がある場合はマップし、字幕がない場合はスキップし、エラーは報告されない」ことを意味します。&lt;/p&gt;
&lt;h2 id=&#34;一般的なピットの位置&#34;&gt;一般的なピットの位置
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;-map&lt;/code&gt; を使用すると、FFmpeg はデフォルトでストリームを自動的に選択しなくなるため、必要なものをすべて書き出す必要があります。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-c copy&lt;/code&gt; は、トランスコーディングを行わずにカプセル化とコピーのみを行います。ターゲット コンテナが特定のエンコーディングをサポートしていない場合でも、失敗します。&lt;/li&gt;
&lt;li&gt;複数の入力を入力するときに最もよくある間違いは、シリアル番号を入力することです。シリアル番号は &lt;code&gt;-i&lt;/code&gt; の順序にのみ依存することに注意してください。&lt;/li&gt;
&lt;li&gt;安定したスクリプトを作成したい場合は、まず &lt;code&gt;ffprobe&lt;/code&gt; を作成し、次に手書きよりも安定した &lt;code&gt;-map&lt;/code&gt; を生成します。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;要約する&#34;&gt;要約する
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;-map&lt;/code&gt; の中核は 1 つの文です。「どの入力から、どのタイプのストリームを取得し、どのストリームを取得するか」を FFmpeg に明確に指示します。&lt;/p&gt;
&lt;p&gt;マスタリング後は、複数のオーディオトラック、複数の字幕、ファイル間の結合などの複雑なシーンを安定して処理できるようになり、「エクスポート結果が間違っているが原因がわからない」という問題を回避できます。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>プラグインによって引き起こされる VS Code の高い CPU 使用率をトラブルシューティングする方法</title>
        <link>https://www.knightli.com/ja/2026/04/01/vscode-extension-cpu-troubleshooting/</link>
        <pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate>
        
        <guid>https://www.knightli.com/ja/2026/04/01/vscode-extension-cpu-troubleshooting/</guid>
        <description>&lt;p&gt;VS Code が突然フリーズしたり、ファンが激しく回転したり、CPU が長時間占有されたりした場合、最も一般的な原因は通常、エディタ自体ではなく、拡張プラグインの競合またはプラグインの異常な動作です。&lt;/p&gt;
&lt;p&gt;この記事では、問題を特定するために最も時間を節約できる方法を優先して、すぐに実行できる一連のトラブルシューティング パスを示します。&lt;/p&gt;
&lt;h2 id=&#34;最初に最速の位置決めを実行します-extension-bisect-を開始します&#34;&gt;最初に最速の位置決めを実行します: Extension Bisect を開始します
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Start Extension Bisect&lt;/code&gt; の核となるアイデアは次の二項対立です。
各ラウンドでは、拡張機能の半分が一時的に無効になり、再起動されます。 「問題がまだ存在するかどうか」というフィードバックを通じて、疑わしいプラグインが見つかるまで範囲がすぐに狭められます。&lt;/p&gt;
&lt;p&gt;操作手順:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Ctrl+Shift+P&lt;/code&gt; (macOS では &lt;code&gt;Cmd+Shift+P&lt;/code&gt;) を押してコマンド パネルを開きます。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Start Extension Bisect&lt;/code&gt; を入力して実行します。&lt;/li&gt;
&lt;li&gt;再起動するたびに、CPU 使用率とフリーズが再発するかどうかを観察します。&lt;/li&gt;
&lt;li&gt;数回繰り返すと、VS Code によって疑わしい拡張機能のリストが表示されます。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;位置決め後に何をするか&#34;&gt;位置決め後に何をするか
&lt;/h2&gt;&lt;p&gt;疑わしいプラグインを見つけたら、次の順序で対処することをお勧めします。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;まずプラグインを最新バージョンに更新してください。&lt;/li&gt;
&lt;li&gt;改善が見られない場合は、プラグインを一時的に無効にして 1 ～ 2 日間観察してください。&lt;/li&gt;
&lt;li&gt;置き換え可能な機能を持つプラグインについては、より軽量なソリューションへの置き換えが優先されます。&lt;/li&gt;
&lt;li&gt;このプラグインを使用する必要がある場合は、その詳細設定を確認し、不要なリアルタイム分析、インデックス作成、または監視機能をオフにしてください。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;見落とされがちな2つの増幅器&#34;&gt;見落とされがちな2つの「増幅器」
&lt;/h2&gt;&lt;p&gt;主な原因がプラグインである場合でも、次の構成により CPU の問題が増幅されます。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;検索範囲が大きすぎます&lt;br&gt;
たとえば、ビルド製品、依存関係ディレクトリ、ログ ディレクトリをグローバル検索に含めると、引き続きプラグインとファイル インデックスに高い負荷がかかります。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ファイル監視には大きなディレクトリまたはソフト リンクが含まれています&lt;br&gt;
ソフト リンク、キャッシュ ディレクトリ、および自動生成されたディレクトリは、簡単に多数のファイル イベントをトリガーし、拡張機能が繰り返し動作する可能性があります。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ディレクトリは、&lt;code&gt;settings.json&lt;/code&gt; で適切に除外できます。たとえば、次のようになります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;search.exclude&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;**/node_modules&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;**/dist&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;**/build&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;files.watcherExclude&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;**/.git/objects/**&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;**/node_modules/**&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;**/dist/**&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;提案をレビューする&#34;&gt;提案をレビューする
&lt;/h2&gt;&lt;p&gt;問題のあるプラグインを見つけた場合は、プラグイン名、トリガーとなるシナリオ、最終的な処理方法の 3 つの情報を記録することをお勧めします。&lt;br&gt;
このようにして、次回環境を移行するかシステムを再インストールするときに、同様の問題をすぐに回避できます。&lt;/p&gt;
&lt;h2 id=&#34;要約する&#34;&gt;要約する
&lt;/h2&gt;&lt;p&gt;VS Code の高い CPU 使用率をトラブルシューティングするには、最初に &lt;code&gt;Start Extension Bisect&lt;/code&gt; を使用して迅速に特定し、次に検索範囲とファイル監視範囲を組み合わせて収束させるのが最も効果的です。&lt;br&gt;
最初に配置を決めてから最適化する方が、「多数のプラグインをやみくもに無効にする」よりも時間を節約でき、安定性も高くなります。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
