vscode 下开发 Python

我平时 80% 的时候都是用 vscode 进行开发

VScode 的优缺点

  • 优点
    • 完全免费
    • 插件众多
    • 多语言可用
    • 资源占用相对较小
  • 缺点
    • 相比之下对于每个语言的专一度匹配没有那么高
    • 配置相对繁琐

拿 python 来说,最常用的编辑器就是 pycharm 了, pycharm 太吃内存了, 免费版没有远程开发功能, 我很喜欢 VScode 的远程开发功能,我的很多程序都是在服务器上开发,用 vscode 直接远程编写代码

常用插件

  • Code Runner 智能执行代码(有的时候用起来挺方便)
  • Atom One Dark Theme 主题插件优雅且低调
  • Chinese 汉化插件
  • Remote-SSH 这个套件可以远程开发非常好用
  • GitLens 代码管理
  • Path Intellisense 自动联想路径
  • vscode-icons 文件图标
  • Bracket Pair Colorizer 用不同颜色区分出代码中的括号
  • filesize 文件大小展示
  • CodeSnap 代码转截图,很好看
  • autoDocstring 能够自动生成函数的注释格式,通过tab键快速切换填充块编写相应的注释。

当然还有一些是每种语言开发需要安装的插件,按需安装即可

Python 页头设置

设置下,选择用户代码片段进入后搜索 python 进行添加即可

"HEADER":{
	"prefix": "header",
	"body": [
	"# -*- encoding: utf-8 -*-",
	"'''",
	"@File    :   $TM_FILENAME",
	"@Time    :   $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
	"@Author  :   Zok",
	"'''",
	"",
	"# here put the import lib",
	"$0"
	],
  }

创建文件的时候,输入 header 选择相应的代码片段就会自动输入了

Python 代码格式化美化 Black

python 代码格式化插件有老牌谷歌开发的 YAPF 和 autopep8 现在最流行的 python 代码美化插件 Black 强迫症请务必使用

pip install black

vscode 中使用必须先安装 python 插件

在「设置」中搜索 python formatting provider ,然后把默认的 autopep8 改为 black 即可。

有需要的话,可以设置 保存时候自动格式化

在「设置」界面搜索 format on save ,可以勾选打开保存时格式化文件的功能。

默认会把单引号转换为双引号,如果不需要这个功能就要手动关闭

在「设置」界面的右上角打开 settings.json 配置文件

"python.formatting.blackArgs": [
        "--skip-string-normalization"
    ]

注释高亮 better-comments

除了 TODO 和 FIXME 之外,它还可以为注释定义一些类型。

单词拼写检查 code-spell-checker

拼写错误检查。
当我们编写代码时,偶尔会出现单词拼错的情况,这个插件可以检查到可能拼写错误的单词,并有波浪线提醒。
它支持驼峰命名法。

代码优化审核 Sourcery

付费后还可以 AI chat 写代码

其他

  • 可以登录账号这样的话可以同步每个账号的设置,一劳永逸

远程开发

  • 安装 Remote-SSH 插件
  • 配置
    选择 C:\User\xx\.ssh\config
    Host 139.186.152.141
    	HostName 139.186.152.141
    	User ubuntu
    	# ForwardAgent yes
    	# ConnectTimeout 60
    	IdentityFile "C:\Users\Administrator\.ssh\id_rsa"
    • Host是指你给这个远程资源取一个昵称,这样好区分多台资源。
    • HostName 是服务器的公网ip
    • User 是用户名 linux 服务器都是默认 root
    • ForwardAgent 是使用本地的 ssh key
    • ConnectTimeout 是设置连接的超时时间
    • IdentityFile 是填写你的 ssh key 的本地文件路径
  • ssh key
    - win上 `ssh-keygen -t rsa` 复制 `C:\Users\Administrator\.ssh\id_rsa.pub` 复制内容
    - windows 上的 `id_rsa.pub` 公钥拷贝到服务器上
    - 服务器 `cd ~/.ssh` 如果没有 `authorized_keys` 文件就创建 `touch authorized_keys`
    - `cat id_rsa.pub >>authorized_keys` 拷贝内容到 `authorized_keys`
    - 进行配置将私钥路径配置 `IdentityFile "C:\Users\Administrator\.ssh\id_rsa"`
    
  • 权限 Permission denied 问题例如 ubuntu 默认非 root 账号有的时候没有操作权限

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!