直接点击链接,自动安装基础扩展包

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_json

 

VSCode没有新建项目的概念,打开一个文件夹,VSCode会逐步引导完善工程环境配置

 现在从新建文件夹开始,目标是建立一个带虚拟环境的项目配置

 

进入欢迎界面

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_json_02

 

启动:打开文件夹,新建文件夹demo_flask

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_python_03

新建文件 app.py

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_python_04

 

VSCode自动选择了默认的python解释器

 

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_json_05

 

点击可以修改为其他VSCode侦测到的解释器或虚拟环境

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_json_06

 

如果选择其他解释器,vscode会自动创建一个 .vscode 配置文件夹

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_开发工具_07

 

查看 settings.json 文件,就是刚才选择的解释器路径

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_python_08

 

这个设置文件即工作区设置

打开设置,搜索python.pythonPath,可以看到用户设置和工作区设置并不相同,工作区设置的优先级高于用户设置

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_虚拟环境_09

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_虚拟环境_10

 

在 app.py 尝试输入 print 并使用tab补全括号对,然后会遇到第一个问题,tab无效




vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_python_11


打开设置,搜索 python.autoComplete,将用户中这一项勾上即可

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_json_12

 

F5 运行 hello world

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_virtualenv_13

 

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_开发工具_14

 

准备将解释器修改改为虚拟环境

虽然vscode没有pycharm那样的图形界面来创建虚拟环境,但是其实使用命令行创建虚拟环境更快捷

先更新 pip 版本


python -m pip install --upgrade pip


vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_virtualenv_15

 

 使用 python 内置的 venv 新建虚拟环境(命令最后面的 "venv" 是文件夹名称,可以自定义)

python -m venv venv

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_virtualenv_16

 

根目录下出现了 venv 虚拟环境文件夹

 

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_virtualenv_17

 如果希望虚拟文件夹创建在其他地方而不是项目根目录,使用cd命令切换到其他目录即可,建议的虚拟环境管理目录是: 

C:\Users\[你的用户名]\.virtualenvs

 

点击VSCode左下角状态栏的环境名称,会看到VSCode已经侦测到了这个虚拟环境

VSCode认为这个虚拟环境是venv类型,名称是venv

其他的常见虚拟环境类型还有virtualenv,conda等

所以如果我们是使用virtualenv工具新建的虚拟环境,VSCode就会显示其为virtualenv类型

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_virtualenv_18

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_virtualenv_19

 

点击切换到虚拟环境

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_虚拟环境_20

 

接下来安装package

终端中需要先激活虚拟环境为venv,否则会安装package至系统的python3.7路径

直接打开一个新的终端( + 号按钮),VSCode会自动查找并运行Activate.ps1脚本来激活venv环境

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_json_21

 

如果是第一次使用,终端可能会出现红色警告信息

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_虚拟环境_22

 

这是因为win10默认是禁止运行ps1脚本的

在win10系统的搜索栏输入 powershell

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_json_23

 

右键 以管理员身份运行

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_virtualenv_24

 

输入以下命令,然后输入 y 并回车

set-executionpolicy remotesigned

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_开发工具_25

ps:

set-executionpolicy 后面可以指定的权限级别:Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined

Win10系统默认是Restricted,所以如果需要恢复这个设置,输入以下命令,然后输入 y 并回车

set-executionpolicy Restricted

 

现在回到VSCode,重新打开一个终端,ps1脚本会被允许执行,可以看到进入了虚拟环境venv

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_json_26

 

现在再去使用pip命令,就会安装package至venv环境下

 

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_python_27

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_virtualenv_28

 

启动app.py

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_虚拟环境_29

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_虚拟环境_30

 

设置 代码自动格式化

打开设置,输入 Python Formatting Provider,修改为black

 

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_python_31

 

回到app.py中,右键选择格式化,会提示未安装black,点击安装

或者自己使用pip安装

python -m pip install -U black

 

设置 保存时自动格式化

设置中搜索 format save , 勾选

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_python_32

 

设置 linter插件(语法检测工具)

ctrl+shift+p,输入python

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_python_33

选择 linter插件,按提示安装

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_虚拟环境_34

 

如果感觉pip安装很慢,可以设置永久全局pypi镜像源 ,这个设置对所有解释器中的pip都有效

清华/阿里/豆瓣 3个源任选一个

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple

pip config set global.index-url https://pypi.douban.com/simple

vscode中如何使用拓展包python创建新py文件 vscode打包python 文件_virtualenv_35

 

 

 

(待续)