31421
views
✓ Answered

Exploring New Features in VS Code's Python Extension: March 2026 Update

Asked 2026-05-20 04:53:09 Category: Programming

The March 2026 release of the Python extension for Visual Studio Code brings two major enhancements to improve code navigation and performance. The first is the ability to search symbols from installed packages directly in the workspace, making it easier to explore third-party libraries without leaving your editor. The second is an experimental Rust-based parallel indexer that promises up to ten times faster indexing for large projects. Below, we break down these features through common questions and answers.

What are the main new features in the March 2026 Python extension update?

This update focuses on two key areas: richer code exploration and performance. The Pylance extension now allows you to search for symbols (functions, classes, etc.) from packages installed in your active virtual environment using Workspace Symbol search (Ctrl+T or Cmd+T). This is an opt-in feature controlled by the Python › Analysis: Include Venv In Workspace Symbols setting. Additionally, an experimental Rust-based parallel indexer is available that processes indexing tasks out-of-process. In testing, it delivers a tenfold speed improvement on large Python projects, making auto-completions and IntelliSense much faster after opening your workspace.

Exploring New Features in VS Code's Python Extension: March 2026 Update
Source: devblogs.microsoft.com

How does the new symbol search for installed packages work?

When you enable the feature, Pylance will include symbols from packages located in your active virtual environment's site-packages directory in global workspace searches. For example, if you are using a popular library like NumPy, you can quickly find numpy.array without opening an external browser or documentation. To keep results relevant, only symbols exposed via __init__.py or the __all__ variable are included for packages that lack a py.typed marker. This ensures that internal or private symbols don't clutter your search results. The feature is designed to be opt-in because indexing a large number of packages can impact performance, especially on older machines or very large virtual environments.

To activate this feature, follow these simple steps:

  1. Open VS Code and go to Settings (File > Preferences > Settings or press Ctrl+, / Cmd+,).
  2. In the search bar, type “Include Venv In Workspace Symbols”.
  3. Under the Python › Analysis section, check the box labeled Python › Analysis: Include Venv In Workspace Symbols.

That’s it! Once enabled, you can use the Workspace Symbol search (Ctrl+T or Cmd+T) to find symbols from your active virtual environment. If you need finer control over how deeply Pylance indexes packages, you can adjust the Python › Analysis: Package Index Depths setting. This allows you to specify per-package levels, balancing thoroughness with performance.

Because scanning and indexing all symbols from installed packages can be resource-heavy, the feature is disabled by default. When you enable it, Pylance will index symbols from the site-packages of your active virtual environment. For large installations with many libraries, initial indexing may take a few seconds. However, the index is cached, so subsequent searches are fast. To mitigate performance hits, you can use the Python › Analysis: Package Index Depths setting to control how deep the search goes into sub-modules for each package. For instance, set a shallow depth for huge packages like TensorFlow and a deeper depth for focused libraries. Overall, the feature is designed to have minimal impact on normal editing experience while providing powerful navigation when needed.

Exploring New Features in VS Code's Python Extension: March 2026 Update
Source: devblogs.microsoft.com

What is the experimental Rust-based parallel indexer?

This is a major overhaul of Pylance’s indexing engine — the component responsible for providing IntelliSense features like auto-completions, auto-imports, and workspace symbol search. The new indexer is written in Rust and runs as a separate process, allowing it to use multiple CPU cores in parallel. Early testing shows it is on average 10 times faster on large Python projects, which means you see completions almost immediately after opening a workspace and a more responsive code-editing experience overall. The feature is marked as experimental because Microsoft wants to validate its reliability and performance across diverse project configurations before making it the default.

How do I enable the experimental Rust-based parallel indexer?

To try out the speed improvements, follow these steps:

  1. Open VS Code and go to Settings (Ctrl+, / Cmd+,).
  2. Search for “Parallel Indexing”.
  3. Under Python › Analysis, check the box labeled Enable Parallel Indexing (Experimental).

Alternatively, you can add the following to your settings.json file:

"python.analysis.enableParallelIndexing": true

After enabling, you must reload VS Code (Ctrl+Shift+P or Cmd+Shift+P and run Reload Window) so that the new indexer starts fresh. This setting has the most impact on larger projects; for small projects you may not notice a difference, but there is no downside to enabling it.

What feedback is needed for the experimental indexer?

Microsoft is actively seeking user feedback to ensure the Rust-based indexer works well in real-world scenarios. They encourage you to try it on your projects, especially if you work with large codebases. If you experience noticeably faster completions or, conversely, any slowdowns or unusual behavior, please report it through the VS Code issue tracker or the Pylance repository. The team wants to verify the performance gains and reliability across different Python environments, operating systems, and project types before the feature becomes the default. Your input helps shape the future of Python development in VS Code.