我们很高兴地宣布,2022 年 10 月发布的适用于 Visual Studio Code Python 和 Jupyter 扩展现已推出!
此版本包括以下改进:
-
使用新的创建环境命令简化项目设置
-
现在可以为 Pylance 提供包含、排除和忽略路径设置
-
预发布的 autopep8 扩展
-
Python 文件单元格折叠
-
标记和参数化笔记本单元格
-
Pylance 的新类型检查状态按钮
-
Grace Hopper 会议和开源日
如果您有兴趣,可以在我们的更新日志中查看 Python、Jupyter和 Pylance 扩展的完整改进记录。
使用新的创建环境命令简化项目设置
我们添加了一个新的命令,可自动为您的 Python 工作区创建虚拟环境或 Conda 环境。您可以通过命令面板触发命令(Ctrl + Shift + P⌘ + ⇧ + P),选择是要使用 venv 还是 Conda 环境创建新的虚拟环境,最后为您的项目选择所需的解释器。该命令还将安装项目文件夹中的 requirements/dependencies 文件中列出的必要包,例如 requirements.txt、pyproject.toml 或 environment.yml。我们希望这个新功能能够简化环境创建的过程,并鼓励使用虚拟环境编写代码以获得最佳实践。
现在可以为 Pylance 提供包含、排除和忽略的路径
Pylance 添加了一项增强功能,允许用户通过 VS Code 设置包含、排除和忽略路径。在每个设置中,您可以指定 Pylance 诊断输出应包含、排除或忽略的目录或文件的路径。
在 VS Code 设置面板中查找这些新设置:
-
python.analysis.include
-
python.analysis.exclude
-
python.analysis.ignore
预发布的 autopep8 扩展
我们继续向我们不断增长的扩展库添加一个新的 autopep8 扩展!与我们的 pylint、black、isort 和 flake8 扩展一样,autopep8 扩展使用语言服务器协议来提供格式支持。由于它附带最新版本的 autopep8,因此不需要在 Python 环境中安装它。
您现在可以通过从市场下载 autopep8 扩展。如果您有任何问题或功能请求,您可以将它们提交在 autopep8 扩展的 GitHub 存储库中。
Python文件单元格折叠
现在可以在 Python 文件中折叠所有用 # %% 标记表示的“单元格” 。这使得折叠代码部分变得很容易,这样您就可以查看您的 Python 文件而无需大量滚动。
标记和参数化笔记本单元格
您现在可以直接在笔记本编辑器中添加标签和参数化笔记本单元格,而无需打开文档的 json 格式——这是 Jupyter 扩展中提供的功能。此功能可以为 papermill 或 nbconvert 的笔记本提供参数化等功能,以便直接从您的笔记本创建幻灯片!
Pylance 的类型检查状态按钮
您现在可以通过编辑器底部状态栏中的语言状态按钮为 Pylance 设置类型检查模式。此设置可以在 off、basic 和 strict 之间切换。
您可以在 Visual Studio Code Docs 中了解有关类型检查设置和其他 Python 语言服务器设置的更多信息。
Grace Hopper 会议和开源日
9月16日,我们团队参加了开源日!开源日是一个全天的黑客马拉松,也是开源界最大的女性庆祝活动 Grace Hopper 庆祝活动的一部分。在本次活动中,与会者与同行以及经验丰富的导师合作,为多个开源项目做出贡献。
我们要感谢与我们一起参加本次活动的所有导师,以及为我们的项目做出贡献的每一位参与者:
-
avaniatre4 : 按字母顺序重新排序 package.json 中的设置 ( vscode-flake8#43 )
-
Radhika Aggarwal:在触发“tab before keyword”警告时,为格式化文件添加了code action(vscode-flake8#44)
-
kate-kee : 按字母顺序重新排序 package.json 中的设置 ( vscode-pylint#188 )
-
jjmacklin:在触发“trailing newlines”警告时为格式化文件添加了code action(vscode-pylint#189)
-
ChinazoOnwukaike:删除“set as interpreter”的代码镜头 ( vscode-python#19853 )
有许多“快速修复”功能问题可供希望做出贡献的人使用!我们鼓励 Python 社区以任何方式贡献和维护扩展。您可以在 pylint、flake8、isort 和 black 存储库中找到标记为 good first issue 的问题。要了解其他贡献方式,请查看 Dawn Wages 的博客文章,了解如何与 Microsoft 的 Pythonistas 一起为开源做出贡献!
其他更改和增强
我们还添加了一些小的增强功能并修复了用户请求的问题,这些功能应该可以改善您在 Visual Studio Code 中使用 Python 和 Jupyter Notebooks 的体验。一些显着的变化包括:
-
现在可以在笔记本大纲视图中检测和显示 Markdown 单元格中的 HTML 标题
-
改进了交互式窗口的命令交互。interactive.input.focus 命令现在将焦点放在最近使用的交互式窗口的输入框上。例如,您可以 Ctrl + Up Arrow 在交互窗口中选择最后运行的“单元格”并 DD 删除该单元格(使用自定义键盘快捷键)。您还可以 Ctrl + Z 撤消删除单元格命令。
-
“Remove all unused imports”代码操作现在仅删除顶级导入,“Remove unused import”代码操作现在删除前导空格 ( pylance-release#3181 )
-
Pylance 自动完成列表显示空模块的名称(pylance-release#3293,pylance-release#3289)
-
诊断不再显示在 IPython 单元魔法中 ( pylance-release#3327 )
我们还要特别感谢本月的贡献者:
amyreese 使用新发布的扩展模板创建了 ufmt 扩展。通过主要更改 Python 代码,该模板可用于为您喜欢的 linter 或格式化程序创建 VS Code 扩展。有关模板的更多信息,请参考我们的2022 年 8 月版本并尝试使用 ufmt 扩展!
通过从 Marketplace 更新或下载 Python 扩展和 Jupyter 扩展来尝试这些新改进 ,或者直接从 Visual Studio Code 中的扩展视图安装它们(Ctrl + Shift + X 或 ⌘ + ⇧ + X)。您可以在文档中了解有关 Visual Studio Code Python 的更多信息。如果您遇到任何问题或有建议,请在Python VS Code GitHub 页面上提出问题。
欢迎前往 Python in Visual Studio Code 官方站点,了解更多~