企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

第5回 超强大!赋予VsCode灵魂的7款Python编程插件,全部解锁

wudianyun 2025-02-26 14:07:09 精选文章 26 ℃

Docker方案

WSL的出现比Docker要晚。如果您购机时间较早,那么您的Windows可能不支持WSL,但可以安装Docker。在这种情况下,您可以尝试安装桌面版的Docker,然后通过Docker来运行一个Linux虚拟机。

安装Docker可以从其官方网站下载,安装完成后,首次运行需要手动启动。可以从搜索框中搜索"Docker",然后选择"Docker Desktop"来启动,见下图:

当Docker启动后,就会在系统托盘区显示一个通知图标:

上图中第三个,鲸鱼图标,即是Docker正在运行的标志。点击它可以进入管理界面。首次运行时需要做一些设置,可以参考官方文档。

在Windows上运行Docker,由于操作系统异构的原因,首先需要启用Hyper-V虚拟机,然后将Docker安装到这个虚拟机中。这就是为什么在Windows下安装运行Docker,无论当前是否有容器在运行,系统资源也被静态分配切割的原因。

但是大概从2020年3月起,Docker开始支持运行基于WSL2的桌面版。基于WSL2的桌面版Docker,Docker后台服务启动更快,资源也仅在需要时才进行分配,因此在资源调度上更加灵活高效。

虚拟机方案

也有可能您的机器既不支持安装WSL,也不支持安装Docker。这种情况下,您可以通过安装VirtualBox等虚拟机来运行Linux。这方面的技术大家应该很熟悉了,因此不再赘述。

我们介绍了三种在Windows上构建Linux开发环境的方案。只要有可能,您首先应该安装的是WSL。WSL可以在运行在几乎所有的Windows 10以上的发行版上,包括Win10 Home。
如果您的机器不支持安装WSL,也可以考虑安装Docker。即使您的机器支持WSL,出于练习CI/CD的考虑,也可以安装Docker,以便体验容器化构建和部署。当然,这需要您的机器有更强劲的CPU和内存。

对于较早的机型,在无法升级到较新版本的Windows时,可以考虑使用虚拟机,比如免费版的VirtualBox。

集成开发环境(IDE)

作为一种脚本语言,Python可以无须编译即可运行,因此,几乎所有的文本编辑器都可以作为Python开发工具。然而,要进行真正严肃的开发,要在开发进度和开发质量之间取得最佳平衡,就需要一个更专业的工具。

集成开发环境(IDE)是一种提高开发效率的工具,它可以让开发者在编写代码时,得到各种代码提示,更早发现语法错误,还可以直接在编辑器中进行调试。

Pycharm和VS Code是进行Python应用程序开发的两个首选工具。对于从事数据分析和人工智能领域的开发者,还可以考虑Jupyter Notebook和Anaconda的Spyder。

VS Code vs Pycharm:使用哪一个IDE?

Pycharm是用于开发Python的老牌IDE,Visual Studio Code(通常被称为VS Code)则是近几年的后起之秀。VS Code完全免费,Pycharm则提供了社区版和专业版两个版本,专业版本功能更强大,但需要付费。

下表简要说明了两个IDE最重要的差异:

还有一些小的差异,比如VS Code很多功能是通过插件实现的,每个插件都有自己的日志输出窗口。当你使用VS Code时,如果某个功能出错,有可能只是某个插件的错误。这个错误可能只会静悄悄地在插件的日志窗口中输出,而不是输出在你熟悉的那些界面窗口中。这可能会让初学者感到困惑。而在Pycharm中,这些窗口、提示界面的安排似乎更符合我们的直觉。

总之,Pycharm是一个开箱即用的IDE,而VS Code安装之后,在正式开发之前,还得安装一系列插件,这可能要花费你一定的时间去比较、配置和学习。当然,如果你打算长期从事开发工作,那么在VS Code上投入一些时间则是值得的。VS Code是一个免费产品,它的许可证允许您使用VS Code来进行任何商业开发。因此,无论您是个人开发者,还是受雇于某个组织,您都可以使用它。

由于我们更倾向于使用VS Code,也由于Pycharm简单易上手,基本上无需教学,所以我们这里略过对Pycharm的介绍,重点讲述如何配置VS Code开发环境。

VS Code及扩展

VS Code是一个支持多语言编辑开发的平台,它本身只提供了文本编辑器、代码管理(Git)、 扩展管理等基础功能。具体到某个语言的开发,则是通过加载该语言的扩展来完成的。因此,安装VS Code之后,还需要配置一系列的扩展。

安装好VS Code之后,在侧边栏上就会出现如下图所示工具栏:

被圆形框框住的图标对应着扩展管理。上部的矩形框可以用来搜索某个扩展,找到对应的扩展并点击,就可以在右边的窗口中看到该扩展的详细信息,如下图所示:

