<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Extension Troubleshooting on KnightLi Blog</title>
        <link>https://knightli.com/en/tags/extension-troubleshooting/</link>
        <description>Recent content in Extension Troubleshooting on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Wed, 01 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://knightli.com/en/tags/extension-troubleshooting/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>How to Troubleshoot High VS Code CPU Usage Caused by Extensions</title>
        <link>https://knightli.com/en/2026/04/01/vscode-extension-cpu-troubleshooting/</link>
        <pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate>
        
        <guid>https://knightli.com/en/2026/04/01/vscode-extension-cpu-troubleshooting/</guid>
        <description>&lt;p&gt;When VS Code suddenly feels laggy, your fan spins up, and CPU usage stays high, the most common cause is usually not the editor itself, but extension conflicts or abnormal extension behavior.&lt;/p&gt;
&lt;p&gt;This guide gives you a direct, actionable workflow to identify the issue quickly.&lt;/p&gt;
&lt;h2 id=&#34;start-with-the-fastest-method-start-extension-bisect&#34;&gt;Start with the Fastest Method: Start Extension Bisect
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Start Extension Bisect&lt;/code&gt; uses a binary search approach:
in each round, VS Code temporarily disables half of your extensions and restarts. Based on whether the issue still appears, it narrows down the suspect list quickly.&lt;/p&gt;
&lt;p&gt;Steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Press &lt;code&gt;Ctrl+Shift+P&lt;/code&gt; (macOS: &lt;code&gt;Cmd+Shift+P&lt;/code&gt;) to open the Command Palette.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;Start Extension Bisect&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;After each restart, check whether high CPU usage and lag are still present, then choose &lt;code&gt;Good now&lt;/code&gt; or &lt;code&gt;This is bad&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;After several rounds, VS Code will show the likely problematic extension(s).&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;what-to-do-after-you-find-the-suspect&#34;&gt;What to Do After You Find the Suspect
&lt;/h2&gt;&lt;p&gt;Once you identify the extension, handle it in this order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the extension to the latest version.&lt;/li&gt;
&lt;li&gt;If the issue remains, disable it for 1-2 days and observe.&lt;/li&gt;
&lt;li&gt;If alternatives exist, switch to a lighter extension.&lt;/li&gt;
&lt;li&gt;If you must keep it, review advanced settings and disable unnecessary real-time analysis, indexing, or file watching features.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;two-common-amplifiers-you-might-overlook&#34;&gt;Two Common &amp;ldquo;Amplifiers&amp;rdquo; You Might Overlook
&lt;/h2&gt;&lt;p&gt;Even if an extension is the root cause, these settings can amplify CPU load:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Search scope is too broad&lt;br&gt;
If build output, dependency folders, and logs are included in global search, extensions and indexers may stay under continuous heavy load.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;File watching includes huge folders or symlinks&lt;br&gt;
Symlinks, cache directories, and generated folders can trigger large numbers of file events and force extensions to reprocess repeatedly.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can trim scope in &lt;code&gt;settings.json&lt;/code&gt;, for example:&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;postmortem-tip&#34;&gt;Postmortem Tip
&lt;/h2&gt;&lt;p&gt;After isolating the issue, record three things: extension name, trigger scenario, and final fix.&lt;br&gt;
That note will save time when you migrate your environment or rebuild your machine later.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;For high VS Code CPU usage, the most effective path is to use &lt;code&gt;Start Extension Bisect&lt;/code&gt; first, then tighten search and file watching scope.&lt;br&gt;
Locate first, optimize second. It is faster and more reliable than randomly disabling many extensions.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
