Visual Studio Code是最通用的代码编辑器之一。尽管它是一个代码编辑器,但该程序的绝对可扩展性使其几乎与一些 JetBrains 产品一样强大。
在本文中,我将引导您完成配置 Visual Studio Code for Python 开发的整个过程。这不是一个通用的设置,但这是我个人使用的东西,发现它真的很舒服。
第一步是在计算机上安装 Visual Studio Code。我现在在 Debian 12 上,我已经准备好了编辑器。文档中提供了特定于平台的安装说明。
假设您已经过了安装步骤,现在我将向您介绍一组基本扩展,这些扩展将使您的 Python 开发体验提升到一个新的水平。
蟒蛇扩展
您需要安装的第一个扩展是 Microsoft 中的 Python 扩展。
https://marketplace.visualstudio.com/items?itemName=ms-python.python
这实际上是一个包含两个扩展的扩展包。第一个扩展是 Python 扩展。它为Visual Studio Code中的Python开发奠定了基础。
另一个是Pylance,这是一个非常高性能的Python语言服务器。
https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance
此扩展提供了丰富的智能感知支持,并由 Pyright(Microsoft 中的静态类型检查器)提供支持。您需要考虑的下一件事是棉绒。
拉夫·林特
linter 是一个程序,用于静态分析您的代码,并提供有关可能错误的宝贵见解。
Pylance 扩展在查找代码中的致命错误方面做得非常出色,但代码远不止于此。
在处理一个大项目时,在代码库中留下不必要的混乱是很常见的。诸如未使用的导入和变量、错误的代码实践等。
一个好的 linter 可以指出代码闻起来像这样,并使您的代码更干净。现在,当涉及到Python linters时,首选是Pylint。
Pylint 已经存在了很长时间并且效果很好,但我认为有更好的选择。
Ruff 是一个用 Rust 编写的非常快的 Python linter,它比 Pylint 施加了更严格的 linting 规则。该工具还有一个官方扩展名。
https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff
它是一个即插即用扩展,不需要任何额外的配置。因此,一旦安装了它,您就可以开始了。
我排序
像 linter 一样,isort 是另一个唯一目的是对导入语句进行排序的实用程序。
https://marketplace.visualstudio.com/items?itemName=ms-python.isort
该实用程序按字母顺序对所有导入进行排序,同时将它们划分为多个部分。
扩展非常简单。获得扩展名后,它将在任何看起来不合适的导入语句下呈现波浪线。
然后,您可以使用快速操作菜单对它们进行排序。或者,您也可以使用命令面板快速访问 isort 命令。
Mypy类型检查器
在我开始谈论这个扩展之前,让我解释一下mypy实际上是什么。
根据他们主页上的信息:
Mypy是Python的一个可选的静态类型检查器,旨在结合动态(或“鸭子”)类型和静态类型的优点。Mypy将Python的表达能力和便利性与强大的类型系统和编译时类型检查相结合。
简而言之,mypy 迫使您在 Python 程序中添加基本类型注释,使它们更容易理解。
https://mypy-lang.org/
最近,Microsoft发布了一个扩展,该扩展使用mypy将类型检查功能添加到他们心爱的编辑器中。
https://marketplace.visualstudio.com/items?itemName=ms-python.mypy-type-checker
安装扩展后,它将对代码执行必要的检查,并将任何缺少的类型注释报告为编译时错误。
虽然具有类型注释不是强制性的,但强烈建议这样做。
智能代码
IntelliCode在Visual Studio Code中提供AI辅助代码完成。这听起来可能类似于GitHub Copilot,但实际上它比这小得多。
https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode
GitHub Copilot或Tabnine提供成熟的代码块,IntelliCode可以完美地自动完成代码行。
在大多数情况下,此扩展可以通过建议正确的内容来帮助您键入更少的相同代码,同时避免妨碍您。
误差镜头
虽然与Python没有特别关系,但Error Lens是一个很好的扩展,它将错误嵌入在代码行的旁边。
我经常在我的14英寸Thinkpad上工作,喜欢关闭终端窗格。错误镜头消除了不时查看终端以查看我的错误和警告的需要。
尽管它可能很有用,但有时由于所有警告和错误输出,您的编辑器看起来很混乱,因此请做出相应的决定。
缩进彩虹
与其他编程语言不同,不正确的缩进级别可能会破坏 Python 中的程序。
Visual Studio Code 在可视化代码中的缩进级别方面已经做得很好,但是如果你想给它添加一些颜色,缩进彩虹包就是你需要的。
https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow
它为不同的缩进级别添加不同的颜色。就个人而言,我不经常使用这个,但您可能会发现它很有用。
结论
就像我说的,这些扩展和我的个人配置不是灵丹妙药。但是这个设置是我已经使用了很长一段时间的东西,我希望它对你也有用。
我经常根据我从事的项目安装专门的扩展。例如,当我在处理Django或Flask项目时,我会使用Django或Jinja项目。
或者我在处理Jupyter Notebook时安装了Jupyter扩展。因此,请随意安装您需要的任何东西,只是不要过度安装。