在这个详细信息页,提供了安装按钮。

VS Code扩展管理除了搜索之外,还提供了过滤、排序等功能,读者可以自行探索。如果读者要在多个开发环境下使用VS Code,可能希望这些扩展在不同的环境下都能使用,针对这个需求,VS Code还提供了扩展同步机制。在上图中,在扩展详情页的"Uninstall"按键右侧,有一个同步图标,点击后,VS Code会自动将该扩展同步到其他环境。

下面,我们将讨论一些最常用、最重要的VS Code扩展。在使用了这些扩展武装VS Code之后,您的开发效率将大大提高。

Python扩展

要在VS Code中开发Python应用程序,就需要安装Python扩展。该扩展如前图所示。
Python扩展由微软开发,目前有超过7500万次下载。它提供了IntelliSense、代码语法检查、调试、导航、格式化、重构和单元测试功能。此外,它还提供了Jupyter Notebook集成环境。

随Python扩展一起安装的,还有Pylance,Python Test Explorer for Visual Studio Code,Jupyter等扩展。

Pylance是微软基于自身收购的Pyright静态检查工具,开发的具有IntelliSense的Languange Server。它提供语法高亮、代码自动完成、语法检查、参数建议等功能。

尽管Pylance提供了这些功能,但在使用中,我们更多地把Pylance看成是一个language server,上述功能中的语法检查、代码提示和自动完成等功能,还是应该通过更专业的专门扩展(或者第三方服务)来完成。在这里,Pylance可以作为这些功能的一个扩展平台。

Test Explorer的主要作用是发现和搜集项目中定义的单元测试用例,构建TestSuite,提供测试执行入口,并在测试完成之后,报告测试执行情况。

Jupyter是一个允许你在VS Code中阅读、开发notebook的扩展。与单独安装的Jupyter notebook相比,它能提供更强大的代码提示、变量查看和数据查看。此外,调试notebook一直是个比较麻烦的事。在VS Code中,你可以象调试Python代码一样,逐行运行和调试notebook。

在Python扩展安装完成之后,就可以进行Python开发了。在开发之前,需要为工程选择Python解释器。可以从命令面板中输入Python: Select Interpreter来完成,也可以点击状态栏中的选择图标,如下图所示:

Remote - SSH

这是一个非常有用的扩展,是微软官方开发的扩展之一。它可以让你在VS Code中直接打开远程机上的文件夹,编辑并调试运行。如果您使用过Pycharm等IDE,就会知道,尽管这些IDE也支持远程开发,但它们是在本地创建文件,调试运行前先要上传同步到远程机器上。频繁同步不仅降低了效率,而且也常常出现未能同步,导致行为与预期不一致,浪费时间查找问题的情况。这也是也是VS Code优于Pycharm的一个重要特性。

安装好这个扩展之后,在侧边栏会出现一个远程连接图标。同时,如果当前已经连接到远程机器,则在状态栏最左侧,还会显示该连接的概要信息。

版本管理相关扩展

VS Code虽然提供了git的集成,但是许多功能并未通过GUI提供,我们还必须熟记git命令。此外,还有一些功能是git也没有的,比如以下功能:

  1. 代码提交时,遵照指定的格式规范,以图形化的方式编辑commit message
  2. .gitignore文件的管理
  3. local history的管理

为实现上述功能,我们需要继续安装扩展。首先是GitLens。

GitLens

Gitlens的功能十分强大,是团队开发中常用的一个扩展。它的功能包括:

  1. 在文件修改历史中快速导航
  2. 在代码行中提示blame信息,如下图所示:

gutter change,如下图所示:


gutter change是指在上图中,在编辑区行号指示的右侧,通过一个线条来指示当前区域存在变更,当你点击这个线条时,会弹出一个窗口,显示当前区域的变更历史,并且允许你回滚变更、或者提交变更。这个功能实际上是git的interactive staging功能,只不过在命令行下使用这个功能,易用性不太好。 如果你在编辑文件之前没有做好规划,引入了本应该隶属于多个提交的修改,gutter change是最好的补救方案。它允许你逐块、而不是按文件提交修改。因此,你可以将一个文件里的不同块分几次进行提交。

  1. GitLens在侧边栏提供了丰富的工具条,如下图所示:

通过这些工具条,你不再需要记忆太多的git命令,并且这些命令的结果也以可视化的方式展示,这也会比控制台界面效率高不少。在这些工具栏里,提供了提交视图、仓库视图、分支视图、文件历史视图、标签视图等。

简单来说,GitLens将几乎所有的Git功能进行了图形化展示和重构,提供了一个丰富的操作界面,让你可以更加方便地操作Git和理解代码变更。

最近发表
标签列表