Python的开发工具有很多,如IDLE、PyCharm、VScode、Atom、Sublime Text、Spyder、Thonny、Eclipse with PyDev,当然某些高手也可以用记事本或vim去开发Python。之前我们讲过PyCharm,今天我们再来了解一下VSCode。经常听别人说VSCode那是真香,好用的停不下来,真的是这样吗?我们来体验一下就知道了。
VSCode全称Visual Studio Code,是一款由微软开发且跨平台的开源免费的代码编辑器。它支持语法高亮、代码自动补全、代码重构、查看定义功能,并且内置了命令行工具和Git版本控制系统。用户可以更改主题和键盘快捷方式实现个性化设置,也可以通过内置的扩展程序商店安装扩展以拓展软件功能。VSCode需要安装Python插件才能进行Python开发。官网下载地址是:https://code.visualstudio.com/
在体验VSCode之前,我们先来了解一下PyCharm,有了对比才知道哪个更香! PyCharm有两个版本,一个是专业版,一个是社区版。
PyCharm专业版集成了最丰富的功能,与社区版相比,PyCharm专业版增加了Web开发、Python Web框架、Python分析器、远程开发、支持数据库与SQL等更多高级功能。而PyCharm社区版则没有那么多功能。具体区别如下:
PyCharm专业版这么强大,那就用它了呗!别慌,PyCharm专业版这么厉害,可不是免费的,免费试用期只有30天。那么我们再来看看VSCode,VSCode完全免费,而且还有很多插件可以免费安装使用,这样看来确实很香。
下载安装VSCode,安装完成后,打开的第一个界面就是这样的
这里有Light、Dark、Dark High Contrast和Light High Contrast四种主题可以选择,系统默认主题是Dark。
主题风格是萝卜白菜各有所爱,各人根据喜好去选择。另外,VS Code 扩展商店里有更多的样式,喜欢折腾的同学可以去折腾一下,可能会有惊喜!其中2022年主题排名前三的分别是One Dark Pro、Dracula、 Official
还有很多很多,这里就不一一列举了,感兴趣的同学自己去探索吧!
现在回归正题。我们的目的是体验VSCode开发Python,而VSCode默认是不支持Python的,所以还得安装一个Python插件才行,不像PyCharm那样安装好了直接用就可以了。
我们来看看VSCode有哪些Python插件
- Python(Microsoft)
我们知道VSCode就是微软开发的,那么它开发的Python插件想必功能要十分强大,目前下载量已经达到6200多万。其主要功能包括:智能代码辅助功能、检测、调试(多线程、远程)、Jupyter笔记本、代码格式化、重构、单元测试等等。
- Python Extension Pack
这个扩展包也是微软出的,包含了一些最流行的Python扩展。
- Qt for Python
开发PySide6和PyQt6必备。
Python的插件多得让人眼花缭乱,我们先装这几个,以后有需要再装。
配置Python开发环境
Python插件安装好后,在Get Started里选择Select a Python Interpreter配置Python(这里假设你已经安装了Python)
系统会识别你已经安装的Python,你选择要使用的版本即可。
或者在VSCode配置里进行设置,在系统菜单中选择File->Preferences->Settings打开配置界面。
找到Python选项
在Default Interpreter Path里填写Python的路径。我这里是“C:\Python\Python310\python.exe”
下面我们来写个小程序试一下
VSCode没有新建一个Python项目或工程的概念,自己建一个文件夹就可以了。首先,我们建一个workspace,以后所有VSCode的项目都存放在这里。
新建一个文件夹D:/VSCodeProjects/,再到File菜单里点击“Save Workspace as...”,选择这个目录把它存为工作区。这样工作区就建好了,这一步不是必须的,但是便于以后管理。
我们在VSCodeProjects目录下新建一个HelloWorld文件夹。然后在File菜单里点击“Open Folder...”,弹出一个对话框
勾选它,点Yes信任即可。
在项目名HelloWorld的右侧有四个图标,依次是新建文件、新建文件夹、刷新、复制,新建一个main.py文件
输入print(“Hello World!”)
注意,VSCode默认是不会自动保存的,这跟PyCharm的习惯不太一样,PyCharm是实时保存的,只要代码有变动就立即自动保存了。图上那个白色的圆点就代表当前文档没有保存,按下快捷键Ctrl + S即可。
有两种方式运行程序,点工作区右上的三角图标
或者在main.py文件上点右键,执行Run Python File in Terminal
运行简单的Python程序,这样就可以了。
刚才输入代码的时候,多打了两个空格
没有任何反应,再来看PyCharm
立刻会给出提示,鼠标放上去,点击Reformat the file即可格式化代码。
我知道,要装插件!装了个autopep8,终于可以格式化代码了
配置管理虚拟环境
如果需要使用第三方包的时候,我们先要了解到现在用的是Python下的全局虚拟环境。这个虚拟环境并不是HelloWorld这个项目独有的,这样在打包发布时会把别的项目才用到的第三方包也打包进来,导致打出来的包很冗余,体积很大。所以我们需要给项目建一个独立的虚拟环境。
我们通过pip list查看一下当前全局环境中已经安装的第三方包
通过python -m venv venv命令来安装一个名为venv的独立虚拟环境。其中后面的venv是要建立的虚拟环境的名称,可以随意取名。
我们可以看到在项目中多了一个venv的目录,目录下是虚拟环境相关文件。
这时虚拟环境还不能用,还需要激活。
执行venv/Scripts/activate.bat即可激活当前虚拟环境。
venv被激活之后,这里会显示虚拟环境的名称
再用pip list查看一下当前环境内的第三方库,已经没有全局环境里的库了,这是个纯净的环境。好了,以后想要用什么就用pip install命令安装就可以了。
大家可能看到了这里有个警告,WARNING: The repository located at pypi.douban.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host pypi.douban.com'.
这个问题需要配置一下pip源,我们需要在系统用户目录下新建一个名为pip的文件夹,在文件夹内新建一个pip.ini的配置文件,文件内容如下:
[global]
index-url = http://pypi.douban.com/simple
trusted-host =pypi.douban.com
注意,这里的用户名改成你自己的
然后重新再测试一下pip list命令
又来了一个警告,这是由于当前虚拟环境pip不是最新版本,根据提示更新一下即可。
好了,问题解决!
VSCode关闭后重新启动,又有一个新的问题:虚拟机并没有自动激活!
注意到没有,这里的虚拟环境名称已经没有了,这说明当前虚拟环境并没有激活。此时查看第三包正是全局环境里的。
因此,如果项目用的是独立虚拟环境,记得在安装第三方包前先确认有没有激活。否则你可能把第三方包安装到全局环境里去了。到这里,我怎么觉得VSCode没那么香了呢?很多东西都需要自己去配置,而这些PyCharm都为你准备好了。
另外,VSCode的终端,居然没有路径补全功能,最近使用过的命令也没有记忆功能。在PyCharm中,对于很长的路径,只要写几个字母,按一下Tab键,它会跟你自动补全,而且按上下键可以找回之前写过的命令,提高命令输入效率。这些在操作系统的cmd里都是具备的功能。
有人跟我说装个Path Intellisense插件不就搞定了?好吧,又要装插件!装上之后虽然大致是可以补全了,但是偶尔会不起作用。然而命令记忆功能还是没有,然后呢?又要装什么插件?发了一下牢骚,还是继续吧!
配置PySide6(Qt Designer、uic、rcc)
再次进入Setting配置界面,选择Qt for Python选项
配置Qt Designer
打开Edit in settings.json
配置Rcc
默认参数为-o "${workspaceFolder}${pathSeparator}.qt_for_python${pathSeparator}rcc${pathSeparator}${fileBasenameNoExtension}.py"
这个意思是把qrc文件转换生成的py文件保存在当前工作目录中的.qt_for_python/rcc/目录下,比较繁琐,建议改为-o "${workspaceFolder}${pathSeparator}rc_${fileBasenameNoExtension}.py"
这样生成的py文件所在目录与*.qrc目录相同,且文件前缀为rc_
配置Uic
默认参数为-o "${workspaceFolder}${pathSeparator}.qt_for_python${pathSeparator}uic${pathSeparator}${fileBasenameNoExtension}.py"
这个意思是把qrc文件转换生成的py文件保存在当前工作目录中的.qt_for_python/uic/目录下,比较繁琐,建议改为-o "${workspaceFolder}${pathSeparator}ui_${fileBasenameNoExtension}.py"
这样生成的py文件所在目录与*.ui目录相同,且文件前缀为ui_
配置好的setting.json就是这样的了
配置好后,在资源管理器空白处点右键
这里有个New Form(Qt Designer UI File)
打开Qt Designer写个简单的界面,测试一下。界面设计好后,会以.ui为后缀的文件保存。在这个ui上点右键,可以把ui文件保存为py文件了。
以上就是在VSCode新环境下新建一个Python项目实例的体验过程,可以说是历尽了千山万水,总算是基本搞定了。对于一个新手来说,PyCharm比VSCode要简单多了。VSCode的中心思想就是插件,连最常用的基本功能都需要装插件。没有什么是装一个插件搞不定的,如果有,再装一个就是了!当然这只是VSCode新环境需要折腾一下,折腾好了以后的路就顺了。
有人说虽然VSCode很麻烦,但是就是香!好吧,论可玩性VSCode确实是香。就像很多人喜欢开手动挡车一样,有驾驶乐趣!大家觉得VSCode香不香呢?欢迎来评论。