玩转VSCode

VSCode


官方课程现在被下架了,要自行搜索 下载
https://bbs.csdn.net/topics/395584701

第一章:基础入门

1.快速上手VSCode

1.1命令面板

Ctrl+Shift+P

1.2命令行中的code

$ code -r -d a.txt b.txt#用vscode对比 
$ ls | code -#接收管道数据,并用vscode打开

1.3界面概览

切换集成终端 Ctrl + `(Tab键上面那个键)
文件资源管理器 Ctrl + Shift + E
跨文件搜索 Ctrl + Shift + F

2.双手不离键盘

2.1光标移动

2.1.1针对单词的光标移动

Ctrl + 方向

2.1.2光标移动到行首或者行末

行首 Home
行末 End

2.2文本选择

2.2.1光标移动中的键 + Shift
2.2.2选择括号所有内容

命令面板找到命令 “选择括号所有内容”,可以选括号中的。但这个操作默认没有绑定快捷键。

2.2.3选中一个单词

Ctrl + D

2.3文本删除

选中后删除
“删除左/右侧所有内容“(Win上没有绑定快捷键)
Ctrl + Shift + K

2.4自定义快捷键

开命令面板,搜索“打开键盘快捷方式”

3.快捷键进阶

3.1代码行编辑

删除整行Ctrl + Shift + K
剪切整行Ctrl + X (不需要选中)
在下一行新建一行Ctrl + Enter
在上一行新建一行Ctrl + Shift + Enter
移动一行、多行Alt + 上下方向键

3.2注释与反注释

Ctrl + /

3.3代码格式化

全文Alt + Shift + F
选中的Ctrl + K Ctrl + F (c#有效;lua无效,lua的格式化插件不支持?)
命令面板 “重新缩进“、“重新缩进选中行“

3.4其它杂七杂八

“转换为大写”
“转换为小写”
合并代码行 Ctrl + J(把下面的一行搬上来)
撤销光标的移动和选择 Ctrl + U

4.多光标

4.1使用鼠标

Alt + 左键

4.2使用键盘

Ctrl + Alt + 下方向键

4.3“Cmd + D”选中下一个

4.4“Alt + Shift + i”

选中多选的状态下,会在每行末都生成一个光标

5.文件、符号、代码之间跳转

5.1文件跳转

Ctrl + Tab Tab Tab Tab
Ctrl + P

5.2行跳转

Ctrl + g
Ps:高阶组合技巧。如果你想跳转到某个文件的某一行,你只需要先按下 “Cmd + P”,输入文件名,然后在这之后加上 “:”和指定行号即可.

5.3符号 (Symbols) 跳转

Ctrl + Shift + O

5.4 定义 (Defnition) 和实现 (implementation) 跳转

F12
Ctrl + F12
(JavaScript /C#定义和实现恰好是相同的)

6.鼠标操作

6.1文件跳转

双击左键,则会将当前光标下的单词选中。
三击左键,则会选中当前这一行代码。
四击左键,则会选中整个文档。
选择连续的多行:多选编辑器的最左边,显示的是每一行的行号。如果你单击行号,就能够直接选中这一行。如果你在某个行号上按下鼠标,然后上下移动,则能够选中多行代码。

6.2文本编辑

拖放功能 选中后拖放(剪切)
拖放功能 选中后 + Ctrl 拖放(复制粘贴)

6.3多光标

1、上面提到过的Alt + 左键
2、中键:按下鼠标中键,然后对着一段文档拖出一个框,在这个框中的代码就都被选中了,而且每一行被选中的代码,都拥有一个独立的光标

6.4跳转

Ctrl + 鼠标左键

7.代码自动补全、快速修复和重构

7.1自动补全、快速预览、参数预览

VS Code 为编程语言工作者提供了统一的 API ,即 Language Server Protocol,每种语言都能够通过实现这个 API 在 VS Code 上得到类似 IDE 的开发体验,而各个语言根据这个 API实现的服务,就被称为语言服务。
自动补全由语言服务提供。
自动补全窗口 按ESC暂时关闭,再打字就会再出来。
自动补全可以设置

7.2快速修复

不确定什么时候能够看到这个黄色的灯泡图标?
编辑器在你把光标移动到这个错误或者警告所在的代码上时才会展示这个图标。

7.3重构

7.3.1改变量名F2

当我们想修改一个函数或者变量的名字时候,我们只需把光标放到函数或者变量名上,然后按下 F2,这样这个函数或者变量出现的地方就都会被修改。

7.3.2抽取小方法

只需选中那段代码,点击黄色的灯泡图标,然后选择对应的重构操作。(语言服务提供,js支持,c#和lua都不支持)

7.4基于单词的自动补全

编辑器通过分析当前的文件里的内容,进行简单的正则表达式匹配,给我们建议已经出现过的单词。
当然,如果你觉得语言服务的提示已经足够好了,不需要这么暴力、这么笨的文本提示,那你也可以通过设置 “editor.wordBasedSuggestions” 将其关闭。

8.代码片段

代码片段是对常用代码的一个抽象,它保留了大部分不变的代码,然后把需要经常变动的部分,换成变量,这样等下次调用它的时候,只需要把这些变量换成我们需要的就可以了。
平时用的for/fori/string.format,其实就是内置、插件提供的代码片段。我们也可以自定义。
Tab:下一个坑位
Shift + Tab: 上一个坑位

9.代码折叠、小地图和面包屑特性

9.1代码折叠

9.1.1 “最内层”和“可以被折叠”:

Ctrl + Shift + 左方括号
Ctrl + Shift + 右方括号

9.1.2 其它

“全部折叠”
“折叠级别1”
“折叠级别2”

9.2小地图

editor.minimap.renderCharacters

9.3面包屑

readcrumb,面包屑导航

“VS Code 的代码量非常大,现在大约有 40 万行代码,我自己肯定无法一下子了解熟悉所有的功能。所以,每次当我需要去了解一个新功能时,我都会先把所有类和函数全部折叠起来,了解一下它的大致“形状”,然后再依次展开我感兴趣的函数,仔细斟酌。我觉得很多时候,这个方法比代码调试还来得有效。

10.搜索

10.1单文件搜索

10.1.1Ctrl + F

大小写敏感Case:Alt + C
全单词匹配Word:Alt + W
正则表达式匹配RegularExpression:Alt + R (vscode里面的正则表达式使用的是 JavaScript 的正则引擎)
选定内容中查找L???:Alt + L
Enter:下一个搜索到的
Shift + Enter:上一个搜索到的

10.1.2Ctrl + H
10.1.3搜索配置

editor.fnd.seedSearchStringFromSelection 自动填充搜索关键词。
editor.fnd.autoFindInSelection 选中多行文本,开始搜索时,自动查找选定内容

10.2多文件搜索和替换

Ctrl + Shift + F

10.2.1glob

“包含的文件” 和 “排除的文件”。这两个配置的书写格式是 glob,很多编程语言和配置都会使用 glob 来模糊匹配文件名和文件夹,gitignore也是哦

10.2.2多文件搜索配置

search.collapseResults 是否自动展开搜索结果
search.location 多文件搜索视图的位置

11.编辑器设置

editor.renderWhitespace将所有的空格符、制表符等全部都渲染出来
editor.renderIndentGuides缩进参考线
editor.minimap.enabled小地图开启
editor.cursorBlinking、editor.cursorStyle、editor.cursorWidth光标样式相关
editor.formatOnSave、editor.formatOnType 自动格式化
files.autoSave自动(延迟)保存
files.defaultLanguage新建时的文本默认格式,如定为markdown,方便。
其它:
editor cursor,是跟光标渲染和多光标相关的设置;
editor fnd,是与编辑器内搜索相关的设置;
editor font,是与字体有关的设置;
editor format,是代码格式化;
editor suggest,是和自动补全、建议窗口等相关的配置

第二章:工作区

1.工作台和命令面板

1.1命令面板

问号?:命令面板所有支持的所有前缀
大于号>:所有的命令
@:所有符号
@::分类后的所有符号
:(什么都不输入)查找文件
命令面板commandPalette,可以看看设置中有哪些选项。

2.多文件夹工作区

*.code-workspace中可以加入多个文件夹

3.编辑器里做版本管理Git/SVN

切换内联视图
选定内容的stage/unstage
Git输出

4.编辑器里的内置的终端(集成终端)

Ctrl + ` 显示、隐藏

