快捷键
浏览器
清空控制台
ctrl + l
接受建议
接受第一个建议使用 右箭头 ->
或者使用 tab
切换命令
上下箭头
↑/↓
打开工具并进入 Console 面板
ctrl + shift + j
切换 DevTools
窗口的展示布局(即打开 F12 之后有用)
布局是选择 左边 / 下边
ctrl + shift + D
切换 DevTools 的面板
ctrl + [ 或者 ctrl + ]
$_
引用上一次的变量值
![](/assets/.png.f2ad1b1d.)
monitor
(镜像)方法
monitor
是DevTools
的一个方法, 它能够让你 “潜入” 到任何 _function calls(方法的调用) 中:每当一个 被潜入 的方法运行的时候,console 控制台 会把它的实例打印出来,包含 函数名 以及 调用它的参数 。
class Person {
constructor(name, role) {
this.name = name;
this.role = role;
}
greet() {
return this.getMessage('greeting');
}
getMessage(type) {
if (type === 'greeting') {
return `Hello, I'm ${this.name}!`;
}
}
}
![](/assets/monitor.87cc92fb.png)
这样做,会让我们少写很多 console.logs !
请求过滤
![](/assets/networkSearch.784c05a4.webp)
普通过滤只能过滤 url
路径
vcsode
代码片段(snippets)
"header comment": {
"scope": "javascript,typescript",
"prefix": "comment",
"body": [
"$BLOCK_COMMENT_START",
"* 作者:tsk",
"* fileName $TM_FILENAME",
"* Date:$CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
"$BLOCK_COMMENT_END"
],
"description": "Log output to console"
},
header comment
提示信息scope
作用范围不指定是全部文件
prefix
快捷键"prefix": [ "header", "stub", "copyright"], 使用数组可以同时设置多个快捷键
body
代码片段 每一行作为json 中的一行,如果需要缩进,可以使用\t
,换行使用\n
$BLOCK_COMMENT_START / $BLOCK_COMMENT_END / LINE_COMMENT(行注释)
代表注释开始与结束$TM_FILENAME
当前文件名$CURRENT_YEAR
今年description
提示信息
"#ifndef HEADER … #define … #endif":{
"prefix": "defheader",
"body": "#ifndef ${1:${TM_FILENAME/(.*)\\.C$/ ${1:/upcase}_H/i}} \n#define $1 \n${2:header content}\n#endif\t// $1"
},
使用变量 ${1} / ${2}
作为光标的位置,其中 ${0}
是光标最后的位置,同名作为一个整体
带有占位符
struct ${1:name_t} {\n\t$2\n};
作为「Placeholder」的 name_t 一方面可以提供默认的结构名称,另一方面可以作为输入的提示。
${1|one,two,three|}。
当光标跳转到该位置的时候,用户将会被提供多个值(one 或 two 或 three)以供选择。
对占位符进行正则匹配
"React useStateAutoCompelte": {
"prefix": "uc",
"body": [
"const [${1/(.*)/${1:/camelcase}/}, set${1/(.*)/${1:/capitalize}/}] = useState($0);"
],
"description": "Create a useState hook with useStateAutoCompelte"
},
$1 表示第一个光标插入的位置,然后使用 正则匹配,匹配到之后然后使用 ${1:/camelcase}
进行替换
快速滚动
「 alt
+ 鼠标滚轮 」 比 简单的使用 鼠标滚轮 要快
快速添加一行
向下插入一行
ctrl + enter
向上插入一行
ctrl + shift + enter
复制文件
直接使用 ctrl + c
可以把另一个文件直接复制到项目中
重命名F2
对文件 f2
,第一次是选中文件名,再按一次是选中文件类型,再按一次是选中全部
比较文件
使用 shift + 鼠标左键
选中文件
对 另一个文件 也进行一样的操作,然后选择 选择已进行比较
使用内联模式
隐藏文件
![](/assets/vscode排除文件.e1ef4b09.png)
✈️搜索记录
可视化查询到的搜索记录
![](/assets/search.0b773f5c.png)
可以 ctrl + s
保存成一个文件,下一次直接打开
命令行打开搜索记录
打开命令之后 搜索
new Search editor
![](/assets/search2.e4a3336d.png)
局部搜索
在文件代码块中搜索
在文件夹内搜索
精准跳转
当使用 ctrl + f
搜索时,有可能有很多的匹配项,如果想要快速跳到某个匹配列表对应的下标
打开命令行,使用
go to match
然后输入想去的下标即可
还原更改
打开命令行后,搜索
File:revert file
直接把未保存的文件还原到上一次保存时的状态
中断再次提醒
document.quer 一半路上,使用 ctrl + i
重新提示
添加光标
- 按住
alt
, 鼠标左键点击添加 - 按
ctrl + alt
,在按键盘的向上/向下
,可以使这一列出现光标 - 选中一段文字,按
shift + alt + i
,可以在末尾出现光标 shift + alt
鼠标滑动出现光标- 使用
ctrl + d
,不断加+d
,可以选择多个相似的单词, 使用ctrl + f2
选中所有的相同单词,使用右箭头
出现在末尾 - ⭐
ctrl + 右箭头
单词末尾 - ⭐使用
Home/End
移动到当前行的头部 / 尾部 ctrl + shift + \
可以跳转到{ }
前后,不论是if
,还是函数
取消选中
- 当使用
ctrl + d
时,不需要这个的时候,可以在当前项使用ctrl + k,ctrl + d
取消选中 - 使用
ctrl + U
撤销光标处理,返回到上一个光标处
转到定义
ctrl + p
输入@
转到定义- ⭐使用
ctrl + shift + o
出现所有变量
📷转到上一次修改
和 ctrl + ←
不同,它是转到修改处,而不是上一次光标处
ctrl + shift + p
输入go to Last Edit Location
转到定义ctrl + k
+ctrl + q
快捷键
⭐切换 tab
alt + 1
第一个,alt + 0
最后一个,无需选择ctrl + pageUp
直接转到上一个,ctrl + pageDown
直接转到下一个,无需选择ctrl + tab
右边切换,ctrl + shift + tab
左边切换,但是需要选择
转到定义
alt + f12
打开定义f12
转到定义
跳转行号与列号
ctrl + g
跳转行号,可以输入 负数
,最后一行是 -1
输入 12:32
跳转到 12行32列
打开文件
ctrl + e
/ ctrl + p
打开最近使用文件
创建文件
直接创建文件及其父文件夹
a / b / c.vue
![](/assets/压缩文件夹.e7d77c28.png)
折叠面板
ctrl+shift+[
折叠部分 ctrl+shift+]
展开部分
ctrl+k ctrl+0
折叠全部 ctrl+k ctrl+j
展开全部
自定义 // #region
/ //# endregion
复制折叠面板
ctrl + shift + ↓ # 直接到末尾处
缩进
ctrl + [
向左移动ctrl + ]
向右移动ctrl + shift + p
搜索 “缩进”
格式化代码
shift + alt + f
格式化 ctrl + k ctrl + f / ctrl + k + f
局部格式化
文本选择
ctrl + shift + 左箭头/右箭头
选中横向文本alt + 上箭头/下箭头
移动纵向文本shift + alt + 上箭头/下箭头
移动并复制纵向文本 shift + home / end
选择当前行
删除
- ⭐
ctrl + shift + k
删除一行 如果没有删除可以查看是否占用了快捷键 delete
删除后面一个字符ctrl + delete
删除后面词组ctrl + 退格键
删除前面多个字符,和上文相反
代码块
ctrl + shift + \
函数括号尾部/头部 进行切换ctrl + shift + p
选择选择括号所有内容
选择代码块的内容
大纲
ctrl + shift + p
搜索 大纲
,左下角选择排序方式:类别
断点
行内断点
shift + F9
条件断点
条件里必须为 true
才可以
name == "name" 或者 age > 18 或者 arr.includes(1)
日志断点
使用 { }
包裹变量,会在调试控制台显示变量
快速查找
在调试开始之后,在左边栏使用 ctrl + f
快速查找变量
![](/assets/断点快速查找.7791b266.png)
idea
重构/重命名
重构/重命名 (包、类、方法、变量、甚至注释等)
shift + F6
格式化
ctrl + shift + L
控制台语句
控制台语句 System.out 相关:
生成控制台的相关快捷键 | 描述 |
---|---|
sout + Tab键 | 生成System.out.println();,输出到控制台语句并换行。 |
souf + Tab键 | 生成System.out.printf("");,输出一个格式化字符串到控制台。 |
soutm + Tab键 | 生成System.out.println("类名.方法名");,输出当前 类和方法名 到控制 |
soutp + Tab键 | 生成System.out.println(所有方法参数名+值);,输出当前方法的参数名和 |
跳转切换
快捷键 | 介绍 |
---|---|
ctrl + E | 最近文件 |
ctrl + Tab | 切换文件 |
ctrl + Alt + ←/→ | 跳转历史光标所在处 |
Alt + ←/→ 方向键 | 切换子tab |
Ctrl + G | go to 跳转指定行号 |
移动
快速复制到下一行
ctrl + D
移动但不复制
alt + shift + 上下箭头
删除 / 插入
删除一行
Ctrl+Y
插入一行
Shift + Enter
类型
快速输出 类
的类型
new StringBuilder();
在这一行的后面添加 var
,可以自动输出 类
的类型
代码模版
快速输出if
条件语句后面加 .if
int a = 0;
// 输入 条件语句后面加 .if
a==0.if
快速输出for
list 后面添加 .for
,如果输出 三段式 for 循环,可以添加 .fori
判断对象是否为 null
只需要添加 .nn
即可
Object a = new Object();
if (a != null) {
}
快速输出try/catch
代码块后面添加 .try
即可
快速输出switch
代码块后面添加 .switch
即可
int a = 10;
a.switch
快速输出return
代码块后面添加 .return
即可
int a = 10;
a.return
生成方法
先有方法名,再创建方法
User u = userService.findByUserName(username);
if (u == null) {
userService.register(username, password);
}
如果此时在 userService
没有 register
这个方法
alt + enter
⭐根据 implements
重写方法
ctrl + o
生成对应的 bean
alt + insert
![](/assets/altInsert.6451504a.png)
主动提示
当然也可以删除再重新写
ctrl + p
文件跳转
跳转到接口实现部分
UserService 接口
public interface UserService {
User findByUserName(String username);
void register(String username, String password);
}
ctrl + alt + 左键 直接跳转
也可以
ctrl 自己选择
要跳转的文件 UserServiceImpl
public class UserServiceImpl implements UserService {
}
直接跳转实现类
有些只会跳转到 interface
ctrl + alt + B
跳转到上次查看位置
ctrl + alt + 左右箭头
实现方法
ctrl + i
查看类继承关系
ctrl + h
![](/assets/extendClass.586a52b2.png)
书签
创建书签
普通书签
F11
助记符书签,这个快捷键只支持0-9十个数字助记符书签的快速添加
Ctrl + shift + 数字键
编辑书签
shift + F11
Ctrl + enter
修改书签。Alt + 方向键上下
上下移动书签。delete
删除书签
如果光标移动到了添加书签的位置,按下 F11
即可删除书签。