{"id":10066,"date":"2025-06-16T08:38:52","date_gmt":"2025-06-16T16:38:52","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/python\/?p=10066"},"modified":"2025-06-16T08:38:52","modified_gmt":"2025-06-16T16:38:52","slug":"python-in-visual-studio-code-june-2025-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-june-2025-release\/","title":{"rendered":"Python in Visual Studio Code &#8211; June 2025 Release"},"content":{"rendered":"<p>We&#8217;re excited to announce the June 2025 release of the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.python\">Python<\/a>, <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.vscode-pylance\">Pylance<\/a> and <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-toolsai.jupyter\">Jupyter<\/a> extensions for Visual Studio Code!<\/p>\n<p>This release includes the following announcements:<\/p>\n<ul>\n<li>Python chat tools<\/li>\n<li>Language Server based terminal suggest in the Python REPL<\/li>\n<li>Create Project from a template in the Python Environments extension<\/li>\n<li>PyEnv and Poetry support in the Python Environments extension<\/li>\n<li>Controlled rollout of the Python Environments extension<\/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>, <a href=\"https:\/\/code.visualstudio.com\/updates\/\">Jupyter<\/a> and <a href=\"https:\/\/github.com\/microsoft\/pylance-release\/blob\/main\/CHANGELOG.md\">Pylance<\/a> extensions.<\/p>\n<h2>Python chat tools<\/h2>\n<p>The Python extension now includes the following chat tools: \u201cGet information for a Python Environment\u201d, \u201cGet executable information for a Python Environment\u201d, \u201cInstall Python Package\u201d and \u201cConfigure Python Environment\u201d. You can either directly reference them in your prompt by adding <code>#getPythonEnvironmentInfo<\/code> and <code>#installPythonPackage<\/code>, or agent mode will automatically call the tool as applicable based on your prompt. These tools seamlessly detect appropriate environment information, based on file or workspace context, and handle package installation with accurate environment resolution.<\/p>\n<p>The \u201cConfigure Python Environment\u201d tool ensures that the Python environment is set up correctly for the workspace. This includes creating a virtual environment if needed, and selecting it as the active Python environment for your workspace.<\/p>\n<p><div style=\"width: 1920px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-10066-1\" width=\"1920\" height=\"1080\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/python-tools.mp4?_=1\" \/><a href=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/python-tools.mp4\">https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/python-tools.mp4<\/a><\/video><\/div><\/p>\n<p>Tools that were previously introduced in the Python Environments extension (preview) have been migrated to the Python extension, thereby making these tools available to all users with the Python extension installed.<\/p>\n<h1>Language Server based terminal suggest in the Python REPL<\/h1>\n<p>Language server completions are now available in the terminal for interactive Python REPL sessions. This brings the same language completions you receive in the editor, now inside the terminal making terminal interactions more efficient.<\/p>\n<p><div style=\"width: 1920px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-10066-2\" width=\"1920\" height=\"1240\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/lsp_completions.mp4?_=2\" \/><a href=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/lsp_completions.mp4\">https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/lsp_completions.mp4<\/a><\/video><\/div><\/p>\n<p>To try it out, ensure the following settings are enabled:<\/p>\n<ul>\n<li><code>setting(terminal.integrated.shellIntegration.enabled:true)<\/code><\/li>\n<li><code>setting(python.terminal.shellIntegration.enabled:true)<\/code><\/li>\n<li><code>setting(terminal.integrated.suggest.enabled:true)<\/code><\/li>\n<li><code>setting(python.analysis.supportAllPythonDocuments:true)<\/code><\/li>\n<\/ul>\n<h1>Create Project from a template in the Python Environments extension<\/h1>\n<p>The <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.vscode-python-envs\">Python Environments extension<\/a> (preview) now supports project creation for Python packages and basic scripts, allowing you to bypass scaffolding and get coding more quickly. Use the <strong>Python Envs: Create Project from Template<\/strong> command in the Command Palette to select whether you want to create a package or a script and let the command handle the rest!<\/p>\n<p>For package creation, you can expect to name the package, create a virtual environment, and receive a scaffolded project which includes a tests subfolder, <code>pyproject.toml<\/code>, <code>dev-requirements.txt<\/code>, and boilerplate <code>__main__.py<\/code> and <code>__init__.py<\/code> files.<\/p>\n<p>For scripts, a new Python file with the name of your choice and boilerplate code will be created.<\/p>\n<p><div style=\"width: 1920px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-10066-3\" width=\"1920\" height=\"1080\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/project_creation.mp4?_=3\" \/><a href=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/project_creation.mp4\">https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/project_creation.mp4<\/a><\/video><\/div><\/p>\n<h1>PyEnv and Poetry support in the Python Environments extension<\/h1>\n<p>We added support for pyenv for environment management, and poetry for both package and environment management in the Python Environments extension. This ensures you can manage pyenv and poetry environments as your normally would in the support UI contributed by the Python Environments extension. When pyenv or poetry are installed on your machine, they will appear as support environment managers in the Python panel accessed in the Activity Bar.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/env_managers.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-10067\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/env_managers.png\" alt=\"Screenshot showing various environment managers in the Python environments view.\" width=\"700\" height=\"1044\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/env_managers.png 700w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/env_managers-201x300.png 201w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2025\/06\/env_managers-687x1024.png 687w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<h1>Controlled rollout of the Python Environments extension<\/h1>\n<p>We\u2019re starting to roll-out the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.vscode-python-envs\">Python Environments extension<\/a> as an optional dependency with the Python extension beginning with a subset of pre-release users this month. What this means is you may now begin seeing the Python Environments extension automatically installed along side the Python extension, similar to the Python Debugger and Pylance extensions. This controlled rollout allows us to gather early feedback and ensure reliability before general availability. The Python Environments extension includes all the core capabilities we\u2019ve introduced so far including: Quick Create for <a href=\"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-may-2025-release\/#python-environments-quick-create-command\">one-click environment setup using Quick Create<\/a>, <a href=\"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-may-2025-release\/#automatic-environment-activation-with-python-environments-(experimental)\">automatic terminal activation<\/a> (via <code>\"python-envs.terminal.autoActivationType\"<\/code> setting), and all supported <a href=\"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-december-2024-release\/\">UI for environment an package management<\/a>.<\/p>\n<p>You can install the preview version of the Python Environments extension from the Extension Marketplace if you would like to try it out. Please let us know if there are any issues or feature requests via our <a href=\"https:\/\/github.com\/microsoft\/vscode-python-environments\">vscode-python-environments<\/a> repo.<\/p>\n<h2>We would also like to extend special thanks to this month&#8217;s contributors:<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/dineshcsdev\">@dineshcsdev<\/a> Added <code>shortTitle<\/code> to <code>execSelectionInTerminal<\/code> command in <a href=\"https:\/\/github.com\/microsoft\/vscode-python\/pull\/25007\">vscode-python#25007<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/albus-droid\">@albus-droid<\/a> Added pylock to activation events in <a href=\"https:\/\/github.com\/microsoft\/vscode-python\/pull\/25025\">vscode-python#25025<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/s-kai273\">@s-kai273<\/a> Fixed env error handling in <a href=\"https:\/\/github.com\/microsoft\/vscode-python\/pull\/25049\">vscode-python#25049<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/kycutler\">@kycutler<\/a> Fix<a href=\"https:\/\/github.com\/kycutler\"><code>TypeError<\/code><\/a><span style=\"color: #333333;\"> from trying to read directory <\/span>in <a href=\"https:\/\/github.com\/microsoft\/vscode-python-debugger\/pull\/692\">vscode-python-debugger#692<\/a><\/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-toolsai.jupyter\">Jupyter 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 June 2025 release includes Copilot chat tools in the Python extension, project creation from a template, language server based terminal suggest, and more!<\/p>\n","protected":false},"author":99209,"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-10066","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-python"],"acf":[],"blog_post_summary":"<p>The June 2025 release includes Copilot chat tools in the Python extension, project creation from a template, language server based terminal suggest, and more!<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/10066","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\/99209"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/comments?post=10066"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/10066\/revisions"}],"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=10066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/categories?post=10066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/tags?post=10066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}