Ctrl + Shift + ` 新建

4.1终端中的快捷键

命令面板搜索“终端”
Ctrl + C/V
Alt +左右
Ctrl + F
……

4.2终端设置

4.2.1 终端里使用什么样的 Shell

默认:
Mac、Linux
VS Code 会检测你的默认 Shell 是什么,比如在我的系统上,我就是使用 Zsh,而如果没有找到的话,终端则会使用 Bash 或者 sh 作为启动时的 Shell 环境。
Win
Win10:PowerShell,Win10以下:Cmd
也可以你自己指定terminal.integrated.shell.windows、terminal.integrated.shell.osx 或者 terminal.integrated.shell.linux

4.2.2 终端的启动参数

terminal.integrated.shellArgs.x,如terminal.integrated.shellArgs.linux 修改为 -l,即在 Linux 环境下创建 Bash 的时候,使用登陆 Shell (login shell)

4.2.3 环境变量

控制集成终端创建 Shell 时,该使用哪些特殊的环境变量
terminal.integrated.env.osx、
terminal.integrated.env.linux 、
terminal.integrated.env.windows、

4.2.4 其它设置

terminal.integrated.cwd 用于控制 Shell 启动时的初始目录;terminal.integrated.rightClickBehavior 控制鼠标右键点击时的行为;terminal.integrated.enableBell 可以控制当脚本出错时是否要发出响声
terminal.integrated.scrollback 集成终端里的输出结果保留多少行

4.2.5 美化终端

Mac zsh 和 oh-my-zsh
Win Posh-Git
Ref:
将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子

Windows命令行终端神器Cmder配置及美化指南
其中,cmder可以指定启动时使用的shell,可指定为powershell,然后在cmder\vendor\profile.ps1这个描述文件中来指定启动时执行的命令
在这里插入图片描述在这里插入图片描述
vscode中启动powershell时执行cmder的psl
这样就可以不干扰系统中的powershell,即可以把“将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子”中的psl还原。vscdoe的setting.json如下:

{
    "terminal.integrated.shellArgs.windows": [
        "-ExecutionPolicy",
        "Bypass",
        "-NoLogo",
        "-NoProfile",
        "-NoExit",
        // "-Command",
        // "\"Invoke-Expression'.''D:\\profile.ps1'''\"",
        ". 'D:\\Program Files\\cmder\\vendor\\conemu-maximus5\\..\\profile.ps1'",
        "-and",
        "\"cls\""
    ],
    "terminal.integrated.fontFamily": "Hack"
}

5.任务系统

任务系统的目的,是将各种形形色色的任务脚本尽可能地统一化,然后提供一套简单但又定制化强的方式操作它们.

6.工作区快捷键

6.1多个编辑器组

创建 Ctrl +
跳转 Ctrl + 1 Ctrl + 2 Ctrl + 3

6.2多个文件

跳转 Ctrl + Pagedown/Pageup

6.3网格布局

命令面板“网格”

6.4专注模式

隐藏“侧边” Ctrl+ B
禅模式 Shift + F11

6.5缩放

Ctrl + + / -

7.其它Tips&Tricks

7.1跳转

跳转回上一次光标所在的位置 Alt + Left
跳到到下一次光标所在的位置 Alt + Shift + Left
转到上一次编辑位置 “转到上一编辑位置” Ctrl + K Ctrl + Q

7.2复制粘贴

Cmd+ Shift + V则是粘贴纯文本 (Win上无效?)
editor.copyWithSyntaxHighlighting关闭复制富文本

8.插件开发

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值