Exploring the March 2026 Python in VS Code Update: Enhanced Symbol Search and Experimental Indexing

By

The March 2026 release of the Python extension for Visual Studio Code introduces two significant improvements: the ability to search for Python symbols in installed packages and an experimental Rust-based parallel indexer designed to drastically speed up IntelliSense. These features are aimed at making code navigation and development more efficient, especially when working with large projects or unfamiliar libraries. Below, we answer key questions about these updates.

What are the key new features in the March 2026 Python extension release?

This release focuses on two major enhancements. First, Pylance now supports searching for symbols—like functions, classes, and variables—within packages installed in your active virtual environment, accessible via Workspace Symbol search (Cmd/Ctrl+T). Second, an experimental Rust-based parallel indexer is available that runs out-of-process and promises, on average, 10× faster indexing on large projects. Both features are opt-in and can be configured through VS Code settings. For a complete list of changes, refer to the official changelogs for the Python and Pylance extensions.

Exploring the March 2026 Python in VS Code Update: Enhanced Symbol Search and Experimental Indexing
Source: devblogs.microsoft.com

When enabled, the new setting Python > Analysis: Include Venv In Workspace Symbols allows Pylance to include symbols from packages in your currently activated virtual environment when you perform a Workspace Symbol search. This means you can quickly locate definitions from third-party libraries directly within VS Code, without switching to external documentation. For libraries that do not provide a py.typed file, only symbols exported via __init__.py or the __all__ variable are shown, keeping the results relevant and reducing noise. This feature is opt-in because indexing installed packages can impact performance, but you can also control indexing depth per package using the Python > Analysis: Package Index Depths setting.

To enable this feature, open VS Code settings by pressing Cmd+, (macOS) or Ctrl+, (Windows/Linux). Then search for Include Venv In Workspace Symbols. Check the box under Python > Analysis. Once enabled, you can use Cmd/Ctrl+T to start a Workspace Symbol search, and results will now include symbols from the packages in your active virtual environment. If you need to fine-tune how deeply Pylance searches into sub-modules for specific packages, adjust the Package Index Depths setting accordingly. This customization helps balance search comprehensiveness with performance, especially if you have large or multiple virtual environments.

What is the experimental Rust-based parallel indexer, and why should I try it?

The experimental parallel indexer replaces Pylance’s traditional single-threaded indexing engine with a Rust-based implementation that runs out-of-process. In internal testing, this new indexer demonstrated an average speed improvement of 10× on large Python projects. This translates to faster code completions, auto-imports, and workspace symbol search after opening a project. The indexer is still experimental, meaning it is not enabled by default yet. By opting in, you help validate its performance and reliability across different project setups. It has the most impact on large codebases; small projects may not notice a difference. To try it, enable the setting Python > Analysis: Enable Parallel Indexing (search for Parallel Indexing in settings) or add "python.analysis.enableParallelIndexing": true to your settings.json. After enabling, reload VS Code (Cmd/Ctrl+Shift+PReload Window) to start fresh.

Exploring the March 2026 Python in VS Code Update: Enhanced Symbol Search and Experimental Indexing
Source: devblogs.microsoft.com

Are there any performance considerations when using the symbol-search or parallel indexer?

Yes, both features are designed with performance in mind. The symbol-search feature is opt-in because indexing all installed packages can consume resources. To mitigate this, you can limit the depth of indexing per package via the Package Index Depths setting. For the parallel indexer, while it is generally faster, its benefits are most noticeable on larger projects. If you have a small codebase, you may see little to no improvement. Additionally, because the parallel indexer runs out-of-process, it may use more memory, but this trade-off often yields a more responsive IntelliSense experience. It is recommended to test both features in your specific environment and provide feedback to the development team, as this is an experimental feature.

How can I provide feedback on these new features?

Your feedback is essential for refining these experimental capabilities. If you try the Rust-based parallel indexer and notice faster completions, slower behavior, or any other issues, please report your experience through the official VS Code issue tracker for the Python extension or Pylance. Similarly, if you encounter any problems with the symbol-search feature or have suggestions for improvement, the team welcomes your input. Detailed feedback helps ensure that these opt-in features can eventually become the reliable defaults for all users, making Python development in VS Code even more efficient.

Related Articles

Recommended

Discover More

Embracing Unpredictability: How Native CSS Randomness Transforms Web DesignCambrian Fossil Discoveries Illuminate the Dawn of Animal EvolutionFinancial Cyberthreats in 2025: Key Trends and ShiftsV8’s JSON.stringify Speed Doubled: Inside the Optimization10 Essential Insights into Sharing the American Dream