1. 针对单词的光标移动
你只需按下 Option(Windows 上是 Ctrl 键)和左方向键。相反,如果要把光标移动到单词的末尾,只需要按下 Option 和右方向键就好了。可以在文档中以单词为单位不停地移动光标。
把光标移动到行首或者行末。Fn+Home/End
代码块的光标移动按下 Cmd + Shift + (Windows 上是 Ctrl + Shift + )
移动到文档的第一行或者最后一行你只需按住 Cmd + 左方向键(Windows 上是 ctr +Home 键),就可以把光标移动到了这行的第一列;而如果你按住 Cmd 和右方向键(Windows 上是 ctr +End 键)
3. 删除操作
当前行中光标之前的文本全部删除,Home + Shift (fn+shift) +delete,macOS: Cmd + Left + Shift +delete
2. 文本选择对于基于单词、行和整个文档的光标操作,你只
需要多按一个 Shift 键,就可以在移动光标的同时选中其中的文本。 ctr+方向选取 ctr+shift+delete删除
删除单行Cmd + Shift + K ” (Windows 上是 “Ctrl + Shift + K”)
剪切这行代码Cmd + x ” (Windows 上是 “Ctrl + x”) 即可。
移动一段代码Option + 上下方向键”(Windows中就是“Alt + 上下方向键”
复制这几行,然后粘贴到当前行的上面或者下面。“Option + Shift + 上下方向键”(Windows中就是“Alt + shift + 上下方向键”)
添加注释“ Cmd + / ” (Windows 上时 “Ctrl + /”)
。
代码格式化Option + Shift + F” (Windows 上是 Alt + Shift + F)
调换字符的位置Ctrl + t” (Windows 上未绑定快捷键,可以打开命令面板,搜索 ”转置游标处的字符
调整字符的大小写命令面板里运行“转换为大写”或 “转换为小写”
合并代码行“ Ctrl + j ” (Windows 上未绑定快捷键,可以打开命令面板,搜索 ”合并行排序“ 命令面板,然后搜索 “按升序排列行” 或者 “按降序排列行” 命令执行
查看当前文件所有的关于选中的单词ctr + d
关闭当前文件ctr + w
打开最近打开文件的历史记录
返回上一个开启代码篇ctr + t
撤销光标的移动和选择Cmd + U”(Windows 上是 “Ctrl + U”
当前行的上面新开始一行“Cmd + Shift + Enter” (Windows 上是 “Ctrl + Shift + Enter”)
当前行的下面新开始一行Cmd + Enter” (Windows 上是 “Ctrl + Enter”)
多光标
使用鼠标Option(Windows上是Alt)按住点下一个需要的位置
使用键盘Cmd + Option + 下方向键”(Windows 上是 “Ctrl + Alt + 下方向键”)
Cmd + 右方向键”(Windows 上是 End) 移动到每一行的末尾,可对css添加pz之类的
或者
Cmd + D”(Windows 上是 Ctrl + D)实现相同文字多选多光标 进行别的操作
esc退出多选
或者
Option + Shift + i” (Windows 上是 Alt + Shift + i) 每一行的最后都会创建一个新的光标。
跳转“Ctrl+Tab”
或者
“Cmd + P” (Windows 上是 Ctrl + P) 跳出一个最近打开文件的列表,同时在列表的顶部还有一个搜索框。
找到目标文件后,可以按下 “Cmd + Enter ” (Windows 上是 Ctrl + Enter)组合键, 这个文件在一个新的编辑器窗口中打开
行跳转Ctrl + g”
移动到定义处ctr + f12
跳转到某个文件的某一行先按下 “Cmd + P”,输入文件名,然后在这之后加上 “:”和指定行号即可。
符号 (Symbols) 跳转( VS Code 提供了一套 API 给语言服务插件,它们可以分析代码,告诉 VS Code 项目或者文件里有哪些类、哪些函数或者标识符(我们把这些统称为符号)。)Cmd + Shift + O” (Windows 上是 Ctrl + Shift + O),就能够看到当前文件里的所有符号
使用方向键,或者搜索,找到你想要的符号后,按下回车,就能够立刻跳转到那个符号的位置“Cmd + Shift +O”后,输入框里有一个 “@”符号
输入 “:”,就可以将当前文件的所有符号,进行分类
多个文件里进行符号跳转“Cmd + T” (Windows 上是 Ctrl + T),搜索这些文件里的符号。
跳转到函数的实现的位置。“Cmd + F12” (Windows 上是 Ctrl + F12)
跳转到定义的代码文件返回ctr + -
文件目录切换ctr + r
或者
按下 Ctrl + R 调出最近打开的文件夹的列表后,也能够按下 Cmd(ctr) + 回车键,将它在一个新的窗口中打开。
显示
放大当前页面的代码ctr +
缩小ctr -
侧边栏显示隐藏ctr + B
全屏F11
显示操作台ctr + shift + u
引用 (Reference) 跳转
当前行的下面新开始一行Cmd + Enter” (Windows 上是 “Ctrl + Enter”)
在一个 js 文件里 export 了一个函数,在另外一个文件里引用了它但是 shift + F12 找不到
可以在这个项目下添加一个 jsconfig.json 文件,这个文件会让 VSCode 知道,当前这个文件夹下的文件都是属于同一个项目的,从而进行索引。{
"compilerOptions": {
"target": "ES6"
},
"exclude": [
"node_modules",
"**/node_modules/*"
]
}
webpack里面配置了路径别名,vscode就找不到定义{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"ClientApp/*": ["./ClientApp/*"]
}
}
}
鼠标操作连续按下鼠标三次,则会选中当前代码
四次 则会选中整篇代码
悬停提示窗口Cmd 键(Windows 上是 Ctrl),则能够在悬停提示窗口里直接看到 `foo`的实现。
点击可实现跳转
操作左侧的资源管理目录ctr + shift + E
左侧跨文件搜索ctr + shift + F
管理自己的git存储库ctr + shift + G
同步自己的 vs code 设置插件 Settings Sync
启动和调试ctr + shift + D
管理扩展ctr + shift + X
查找并运行所有命令ctr + shift + p
重构
修改当前页面的相同函数或者变量名把光标放到函数或者变量名上,然后按下 F2,这样这个函数或者变量出现的地方就都会被修改。
长代码抽取出来转成一个单独的函数我们只需选中那段代码,点击黄色的灯泡图标,然后选择对应的重构操作即可。
代码片段1 打开命令面板,搜索“配置用户代码片段”(Configure User Snippets)并且执行
2选择 JavaScript
3 选择完语言后,我们就能看到一个 JSON 文件被打开了,这个文件里的内容,现在都是被注释掉的。我们可以选中第七行到第十四行,按下 “Cmd+ /”取消注释。
{
"Print to console": {
"prefix": "log",
"body": [
"console.log('$1');",
"$2"
],
"description": "Log output to console"
}
}
这个代码片段的名字叫做 “Print to console”。这个代码片段对象的值,也就是花括号里的代码,必须要包含 “prefix” 前缀和 “body” 内容这两个属性。同时,这个值还可以包含 “description” 描述这个属性,但这个属性不是必须的。
“prefix” 的作用是,当我们在编辑器里打出跟 “prefix” 一样的字符时,我们就能在建议列表里看到这个代码片段的选项,然后我们按下 Tab 键,就能够将这个代码片段的 “body” 里面的内容插入到编辑器里。如果这个代码片段有 “description” 这个属性的话,那么我们还能够在建议列表的快速查看窗口里看到这段 “description”
Tab Stop当 “body” 内容被插入到编辑器后,你会发现,内容里 的`$1`和 `$2`不见了,取而代之的是两个竖线。这`$1`和 `$2`就是 Tab Stop,意思是,当我们按下 Tab 键之后,光标移动到的位置。当这段代码片段被插入到编辑器后,编辑器会把光标移动到`$1`所在的位置,然后如果你再按一次 Tab 键,光标则会立刻移动到 `$2`的位置。
光标移动到上一个 Tab Stop 的位置的快捷键
“Shift + Tab”
占位符
*在我们插入 Tab Stop 的时候,除了 $1、 $2 这样的语法,我们还可以填入 ${1:label},在这个格式下,代码片段被插入编辑器里时,$1 的位置处,会预先填入 label这个值,并且 label 会被选中。
对于这个值我们称之为占位符,顾名思义,这个值是我们在代码片段中预先设置好的。如果我们觉得这个值可以用,那就不需要修改了,直接按 Tab 键跳到下一个 Tab Stop 继续编辑。如果觉得要换成一个新的值,那么也只需直接打字就可以将其替换,因为这个占位符已经被光标选中了。
这里我们对上面的代码片段进行一点修改*:"Print to console": {
"prefix": "log",
"body": [
"console.log(${1:i});",
"$2"
],
"description": "Log output to console"
}
*我们将 $1 改成了 ${1:i},那么当log 这个代码片段被插入时,我们将看到console.log(i);,同时 i 被选中
直接按下 Escape 键,跳出代码片段的编辑模式,之后继续我们的其他编辑操作。*
多光标
可以用 ${1:label} 来指定 Tab Stop 和占位符
也可以在代码片段的多个位置使用同样的 Tab Stop 。
代码片段中三个不同的位置插入 $1,这样编辑器就会为这三个不同的位置,分别创建一个光标,然后当我们打字的时候,他们就会被一起修改。"Print to console": {
"prefix": "log",
"body": [
"console.log(${1:i});",
"console.log(${1:i} + 1); // ${1:i} + 1",
"$2"
],
"description": "Log output to console"
}
预设变量
提前预设好一些值一些变量。https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables
代码折叠Cmd + Option + 左方括号”(Windows 上是 Ctrl + Shift + 左方括号
从当前光标位置开始,一直到最外层的,所有可以被折叠的部分递归地折叠起来“Cmd + K”“Cmd + 0”(Windows 上是 Ctrl + K,Ctrl + 0)
全部展开“Cmd + K”“Cmd + J” (Windows 上是 Ctrl + K,Ctrl + J)
代码展开Cmd + Option + 右方括号”(Windows 上是 Ctrl + Shift + 右方括号)
基于语言定义的代码折叠
代码折。的判断方式,是通过花括号或者代码缩进的检测来实现的。但若遇到不使用花括号或者缩进不正确的代码时,可能就不能实现这样的操作了。
VS Code 给语言服务提供了一个接口,语言服务可以动态地检测代码,然后告诉 VS Code 哪段代码是可以被折叠的。
可以通过在代码注释里书写特殊的关键词来申明,哪一行是可折叠代码的开始,哪一段则是这个可折叠代码块的结束。public class Main {
// region Main
public static void main(String[] args) {
}
// endregion
}
// region Main 申明了一个可折叠代码块的开始,而// endregion则申明了这段可折叠代码的结束。当我们把鼠标指针移动到行号附近时,我们能够看到三个加号,说明这段代码包含了三个可折叠的代码块,两个是由花括号控制的,一个则是基于特殊的语言的定义。
关键词来控制代码的折叠,还请参考 VS Code 的官方文档。
搜索
单文件搜索“Cmd + F” (Windows 上是 Ctrl + F)
调出搜索窗口的时候,编辑器就会把当前光标所在位置的单词自动填充到搜索框中。
先选中一段文本,然后按下 “Ctrl + F” 调出搜索框,这之后点击这个按钮,就可以将这段文本的范围设置为接下来的搜索区域。
搜索结果里自下而上地跳转Cmd + Shift + G” (Windows 上是 Shift + F3)
调出替换窗口Cmd + Option + F”(Windows 上是 Ctrl + H)
多文件搜索和替换Cmd + Shift + F” (Windows 上是 Ctrl + Shift + F)
vscode基础配置* editor cursor, 是跟光标渲染和多光标相关的设置;
* editor find, 是与编辑器内搜索相关的设置;
* editor font, 是与字体有关的设置;
* editor format, 是代码格式化;
* editor suggest, 是和自动补全、建议窗口等相关的配置。
命令面板符号1. `>`(大于号) ,用于显示所有的命令。
2. @ ,用于显示和跳转文件中的“符号”(Symbols),在@符号后添加冒号:则可以把符号们按类别归类。
3. `#`号,用于显示和跳转工作区中的“符号”(Symbols)。
4. :(冒号), 用于跳转到当前文件中的某一行。