发布有半个月了,今天周末来玩下。
1.15 的发布说明: https://code.visualstudio.com/updates/v1_15
本文讲3点:Snippet Choices、Mermaid in Markdown、Multiple Root and Workspace(重点)
1. snippet choices 终于可以使用
"color": {
"prefix":"color",
"body":"> Pick your favorite color ${1|red,green,blue,pink|}.\n< He likes $1."
}
效果如下,会弹出下拉菜单供你选择。1.14版本中已经预告,但不能用,
其中涉及到 VSCode 的Suggestion,需要在 settings 中打开。可能还需要打开多个,比如:
editor-editor.quickSuggestions 和 markdown-editor.quickSuggestions
另外,如果Suggestion不弹出的话,VSCode用 Ctrl+Space 来来主动唤出,如果是Ubuntu的话此快捷键被切换输入法占用,会导致唤不出,我选择关闭Ubuntu的此快捷键,只用Shift即可切换输入法也不错的。
关闭 ubuntu 的输入法快捷键: 输入法-设置-高级(拖到底)-打开Fcitx设置-GlobalConfig。
Snippet 是非常有效的,建议你一定要学会使用。
2. mermaid可以使用了
Markdown 中嵌入 mermaid 来绘图,是我去年在团队中推广的,但只能编译成html后才能查看,VSCode 的左写右看preview中不支持mermaid,1.15搞定了。
时序图:
甘特图:
好了,下面重点来了:
3. Multiple Root and Workspace
从2015年vscode开始,就有人提出来为什么不能在1个vscode窗口里打开多个文件夹(folder),开发组长文解释,但抗到今天终于还是没抗住,终于开发出来了。
开发组的意见是:
1)vscode 是轻量级editor,全功能的IDE不是初衷,不希望给用户引入workspace、project的概念。
2)vscode 一直是打开某个folder后,就在此folder下创建一个 .vscode 隐藏文件夹,存放相关配置settings,思路和 git 放一个 .git 是一样的。绿色环保、copy文件夹后迅速恢复……一切都是即插即用方向走的
3)一旦1个vscode窗口打开了多个folders, .vscode 应该放在哪个 folder 里面呢?
4)如果多个folders里都有.git,那么vscode自带的git工具该操作哪个呢?
没办法,随着vscode越来越招人喜欢,大家就是要把它催化成IDE。开发组妥协了,引入了 Workspace 的概念,1个窗口可以打开1个文件、或1个folder、或1个workspace。为什么没用 project 则个词,毕竟 VS、XCode、QTCreator……这些都是用了project的,可能就是为了和IDE划清界限。
遗憾的是 Multi Folder/Root 的功能仍是在 1.16的insiders 版本中,1,15正式版中仍没出现。
当1个vscode窗口打开多个多个folder时候,vscode会重新load一次:
不保存 workspace 的话,是个 Untitled Workspace,会在 ~/.config/Code/Workspace 里存放其配置文件,首要包括的就是包括了哪些文件夹。
在 ~/.vscode 下可以看到 Code 和 Code-Insiders 中差别了一个 Workspaces 文件夹。
当你保存了 workspace 后, ~/.config/.../Workspaces 下的的配置文件将会被挪到你指定的目录下。
缺点还是显而易见的,确实引入了一些困扰。对于程序员来说好像司空见惯,比如 Visual Stuido 创建个项目肯定伴随这几个 .sln、.vcxproj ……这类文件,XCode、QTCreator、Pycharm、AndroidStudio、Eclipse、SourceInsight……无不都有一套自己定义的这些文件。
但非程序猿就很不愿见到这些东西,感觉是累赘,再向其推广时这个特点将成为绊脚石。没办法,谁让在github上issue里整体叨逼叨的都是程序猿呢。