<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by golang学习记 on Medium]]></title>
        <description><![CDATA[Stories by golang学习记 on Medium]]></description>
        <link>https://medium.com/@2084267015?source=rss-844c6602f269------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*R18RSqVgIFu3rArpt2KUKw.png</url>
            <title>Stories by golang学习记 on Medium</title>
            <link>https://medium.com/@2084267015?source=rss-844c6602f269------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 05 Nov 2026 07:25:36 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@2084267015/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Rust-Powered IntelliJ IDEA Officially Dropped]]></title>
            <link>https://medium.com/@2084267015/rust-powered-intellij-idea-officially-dropped-b8f5c6fcc5e1?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/b8f5c6fcc5e1</guid>
            <category><![CDATA[rust]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[intellij-idea]]></category>
            <category><![CDATA[productivity]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Tue, 03 Nov 2026 12:16:11 GMT</pubDate>
            <atom:updated>2026-11-03T12:16:11.965Z</atom:updated>
            <content:encoded><![CDATA[<h3>Weighing a Programmer’s “Age”: When You Open a Project, Does Your Fan Sound Like a Helicopter Taking Off?</h3><p>As someone who has spent years in the Java ecosystem, my relationship with IntelliJ IDEA is incredibly complicated. It truly gets me — its keymaps, its global search, its tool windows, are all ingrained in my muscle memory. But it’s also <em>heavy</em>. Every time I click that colorful little icon, I have to go brew a cup of coffee first. When the screen shows “Indexing…” and the progress bar crawls along, my 32GB of RAM seems to let out a desperate wail.</p><p>I often fantasize: What if IDEA could be as fast as lightning, like Zed or Alacritty?</p><p>Well, now this fantasy has been monetized (well, open-sourced) by a project called <strong>OpenIDEA</strong>.</p><h3>🚀 “The IDE You Know and Love, Rewritten in Rust”</h3><p>OpenIDEA has already racked up over 400 stars on GitHub just one week after open-sourcing.</p><p>Its ambition is incredibly bold: <strong>to port IntelliJ IDEA’s way of working (keymaps, tool windows, global search) exactly as it is, into a native application written in Rust and built on top of Tauri.</strong></p><p>In short, it wants to give you a replacement that “looks like IDEA, but runs like C.” You might think it’s just a VS Code clone with a new skin? No, it’s actually rewriting the wheel from scratch with Rust.</p><h3>📊 The Official “Brutal” Benchmark</h3><p>To prove it’s not just bluffing, the developer released a set of absolutely devastating benchmark comparisons (tested on a Python project called freqtrade containing 770 files).</p><p>Look at these brutal numbers (note the comparison target is IDEA 2026.2.3):</p><ul><li><strong>Opening the project window</strong>: OpenIDEA takes <strong>0.9 seconds</strong>, IDEA takes 3.1 seconds.</li><li><strong>Fully Ready (CPU stable)</strong>: OpenIDEA takes <strong>1.1 seconds</strong>, IDEA takes 13.2 seconds.</li><li><strong>Memory Usage (USS)</strong>: OpenIDEA takes a mere <strong>169 MB</strong>, while IDEA spikes to <strong>2011 MB</strong>.</li><li><strong>Quitting the app</strong>: OpenIDEA quits instantly (<strong>0.3s</strong>), IDEA takes 5.9 seconds.</li></ul><p>Looking at this data, I can only say: <strong>This isn’t optimization; this is dragging IDEA across the coals.</strong> What does 169MB of memory even mean? You probably use more than 169MB just opening a single webpage right now. Yet it carries a complete IDE with an editor, debugger, Git, terminal, and even a database client.</p><p>Out of curiosity, I downloaded OpenIDEA and used it for an afternoon, and the results were genuinely impressive.</p><p>For example, my most frequently used “Double Shift”:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*34-gPQkJmNCm9G-B.png" /></figure><p>Autocomplete from the LSP, which honestly feels even better than IDEA:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*CgnlFWbz8wafUUmW.png" /></figure><p>Finding where a symbol is used, almost exactly like IDEA:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*zZyqSlsNsfr4_5IG.png" /></figure><p>Running tests, with the familiar green button:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/785/0*onmlfvPIFgU7_J5p.png" /></figure><p>Breakpoint debugging, the experience is exactly the same as IDEA:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*TrTOTGMn6sA8_xHV.png" /></figure><p>It also has a terminal and an HTTP client. It’s worth noting that the HTTP client is usually a feature reserved for the paid version of IDEA, but OpenIDEA includes it — truly a kind gesture.</p><h3>🛠️ How Did They Do It?</h3><p>Looking at its codebase, you’ll find it’s a modern “Frankenstein” of tech:</p><ul><li><strong>Rust (33.9%)</strong>: Handles core logic and performance-sensitive parts.</li><li><strong>TypeScript (62%)</strong>: Handles UI and frontend interaction.</li><li><strong>Tauri Framework</strong>: Uses the system’s native WebView instead of the bloated Electron (yes, I’m looking at you, VS Code).</li></ul><p>It even supports over 60 languages, has built-in terminal themes (like Solarized and One series), and includes oxfmt and oxlint—the ridiculously fast next-gen frontend toolchains. The funniest part? If you look at the contributor list, nestled among the human developers is an AI named @claude.</p><h3>💡 Should You Ditch Your IDEA?</h3><p>Don’t rush. OpenIDEA is currently only at v0.1.22. Despite its 437 stars, it still has a long way to go before becoming a mature productivity tool. Its biggest significance right now is sending a wake-up call to JetBrains: <strong>In today&#39;s world of being squeezed by AI and lightweight editors from both sides, you can&#39;t just rest on your laurels by being &quot;heavy&quot; and &quot;memory-hungry.&quot;</strong></p><p>If you love IDEA’s shortcuts but are fed up with its startup speed, go clone l0ng-ai/openidea from GitHub and give it a try. After all, watching an open-source project use Rust to completely flip the script on a commercial giant—that&#39;s a &quot;spectator&quot; thrill unique to programmers that&#39;s hard to resist.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b8f5c6fcc5e1" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[10x Lighter Than VS Code: JetBrains Open-Sources a Brand New AI IDE]]></title>
            <link>https://medium.com/@2084267015/10x-lighter-than-vs-code-jetbrains-open-sources-a-brand-new-ai-ide-81ab80a95731?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/81ab80a95731</guid>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Sat, 31 Oct 2026 03:37:07 GMT</pubDate>
            <atom:updated>2026-10-31T03:37:07.268Z</atom:updated>
            <content:encoded><![CDATA[<p>If you’ve used Cursor or the VS Code Agent, you’ve probably suffered through this: the AI goes on a wild coding spree, your main repository gets completely mangled, and when things inevitably break, you’re scrambling to revert everything. It feels like hiring a temp worker to renovate your house — they finish the job, leave a massive mess behind, and you’re the one who has to clean it up.</p><p>A few days ago, JetBrains launched a brand new AI IDE called <strong>ThinkRail</strong>, attempting a completely different approach to solve the pain points of Agent-driven development.</p><p>Unlike JetBrains’ previous AI tool “Air,” which was built on the heavy IntelliJ platform, ThinkRail is actually lightweight. The editor core is built directly on <strong>Monaco</strong> (the engine behind VS Code), and the underlying architecture is powered by a coding Agent engine called pi. The UI is just a thin shell. It doesn&#39;t secretly stitch together Prompts; model management, session compression, and tool orchestration are all handled by pi.</p><p>It’s also not like IDEA, where AI is treated as just another plugin. In ThinkRail, <strong>AI is the true protagonist.</strong></p><p>The most brilliant trick up its sleeve is <strong>Git worktree isolation</strong>. Traditional AI IDEs read and write code directly in your current working directory. If the Agent screws up, it directly corrupts your source code. ThinkRail creates a new, independent Git worktree for every Agent task, complete with its own dedicated branch and runtime directory.</p><p>Let’s take a look at this brand new IDE.</p><p>Even though it’s just been released, ThinkRail already supports installation on Windows, macOS, and Linux. You can download and install it from GitHub or their official site at thinkrail.ai.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/934/0*jVMfd2KOTdCzNByo.png" /></figure><p>After installing it, I realized how truly lightweight ThinkRail is — only about 40MB. Compared to VS Code’s 400MB+, it’s 10 times lighter.</p><p>Next, we arrive at the ThinkRail homepage.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ecWpyZrA2-4QaIn0.png" /></figure><p>It’s the first time I’ve seen an AI IDE this clean — just a single “Open Project” button right in the middle.</p><p>After opening a project, you’ll see this interface:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Tr-xlbtRCmQcIv2i.png" /></figure><p>Next, you can click on “Default.” This represents the default workspace, which embodies the main feature mentioned earlier: <strong>one workspace = one Git worktree.</strong></p><p>Once you click it, you’ll see the following interface:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*xF5aYYb8ExBW3XN_.png" /></figure><p>The core area is the chat, which is where you talk to the AI. Before you start chatting, you need to configure a provider.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*QbhBH-bFKBmMPDcE.png" /></figure><p>It also supports OpenRouter, allowing you to use free API keys. If you have a DeepSeek API key, you can just copy and paste it in to use.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/965/0*pdFAusr6pEWiE9yV.png" /></figure><p>Here is how I configured it with DeepSeek:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/996/0*_NLXJOBD7RI1Pk0X.png" /></figure><p>At the very bottom is the familiar terminal.</p><p>On the far right, there are sections for “spec” and “AI changes.” The “spec” part highlights ThinkRail’s main push: <strong>spec-driven development.</strong></p><p>Click the file icon on the right, and the project files will appear.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/629/0*Am7pdL_DY-fcCrHC.png" /></figure><p>We can also select a chunk of code to bring up an inline chat, similar to the VS Code Agent.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/828/0*ATUym-5HP-RYM10N.png" /></figure><p>Clicking “Command Palette” brings up the familiar command palette from VS Code.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1017/0*g_0SHPOpx1k664wP.png" /></figure><p>If you want to develop a new feature, you can click “Default” in the top left corner to add a new workspace.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/740/0*oSOhUQ0Gsf97iE7s.png" /></figure><p>Just like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/890/0*1kNjbk8QJxAJmfJ5.png" /></figure><p>It implemented it very quickly.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*uscoXJ78pgDS2rqj.png" /></figure><p>Click “Review turn” to see the changes made this time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/953/0*qxtfSrg_Dd0iOTsj.png" /></figure><p>Of course, it’s currently an incubated preview project under the InnovationHub. It’s not meant to replace official products like IDEA or PyCharm. It focuses on a browser-based UI, but also offers desktop installers for Windows/macOS/Linux. It’s completely open-source under the Apache-2.0 license.</p><p>Compared to the sea of AI editors on the market: others focus on the editor and treat AI as an add-on plugin. ThinkRail flips the script: <strong>the Agent is the core, and the editor is merely a window for you to watch the Agent work.</strong></p><p>Whether it can outrun Cursor and Zed remains to be seen, but the design philosophy of “don’t let the Agent pollute the main codebase” has already struck a chord with the real pain points of many developers.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=81ab80a95731" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Just Now，VS Code’s Website Got a Silent Update]]></title>
            <link>https://medium.com/@2084267015/just-now-vs-codes-website-got-a-silent-update-d085d7f92be7?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/d085d7f92be7</guid>
            <category><![CDATA[vscode]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Sat, 31 Oct 2026 03:29:14 GMT</pubDate>
            <atom:updated>2026-10-31T03:29:14.338Z</atom:updated>
            <content:encoded><![CDATA[<p>Let me ask you a soul-searching question: How long has it been since you actually <em>looked</em> at the VS Code official website?</p><p>For veteran netizens like me, code.visualstudio.com is like the refrigerator at home—as long as it still keeps things cold (or in this case, still lets me download the installer), I couldn&#39;t care less if the exterior has turned yellow.</p><p>I open VS Code every day, but I rarely visit its official website. Usually, I only go there to check the docs or read the latest release notes.</p><p>A few days ago, I dropped by to look up a keyboard shortcut, and I froze on the spot: <strong>Is this still the dark, “straight-male-aesthetic” website I used to know?</strong></p><p>This update was completely silent. No official announcement, no option to revert to the old version — they just swapped it out on you. But after taking a closer look, I genuinely don’t want to go back.</p><p>Here is what changed.</p><h3>1. No More Getting Blinded: Seamless Light/Dark Mode</h3><p>The old website was a bit “aloof,” defaulting to a light background. Staring at it during the day felt like making your eyes work overtime. Sure, there was a moon icon to switch to dark mode, but it felt like an afterthought.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/448/0*dnkutb4AQc97isaq.png" /></figure><p>Now, the new version <strong>natively follows your system’s light/dark theme</strong>. The little sun/moon toggle in the top right is gone — it just adapts.</p><p>Personally, I prefer setting my system to dark mode.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*o_Gx8Vnay8Ypt9r9.png" /></figure><p>And here is what the new homepage looks like:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*2ZVCk9ZbdHfeZ5q7.png" /></figure><p>Not only that, but the entire UI has become more rounded, with more whitespace. The large banner screenshots have been replaced with more refined versions. It used to look like a rough manual; now, it has a hint of Apple-like lightweight elegance.</p><h3>2. Saving the “Archaeologists”: The Blog Finally Has an Archive</h3><p>In the past, if I wanted to find a deep-dive article on VS Code written six months ago, clicking into the blog would just throw me straight to the latest post. <strong>Where did the old articles go? The answer: lost at sea.</strong> No directory, no list — digging through history was more painful than writing Assembly.</p><p>The new version rolls out an <strong>independent blog homepage</strong>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*XsCE8zw200bpoZ9X.png" /></figure><p>And it uses a card-based layout:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*yY09Q0ADHQddXZik.png" /></figure><p>However, VS Code opted not to use pagination to display the articles, which I’m personally not a huge fan of.</p><h3>3. Documentation Navigation: AI Finally Finds a Home</h3><p>This is the best part for those who write tutorials or frequently read the docs.</p><p>Previously, reading the documentation meant dealing with a sidebar where languages and plugin development categories were all piled up. It was densely packed, and finding something felt like playing a game of “spot the difference.” As for AI-related content? It was scattered all over the place, here, there, and everywhere.</p><p>The new version puts sub-modules like documentation into the “Resource” tab:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/795/0*B-fDEmefBAbhhZ6K.png" /></figure><p>The left-hand directory is much clearer now:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/367/0*TZiIl2HXh8ANN3Ms.png" /></figure><p>Finding things is much clearer now — follow the trail, and you won’t get lost.</p><h3>4. The Features Page</h3><p>The old website didn’t have a Features page. In the new version, it’s placed directly in the first tab on the left.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/468/0*sd-oicfR45AWzc9h.png" /></figure><p>You can see that VS Code is being very smart here. It divides its features into two blocks: one is AI development, and the other is the traditional editor. It even dropped the word “code” from the title.</p><p>Let’s start with the editor part, which we are all most familiar with.</p><p>Here is the homepage for it:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*QSBlGiuM4RDYY-DS.png" /></figure><p>It emphasizes the fundamental capabilities of using VS Code for editing: Edit, Build, Debug.</p><p>Then it specifically highlights the most commonly used features:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*rxAASEfFPAlcTdEq.png" /></figure><p>It also specifically mentions the terminal later on:</p><h3>5. The Soul-Searching Question: What is the Homepage Actually Selling?</h3><p>If you compare the copywriting of the new and old homepages, you’ll realize that VS Code’s “persona” has completely changed.</p><p>The <strong>old version</strong> used to say: “Look, I’m lightweight, I’m open-source, I’m an AI code editor.” The <strong>new version</strong> slaps its face right on the screen: “Look, I have Multi-agent, I have Copilot, I am the ultimate AI coding workbench!”</p><p>AI has gone from being a secondary selling point to taking center stage. The download button has also become incredibly prominent, fixed in the top right corner, as if they’re terrified you won’t find it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/778/0*YWuW2iIvj_ZYiX-H.png" /></figure><p>The other block is dedicated to agents, which is a key section for VS Code:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*JmFoXzWhZfy_9a6c.png" /></figure><p>The three main stars in here are the Agents window, the Terminal, and the Editor window, which takes third place:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/856/0*Q88LlaUJ_c6_nAUB.png" /></figure><p>Finally, it’s worth highlighting the newly added global search. Click the search button to search across all content on the VS Code website:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/508/0*16bD3WQ4d26C1h8q.png" /></figure><p>VS Code uses a tool called <strong>docfind</strong> for search. Even if you misspell a word, it can still locate the document. It’s incredibly useful.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/918/0*AN-AvXuYatpGthGe.png" /></figure><h3>Summary: From “Editor” to “AI Workbench”</h3><p>What hasn’t changed is the domain — it’s still code.visualstudio.com, and the download link and Marketplace are all still there.</p><p>But its soul has evolved. <strong>The old website was a pure “code editor website,” while the new website has completely transformed into an “AI intelligent coding workbench website.”</strong></p><p>Moreover, the overall structure is much clearer, making it easier for VS Code users to understand the product.</p><p>If you have some free time, I highly recommend taking a stroll through the new website. After all, even Microsoft itself is saying that if you can’t write a couple of prompts nowadays, you shouldn’t even call yourself a programmer.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d085d7f92be7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The 10 Most Popular Claude Code Skills on GitHub]]></title>
            <link>https://medium.com/@2084267015/the-10-most-popular-claude-code-skills-on-github-d8b8ca6d0c83?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/d8b8ca6d0c83</guid>
            <category><![CDATA[skills]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[claude-code]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Thu, 29 Oct 2026 14:27:34 GMT</pubDate>
            <atom:updated>2026-10-29T14:27:34.600Z</atom:updated>
            <content:encoded><![CDATA[<p>What is the most desperate moment in a programmer’s life?</p><p>It’s not encountering an unreproducible bug. It’s spending an entire afternoon teaching AI how to write a perfect regular expression, only to start a new session the next day and have it look at you like an amnesiac idiot, asking: <em>“Excuse me, what is a regex?”</em></p><p>Large language models are incredibly smart, but their memory lasts about seven seconds. To turn Claude Code into a “veteran driver” who actually understands your quirks and remembers your codebase conventions, open-source wizards invented something called <strong>Skills</strong>. Simply put, it’s giving the AI a “cheat sheet” and “muscle memory.”</p><p>Recently, someone ranked the <strong>Top 10 Claude Code Skills</strong> on GitHub by Star count. Let’s start from the bottom and take a reverse climb to see just how hard humanity is working to teach AI how to code.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ulW_lGid5yikBtgB.png" /></figure><h3>🔟 #10: Taste Skill (103.7k Stars)</h3><p>“Taste” is inherently a mysterious, almost philosophical concept. AI-generated code often reeks of mass production — messy formatting, and variables named a, b, and c. This skill attempts to forcefully inject some &quot;aesthetic sense&quot; into the AI, so the code it writes at least looks like a human wrote it. Just look at those 100k+ stars; it shows how desperately we all crave for AI to have a little taste.</p><h3>9️⃣ #9: Agent Skills (110.8k Stars)</h3><p>The name couldn’t be more straightforward. It probably grants Claude more powerful autonomous agent capabilities, allowing it not just to answer your questions, but to plan tasks, call tools, and execute complex workflows on its own. It’s essentially installing an “autopilot” system for the AI.</p><h3>8️⃣ #8: Caveman (115.5k Stars)</h3><p>The “Caveman” skill pack? The name alone paints a vivid picture. Maybe its purpose is to simplify complex requirements, or make the AI solve problems in the most direct, brute-force way — like a caveman. In today’s world of over-engineered code, sometimes we really need a bit of “back to basics.”</p><h3>7️⃣ #7: Graphify (136.8k Stars)</h3><p>The name suggests it’s related to graphs. It likely helps the AI better understand the dependency relationships within complex codebases, preventing it from accidentally deleting parts of the code you didn’t ask it to touch during a refactor. With this, the AI’s “big picture” awareness gets a significant boost.</p><h3>6️⃣ #6: UI UX Pro Max (141.6k Stars)</h3><p>This one absolutely deserves a mention! Every time you ask AI to write a frontend page, it always produces an interface filled with purple gradients, centered cards, and a soulless “AI vibe.” This skill pack is probably designed to rescue AI from its suffocating aesthetic sense, finally making the generated pages look like something a real designer created.</p><h3>5️⃣ 5: PonyTail (177.1k Stars)</h3><p>A playful name. Ponytail doesn’t make the AI lazy; it forces the AI to <em>“think clearly first, then act, and stop writing nonsense.”</em> It has only one rule: write only what the task truly requires, and never cut corners on validation, error handling, security, or accessibility. (It is essentially the “lazy senior developer” persona that gets straight to the point).</p><h3>4️⃣ 4: Anthropic Skills (184.5k Stars)</h3><p>The official golden child finally makes its appearance. No matter how fierce the community creations are, deep down, everyone still feels that officially certified Skills are the safest and most reliable. This is likely the native capability extension pack provided by Anthropic for Claude Code — a must-install “foundation.”</p><h3>🥉 3: Karpathy Skills (224.7k Stars)</h3><p>Andrej Karpathy, former AI Director at Tesla and a leading figure in the LLM world. Feeding his skill pack to the AI is like hiring a top Silicon Valley mentor to constantly whisper in your ear: <em>“Bro, this line of code you wrote is a bit anti-human.”</em> The code taste of a tech titan is always the hardest currency.</p><h3>🥈 2: Matt Pocock Skills (304.9k Stars)</h3><p>Who is Matt Pocock? He is a god in the TypeScript community. This skill pack ranking #2 proves one absolute truth: <strong>The world has suffered long enough from TypeScript’s “type gymnastics.”</strong> Obviously, everyone is sick of AI writing any or inferring types incorrectly. Feeding the grandmaster&#39;s TS skills directly to the AI is the only way to go.</p><h3>🏆1: Superpowers (307.4k Stars)</h3><p>The name sounds like injecting AI with a super serum. Managing to slightly edge out Matt Pocock to take the crown, it is currently the most comprehensive and hardcore all-around foundational capability pack. Everyone wants the AI to learn its “basic internal martial arts” first before venturing into the world.</p><h3>💡 Why are Skills so popular?</h3><p>Because the competition among AI IDEs has shifted from “whose model is stronger” to “who understands engineering better.”</p><p>Everyone is using Claude 5.5 Sonnet or GPT-6; the raw model capabilities have leveled out. But if you equip Claude with the <em>Clean Code</em> Skill, the code it writes will be cleaner than yours. If you equip it with your company’s code conventions Skill, it becomes your pair-programming veteran instantly.</p><p>It’s like playing an RPG. Originally, everyone was a naked starter character. Now, others not only have legendary gear (Skills) but also chugged buff potions. If you are still manually writing Prompts for the AI, you might as well be rubbing sticks together to make a fire in the Stone Age.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d8b8ca6d0c83" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The 8 Native AI IDEs You Must Know in 2026: A Brutally Honest Ranking]]></title>
            <link>https://medium.com/@2084267015/the-8-native-ai-ides-you-must-know-in-2026-a-brutally-honest-ranking-efbe7f23ef8d?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/efbe7f23ef8d</guid>
            <category><![CDATA[cursor-ai]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[claude-code]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ai-agent]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Tue, 27 Oct 2026 14:10:19 GMT</pubDate>
            <atom:updated>2026-10-27T14:10:19.708Z</atom:updated>
            <content:encoded><![CDATA[<p>If there is one thing we are desperately short of in 2026, it’s tokens. But the one thing we absolutely do not lack is AI IDEs. It feels like every few months, dozens of new AI products pop up, and you can bet at least one of them is an “AI-native IDE.”</p><p>In 2026, the market is flooded with products slapping the “AI IDE” label on themselves — more than there are drinks in a convenience store. But when it comes down to it, the ones that can actually put up a fight can be counted on one hand.</p><p>Below is my personal ranking, sorted from “Meh” to “Absolute Banger” (from bottom to top). It’s purely my personal bias. If you disagree, come fight me in the comments.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*_Fvf5_AEgPsZ1UTo.png" /></figure><h3>1. Kiro: AWS’s Golden Child, But Way Too “By the Book”</h3><p><strong>“Meh” Index: ⭐⭐⭐⭐</strong></p><p>Kiro is the “Spec-driven” IDE pushed by AWS. Sounds fancy, right? It requires you to write a specification document first, and then let the AI generate code based on that spec. The ideal is beautiful: high code quality and excellent edge-case handling. The reality is brutal: <strong>I just want to quickly fix a bug, and you want me to write a PRD first?</strong></p><p>Its multi-model routing (you can choose Claude, GPT, or DeepSeek) is genuinely generous, and the free tier is quite forgiving. But that default setting where “all Shell commands require approval” makes impatient people want to smash their keyboards. It’s suitable for enterprise teams with suffocatingly strict processes. For individual developers, it feels more like a strict homeroom teacher than a handy tool.</p><h3>2. Google Antigravity: Big Ambitions, Rough Edges</h3><p><strong>“Meh” Index: ⭐⭐⭐</strong></p><p>Made by Google, so it must be… hold your horses. Antigravity’s biggest selling point is <strong>multi-agent parallelism</strong>. You can run several agents simultaneously in one interface doing different tasks, and watch their planning, screenshots, or even browser recordings through “Artifacts.” Sounds like sci-fi.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*dNVdzi-Gzr19BCDr.png" /></figure><p>But in practice, you’ll find yourself spending most of your time <strong>writing more precise prompts</strong>. Users have reported that the AI sometimes genuinely needs “extra precise instructions” to get things done, and you still have to manually review every single suggestion. The free tier’s model lineup is luxurious (Gemini, Claude, GPT-OSS), but that feeling of “wanting to do everything but falling slightly short on all of them” leaves you with mixed feelings.</p><h3>3. Devin Desktop (formerly Windsurf): Changed the Name, Same Average Output</h3><p><strong>“Meh” Index: ⭐⭐⭐</strong></p><p>Cognition renamed Windsurf to Devin Desktop, and their ambition is clear: they don’t just want to be an editor; they want to be an <strong>Agent Command Center</strong>. The Kanban-style agent dashboard is genuinely useful — you can see different agents working at different stages without scrolling endlessly through chat logs.</p><p>The problem, however, lies in the <strong>output quality</strong>. An evaluator asked it to build a website for a residential builder, and the result was “functional, but not impressive,” lacking polish in layout and copywriting. The default SWE-1.6 model performs averagely. If you are looking for “one-click generation of high-quality apps,” you might be disappointed. It feels more like a management tool than a creation tool.</p><h3>4. Zed AI: Blazing Fast, But AI is Just an “Add-on”</h3><p><strong>“Meh” Index: ⭐⭐⭐⭐</strong></p><p>Zed’s core is built with Rust + GPU rendering, and its speed in opening massive projects absolutely crushes VS Code — official data shows 0.25 to 0.6 seconds compared to VS Code’s 1.3 to 3.8 seconds. That 120 FPS scrolling experience? Once you try it, there’s no going back.</p><p>Its AI capabilities are mainly integrated through the <strong>ACP protocol</strong> to connect external agents (Claude, Codex, Copilot). This means you can run multiple agents simultaneously in Zed, each working independently. But frankly, Zed’s own native AI Agent capabilities are <strong>not as aggressive as Cursor or Claude Code</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/372/0*IgQkwhtWZ44L7TQh.png" /></figure><p>It is an exceptionally brilliant editor that happens to have an AI interface. If you pursue the ultimate editing experience, Zed is the top choice; if you pursue the ultimate AI capabilities, it might not be the answer.</p><h3>5. Cursor: The Master of Balance, But a Bit “Heavy”</h3><p><strong>“Banger” Index: ⭐⭐⭐⭐</strong></p><p>Cursor is the kind of choice where “you can’t find any major faults.” Built on the VS Code foundation, you can import your configs with one click, resulting in a zero learning curve. Its Agent mode can autonomously plan and implement features across files, and cloud sub-agents can run tasks in parallel on independent VMs. The TAB autocomplete experience remains top-tier.</p><p>But it has two long-standing issues: <strong>It’s expensive</strong>, and <strong>it’s resource-hungry</strong>. Third-party models (Claude, GPT) go through API billing, which hurts your wallet. And as a “modded” version of VS Code, it inherited the heavy Electron genes. It is currently the safest “all-rounder,” but that feeling of “good at everything, excellent at nothing” keeps it from reaching true “Banger” status.</p><p><em>(If you aren’t a fan of Cursor’s style, you can also just use VS Code’s native agent, which is a solid alternative.)</em></p><h3>6. GitHub Copilot: The Omnipresent “Honest Guy”</h3><p><strong>“Banger” Index: ⭐⭐⭐⭐</strong></p><p>Copilot’s advantage isn’t being the “strongest,” but being the <strong>most widespread</strong>. It’s available in VS Code, JetBrains, Visual Studio, Neovim, Xcode, and even SQL Server Management Studio. If your team is deeply integrated into the GitHub ecosystem, Copilot’s Agent can start directly from an Issue, run tests in a GitHub Actions sandbox, and open a PR without ever touching your local machine.</p><p>The free tier gives you 2,000 completions and 50 advanced requests per month — enough for casual users. However, its Agent capabilities are more conservative compared to Cursor and Claude Code. It won’t give you surprises, but it rarely gives you jump scares either. Enterprise-grade security compliance and IP indemnification are its thickest moats.</p><h3>7. OpenAI Codex: The King of Cost-Effectiveness, But Don’t Expect a “Soul”</h3><p><strong>“Banger” Index: ⭐⭐⭐⭐⭐</strong></p><p>Codex might not be the number one in benchmarks — Claude Code + Sonnet 5.5 scores 68 on the Coding Agent Index, while Codex + GPT-6.1 scores 63. But look at the <strong>cost</strong>: Codex averages <strong>$1.04</strong> and 15.5 minutes to complete a task; Claude Code takes <strong>$14.19</strong> and 1.5 hours.</p><p>What does this mean? It means you can let Codex try, fail, and retry. Ten attempts with Codex cost less than three-quarters of a single attempt with Claude Code. It uses GPT-6.1 Sol with extremely low token consumption (3.2M vs Claude’s 27.7M). If you want to <strong>efficiently and cost-effectively complete clear tasks</strong>, Codex is the most rational choice for 2026. It doesn’t philosophize with you; it just works.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/474/0*jRFXOJjXYVTfCp6N.png" /></figure><h3>8. Claude Code: Expensive, But It Genuinely “Understands”</h3><p><strong>“Banger” Index: ⭐⭐⭐⭐⭐</strong></p><p>I put Claude Code in the top spot, not because it wins in every single category. It’s expensive — averaging $14 per task, over ten times that of Codex. It’s slow — 1.5 hours per task is enough time for a meal and a nap.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/636/0*8pQovgAnnUyYLepr.png" /></figure><p>But when you encounter tasks that <strong>require a genuine understanding of the codebase, spanning a dozen files, and handling complex business logic</strong>, Claude Code’s reasoning depth and task persistence are currently unmatched by other tools. It can stay focused during a long session and won’t forget what it’s doing halfway through. A user once commented that its recommendations “surface proactively, rather than waiting for you to ask.”</p><p>The answer might just be that Claude Code is the fastest-evolving AI IDE of them all.</p><p>If you treat an AI IDE as a <strong>cheap typist</strong>, choose Codex. If you treat it as a <strong>senior engineer who can hold their own</strong>, choose Claude Code. You get what you pay for — especially when you’re so frustrated with other tools that you want to smash your computer.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=efbe7f23ef8d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Turn Zed IDE Into a Distraction-Free Canvas]]></title>
            <link>https://medium.com/@2084267015/how-to-turn-zed-ide-into-a-distraction-free-canvas-36463de06599?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/36463de06599</guid>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[zed]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Mon, 26 Oct 2026 13:50:11 GMT</pubDate>
            <atom:updated>2026-10-26T13:50:11.896Z</atom:updated>
            <content:encoded><![CDATA[<p>Zed has a killer feature up its sleeve: <strong>fine-grained control over every single UI component.</strong></p><p>Today, we are going to take this a step further. We’re going to clean house. Using just the settings.json file, we will strip away every non-essential element to achieve the ultimate, distraction-free, code-only immersive environment.</p><p>Here is the complete configuration snippet we’ll be adding:</p><pre>// Title Bar Configuration<br>&quot;title_bar&quot;: {<br>  &quot;show_onboarding_banner&quot;: false,<br>  &quot;show_project_items&quot;: false,<br>  &quot;show_branch_name&quot;: false,<br>  &quot;show_user_menu&quot;: false<br>},<br>// Tab Bar<br>&quot;tab_bar&quot;: {<br>  &quot;show&quot;: false<br>},<br>// Top Toolbar<br>&quot;toolbar&quot;: {<br>  &quot;quick_actions&quot;: false<br>},<br>// Bottom Status Bar<br>&quot;status_bar&quot;: {<br>  &quot;experimental.show&quot;: false<br>},<br>// Project Panel (File Tree)<br>&quot;project_panel&quot;: {<br>  &quot;dock&quot;: &quot;right&quot;,<br>  &quot;default_width&quot;: 400,<br>  &quot;hide_root&quot;: true,<br>  &quot;auto_fold_dirs&quot;: false,<br>  &quot;starts_open&quot;: false,<br>  &quot;git_status&quot;: false,<br>  &quot;sticky_scroll&quot;: false,<br>  &quot;scrollbar&quot;: {<br>    &quot;show&quot;: &quot;never&quot;<br>  },<br>  &quot;indent_guides&quot;: {<br>    &quot;show&quot;: &quot;never&quot;<br>  }<br>},<br>// Outline Panel<br>&quot;outline_panel&quot;: {<br>  &quot;default_width&quot;: 300,<br>  &quot;indent_guides&quot;: {<br>    &quot;show&quot;: &quot;never&quot;<br>  }<br>}</pre><p>Let’s break down what each of these configurations actually does and how it transforms your workspace.</p><h3>1. title_bar: Clearing the Clutter</h3><pre>&quot;title_bar&quot;: {<br>  &quot;show_onboarding_banner&quot;: false,<br>  &quot;show_project_items&quot;: false,<br>  &quot;show_branch_name&quot;: false,<br>  &quot;show_user_menu&quot;: false<br>}</pre><ul><li>show_onboarding_banner: Disables the welcome banner so you don&#39;t get those newbie prompts every time you open a project.</li><li>show_project_items: Hides the project name in the title bar.</li><li>show_branch_name: Hides the current Git branch. (If you hate glancing at the branch name constantly, turn this off).</li><li>show_user_menu: Hides your user profile avatar in the top right corner.</li></ul><p><strong>Result:</strong> The title bar retains only the native OS window controls, ditching Zed’s built-in project, branch, and user info. It looks exceptionally clean.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/985/0*7PfUApnEuqtz-Cms.png" /></figure><p>User Info:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/401/0*xOOL46IzFIqf2Qlc.png" /></figure><h3>2. tab_bar: The Ultimate Immersion</h3><pre>&quot;tab_bar&quot;: {<br>  &quot;show&quot;: false<br>}</pre><p>This is the favorite configuration for immersion lovers. It completely disables the top file tab bar.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/940/0*ov8aHYtI8PO7AaCS.png" /></figure><blockquote><strong><em>The Shift in Workflow:</em></strong><em> You no longer use your mouse to click and switch tabs. Instead, you transition to a pure keyboard-driven workflow: use </em><em>Ctrl+P to quickly find files, and </em><em>Ctrl+Tab to jump between recent files. Perfect for heavy keyboard users.</em></blockquote><h3>3. toolbar: Removing Quick Actions</h3><pre>&quot;toolbar&quot;: {<br>  &quot;quick_actions&quot;: false<br>}</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/509/0*Ywu02chneWMN_85V.png" /></figure><p>This hides the shortcut buttons just below the title bar, such as Git operations and AI assistant shortcuts. Fewer clickable buttons mean a less scattered interface.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/356/0*38AZVu7ZR_kxxA2s.png" /></figure><h3>4. status_bar: Blanking the Bottom</h3><pre>&quot;status_bar&quot;: {<br>  &quot;experimental.show&quot;: false<br>}</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/575/0*iAVtIrCRl8L3mqWL.png" /></figure><p>The status bar usually displays line/column numbers, LSP status, and Git status. By disabling it, the bottom of your screen becomes completely blank, maximizing your screen real estate for actual code.</p><h3>5. project_panel: The Minimalist File Tree</h3><pre>&quot;project_panel&quot;: {<br>  &quot;dock&quot;: &quot;right&quot;,<br>  &quot;default_width&quot;: 400,<br>  &quot;hide_root&quot;: true,<br>  &quot;auto_fold_dirs&quot;: false,<br>  &quot;starts_open&quot;: false,<br>  &quot;git_status&quot;: false,<br>  &quot;sticky_scroll&quot;: false,<br>  &quot;scrollbar&quot;: {<br>    &quot;show&quot;: &quot;never&quot;<br>  },<br>  &quot;indent_guides&quot;: {<br>    &quot;show&quot;: &quot;never&quot;<br>  }<br>}</pre><ul><li>dock: &quot;right&quot;: Moves the file tree to the right side of the editor (unlike VS Code&#39;s default left alignment).</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/436/0*BFgRXbdaKQx2q-IR.png" /></figure><ul><li>default_width: 400: Sets the default width to 400px.</li><li>hide_root: true: Hides the top-level project root folder, displaying files directly. This eliminates one layer of visual nesting.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/461/0*YsxHAVf-6YJkpNIT.png" /></figure><ul><li>Effect after hiding:</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/380/0*KEHY7kOv21S9wys2.png" /></figure><ul><li>starts_open: false: The file tree is closed by default when you launch Zed. Summon it only when needed.</li><li>git_status: false: Removes the color-coded Git markers (added/modified) from the file tree.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*h0d4-7X_gYp0aAM3.png" /></figure><ul><li>After turning it off, your Git-modified files will look just like unmodified ones.</li><li>sticky_scroll: false: Disables sticky directory headers when scrolling.</li><li>scrollbar.show: &quot;never&quot;: Permanently hides the file tree scrollbar (use your mouse wheel).</li><li>indent_guides.show: &quot;never&quot;: Hides the directory indent guide lines.</li></ul><p><strong>Result:</strong> The file tree itself is lightweight. It doesn’t start by default, has no scrollbars, no indent lines, and no Git markers. It only appears when manually summoned.</p><h3>6. outline_panel: Stripping Down the Outline</h3><p>The outline panel is displayed by default.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*1ePYzP-YYEkqaWIA.png" /></figure><pre>&quot;outline_panel&quot;: {<br>  &quot;default_width&quot;: 300,<br>  &quot;indent_guides&quot;: {<br>    &quot;show&quot;: &quot;never&quot;<br>  }<br>}</pre><p>This panel displays the functions, classes, and variables of the current file. Here, we disable the indent guides to maintain the minimalist style consistent with the file tree. The default width is set to 300px.</p><h3>Bonus Tip: Resizing the File Finder</h3><p>One last thing worth mentioning is that you can customize the size of the File Finder (Command Palette) pop-up.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/575/0*x3ITjC0j7k65y6vj.png" /></figure><p>Personally, I prefer the xlarge layout for a more spacious look.</p><h3>The Philosophy Behind This UI Purification</h3><p>The core philosophy of this configuration is simple: <strong>Hide all panels by default, summon them on demand, and remove all decorative lines and markers.</strong></p><p>The interface is left with only the main code editor area, almost entirely devoid of UI elements.</p><ul><li><strong>Switch files:</strong> Ctrl+P</li><li><strong>Open file tree:</strong> Ctrl+B</li><li><strong>Open outline:</strong> Ctrl+Shift+O</li></ul><p>It is a completely keyboard-driven workflow. By reducing mouse usage, your visual focus remains entirely on the code.</p><h3>Zed vs. VS Code: The UI Control Battle</h3><p>VS Code has relatively weak native control over its UI elements:</p><ol><li>You can’t easily hide the Tab bar without relying on plugins.</li><li>You can’t natively close the Status bar; it also requires plugins.</li><li>Scrollbars, indent guides, and Git markers in the file tree have very limited native control.</li></ol><p>Zed, on the other hand, bakes all these UI toggles directly into settings.json. You don&#39;t need any extensions. It natively supports fine-grained control, and changes take effect instantly without restarting the editor. This is a major reason why many developers seeking a minimalist interface are flocking to Zed.</p><h3>Final Thoughts</h3><p>If the previous theme_overrides article was about <strong>&quot;painting,&quot;</strong> this article is about <strong>&quot;spring cleaning.&quot;</strong></p><p>Zed natively provides incredibly delicate UI toggles. We can hide tabs, status bars, redundant buttons, and auxiliary lines to create a coding canvas with almost zero redundancy.</p><p>This extreme minimalist mode is perfect for developers who don’t want to be distracted by UI elements while writing code. By shifting all panels from “always-on” to “on-demand,” you pivot entirely to a keyboard-driven development flow. Yes, there is a learning curve — you need to memorize basic shortcuts — but once you get used to it, your level of coding immersion will increase dramatically.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=36463de06599" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[VS Code New Power Feature:Reopen bulk-closed Editor]]></title>
            <link>https://medium.com/@2084267015/vs-code-new-power-feature-reopen-bulk-closed-editor-334bdb0ebc34?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/334bdb0ebc34</guid>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[vscode]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[tips-and-tricks]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Sat, 24 Oct 2026 08:07:54 GMT</pubDate>
            <atom:updated>2026-10-24T08:07:54.047Z</atom:updated>
            <content:encoded><![CDATA[<p>What is the most desperate moment in a programmer’s life?</p><p>It’s not accidentally dropping the production database. It’s not forgetting to git commit before a major refactor. It’s when you are juggling a dozen files—frantically jumping between logic, styles, and config files—and your finger slips. You accidentally click <strong>“Close Others.”</strong></p><p>Staring at the suddenly empty, barren wasteland of your tab bar, you take a deep breath and console yourself: <em>“It’s fine. I’ll just hit </em><em>Ctrl+Z to undo… oh wait, no, I need to hit </em><em>Ctrl+Shift+T (Reopen Closed Editor) to bring them back.”</em></p><p>So, you press it once. One file returns. You press it again. A second file appears. You press it a third time. A third file is back…</p><p>If you just closed 15 files, congratulations. You now need to act like a human typewriter, mashing the shortcut a dozen times in a row, all while praying you don’t accidentally hit the wrong key combination and mess up the sequence. It feels exactly like dropping a stack of coins on the floor and having to squat down to pick them up one by one. It’s a massive waste of energy, and frankly, it’s terrible for your mental health.</p><p>Well, this “anti-human” experience has finally been slain by a recent VS Code update.</p><p>The VS Code team has completely overhauled the file history service: <strong>“Reopen Closed Editor” now supports bulk operations!</strong></p><p>Simply put, if you use a destructive, screen-clearing action like “Close All” or “Close Others” to wipe out N files, you now only need to press Ctrl+Shift+T <strong>once</strong>. All N files will return to your screen in a group, in the exact order they were closed. It perfectly recreates your workspace from right before you slipped up.</p><p>Let’s take a look at the magic in action:</p><p>Use the shortcut Ctrl+K, M (Close All) to close everything:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/884/0*5x_EI9ohCYjE9btf.png" /></figure><p>Now it’s completely empty.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*SyoSQDBboXh1YnAG.png" /></figure><p>Then press Ctrl+Shift+T, and instantly, all the closed tabs are restored one by one:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/924/0*xLmfCT6k4kanPrE4.png" /></figure><h3>🧠 How does it work under the hood? (The Programmer’s Magic)</h3><p>It sounds simple, but the underlying implementation is quite delicate. How does the editor know if you “closed a bunch at once” versus “closed them one by one manually”?</p><p>The VS Code team introduced a brilliant mechanism: the <strong>Batch ID (</strong><strong>batchId)</strong>.</p><p>In the code, every file closure is tagged. If several files are closed within the same “synchronous turn,” they share the same batchId, meaning they are treated as a single &quot;batch.&quot; Once the timeline moves to the next &quot;microtask,&quot; the batch resets.</p><p>This allows the system to accurately distinguish between “bulk close” and “single close,” while preserving the original index and “sticky state” of each file at the lower level.</p><h3>🎉 The End of “Memory Game” Overtime</h3><p>Although the code change for this feature isn’t massive, the exponential boost it brings to daily developer happiness is huge. It rescues countless developers who have panicked and spammed shortcuts after accidentally hitting “Close All.”</p><p>Now, your undo capabilities finally match the speed of your clumsy fingers. No matter how many files you impulsively close, a single shortcut brings the entire army marching right back. After all, a programmer’s time should be spent writing bugs, not practicing the one-finger typing technique on keyboard shortcuts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=334bdb0ebc34" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[So Good News，Go 1.28 Finally Introduces Inferred Composite Literals: A Proposal That Took 11 Years]]></title>
            <link>https://medium.com/@2084267015/so-good-news-go-1-28-finally-introduces-inferred-composite-literals-a-proposal-that-took-11-years-e9b253bd4475?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/e9b253bd4475</guid>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[google]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[golang]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Sat, 24 Oct 2026 03:51:59 GMT</pubDate>
            <atom:updated>2026-10-24T03:51:59.969Z</atom:updated>
            <content:encoded><![CDATA[<p>If you’re a gopher who has been writing Go for a long time, you’ve definitely had this frustrating moment: the compiler knows exactly what type you need to fill in, but you still have to repeatedly type out long, verbose type names.</p><p>For example, with massive structs generated by protobuf, deeply nested configuration objects, or anonymous structs used for one-off parameter passing — half of your code is just repeating type names. It feels like doing meaningless manual labor.</p><p>Now, Go 1.28 is bringing us a famous proposal that has been lying dormant since 2015, discussed for a full 11 years: <strong>Type inferred composite literals</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ycaESsDi_wxRlju5.png" /></figure><p>This means: <strong>as long as the context can clearly infer the target type, you can directly delete the type name before the composite literal and just keep the braces and content.</strong></p><p>For many developers willing to type less, this is definitely a cause for celebration, because we’ve spent countless hours on this issue.</p><h3>✅ Let’s Look at the Comparison First</h3><p><strong>Old syntax (Go 1.27 and earlier, forced to write full types):</strong></p><pre>type Point struct {X,Y int}<br>var p Point<br>p = Point{1, 2}</pre><pre>var plist []Point<br>plist = []Point{p, Point{3,4}}</pre><pre>// Protobuf nightmare, copying long type names repeatedly<br>p.Options = append(p.Options, &amp;foopb.Foo_FrotzOptions_Option{Value: 123})</pre><p><strong>New syntax (Go 1.28):</strong></p><pre>type Point struct {X,Y int}<br>var p Point<br>p = {1, 2} // Equivalent to Point{1,2}</pre><pre>var plist []Point<br>plist = {p, {3, 4}} // Equivalent to []Point{p, Point{3,4}}</pre><pre>// Protobuf scenario ecstasy, no more pasting giant pb type names<br>p.Options = append(p.Options, {Value:123})</pre><p>Maps, nested slices, nested structs, function parameters, channel sends, and returns are all supported:</p><pre>map[string]Point{&quot;orig&quot;: {0,0}}</pre><pre>// Function parameters can directly use {}, anonymous struct parameters are great<br>func Foo(args struct{A,B,C int}) {}<br>Foo({A:1,B:2,C:3})</pre><pre>// Return scenario, saying goodbye to repeating struct types<br>return {}, err</pre><p>But there is an ironclad rule, which is also the red line many care about most: <strong>there must be context!</strong></p><p>The following two lines are illegal, and the compiler will directly throw an error:</p><pre>q := {1, 2} // ❌ No! := has no pre-specified target type, the compiler can&#39;t guess what this is<br>var r Point = ({1, 2}) // ❌ Parentheses aren&#39;t recognized for this</pre><p><strong>The left side/target location must already be fixed to a type, then you can be lazy and only write </strong><strong>{}; without a &quot;target expectation,&quot; you cannot write bare </strong><strong>{1,2}.</strong></p><p>Also note that this new feature does not yet apply to generic scenarios, for example:</p><pre>package main</pre><pre>type Foo[T any] struct {<br>	A int<br>	B T<br>}</pre><pre>func main() {<br>	hello({<br>		A: 42,<br>		B: &quot;hi&quot;, // cannot use &quot;hi&quot; (untyped string constant) as T value in struct literal<br>	})<br>}</pre><pre>func hello[T any](f Foo[T]) {}</pre><h3>🕰️ Why Did This Proposal Take 11 Years?</h3><p>Many people’s first reaction: such a great syntax, why was it proposed in 2015 but didn’t land until Go 1.28? There’s a very classic Go team dilemma hidden here.</p><p>Back in 2015, when it was first proposed, the Go team <strong>had actually tried to do exactly this before the Go 1 release, and then actively rolled it back and cut it</strong>.</p><p>adg (a Go core member) said at the time: <strong>overall, it tended to make the code less readable on balance.</strong></p><p>Go’s design philosophy has always been: <strong>better to type a few more characters than to ensure the code reads without ambiguity.</strong> Go has always been wary of “implicit inference” and “syntactic sugar” bringing reading traps.</p><p>The biggest concern back then was ambiguity. Someone in the comments threw out the soul-searching question:</p><pre>const A = &quot;A&quot;<br>var m map[string]int<br>m = {A:1}</pre><pre>var x struct { A int }<br>x = {A:1}</pre><p>The exact same {A:1} could be either a map or a struct. <strong>Looking at the code in isolation, you can&#39;t immediately tell what it is.</strong></p><p>This was the biggest controversy: typing less on the keyboard, but adding cognitive burden for the person reading the code. The Go team at the time felt the trade-off wasn’t worth it, so it was shelved.</p><p>So why pick it up now?</p><p>Years of community practice have revealed a lot of high-frequency pain points:</p><ol><li>Protobuf generates massive nested structs, pasting long type names everywhere makes the code bloated, and readability is actually ruined by the long type names.</li><li>One-off anonymous struct parameters in functions are meant for bulk parameter passing; repeating types is very verbose.</li><li>The high-frequency template of return struct + err, where return {}, err is very clean.</li><li>Existing Go already supports some literal omission rules; this just unifies and extends the rules, making the language rules themselves more self-consistent.</li></ol><p>A netizen’s perspective is very profound, and I think it’s also the core reason that ultimately convinced the Go team:</p><blockquote><em>Simplicity is a double-edged sword. It can both enhance clarity and reduce it. We can’t stop bad programmers from writing unreadable code, but we shouldn’t add burden to good people writing clear code just to prevent bad code.</em></blockquote><p><strong>Bad people who want to write confusing code will always find a thousand ways; you can’t deprive good people of the tools to simplify clean code just because someone might abuse the syntax.</strong></p><h3>💬 The Community Is Split: Classic Views from Both Sides</h3><p>This proposal sparked heated comments among gophers, a famous debate arena in Go history. Both sides have very representative views. It’s clear many love this new feature, and many equally oppose it.</p><h3>✅ Supporters (Ecstatic Faction)</h3><ul><li>Developers writing protobuf or heavily nested structs: this is a lifesaver. Previously, nested three or four levels deep in pb structs, literals were stinky and long.</li><li>Developers writing tools, business functions, or heavily returning structs: return {}, err, ch &lt;- {val: &quot;xx&quot;} feels great, removing noise.</li><li>People who like lightweight tuple-style writing: Go doesn’t have native tuples, but this feature gives a lightweight tuple experience. Foo({A:1,B:2}) looks clean.</li></ul><h3>⚠️ Opponents/Cautious Faction (Conservative Faction, also representatives of old-school Go thought)</h3><ol><li><strong>Readability disaster theory</strong>: Looking at a single line {A:1,B:2} out of context, you have no idea if it&#39;s a struct, map, or slice. Newcomers reading code have to scroll up to find the type.</li><li>Increases language complexity: Go’s proud simple syntax adds another set of rules, remembering when it can be omitted and when it can’t, raising the learning barrier for beginners.</li><li>Ambiguity risks: The {A:1} ambiguity that minux raised back then still exists today; the team just considers the risk manageable &quot;as long as there&#39;s clear context.&quot;</li></ol><p>There’s also an interesting neutral view: calling this feature “untyped composite literal” is actually misleading. “Untyped” has a strict definition in Go. It’s not fundamentally an untyped literal; it just <strong>extends the positions where types are allowed to be omitted</strong>. It’s an extension of existing rules, not something entirely new. This view also influenced the spec wording of the final released version.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e9b253bd4475" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why I Uninstalled Ghostty for Rex With Claude Code After a Week]]></title>
            <link>https://medium.com/@2084267015/why-i-uninstalled-ghostty-for-rex-with-claude-code-after-a-week-232cf1e1c04d?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/232cf1e1c04d</guid>
            <category><![CDATA[claude-code]]></category>
            <category><![CDATA[terminal]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Thu, 22 Oct 2026 14:24:05 GMT</pubDate>
            <atom:updated>2026-10-22T14:24:05.095Z</atom:updated>
            <content:encoded><![CDATA[<p>The terminal world is buzzing. I was recently scrolling around and stumbled upon a new kid on the block: <strong>Rex</strong>. I’ve been playing with it for a week, and I actually uninstalled Ghostty (which had been my daily driver for a long time). I have to say, it completely reimagines what a modern terminal should be.</p><p>In my personal experience, Rex feels like a massive upgrade in terms of experience, texture, and capabilities: persistent sessions, smooth low-latency remote connections, program execution status displays, and a highly aesthetic UI.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*wTF5Szkcv2GKL2oH.png" /></figure><p>Many people are wondering: Ghostty is already fast enough. What problem is Rex actually trying to solve?</p><p>Whether it’s Alacritty or Ghostty, their core focus has been on rendering performance, fonts, and refresh rates. Essentially, they are still just “beefed-up black boxes.” Command outputs are just plain text; JSON logs and error stacks are just a bunch of characters with zero interactivity.</p><p>Rex’s approach is completely different. Developed by Superlogical, it’s currently in public Beta and positions itself as a <strong>“sentient terminal.”</strong> It understands the structured information in command outputs, automatically identifying errors, file paths, Git status, and JSON data. Content is no longer a rigid block of text; you can click to jump, fold, and preview. It is built for AI-driven development workflows from the ground up, making it an absolute perfect match for Claude Code.</p><p>When using Claude Code daily, a lot of interactions get stuck in the terminal: AI provides a fix, executes a command, outputs logs, and we have to switch windows back and forth just to copy content. Rex breaks down this barrier. It understands the current session context. When you run Claude Code inside it, the terminal recognizes the AI’s output, error links can jump directly to code files with one click, and long outputs are automatically structured and formatted. No more squinting through endless logs to find the key information.</p><p>Let’s feel what it’s like to use Claude Code inside Rex.</p><p><strong>Step 1: Enter the </strong><strong>claude command.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ZNXszwdpz0Tnwq8a.png" /></figure><p><strong>Entering the familiar Claude Code interface.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*wVPNb9AQIW_jKLRO.png" /></figure><p><strong>Next, we can click the split-screen button in the top right corner.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*t4P_p4HOruSyUFbc.png" /></figure><p><strong>The design here feels a lot like splitting the screen in VS Code.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*VuWcvLs5AN2Y8XKV.png" /></figure><p><strong>Enter the </strong><strong>claude command again, and now you have two Claude Codes running on the same screen.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/661/0*4vTOU7BSGB4Ox5wS.png" /></figure><p>This “cloning” ability is actually not natively available in the Claude Code CLI. You usually have to open another terminal window and type claude, which introduces the highly annoying window-switching fatigue.</p><p>What’s even better is Rex’s management of multiple Claudes. Click the three dots to the right of the Claude Code tab, and you’ll see a list of multiple Claude Code sessions, with “done” indicating the current task is complete.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/777/0*KYGhjisn-7NxbNEG.png" /></figure><p><strong>Click the eye icon in the top right corner to customize the interface layout.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/554/0*ijFJhjoHgHXJ1p8i.png" /></figure><p><strong>You can change horizontal tabs to a vertical layout. This experience is truly creative for developers.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*lud5Akd3oa7xybbV.png" /></figure><p><strong>Even with this layout, you can still monitor the status of multiple Claudes.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*CshBx2EcS-O_un1f.png" /></figure><p>In the past, building and running software spanned across local machines, remote hosts, sandboxes, services, and production environments. The execution modes varied: manual interactive operations by developers, automated executions by CI and background processes, and increasingly, parallel working AI agents.</p><p>These tasks are inherently connected, but the sheer diversity of today’s tools fractures them into isolated systems. Interactive tools default to human-facing UI; automated tasks drown in a sea of tasks and logs; and once deployed to production, they are isolated behind entirely different systems and access controls.</p><p>The rise of AI has amplified the pain and cost of this fragmentation, but AI didn’t cause it. For decades, system operations, CI, remote development, and team collaboration have been chipping away at these fractured boundaries.</p><p>Powerful AI tools like Claude Code have, to some extent, actually solved this fragmentation, allowing software building to be done through a unified entry point and natural language.</p><p>That said, let’s throw some cold water: Rex is currently in testing, prioritizing macOS support. To experience it, you need to go to the Superlogical official website, subscribe to the email list, and get a Beta invite. The ecosystem is still being polished, so don’t expect it to replace your main terminal immediately.</p><p>Fun fact: Rex’s author, Mitchell Hashimoto, is also the author of Ghostty.</p><p>If Ghostty is “the fastest terminal,” then Rex is positioned as the “terminal workbench for the AI era.” As coding agents like Claude Code become more ubiquitous, the terminal shouldn’t just be responsible for running commands. Rex shows us a new possibility: the terminal is both a command-line carrier and an interaction hub between AI assistants and code.</p><p>The terminal racetrack has finished competing on speed. Now, it’s starting to compete on intelligence.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=232cf1e1c04d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[10 Must-Have VS Code Extensions for Python Developers That Saved Me 10+ Hours A Week]]></title>
            <link>https://medium.com/@2084267015/10-must-have-vs-code-extensions-for-python-developers-that-saved-me-10-hours-a-week-665a4618034f?source=rss-844c6602f269------2</link>
            <guid isPermaLink="false">https://medium.com/p/665a4618034f</guid>
            <category><![CDATA[vscode]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[python-programming]]></category>
            <dc:creator><![CDATA[golang学习记]]></dc:creator>
            <pubDate>Tue, 20 Oct 2026 14:40:03 GMT</pubDate>
            <atom:updated>2026-10-20T14:40:03.166Z</atom:updated>
            <content:encoded><![CDATA[<h3>🎯 Introduction: A Workman Must Sharpen His Tools First</h3><p>As a Python developer, have you ever experienced these scenarios?</p><ul><li>You’re coding at lightning speed, but the formatting is a mess.</li><li>You’ve imported a bunch of libraries but can’t remember their names.</li><li>You’ve spent ages debugging only to find a missing bracket.</li><li>You’re writing documentation and start questioning your life choices…</li></ul><p>Don’t panic! Today, I’m sharing <strong>10 VS Code Python extensions</strong> that I’ve personally tested. They’ll more than double your efficiency! 🚀</p><h3>🏆 The Top 10 Must-Install Extensions</h3><h3>1️⃣ Python (by Microsoft) — Official and Excellent</h3><p>This is the official Python extension from Microsoft, and it’s incredibly comprehensive:</p><pre># Feature list:<br>✅ Linting (Pylint/Flake8)<br>✅ Debugging (without leaving the editor)<br>✅ IntelliSense<br>✅ Jupyter Notebook support<br>✅ One-click Python environment switching</pre><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: This is the foundation, like rice — you’ll starve without it, and you need it to do anything else!</em></blockquote><h3>2️⃣ Pylance — Blazing-Fast Type Checking</h3><p>This is the official successor to Pyright, so fast it’ll make your head spin:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*icd9FnzEaGT7Jcgx.png" /></figure><pre># Core features:<br> Smart type completion (faster than you can think)<br>📚 Auto-import missing modules<br>💬 Hover to see docs and type info<br>🔍 Quick symbol definition lookup<br>📝 Auto-sort imports per PEP8</pre><p><strong>Real-world scenario:</strong></p><pre># When you type &#39;pd.&#39;, Pylance instantly pops up:<br>DataFrame    Series    read_csv    read_excel...<br># And shows type hints automatically. Sweet!</pre><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: Used to be I’d take a sip of coffee waiting for completions. Now… they appear before I even react!</em></blockquote><h3>3️⃣ Visual Studio IntelliCode — AI-Powered Intelligence</h3><p>While the Python extension has IntelliSense, this <strong>AI-enhanced version</strong> is on another level:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*J9P0rnmTQi9BHmNM.png" /></figure><pre># After AI scans your code:<br>- Recommends the most likely functions to use<br>- Sorts intelligently based on context<br>- 30%+ higher accuracy than the basic version</pre><p><strong>Comparison:</strong></p><pre># Basic version:<br>requests.get()  # Ranked 5th</pre><pre># IntelliCode:<br>requests.get()  # Ranked 1st! Because AI knows you use it often</pre><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: It’s like having a veteran who knows your next move… a bit scary, but oh so good!</em></blockquote><h3>4️⃣ Sort Lines — A Blessing for the OCD</h3><p>Imported a chaotic pile of libraries? One click to sort, and everything feels right with the world:</p><pre># Before:<br>import os<br>import sys<br>import numpy as np<br>import pandas as pd<br>import json</pre><pre># After Sort Lines:<br>import json<br>import numpy as np<br>import os<br>import pandas as pd<br>import sys<br># World peace 🕊️</pre><p><strong>Supports 12 sorting methods:</strong></p><ul><li>Alphabetical (case-sensitive/insensitive)</li><li>By line length</li><li>Natural sort (smart number grouping)</li><li>Deduplication, random shuffle…</li></ul><p><strong>Shortcut</strong>: Cmd + Shift + P → Type Sort Lines</p><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: My favorite is </em><em>Natural sort. It won&#39;t put </em><em>pandas2 after </em><em>pandas10, and I appreciate that!</em></blockquote><h3>5️⃣ Black Formatter — The Unifier of Code Formatting</h3><p>Black is the most popular formatting tool in the Python world, and this extension integrates it seamlessly into VS Code:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*bcOKjrIL5z5o6dEG.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*tR83uQxGJNv4e5BF.png" /></figure><pre>// settings.json configuration:<br>{<br>  &quot;[python]&quot;: {<br>    &quot;editor.defaultFormatter&quot;: &quot;ms-python.black-formatter&quot;<br>  }<br>}</pre><p><strong>Benefits:</strong></p><ul><li>✅ Compliant with PEP8</li><li>✅ Consistent team code style</li><li>✅ Saves PR discussion time (“Your spacing is wrong!”)</li><li>✅ Auto-format on save</li></ul><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: Our team used to argue for half an hour over 2 vs. 4 spaces. Now… Black decides!</em></blockquote><h3>6️⃣ Indent Rainbow — Colorful Indentation</h3><p>Python relies on indentation for syntax, and this extension gives it a rainbow glow:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/686/0*XpS-Lnf1p0kyp16v.png" /></figure><pre>def my_function():        # Level 1 - Blue<br>    if condition:         # Level 2 - Green<br>        for i in range(10):  # Level 3 - Pink<br>            print(i)      # Level 4 - Cyan<br>            # See the hierarchy at a glance!</pre><p><strong>Custom colors:</strong></p><pre>{<br>  &quot;indentRainbow.colors&quot;: [<br>    &quot;rgba(255,255,64,0.07)&quot;,<br>    &quot;rgba(127,255,127,0.07)&quot;,<br>    &quot;rgba(255,127,255,0.07)&quot;,<br>    &quot;rgba(79,236,236,0.07)&quot;<br>  ]<br>}</pre><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: Use with </em><strong><em>Indentor</em></strong><em> for a visual experience that makes reading nested code like eating Skittles! 🌈</em></blockquote><h3>7️⃣ Bracket Pair Colorizer — Bracket Matching Made Easy</h3><p><strong>Good news</strong>: This functionality is now built into VS Code natively!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*DJ2VZtm_ZKSa6VWg.png" /></figure><pre># How to enable:<br>1. File → Preferences → Settings<br>2. Search for &quot;bracketPair&quot;<br>3. Check &quot;Bracket Pair Colorization&quot;</pre><p><strong>Effect:</strong></p><pre>def outer():         # Outer bracket - Red<br>    if True:         # Middle bracket - Yellow<br>        for i in []: # Inner bracket - Green<br>            pass<br># See which bracket matches which at a glance!</pre><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: Especially useful when reading JSON files. No more counting “which closing bracket is this?”</em></blockquote><h3>8️⃣ Sourcery — AI Refactoring Master</h3><p>This isn’t an ordinary completion tool; it’s a <strong>real-time code quality consultant</strong>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/0*hw0X_2L7u10GSwa4.png" /></figure><pre># Your code:<br>result = []<br>for i in range(10):<br>    if i % 2 == 0:<br>        result.append(i)</pre><pre># Sourcery suggests:<br>result = [i for i in range(10) if i % 2 == 0]<br># One line, Pythonic! ✨</pre><p><strong>Highlights:</strong></p><ul><li>🔧 Real-time refactoring suggestions</li><li>📊 Code quality scoring</li><li>🎓 Teaches you more elegant Python</li></ul><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: Like having a senior dev sitting beside you, pointing out “this could be more Pythonic,” and you grow fast!</em></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*xIqPxhvJ2jxa2xbN" /></figure><h3>9️⃣ Python Docstring Generator — Documentation Generator</h3><p>Write functions without docs? This extension quickly generates docstring templates:</p><pre>def calculate_area(length, width):<br>    &quot;&quot;&quot;<br>    Calculate the area of a rectangle.<br>    <br>    Args:<br>        length (float): The length of the rectangle<br>        width (float): The width of the rectangle<br>    <br>    Returns:<br>        float: The calculated area<br>    <br>    Raises:<br>        ValueError: If length or width is negative<br>    &quot;&quot;&quot;<br>    return length * width</pre><p><strong>How to use</strong>: Type &quot;&quot;&quot; and press Enter to auto-generate the template!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*BKE7t7hqAjftLPh4" /></figure><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: Writing docs is now as easy as filling out a form — no more excuses! 😅</em></blockquote><h3>🔟 Dash — The Offline Documentation Lookup Master</h3><p>No need to open a browser; look up docs directly in VS Code:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/701/0*7GQS18VCjid8J7fC.png" /></figure><pre># Use case:<br>1. Select `pandas.DataFrame.groupby`<br>2. Press Ctrl + H<br>3. Instant official documentation (offline!)</pre><p><strong>Advantages:</strong></p><ul><li>📖 Supports official Python docs</li><li>🚀 10x faster than Google</li><li>📴 Works without internet</li><li>🎯 Precise targeting, no scrolling through search results</li></ul><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: This saved my life on a flight! Offline docs, yyds!</em></blockquote><h3>🎁 Bonus: GitLens — Git Enhancement Pack</h3><p>Not Python-specific, but highly recommended if you use Git:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/854/0*TaUpDKGy8nWyEIIN.png" /></figure><pre># Core features:<br> Git Blame - See who changed each line<br>📝 Git Changes - Highlight local modifications<br>⏰ Git History - View file history</pre><p><strong>Real-world scenario:</strong></p><pre># Seeing weird code:<br>if x == 42:  # GitLens shows: Zhang San, 3 months ago<br>    # Why 42?<br>    do_something_weird()</pre><pre># Go ask Zhang San directly: &quot;Bro, what&#39;s this about?&quot;</pre><blockquote><em>💡 </em><strong><em>My Take</em></strong><em>: The ultimate tool for shifting blame… I mean, tracing code history! Essential for teamwork!</em></blockquote><h3>📊 Summary: Efficiency Comparison Table</h3><p><strong>Extension Name · Efficiency Boost · Recommendation · Target Audience</strong></p><p><strong>Extension Name:</strong> Python (Microsoft) · <strong>Efficiency Boost:</strong> ⭐⭐⭐⭐⭐ · <strong>Recommendation:</strong> Must-have · <strong>Target Audience:</strong> Everyone</p><p><strong>Extension Name:</strong> Pylance · <strong>Efficiency Boost:</strong> ⭐⭐⭐⭐⭐ · <strong>Recommendation:</strong> Must-have · <strong>Target Audience:</strong> Everyone</p><p><strong>Extension Name:</strong> IntelliCode · <strong>Efficiency Boost:</strong> ⭐⭐⭐⭐ · <strong>Recommendation:</strong> Highly Recommended · <strong>Target Audience:</strong> AI Enthusiasts</p><p><strong>Extension Name:</strong> Sort Lines · <strong>Efficiency Boost:</strong> ⭐⭐⭐ · <strong>Recommendation:</strong> Recommended · <strong>Target Audience:</strong> OCD</p><p><strong>Extension Name:</strong> Black Formatter · <strong>Efficiency Boost:</strong> ⭐⭐⭐⭐⭐ · <strong>Recommendation:</strong> Must-have · <strong>Target Audience:</strong> Team Development</p><p><strong>Extension Name:</strong> Indent Rainbow · <strong>Efficiency Boost:</strong> ⭐⭐⭐ · <strong>Recommendation:</strong> Recommended · <strong>Target Audience:</strong> Visuals</p><p><strong>Extension Name:</strong> Bracket Pair · <strong>Efficiency Boost:</strong> ⭐⭐⭐⭐ · <strong>Recommendation:</strong> Recommended · <strong>Target Audience:</strong> Heavy JSON Users</p><p><strong>Extension Name:</strong> Sourcery · <strong>Efficiency Boost:</strong> ⭐⭐⭐⭐⭐ · <strong>Recommendation:</strong> Highly Recommended · <strong>Target Audience:</strong> Quality Control</p><p><strong>Extension Name:</strong> Docstring Generator · <strong>Efficiency Boost:</strong> ⭐⭐⭐⭐ · <strong>Recommendation:</strong> Recommended · <strong>Target Audience:</strong> Docs Enthusiasts</p><p><strong>Extension Name:</strong> Dash · <strong>Efficiency Boost:</strong> ⭐⭐⭐⭐⭐ · <strong>Recommendation:</strong> Must-have · <strong>Target Audience:</strong> Frequent Doc Lookup</p><p><strong>Extension Name:</strong> GitLens · <strong>Efficiency Boost:</strong> ⭐⭐⭐⭐⭐ · <strong>Recommendation:</strong> Must-have · <strong>Target Audience:</strong> Git Users</p><h3>🎯 Final Thoughts</h3><p>As a Python developer, choosing the right tools really does <strong>double your results with half the effort</strong>!</p><p>My personal combo:</p><pre>Foundation Trio: Python + Pylance + IntelliCode<br>Formatting Trio: Black + Sort Lines + Indent Rainbow<br>Quality Guardian: Sourcery + Docstring Generator<br>Efficiency Accelerator: Dash + GitLens</pre><blockquote><em>💡 </em><strong><em>Honest Truth</em></strong><em>: With these extensions, you’ll find:</em></blockquote><ul><li>Coding is faster</li><li>Fewer bugs</li><li>More elegant code</li><li><strong>Most importantly: Less overtime!</strong> 😄</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=665a4618034f" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>