完全使用vscode开发python
完全使用vscode开发python
作为Python开发,以前一直使用Pycharm社区版,因为卡顿,尝试使用vscode替换,尝试后并在工作中使用了半个月觉得真香,所以分享给大家。
更详细的视频介绍请看: Bilibili
解决痛点
先说说我的情况,有相同的情况的话可以考虑转战vscode
卡顿,由于使用微服务架构,开发时需要在本地启动多个项目,全部使用Pycharm启动项目卡到怀疑人生
全栈开发时,Pycharm社区版对前端代码欠佳(可能因为WebStorm收费,故意弱化了前端支持)
Pycharm社区版不支持Jupyter notebook(社区版只能查看,编辑需要专业版)
SSH远程连接服务器,Docker GUI等
必备
vscode拓展
- python
支持python语法,安装"python",会绑定安装Pylance/Jupyter

- autoDocstring
生成注释,和Pycharm一样输入三个引号"""会生产注释结构

- TODO Tree
高亮显示 TODO/FIXME

vscode自带markdown,这个拓展进行了增强,可以使用markdown画流程图,时序图

- Git Graph
Git分支界面工具,查看分支更加方便(GitLens也不错,但个人感觉太重量了,但效果一般)

- IntelliCode
微软官方智能提示,用过的都说好
- indent-rainbow
缩进彩虹,看着很香。对python需要加个配置,否则python有些缩进会出现误报。
{
"indentRainbow.ignoreErrorLanguages": [
"python"
]
}

python相关设置
设置python环境
- 按"F1"打开命令面板(如果这个"F1"被占用,点击vscode左下角的齿轮,选择"Command Palette...")
- 选择"Python:Select Interpreter"(可输入"Python Select"进行筛选)
- 选取自己想要使用的python环境即可


使用格式化工具yapf,并勾选"Format On Save"
- 设置中搜索formatting,将格式化工具切换为yapf(默认是autopep8)
- yapf使用pip安装,设置中可以指定yapf路径,即无需在每个python环境中安装yapf
- 设置中勾选"Format On Save",每次"Ctrl + s"保存的同时格式化代码
或者可以直接使用以下配置(将yapf地址替换为自己的地址)
{
"editor.formatOnSave": true,
"python.formatting.yapfPath": "**********\\Scripts\\yapf",
"python.formatting.provider": "yapf",
}


- DEBUG
点击左侧"DEBUG",点击"create a launch.json file",选择"Python"即可选择多重python启动方式,基本涵盖了所有Python的启动类型。
添加之后,会在根目录下创建launch.json文件,在其中就是可以修改启动参数,例如"env"可以修改启动的环境变量,如数据库地址,账号密码等

通用
- Remote - SSH
使用SSH连接服务器,连接后可以直接使用vscode打开服务器上的文件,这样就可以不用使用vi命令了,将文件拖拽到vscode中可以直接上传到服务器内。
每次登陆需要输入密码麻烦,可以使用SSH密钥,请看 这篇文章。

- Docker
该拓展是一个Docker的GUI界面工具,类似Docker Desktop的作用,如果你电脑有安装Docker Desktop这个拓展是鸡肋。可以配合Remote-SSH使用,往往服务器上Linux,使用这个拓展可以拥有和windows一样的GUI

- vscode-icons / Material Icon Theme
图标主题,美化文件目录的文件图标,颜值即生产力

- SQLTools
数据库查询工具,简单的数据库工具,可以连接各种数据库,简单查询或使用SQL做CURD
但功能过于简单,可以应急查个,不建议长期使用,推荐 beekeeper


完全使用vscode开发python的更多相关文章
- Vscode开发Python环境安装
VSCode 开发 Python 使用python,主要是做一些工具和爬虫的操作,语法简单,功能复杂,入手很快. 我们通过在 VSCode 中搜索 Python 插件,发现,开发 python 的话, ...
- PYTHON实战完整教程1-配置VSCode开发环境
一.安装 为降低学习门槛,保证学习目标的聚焦,我们在windows(使用WinServer2019虚拟机)上搭建开发环境.(系列教程最后结束时,也会部署到linux上) 打开Python官网 http ...
- 用 VSCode 编写 python
一.coding 1.选择一个Python解释器 通过命令选项板(⇧⌘P),键入Python:Select Interpreter命令,然后选择一个解释器. 成功后左下角出现: 2.运行代码 二.重构 ...
- 2019-04-03 Anaconda+VSCode搭建python开发环境,并连接GIthub
1.最好的Python开发环境 :Anaconda+VSCode搭建python开发环境,conda提供了python开发环境和大量的你不用安装的库 conda的环境变量: 直接在conda 中下载启 ...
- 39 Ubuntu下配置python的vscode开发环境
0 引言 最近想在ubuntu下搞深度学习,首先配置了python的vscode开发环境.在配置python时,选择了Anaconda3.x,保证了其相对于系统python2.x的独立性.另外,vsc ...
- 使用Vscode进行Python开发环境配置
Vscode是是一个强大的跨平台工具,我自己电脑是mac,公司电脑是win而且是内部环境,导致公司安装软件很费劲.好在vscode许多插件能直接离线安装,省去了很多麻烦. 很多人学习python,不知 ...
- 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(1)
最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgz ...
- vs code开发python时找不到当前目录下的文件、UnicodeDecodeError: 'gbk'
一.vs code开发python时找不到当前目录下的文件, file = open("readme.txt")一直报错,找不到目录下面的文件 原来vscode 默认都是以打开的项 ...
- Mac OS安装Go语言及配置VSCode开发环境:一个工具(gopls)解千愁
前言 截止到目前为止,Go语言已经更新到1.14.1,网上的很多教程均已经过时,我在此汇总并整理一下相关的教程,提供一个适合当下的Mac OS教程. 教程中使用了Go在1.11之后推出的依赖包管理工具 ...
- 使用 VSCode 开发调试 STM32 单片机尝试
使用 VSCode 开发调试 STM32 单片机尝试 本文记录基于 Windows + DAP-Link 开发 STM32F103C8T6 的实践过程,其他操作系统或芯片应该也只是大同小异的问题. 注 ...
随机推荐
- C语言利用union 和 struct 进行位拆分
#include <stdlib.h> typedef unsigned char uint8_t; union wate_temp{ struct { uint8_t wate_temp ...
- 神奇的Object.assign()
Object.assign() 方法用于将所有可枚举的属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 1.Object.assign()可以在对象为一层的时候,实现简单的"深拷 ...
- 简单的关键词查找实验(基于C语言)
准备 书名数据库的阵列表示 关键字 书籍 B1 B2 B3 B4 B5 B6 B7 algebra 1 1 1 1 1 1 0 application 1 0 1 1 1 1 0 elementary ...
- JQery easyUI 滚动分页
var s1 = new Date().getTime(); $(document).ready(function(){ var flag = true; //鼠标 ...
- 最新go语言学习教程
go语言学习教程 集合了连接go routine.go连接redis.go连接kafka等示例,所有代码均经过实践,可以直接使用 https://github.com/fastbpmn/go-stud ...
- gRPC 入门(一)
前言 在学习 gRPC 之前,先学习 protobufu 协议,简单的来理解,我们可以使用他来定义 消息 和 服务.然后你只需要实现服务即可,剩下的东西,gRPC 会帮你自动完成. protobufu ...
- 【Java学习Day08】数据类型、变量及字节
数据类型 强类型语言 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 弱类型语言 要求变量的使用要符合规定,所有变量都必须先定义后才能使用 Java的两大数据类型 public clas ...
- geoserver的自动化部署
年后接到一个任务,需求是这样的: 搭建一个geoserver服务器,将公司内部的mbtile数据(EPSG:3857)发布出去 服务的输出格式为MBTiles with vector tiles的矢量 ...
- .ToList()前的OrderBy是起不到排序效果的【未解决】
废话也不说了,直接上图 思考:很多时候我们都想通过Linq的OrderBy给数据集进行排序,这样确实是有效的,但是如果后面将数据集改成了ToList()的话是又会重新打乱排序方式的! 所以有个疑问需要 ...
- QMap 删除指针内容时的一个问题
在测试代码时,发现一个问题: void UserManager::removeUser(const QString &name) { QMap<QString, User*>::I ...