[toc]

vscode 因为免费且相对好用, 又有丰富的插件, 所以不可避免的要用到它. 但是对于习惯了 idea 的用户来说, 习惯 vscode 还是挺难的, 两套快捷键都各有优势, 因此就需要自己设置一套”兼容”的配置, 让写代码的体验升级.

使用安装命令行

  • 在 vs code 中使用 cmd + shift + p 打开命令面板
  • 搜索shell 可以看到: 在 PATH 中安装 “Code” 命令并执行,然后重启终端iterm
  • 使用which code 可以看到code的安装地址
  • 使用code –help可以看到帮助
  • 使用code -r 打开已经打开过的窗口

mac环境下的快捷设置

都需要先打开命令面板搜索: keyboard shortcuts

修改代码跟进

搜索: go to definition

改成: command+n

注意: go to implementations 也改为 command+b, 但是此时会出现冲突的情况. 因此需要在这里设置 go to implementations 的 when 条件, 以实现兼容.

注意2: 用了一段时间发现这种冲突的快捷键好像很难兼容, 时灵时不灵, 最后将跳转到定义改为了command+n, 键位很接近.

editorHasImplementationProvider && editorTextFocus && !editorHasDefinitionProvider && !isInEmbeddedEditor"

修改跟进返回

这里其实只是返回到上一步, 但是曲线实现了跟进的返回 搜索: go back / go forward

改为: command+[

拷贝路径

搜: copy path, 找到copyRelativeFilePath

改为: shift+command+c

mac环境vim normal模式自动切换到英文/输入法问题(vscode)

参考: https://github.com/VSCodeVim/Vim#input-method

1.clone im-select 工具

git clone [git@github.com](mailto:git@github.com):daipeihust/im-select.git

2.按照里面的install-mac.sh脚本, 将对应的bin文件复制到系统的/usr/local/bin下,并修改权限为777.

注意: 这里需要sudo权限

cd im-select-mac/out/
sudo mv im-select /usr/local/bin
chmod 777 /usr/local/bin/im-select

3.运行命令检查是否成功

im-select

4.设置vscode的settings.json

  "vim.autoSwitchInputMethod.enable": true,
  "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.ABC",
  "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
  "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"

完成!

mac环境打开 内置terminal

command+shift+p 输入: create integrated terminal

以后只要输入命令单词首字母缩写(如 cit 或者 it )或者从历史命令里选择即可.

内置terminal的小配置

settings.json中添加如下配置

    "terminal.external.osxExec": "iTerm.app",
    "terminal.integrated.copyOnSelection": true,
    "terminal.integrated.scrollback": 150000,

按名字打开文件

command+p

收起/隐藏侧边栏

搜索: toggle side bar visibility

改为: shift+command+b

进入zen模式

英文模式输入下, 先按下 command+k 然后松开组合键, 再按 z 即可进入或者退出 zen 模式

收起/隐藏terminal

搜索: toggle panel

默认: command+j

切换项目(window)

搜索: ctrl+w ( switch window)

操作: 删除vim对这个快捷键的映射

vim风格半页滚动

ctrl+d/u

展开/隐藏代码块

搜索: fold / unfold

默认: command+option+[ 或者 ]

注: 搜索 fold可以看到不同粒度的fold

其中可以看到比如 command k command j 这种命令, 其实很好理解, 就是通过 command+k 进入到第二层快捷键, 然后在第二层里输入 command+j 即可.

vim模式yarn到系统剪贴板

控制面板: settings

json中添加:

"vim.useSystemClipboard": true,

打开/隐藏侧边文件目录

这里是默认的

搜索: show explorer

打开: command+shift+e

隐藏: 采用的是全局隐藏快捷键, 见上面的 #收起/隐藏侧边栏

打开/隐藏侧边搜索

这里是默认的

搜索: search

打开: command+shift+f

隐藏: 见#收起/隐藏侧边栏

重新加载vscode/页面

当新安装插件或者有些奇特问题发生时, 可能需要关闭重启vscode, 如何直接reload?

打开: command+shift+p

搜索: reload

vim 翻半页

默认的vim插件安装后的翻页功能默认是ctrl+d/u, ctrl需要用手掌触发或者用小拇指, 其实效率不高的

搜索: vim ctrl u / vim ctrl d

改为: command+u / command+d

注: 按需要将其他 command+u/d 的命令都删掉.

Go插件自动填充struct字段

安装了go插件后可以实现自动填充结构体,在创建response或者model的时候很常用, 采用默认即可 默认: command+. 会自动弹出quick fix, 回车即可.

隐藏/显示文件当前位置

不知道怎么描述可以方便日后快速理解这个操作是什么意思, 简单来说就是很长的文件右侧会有一个概览, 可以知道当前页面在整个文件中的哪一块, 这个东西长期显示, 对于长代码会有遮挡. 搜索: minimap 改为: command+shift+L

当前行上移/下移

其实本身的option+up/down也是很好用的, 但是还是和idea保持一致比较好 搜索: move line up/down 改为: shift+command+up/down

rename symbol 变量重命名

由于我的键盘是64键,没有f区, 因此f2的重命名快捷键不再可用 搜索: rename symbol 改为: shift+command+r

多行tab展示

默认的tab页只展示一行, 当标签过多时无法看清楚其他行内容, 可以在settings.json中加入如下配置:

"workbench.editor.wrapTabs": true,

搜索过滤特定文件名或后缀

search 下点开箭头可以看到包含和不包含两个文本框. 其中通过逗号间隔可以配置多条规则, 比如: 不包含pbtest的文件

# files to exclude
*pb*, *test*

文件查找

command+F可以进行文件查找, 回车键可以向下跳转, shift+回车键可以向上跳转

tab页切换/termianl切换

搜索: View: Open Previous/Next Editor 改为: command+shift+[/]

搜索: focus Previous/Next Terminal 也一样改为上面的快捷键

[推荐插件]

  • Better commennt
  • GitLens
  • Learn Vim
  • Tabnine
  • vim
  • Zhihu On vscode
  • Better date_to_xmlschema

不定期更新, 尽情期待..