Vscode系列-其他合集

  • vscode 一些单独问题合集

  • 更新

    1
    2
    3
    4
    5
    6
    7
    20.09.05 初始化
    20.09.21 Jsonc
    21.07.18 markdownlint 设置
    21.08.16 jupyter 显示行数
    21.11.08 jupyter 莫名错误
    22.03.26 vim 模式切换
    23.05.29 jupyter 代码块格式化

导语

最为 Vscode 的重度用户,这是日常遇到一些 VSC 问题合集.

设置同步

vsc 的设置在 用户文件夹/.vscode 下,全平台通拷 (苹果未测试).

最开始时候,同步设置一般是通过脚本定期传到 Github 每隔一段时间再同步一次.缺点是不及时,而且有些不在 .vscode 下的设置无法同步.

前段时间的 1.48 版本,官方的设置同步终于来了,支持 GitHub / 微软账户登录.

快捷键同步目前是分系统,linux 下的快捷键并没有同步到 win.

打开设置同步

  • 首选项 - 打开设置同步,选择 Github 登录
  • 弹出的网页,登录 Github 账户授权,完成后会跳回 vsc.
  • 如果浏览器运行在沙盒,授权完成不要关闭浏览器,可以在左下角点击,手动输入 token.

Win 下彻底清理 Vsc

起因是 win 下配置设置同步,不小心把插件搞乱了,就是无论如何也弹不出授权网页了.

尝试清理 vsc 的安装目录,用户文件夹下的 .vscode 都无法彻底清理,表现是每次重装完打开 vsc 总是会打开卸载前的最后一个项目.

把 vsc 安装到沙盒,观察文件写入,最后发现 vsc 的各类缓存在 用户\AppData\Roaming\Code 文件夹下.

清理 用户\AppData\Roaming\Code 重装,一切如新.

Comments Are not Permitted in JSON

今天鼓捣一个配置文件时,vsc 突然提示 Comments are not permitted in JSON..但是配置文件好好的运行这..

搜索到一个新的概念, jsonc..其实也不新,json 开始时是不支持注释的,之后又出现了 jsonc 标准,支持了注释.但是 vsc 默认错误提示并不是 jsonc,所以才有了上面的错误提示..

解决:

  • 选择右下角的 Json -> 弹出的对话框选择 配置 Json 语言基础设置

  • 之后会进入一个配置文件 (还是 json 的).

  • 更改设置

    1
    2
    3
    "files.associations": {
    "*.json": "json" // -> "*.json": "jsonc"
    },
  • 重启 vsc

Markdownlint 设置

日常写 markdown 最长使用的插件是 markdownlint,提供了 markdown 的风格检查和格式化很方便.

规则 Rules 地址.大部分默认规则都能比较好适应,除了个别的.

  • MD024 不允许标题重复
  • MD041 首行必须是 top-level.这一条规则在写 jupyter 代码时非常有用.

顺带启用 markdown 保存时格式化.

1
2
3
4
5
6
7
8
9
"markdownlint.config": {
"no-duplicate-heading": {
"allow_different_nesting": true
}, //允许相同标题
"first-line-heading": false //首行规则在 ipynb 很烦人
},
"editor.codeActionsOnSave": {
"source.fixAll.markdownlint": true //保存是自动格式化
},

Jupyter 显示行数

在写 Jupyter Notebook 时候,需要预览很长的输出,默认情况下只有 30 行不太够用.

1
"notebook.output.textLineLimit": 50

配置成 50

Jupyter 拓展莫名错误

在使用 pyosm 看文档时候,突然出现 Error loading preloads: Could not find renderer,然后图画不出.

参考 Error loading preloads: Could not find renderer 居然是 vsc jupyter 插件版本问题.

9 月以后的的 jupyter 版本就会出现这个错误..任意 8 月包括 8 月之前的版本都没问题..

Vim 切换

最近迷上 vim,写代码还好,但是写 jupyter 还是非常不适应.又不像禁用 vim..

参考 How to close vim mode ?,vim 插件可以通过 toggleVim 单独关闭.

在 vsc 的快捷键中绑定 toggleVim 即可,随时启用关闭 vim 模式

Jupyter 中 Xxx Can not Be Resolved

这个问题只在 jupyter 才有,*.py 里没有…

排查插件和搜 issue,最终确定这个和 pylance 和 jupyter 插件没有关系,居然是 python 插件..

只要 python 插件版本大于 2022.14 就有这个问题,怀疑是插件的一个 bug,最近时间太紧张无法追溯,只是把插件切换回 2022.12.1. 早已解决

Jupyter 使用 Black

个人的 python 代码格式化规范从 yapf 切换到 black 已经有一段时间了, 苦于 black 一直没有代码块的格式化,看 issue 是肯定不会给支持了… 但是 jupyter 中的 python 代码又不能是一团吧…

但其实要求不高, jupyter 中代码能稍微格式化一点就行…于是顺着这个思路下去 -> How to Format Jupyter notebook in VSCode?

自带有快捷键.. win 下对应 Alt+Shift+F 统一下快捷键, 舒服了.

备注: 这个到底调用的是不是 black 没有细究.

Project Manager

有用!