当前位置: 首页 > 科技观察

使用VSCode进行Python编程

时间:2023-03-12 22:32:47 科技观察

VisualStudioCode,简称VSCode,是一个开源文本编辑器,其中包含用于构建和调试应用程序的工具。安装并启用Python扩展后,VSCode可以配置为Python开发的理想工作环境。本文将介绍一些有用的VSCode扩展并配置它们以最大限度地提高Python开发效率。如果你的电脑上没有安装VSCode,可以参考文章在Fedora上使用VSCode进行安装。在VSCode中安装Python扩展首先,为了更方便的在VSCode中进行Python开发,需要先安装VSCode扩展商店中的Python扩展。安装Python扩展后,就可以配置Python扩展了。VSCode通过两个JSON文件管理设置:一个文件用于VSCode的全局设置,另一个文件用于所有项目的特殊设置。对于个别项目,可以使用快捷键Ctrl+,(逗号)打开全局设置,也可以通过File->***Item->Settings打开。设置Python路径可以在全局设置中配置python.pythonPath,让VSCode自动为每个项目选择最合适的Python解释器。//将设置放在这里以覆盖默认设置和用户设置。//Python的路径,您可以通过修改此设置以包含完整路径来使用自定义版本的Python。{"python.pythonPath":"${workspaceRoot}/.venv/bin/python",}这样,VSCode就会使用虚拟环境目录.venv下项目根目录下的Python解释器。使用环境变量默认情况下,VSCode使用项目根目录下的.env文件中定义的环境变量。这对于设置环境变量很有用,比如:PYTHONWARNINGS="once"可以让程序在运行时显示警告。可以通过设置python.envFile://Absolutepathtoafilecontainingenvironmentvariabledefinitions."python.envFile":"${workspaceFolder}/.env"来加载其他默认环境变量文件,代码分析Python扩展也支持不同的代码分析工具(pep8、flake8、pylint)。要启用您喜欢的或用于您正在处理的项目的分析工具,只需进行一些简单的配置。该扩展默认使用pylint进行代码分析。您可以将其配置为使用flake8进行分析:"python.linting.pylintEnabled":false,"python.linting.flake8Path":"${workspaceRoot}/.venv/bin/flake8","python.linting.flake8Enabled":true,"python.linting.flake8Args":["--max-line-length=90"],开启代码分析后,分析器会在不符合要求的位置加一条波浪线,鼠标放置在这个位置,设置一个弹窗提示原因。请注意,flake8需要安装在项目的虚拟环境中,此示例才能运行。格式化代码VSCode可以配置为自动格式化代码。目前支持autopep8、black和yapf。下面的设置将启用“黑色”模式。//格式化提供者。可能的选项包括“autopep8”、“black”和“yapf”。python.formatting.blackArgs":["--line-length=90"],"editor.formatOnSave":true,如果不需要编辑器在保存时自动格式化代码,可以设置editor.formatOnSave设置为false,手动使用快捷键Ctrl+Shift+I格式化当前文档中的代码。请注意,需要在项目的虚拟环境中安装black才能使此示例正常工作。运行任务VSCode的一个重要特性是它可以运行任务。需要运行的任务保存在项目根目录下的JSON文件中。运行flask-dev-serve这个例子将创建一个任务来运行Flask开发服务器。使用可以运行外部命令的基本模板创建一个新项目:如下所示编辑tasks.json文件以创建一个新任务来运行Flask开发服务:{//参见https://go.microsoft.com/fwlink/?LinkId=733558//有关tasks.json格式的文档"version":"2.0.0","tasks":[{"label":"RunDebugServer","type":"shell","command":"${workspaceRoot}/.venv/bin/flaskrun-h0.0.0.0-p5000","group":{"kind":"build","isDefault":true}}]}Flask开发服务使用环境变量来获取应用程序的入口点。正如使用环境变量一节中提到的,这些变量可以在.env文件中声明:FLASK_APP=wsgi.pyFLASK_DEBUG=True以便可以使用快捷键Ctrl+Shift+B来执行任务。单元测试VSCode还支持单元测试框架pytest、unittest和nosetest。启用测试框架后,您可以单独运行搜索到的单元测试,通过测试套件运行测试,或者在VSCode中运行所有测试。比如pytest测试框架可以这样开启:"python.unitTest.pyTestEnabled":true,"python.unitTest.pyTestPath":"${workspaceRoot}/.venv/bin/pytest",注意虚拟环境需要安装项目的pytest才能使此示例正常工作。