{"id":10276,"date":"2026-04-01T16:27:15","date_gmt":"2026-04-02T00:27:15","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/python\/?p=10276"},"modified":"2026-04-01T16:27:15","modified_gmt":"2026-04-02T00:27:15","slug":"python-in-visual-studio-code-march-2026-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-march-2026-release\/","title":{"rendered":"Python in Visual Studio Code &#8211; March 2026 Release"},"content":{"rendered":"<p>We&#8217;re excited to announce that the March 2026 release of the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.python\">Python<\/a> extension for Visual Studio Code are now available!<\/p>\n<p>This release includes the following announcements:<\/p>\n<ul>\n<li>Search Python Symbols in Installed Packages<\/li>\n<li>Experimental: Rust-Based Parallel Indexer<\/li>\n<\/ul>\n<p>If you&#8217;re interested, you can check the full list of improvements in our changelogs for the <a href=\"https:\/\/github.com\/microsoft\/vscode-python\/releases\">Python<\/a>, and <a href=\"https:\/\/github.com\/microsoft\/pylance-release\/blob\/main\/CHANGELOG.md\">Pylance<\/a> extensions.<\/p>\n<h2>Search Python Symbols in Installed Packages<\/h2>\n<p>When working in a new codebase or exploring an unfamiliar library, one of the most common needs is quickly locating where a function or class is defined \u2014 even if it lives outside your workspace. With this release, Pylance can now include symbols from packages installed in your active virtual environment in <strong>Workspace Symbol search<\/strong> (<code>Cmd\/Ctrl+T<\/code>).<\/p>\n<p>This is controlled by a new setting:<\/p>\n<p><strong>Python \u203a Analysis: Include Venv In Workspace Symbols<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/private-user-images.githubusercontent.com\/104594771\/570736410-6bde10d2-a099-4124-ba2a-188749d5a085.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUwNzczMDEsIm5iZiI6MTc3NTA3NzAwMSwicGF0aCI6Ii8xMDQ1OTQ3NzEvNTcwNzM2NDEwLTZiZGUxMGQyLWEwOTktNDEyNC1iYTJhLTE4ODc0OWQ1YTA4NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDAxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwMVQyMDU2NDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNTc5NTg1MjllZWNmMGFhZmM2MWI1NzIwZmQ0NGY0MmU1Y2JlYTU0MzRmYzJlZDk2MDUyMjNhYzg4MDZiNDdiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.PIEBA0sK6mBviqTWX12ffGy8X0CwVc4Xo56ba8MAoII\" alt=\"image\" \/><\/p>\n<p>When enabled:<\/p>\n<ul>\n<li>Workspace Symbol search surfaces symbols from packages in your active virtual environment&#8217;s <code>site-packages<\/code><\/li>\n<li>You can navigate into third-party libraries without leaving VS Code or reaching for external documentation<\/li>\n<li>For libraries without <code>py.typed<\/code>, only symbols exported via <code>__init__.py<\/code> or <code>__all__<\/code> are included, keeping results focused and relevant<\/li>\n<\/ul>\n<p>Because indexing installed packages can affect performance, this feature is <strong>opt-in by design<\/strong>. You can fine-tune the depth of indexing per-package using <strong>Python \u203a Analysis: Package Index Depths<\/strong>, which controls how deeply Pylance searches into sub-modules.<\/p>\n<p>This gives you richer code exploration when you need it, without changing the default experience for everyone else.<\/p>\n<p><strong>To try it:<\/strong><\/p>\n<ol>\n<li>Open Settings (<code>Cmd+,<\/code> \/ <code>Ctrl+,<\/code>)<\/li>\n<li>Search for <strong>&#8220;Include Venv In Workspace Symbols&#8221;<\/strong><\/li>\n<li>Check the box under <strong>Python \u203a Analysis<\/strong><\/li>\n<\/ol>\n<h2>Experimental: Rust-Based Parallel Indexer<\/h2>\n<p>We&#8217;re shipping an experimental setting that switches Pylance&#8217;s indexer \u2014 the engine behind completions, auto-imports, and workspace symbol search \u2014 to a new <strong>Rust-based parallel implementation<\/strong> that runs out-of-process.<\/p>\n<p>In our testing, this indexer is on average <strong>10\u00d7 faster<\/strong> on large Python projects, which means faster completions after workspace open and a more responsive IntelliSense experience overall.<\/p>\n<p><strong>Python \u203a Analysis: Enable Parallel Indexing<\/strong><\/p>\n<p>This is intentionally experimental. We want to validate the performance gains and reliability across the wide variety of project setups and environments our users have before making it the default.<\/p>\n<p><strong>To try it:<\/strong><\/p>\n<ol>\n<li>Open Settings (<code>Cmd+,<\/code> \/ <code>Ctrl+,<\/code>)<\/li>\n<li>Search for <strong>&#8220;Parallel Indexing&#8221;<\/strong><\/li>\n<li>Check <strong>Enable Parallel Indexing (Experimental)<\/strong> under <strong>Python \u203a Analysis<\/strong><\/li>\n<\/ol>\n<p>Or add this to your <code>settings.json<\/code>:<\/p>\n<pre><code class=\"language-json\">\"python.analysis.enableParallelIndexing\": true<\/code><\/pre>\n<p>After enabling, reload VS Code (<code>Cmd\/Ctrl+Shift+P<\/code> \u2192 <strong>Reload Window<\/strong>) to ensure the new indexer starts cleanly. This setting has the most impact on larger projects \u2014 small projects may see little difference.<\/p>\n<p><strong>We want your feedback.<\/strong> If you try it and notice faster completions, slower behavior, or anything unexpected, please let us know by filing an issue on the <a href=\"https:\/\/github.com\/microsoft\/pylance-release\">Pylance GitHub repo<\/a>. Your real-world reports are what will help us get this to stable.<\/p>\n<blockquote><p>This is an experimental feature. If you run into issues, you can disable it at any time by unchecking the setting.<\/p><\/blockquote>\n<h2>Python Environments extension<\/h2>\n<ul>\n<li>Various bug fixes in the Python Environments extension for env file notifications and environment manager selection priority:<\/li>\n<li>The workspace&#8217;s saved interpreter selection now takes precedence over terminal-activated virtual or conda environments across restarts.<\/li>\n<li>The env file change notification now includes a &#8220;Don&#8217;t Show Again&#8221; option to permanently dismiss it.\n<em><a href=\"https:\/\/github.com\/microsoft\/vscode-python\/issues\/25867\">vscode-python#25867<\/a>, <a href=\"https:\/\/github.com\/microsoft\/vscode-python-environments\/issues\/1347\">vscode-python-environments#1347<\/a>, <a href=\"https:\/\/github.com\/microsoft\/vscode-python-environments\/pull\/1393\">vscode-python-environments#1393<\/a><\/em><\/li>\n<li>The Python Environments extension now recommends the community Pixi extension when Pixi environments are detected, and includes Pixi in the environment manager priority order. <em><a href=\"https:\/\/github.com\/microsoft\/vscode-python-environments\/pull\/1291\">vscode-python-environments#1291<\/a><\/em><\/li>\n<\/ul>\n<p>Try out these new improvements by downloading the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.python\">Python extension<\/a> and the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.vscode-pylance\">Pylance extension<\/a> from the Marketplace, or install them directly from the extensions view in Visual Studio Code (Ctrl + Shift + X or \u2318 + \u21e7 + X). You can learn more about <a href=\"https:\/\/code.visualstudio.com\/docs\/python\/python-tutorial\">Python support in Visual Studio Code<\/a> in the documentation. If you run into any problems or have suggestions, <a href=\"https:\/\/github.com\/microsoft\/vscode-python\/issues\/new\/choose\">please file an issue<\/a> on the <a href=\"https:\/\/github.com\/Microsoft\/vscode-python\">Python VS Code GitHub page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The March 2026 release of the Python and Jupyter extensions for Visual Studio Code is now available. Keep on reading to learn more!<\/p>\n","protected":false},"author":105261,"featured_media":10119,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[17],"class_list":["post-10276","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-python"],"acf":[],"blog_post_summary":"<p>The March 2026 release of the Python and Jupyter extensions for Visual Studio Code is now available. Keep on reading to learn more!<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/10276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/users\/105261"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/comments?post=10276"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/10276\/revisions"}],"predecessor-version":[{"id":10278,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/10276\/revisions\/10278"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media\/10119"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media?parent=10276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/categories?post=10276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/tags?post=10276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}