10 Key Updates in the Python VS Code Extension – March 2026 Release

<p>The March 2026 release of the Python extension for Visual Studio Code brings a wealth of improvements, headlined by two major features: the ability to search Python symbols within installed packages and an experimental Rust-based parallel indexer that promises dramatic speed gains. Whether you’re a data scientist wrestling with large codebases or a web developer exploring unfamiliar libraries, these updates aim to make your coding experience smoother, faster, and more intuitive. Below, we break down the top 10 things you need to know about this release, from new settings to performance enhancements.</p> <h2 id="symbols-in-virtual-environments">1. Search Symbols in Installed Packages</h2> <p>One of the most frustrating parts of working with third-party libraries is tracking down where a function or class is defined. With this release, Pylance expands its Workspace Symbol search (Cmd/Ctrl+T) to include symbols from packages installed in your active virtual environment. Instead of leaving VS Code to dig through documentation or source files, you can now navigate directly into third-party code. This is particularly useful when you’re new to a codebase or exploring an unfamiliar library, as it lets you understand dependencies without breaking your workflow.</p><figure style="margin:20px 0"><img src="https://private-user-images.githubusercontent.com/104594771/570736410-6bde10d2-a099-4124-ba2a-188749d5a085.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUwNzczMDEsIm5iZiI6MTc3NTA3NzAwMSwicGF0aCI6Ii8xMDQ1OTQ3NzEvNTcwNzM2NDEwLTZiZGUxMGQyLWEwOTktNDEyNC1iYTJhLTE4ODc0OWQ1YTA4NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDAxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwMVQyMDU2NDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNTc5NTg1MjllZWNmMGFhZmM2MWI1NzIwZmQ0NGY0MmU1Y2JlYTU0MzRmYzJlZDk2MDUyMjNhYzg4MDZiNDdiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.PIEBA0sK6mBviqTWX12ffGy8X0CwVc4Xo56ba8MAoII" alt="10 Key Updates in the Python VS Code Extension – March 2026 Release" style="width:100%;height:auto;border-radius:8px" loading="lazy"><figcaption style="font-size:12px;color:#666;margin-top:5px">Source: devblogs.microsoft.com</figcaption></figure> <h2 id="how-to-enable-symbol-search">2. How to Enable Symbol Search in Virtual Environments</h2> <p>This feature is opt-in by design, controlled by a new setting: <strong>Python › Analysis: Include Venv In Workspace Symbols</strong>. To activate it, open Settings (Cmd+, / Ctrl+,), search for “Include Venv In Workspace Symbols”, and check the box. Once enabled, the Workspace Symbol search will surface symbols from <code>site-packages</code> in your active virtual environment. For libraries without <code>py.typed</code> markers, only symbols exported via <code>__init__.py</code> or <code>__all__</code> are included, keeping results relevant and clutter-free.</p> <h2 id="performance-considerations-symbols">3. Performance Considerations for Symbol Search</h2> <p>Because indexing installed packages can impact performance, the feature is deliberately opt-in. To fine-tune how deeply Pylance searches into sub-modules, use the <strong>Python › Analysis: Package Index Depths</strong> setting. This allows you to balance comprehensive symbol discovery with responsiveness. For most projects, the default depth works well, but if you’re working with a large number of packages, you may want to limit the depth to avoid slowdowns. The change ensures that richer code exploration doesn’t come at the cost of a snappy editing experience.</p> <h2 id="rust-based-parallel-indexer">4. Experimental Rust-Based Parallel Indexer</h2> <p>The biggest performance news is an experimental setting that switches Pylance’s indexer—the engine behind completions, auto-imports, and symbol search—to a new Rust-based parallel implementation that runs out-of-process. In internal tests, this indexer is on average <strong>10× faster</strong> on large Python projects, meaning faster completions after workspace open and a more responsive IntelliSense experience overall. This is a game-changer for developers working on monorepos or massive codebases.</p> <h2 id="enabling-parallel-indexing">5. How to Enable the Rust-Based Parallel Indexer</h2> <p>To try the new indexer, navigate to Settings (Cmd+, / Ctrl+,) and search for “Parallel Indexing”. Check the box <strong>Enable Parallel Indexing (Experimental)</strong> under Python › Analysis. Alternatively, add <code>"python.analysis.enableParallelIndexing": true</code> to your <code>settings.json</code>. After enabling, reload VS Code (Cmd/Ctrl+Shift+P → Reload Window) to ensure the new indexer starts cleanly. Remember, this is experimental—use it to validate performance in your own environment.</p> <h2 id="when-parallel-indexing-shines">6. When the Parallel Indexer Shines (and When It Doesn’t)</h2> <p>The Rust-based indexer delivers the most dramatic improvements on larger projects—think codebases with hundreds of modules or heavy third-party dependencies. For small projects with only a few files, the difference may be negligible. The old indexer is already fast for simple workspaces, so the new implementation shines when complexity scales. If you’re working on a sizable Python application or library, enabling this setting could shave seconds off every auto-completion request, making your editing feel snappier.</p><figure style="margin:20px 0"><img src="https://uhf.microsoft.com/images/microsoft/RE1Mu3b.png" alt="10 Key Updates in the Python VS Code Extension – March 2026 Release" style="width:100%;height:auto;border-radius:8px" loading="lazy"><figcaption style="font-size:12px;color:#666;margin-top:5px">Source: devblogs.microsoft.com</figcaption></figure> <h2 id="feedback-on-experimental-features">7. We Want Your Feedback on the Experimental Indexer</h2> <p>Because the parallel indexer is intentionally experimental, the team is eager to hear from users. If you try it and notice faster completions, slower behavior, or any issues, share your experience through the GitHub issues page for Pylance. Your feedback will help validate performance gains and reliability across diverse project setups before the feature becomes the default. This collaborative approach ensures the final implementation works for everyone, from solo developers to enterprise teams.</p> <h2 id="settings-for-indexing-depth">8. Fine-Tuning Indexing Depth for Packages</h2> <p>Beyond enabling symbol search, you can control how deeply Pylance indexes each package using the <strong>Python › Analysis: Package Index Depths</strong> setting. This setting accepts an array of package names and depth values (e.g., <code>["my_lib", 1]</code>). A depth of 0 limits indexing to the top-level exports, while higher depths go into sub-modules. This is especially useful when you only need symbols from the most important packages, reducing overhead for less critical dependencies.</p> <h2 id="compatibility-with-existing-features">9. How the New Features Work with Existing IntelliSense</h2> <p>Both the symbol search in virtual environments and the parallel indexer integrate seamlessly with Pylance’s existing features. Workspace Symbol search remains accessible via the same shortcut (Cmd/Ctrl+T), and the new indexer powers auto-imports, completions, and find-references just like before—but much faster. There’s no need to change your workflow; enabling these features simply enhances what you already rely on. For users who prefer not to opt in, the default experience remains unchanged.</p> <h2 id="whats-next-for-pylance">10. What’s Next for Pylance and the Python Extension</h2> <p>The March 2026 release is a stepping stone toward a more intelligent and performant Python development environment. The team plans to continue refining the parallel indexer based on user feedback, potentially making it the default in a future release. Meanwhile, the ability to search symbols in virtual environments addresses a long-standing request and opens the door to deeper integration with package sources. Stay tuned for more updates, including improvements to debugging, testing, and language server features.</p> <p>This release represents a significant leap forward in productivity for Python developers using VS Code. Whether you’re exploring new libraries or struggling with sluggish IntelliSense, the opt-in symbol search and experimental parallel indexer give you tools to work more efficiently. Give them a try and let the team know what you think—your input shapes the future of Python development in VS Code.</p>