文章目录

  • 简述
  • VSCode 快捷键
  • IDEA 快捷键
  • 安装插件
  • 自定义快捷键
  • IDEA 中的代码段
  • 代码自动补全
  • 安装 macros 插件
  • 创建定制的宏
  • 绑定宏
  • 总结
  • 参考资料


简述

之前使用 IDEA 进行开发,对 IDEA 那套快捷键使用非常熟悉,更换一套快捷键使用习惯,学习成本比较大。因此,通过本篇内容来熟悉 IDEA 快捷方式。

VSCode 快捷键

vscode maven 对比 idea vscode与idea_快捷键

IDEA 快捷键
安装插件

安装 IntelliJ IDEA Keybindings 插件

vscode maven 对比 idea vscode与idea_代码段_02


安装插件后的快捷键映射:

Linux, Windows

macOS

Feature

Supported

ctrl+space

ctrl+space

Basic code completion (the name of any class, method or variable)


ctrl+shift+space

ctrl+shift+space

Smart code completion (filters the list of methods and variables by expected type)

N/A

ctrl+shift+enter

cmd+shift+enter

Complete statement


ctrl+p

cmd+p

Parameter info (within method call arguments)


ctrl+q

ctrl+j

Quick documentation lookup


ctrl+f1

shift+f1

External Doc

N/A

ctrl+mouseover

cmd+mouseover

Brief Info

N/A

ctrl+f1

cmd+f1

Show descriptions of error or warning at caret


alt+insert

cmd+n

Generate code… (Getters, Setters, Constructors, hashCode/equals, toString)


ctrl+o

ctrl+o

Override methods

N/A

ctrl+i

ctrl+i

Implement methods

N/A

ctrl+alt+t

cmd+alt+t

Surround with… (if…else, try…catch, for, synchronized, etc.)

N/A

ctrl+/

cmd+/

Comment/uncomment with line comment


ctrl+numpad_divide

cmd+numpad_divide

Comment/uncomment with line comment


ctrl+alt+/

cmd+alt+/

Comment/uncomment with block comment


ctrl+alt+numpad_divide

cmd+alt+numpad_divide

Comment/uncomment with block comment


ctrl+w

alt+up

Select successively increasing code blocks


ctrl+shift+w

alt+down

Decrease current selection to previous state


alt+q

ctrl+shift+q

Context info

N/A

alt+enter

alt+enter

Show intention actions and quick-fixes


ctrl+alt+l

cmd+alt+l

Reformat code


ctrl+alt+l

cmd+alt+l

Reformat selected code


ctrl+alt+o

ctrl+alt+o

Optimize imports

N/A

ctrl+alt+i

ctrl+alt+i

Auto-indent line(s)

N/A

上表只列出部分映射,从上表可以看出有些在IDEA的快捷键在VSCode安装IDEA快捷键映射插件后任然不支持。不过大部分都是支持的,如果遇到自己需要使用,只有熟悉VSCode的这套快捷键。

自定义快捷键

Visual Studio Code 使用键盘快捷键编辑器提供了丰富而便捷的键盘快捷键编辑体验。它列出了带有和不带有键绑定的所有可用命令,您可以使用可用操作轻松地更改/删除/重置其键绑定。它还在顶部有一个搜索框,可帮助您查找命令或快捷键。您可以通过转到文件 > 首选项 > 键盘快捷方式下的菜单来打开此编辑器。(macOS上的Code > Preferences > Keyboard Shortcuts)

IDEA 中的代码段

介绍一个自定义代码段自动生成网站:snippet-generator

vscode maven 对比 idea vscode与idea_代码段_03


这里介绍 通过 psvm 自动生成:

public static void main(String[] args) {
    
}

第一步打开 java 自定义代码配置文件:java.json

vscode maven 对比 idea vscode与idea_代码段_04


第二步借助自动生成代码段语句网站,生成 psvm 代码段配置代码段。其中 ${1:} 是指光标停留在这里。

vscode maven 对比 idea vscode与idea_快捷键_05


第三步将复制的配置代码段,粘贴到 java.json 中。

vscode maven 对比 idea vscode与idea_自定义_06


在创建 java 文件时,只要 输入 psvm 然后按 tab 键,就会自动生成自定义的代码段。

vscode maven 对比 idea vscode与idea_自定义_07


快来动手试试 sout 吧!

代码自动补全

由于 VSCode 并不是一款 IDE ,因此代码自动补全并没有 IDEA 那么强大,不过,可以通过宏变量来进行设置快捷键,让其在代码末尾自动添加分号,并在下面开始新的一行。

安装 macros 插件

安装之前已经介绍了,这里就不赘述。

vscode maven 对比 idea vscode与idea_快捷键_08

创建定制的宏

settings.json 添加自定义宏 (文件>首选项>用户设置)

vscode maven 对比 idea vscode与idea_自定义_09

例子:

"macros": {
    "commentDown": [
        "editor.action.copyLinesDownAction",
        "cursorUp",
        "editor.action.addCommentLine",
        "cursorDown"
    ]
}

该宏创建当前行的副本,注释掉原始行,然后将光标向下移动到该副本。

vscode maven 对比 idea vscode与idea_自定义_10

绑定宏

添加键绑定以运行宏。

keybindings.json(代码|文件>首选项>键盘快捷键)中将绑定添加到宏:

{
  "key": "ctrl+cmd+/",
  "command": "macros.commentDown"
}

注意,macros.my_macro_name它必须与您命名的宏匹配。

vscode maven 对比 idea vscode与idea_自定义_11


将入下命令按照上面例子讲述的方法放入到设置里面:

"macros": {
    "end_semicolon": [ 
 	"editor.action.formatDocument",
        "cursorLineEnd",
        {
            "command": "type",
            "args": {
                "text": ";"
            }
        },
    ],
}

绑定键

{
    "key": "ctrl+shift+enter",
    "command": "macros.end_semicolon",
    "when": "editorTextFocus && !editorReadonly"
},
{
    "key": "ctrl+shift+enter",
    "command": "macros.end_semicolon",
    "when": "editorTextFocus && !editorReadonly && !suggestWidgetVisible"
}