[Python] 在VSCode中使用 Python[2] - 编辑Python

英文原文:https://code.visualstudio.com/docs/python/editing

  Visual Studio Code 是一款功能强大的 Python 源代码编辑工具。该编辑器包含各种功能,可帮助您在编写代码时提高工作效率。有关在 Visual Studio Code 中进行编辑的详细信息,请参阅基本编辑和代码导航。

  在本概述中,我们将描述 Python 扩展提供的特定编辑功能,包括如何通过用户和工作区设置自定义这些功能的步骤。

自动补全和智能提示

  IntelliSense 是与代码完成相关的代码编辑功能的总称。花点时间看看下面的例子。键入 print 时,请注意 IntelliSense 如何填充自动完成选项。当用户开始输入名为greeting 的变量时,还会给出一个选项列表。

在这里插入图片描述

  为当前工作文件夹中的所有文件提供自动完成和 IntelliSense。它们还适用于安装在标准位置的 Python 包。

  Pylance 是 VS Code 中 Python 的默认语言服务器,与 Python 扩展一起安装以提供 IntelliSense 功能。

  Pylance 基于 Microsoft 的 Pyright 静态类型检查工具,利用类型存根(.pyi 文件)和惰性类型推断来提供高性能的开发体验。

  有关 IntelliSense 的更多一般信息,请参阅IntelliSense。

提示:查看 VS Code 的 IntelliCode 扩展。 IntelliCode 为 Python 中的 IntelliSense 提供了一组 AI 辅助功能,例如根据当前代码上下文推断最相关的自动完成。有关更多信息,请参阅 IntelliCode for VS Code 常见问题解答。

自定义 IntelliSense 行为

  ​默认情况下启用全套 IntelliSense 功能最终可能会让您的开发体验变慢,因此 Python 扩展启用了一组最少的功能,使您能够在保持高性能体验的同时提高工作效率。但是,您可以通过多种设置根据您的喜好自定义分析引擎的行为。

启用自动导入

  ​Pylance 为工作区中的模块和/或环境中安装的包提供自动导入建议。这使得导入语句能够在您键入时自动添加。默认情况下禁用自动导入,但您可以通过在设置中将 python.analysis.autoImportCompletions 设置为 true 来启用它们。

为自定义包位置启用 IntelliSense

  要为安装在非标准位置的包启用 IntelliSense,请将这些位置添加到 settings.json 文件中的 python.analysis.extraPaths 集合(默认集合为空)。例如,如果您使用 Flask,您可能将 Google App Engine 安装在 app.yaml 中指定的自定义位置。在这种情况下,您可以按如下方式指定这些位置:

打开 VS Code 并按“Ctrl + Shift + P”快捷键访问命令面板。输入“settings.json”在搜索栏中并选择特定设置。

Windows:

“python.analysis.extraPaths”: [
“C:/Program Files (x86)/Google/google_appengine”,
“C:/Program Files (x86)/Google/google_appengine/lib/flask-0.12”]

macOS/Linux:

“python.analysis.extraPaths”: [
“~/.local/lib/Google/google_appengine”,
“~/.local/lib/Google/google_appengine/lib/flask-0.12” ]

有关可用 IntelliSense 控件的完整列表,您可以参考 Python 扩展代码分析设置和自动完成设置。

您还可以自定义自动完成和 IntelliSense 的一般行为,甚至完全禁用这些功能。您可以在自定义 IntelliSense 中了解更多信息。

通过人工智能提高完成率

  GitHub Copilot 是一款基于 AI 的代码完成工具,可帮助您更快、更智能地编写代码。您可以使用 VS Code 中的 GitHub Copilot 扩展来生成代码,或从它生成的代码中学习。

在这里插入图片描述
  GitHub Copilot 提供了针对多种语言和各种框架的建议,尤其适用于 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++。

您可以在 Copilot 文档中了解有关如何开始使用 Copilot 的更多信息

导航

编辑时,您可以右键单击不同的标识符以利用几个方便的命令

  • 转到定义 (F12) 从代码跳转到定义对象的代码。当您使用库时,此命令非常有用。
  • 查看定义 (Alt+F12) 类似,但直接在编辑器中显示定义(在编辑器窗口中留出空间以避免遮挡任何代码)。按 Esc 键关闭“查看”窗口或使用右上角的 x。
  • 转到声明跳转到在代码中声明变量或其他对象的位置。
  • Peek声明类似,但直接在编辑器中显示声明。再次使用 Escape 或右上角的 x 关闭 Peek 窗口。

快速修复

  使用 Pylance 时添加导入快速修复可以让您快速完成导入语句。首先,首先在编辑器中输入包名称。您会注意到代码操作可用于自动完成源代码行(只要您在环境中安装了该模块)。将鼠标悬停在文本(标有波浪线)上,然后在代码操作灯泡出现时选择它。然后,您可以从潜在导入列表中进行选择。
在这里插入图片描述
  此代码操作还识别以下常见 Python 包的一些流行缩写:numpy 为 np、tensorflow 为 tf、pandas 为 pd、matplotlib.pyplot 为 plt、matplotlib、为 mpl、math 为 m、scipi.io 为 spio, scipy 为 sp,panel 为 pn,holoviews 为 hv。

在这里插入图片描述
  导入建议列表按照顶部的包(或模块)的导入语句进行排序。它还将包括来自指定包的更多模块和/或成员(类、对象等)的语句。

  就像自动导入一样,默认情况下仅建议顶级符号。您可以通过 python.analysis.packageIndexDepths 设置自定义此行为。

重构

  Python 扩展添加了以下重构功能:提取变量、提取方法和重命名模块。它还支持实现其他重构功能(例如排序导入)的扩展。

提取变量

  提取当前范围内所选文本的所有相似出现,并将其替换为新变量。

  您可以通过选择要提取为变量的代码行来调用此命令。然后选择旁边显示的灯泡。

在这里插入图片描述

提取方法

  提取当前范围内所选表达式或块的所有相似出现,并将其替换为方法调用。

  您可以通过选择要提取为方法的代码行来调用此命令。然后选择旁边显示的灯泡。

在这里插入图片描述

重命名模块

  Python 文件/模块重命名后,Pylance 可以找到可能需要更新的所有实例,并为您提供所有更改的预览。

  要自定义需要更新哪些引用,您可以在重构预览中的行或文件级别切换复选框。做出选择后,您可以选择应用重构或放弃重构。

在这里插入图片描述

排序 Imports

  Python 扩展支持 isort 和 Ruff 等实现排序导入功能的扩展。此命令将来自同一模块的特定导入合并到单个导入语句中,并按字母顺序组织导入语句。

  您可以通过安装支持排序导入的扩展来调用此功能,然后打开命令面板 (Ctrl+Shift+P) 并运行组织导入。

提示:您可以为 editor.action.organizeImports 命令指定键盘快捷键。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值