欢迎关注个人公众号:大龄码农的Python之路(gl-1573)python
本文基于 VS Code 1.36.1编程
VS Code 里是不包括 Python 的,因此你首先得安装一个 Python。bash
安装完 python 以后,咱们能够用任何一个文本编辑工具开始写 python 代码,而后在 cmd 中运行代码。机器学习
在 VS Code 中,在不安装任何插件的状况下,也能够运行 python 代码。ide
新建一个 test.py 文件,输入 print('Hello World!')
。工具
点击 查看 -> 终端(快捷键 Ctrl + `)打开终端,输入 python test.py
便可运行,跟在 cmd 中运行 python 代码是同样的。学习
在不安装插件的状况下,点击 调试 -> 启动调试(快捷键 F5)是没办法运行代码的。会让你选择环境,而你根本就没有环境可选。测试
在 VS Code 的应用商店(快捷键:Ctrl + Shift + X)里搜索 Python 插件,并安装。以下图:编码
按 Ctrl + Shift + P(或F1),在打开的输入框中输入 Python: Select Interpreter
搜索,选择 Python 解析器。spa
选择好解析器以后,咱们就能够直接在 VS Code 里运行(快捷键 Ctrl + F5)或调试(快捷键 F5)Python 代码了。
Python 最强大的就是外部库了,在 PyCharm 中,能够在 Settings 中查看、搜索、安装。那么在 VS Code 中如何安装呢?
上文中提到,能够在终端直接运行 .py 文件,其实,终端就至关于命令提示符(cmd),因此直接在终端输入相应命令就能够了。
查看已安装包列表:
pip list
复制代码
安装外部库:
pip install xxx
复制代码
注意:当本机安装了多个 Python 解析器的时候,pip 可能并不会安装到当前解析器目录下。这个我测试屡次后发现,应该是跟环境变量中的顺序有关,会安装到环境变量中最靠前的解析器的目录下。
VS Code 中的代码补全插件是 Visual Studio IntelliCode。一样经过应用商店安装。
Visual Studio IntelliCode 是一套 AI 辅助功能,可经过上下文智能感知,代码样式的推理和执行等功能提升开发人员的工做效率。
IntelliCode 经过使用通过数千个公共代码库培训的机器学习模型生成建议,并且会随着你编写代码的增加,从而变得更加准确。它会根据上下文给出编程建议,而不是简单根据字母排序推荐 API。
最重要的 IntelliCode 已经支持 Python。安装之后,能够有智能提示了。
PyCharm 自带代码检查工具,而 VS Code 中是没有的。
当你新建 .py 文件,开始写代码的时候,右下角可能会跳出个这个(老版本会,新版本不会了):
Pylint 是一个 Python 代码检查工具。须要经过 pip 安装。
打开设置,添加以下设置:
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
复制代码
而后对于不符合规范的代码,就会有波浪线提示了。
在 VS Code 1.36.1 版本,貌似不设计
python.linting.enabled": true
也能够。
flake8 是由 Python 官方发布的一款辅助检测 Python 代码是否规范的工具,相对于目前热度比较高的 Pylint 来讲,Flake8 检查规则灵活,支持集成额外插件,扩展性强。Flake8 是对下面三个工具的封装:
官方文档地址:pypi.python.org/pypi/flake8…
yapf 是一个代码格式化的工具。
经过 pip 安装好 Flake8 和 Yapf 后,进行以下配置。
"python.linting.enabled": true,
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.formatting.provider": "yapf",
复制代码
若是装了 pylint 的话,要设置其
Enabled = false
,不然不用。
安装好以后,咱们在代码文件中(.py)中右键,选择格式化文档,就能够自动的进行代码格式化了。
代码检查工具虽好,但有些严格的检查并不符合咱们的习惯,例如 flake8 默认一行的最大字符数是 79 个,超过就会显示波浪线提示你代码太长了。
79 个字符实在是过短了,咱们能够把它改长一点,增长以下配置,把最大长度设为 128 个字符。
"python.linting.flake8Args": ["--max-line-length=128"],
复制代码