我捣鼓VScode之快捷键的增加/修改/查询/常用快捷键

对于喜欢用键盘解决一切的我来说,VScode 简直好用的不行。就仅仅是为了享受VScode的快捷键我已经决定将能在VScode上完成一切能完成的工作了😀

VScode中的快捷键基本操作

微软提供一个了一个网址: https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf 在这个网址中可以找到VScode在Windows下常用的快捷键。

这个网页也可以用快捷键Ctrl+K Ctrl+R在VScode用快捷键打开,或者选择Help-Keyboard Shortcut Reference打开

VScode支持自定义快捷键,默认的快捷键为Ctrl+K Ctrl+S,在设置中也可以打开

自定义快捷键

VScode及其扩展支持自定义各种快捷键,从上面那张图中可以看到不同每个快捷键分为这几个部分:

  • 响应的事件:与VScode/插件的各种操作相对应
  • 按键:对应的按键之间有可能会冲突,他们依靠后面的“when”进行区分,否则会发生冲突
  • 响应时机when:VScode支持在不同环境中相同的快捷键会有不同的操作,这些环境支持使用C风格的与或非操作进行连结,如"editorTextFocus && editorLangId == 'c'" ,关于有哪些“when”,可以去微软的官方文档(感觉不是很全)
  • 最后一栏的Source代表该快捷键的来源,应该是只有Default和User两种

VScode绝大多数快捷键都设置的挺好,只有少部分快捷键由于与Windows系统冲突,可能需要手动修改,例如代码提示默认的是Ctrl+Space,与切换输入法冲突了。

还有一种情况是由于when条件下无法触发,例如Ctrl+R的重启VScode默认的条件为isDeveloping,然而我无论如何都触发不了这个条件,所以最后把这个条件给取消掉了。

添加快捷键

如果想要添加原来没有的快捷键,可以点击setting中的右上角的{}(会有个“Open Keyboard shortcut(JSON)”的提示

不过就目前我遇到的,基本不不需要添加新的快捷键,只要谷歌一下就能找到原本是怎么设置的了。

常用的快捷键

下面是一些爆炸好用/常用的VScode快捷键,值得注意的是Shift键的用途,某个操作的快捷键带上Shift之后的操作往往是相对应的、相反的。

另外,并不是所有的快捷键都这么常用,每个人的使用习惯不一样,可以需要的时候再去查找适合的快捷键。能确定的是,VScode理论上是真的可以不需要鼠标的

文本编辑:

  • Ctrl+X/C/V 剪切,复制,粘贴(这三个都不知道就别写代码辣
  • Ctrl+/ 注释改行/除去该行注释
  • Shift 按住Shift时进行其他操作,可以做到选中一段文本的效果
  • Ctrl+A 全选
  • Ctrl+D 选中某一段文本后,按下Ctrl+D,可以同时选中下一段相同文本,例如:
  • Ctrl+Shift+\ 跳转到匹配的括号
  • Tab 缩进改行光标以后的部分
  • Ctrl+ [ / ] 向左/向右缩进改行,向左缩进相当于Shift+Tab
  • Ctrl+Shift+[ / ] 折叠/展开代码块
  • Ctrl+Shift+K 删除行

光标相关

  • Home/End 光标定位到行开头/结尾,笔记本电脑下一般为Fn+←/→
  • Ctrl+Home/End 光标定位到文档开头/结尾
  • Enter 光标起新行且光标后字符带入下行
  • Ctrl+Enter 光标起空白新行
  • Ctrl+Shift+Enter 光标起空白新行
  • Ctrl+↑/↓ 屏幕向上/下移动一行,相当于鼠标滚轮
  • Alt+↑/↓ 光标所在行向上/下移动
  • Alt+←/→ 光标回到之前/之后的位置
  • Alt+Shift+↑/↓ 向上/下复制光标所在行
  • Ctrl+Shift+Alt+↑/↓ 多行光标

查找/替换

  • Ctrl+F 当前文档查找
  • Ctrl+H 当前文档替换
  • Ctrl+Shift+F 当前workspace搜索
  • Ctrl+Shift+H 当前workspace替换

文件操作

下面的操作中,很多都是与浏览器的页面操作是相同的

  • Ctrl+N 打开一个空白文档,此时如果Ctrl+S就能保存文档并命名和设定路径
  • Ctrl+Shift+N 打开一个新的VScode窗口
  • Ctrl+W 关闭当前文件
  • Ctrl+Shift+T 恢复上一次关闭的页面
  • Ctrl+S 保存文档
  • Ctrl+Shift+S 另存为文档
  • Ctrl+O 打开文件
  • Ctrl+K Ctrl+O 打开新的文件夹(进入另一个Workspace)
  • Ctrl+E 快速打开浏览记录并选择文件重新打开

页面操作

  • Ctrl+数字 切换到第_个标签页(Tab)
  • Ctrl+Tab 切换到下一个标签页
  • Ctrl+Shift+Tab 切换到上一个标签页
  • Ctrl+\ 拆分当前页面,在侧面打开(Split),每个页面被称作Group,一个Group下有多个Tab
  • Ctrl+K ←/→ 当前Group左移/右移
  • Ctrl+K Ctrl+ ←/→ 光标focus on左侧/右侧的Group
  • Ctrl+PageUp/PageDown 切换Tab,但能跨越不同的Group,比上面那条指令要好用多了。

VScode界面操作

这是一些与平常的文本编辑没什么关系,但还是比较常用的操作

  • Ctrl+K Ctrl+S 打开快捷键列表

  • Ctrl+B 打开侧边栏/关闭侧边栏

    这个就是侧边栏

  • Ctrl+J 打开/关闭底部栏(我也不确定他的名字)

    反正就是这个东西

  • Ctrl+ ` 打开Terminal,效果和上面的类似

  • Ctrl+, 打开设置

  • F11 VScode全屏,享受沉浸式代码体验

  • F1/[Ctrl+Shift+P] 打开VScode命令行

  • Ctrl+R 重启VScode,在遇到一些Go to definition失效/代码提示失效之类的问题时尤其好用,不过我的情况是需要把触发的When改成无条件启动,否则无法生效

    上面一行就是我新增的,下面一行是默认的

代码的运行与调试

  • F5 调试运行
  • Ctrl+F5 直接运行,但如果打上了断点好像还是会调试….
  • Ctrl+Shift+F5 重新运行
  • Shift+F5 停止
  • F11 Step Into
  • Shift+F11 Step Out
  • F10 Step Over

参考

以上内容已经能解决目前我遇到的问题,更多资料可以参考https://code.visualstudio.com/docs/getstarted/keybindings