zl程序教程

您现在的位置是:首页 >  工具

当前栏目

VSCODE(四)编辑功能

VSCode 功能 编辑
2023-09-27 14:27:31 时间

强大的编辑功能是VSCODE受欢迎的一个原因。这一节,我们就先来了解一下VSCODE的编辑功能。

一、多光标

在这里插入图片描述
以下都是添加多光标的方法:

  • alt+click,按住alt,在想要添加光标的地方右键
  • ctrl+alt+down ctrl+alt+down,当前位置上方或者下方添加光标
  • ctrl+d,第一次按下在当前编辑单词的尾部添加光标,再次按下则跳转到同样单词的末尾添加光标
  • ctrl+shift+l,所有相同单词后添加光标

二、区域选取

我经常会遇到这样的问题,一段比较长的文件需要复制,我只能从开始按住鼠标左键滚动鼠标到最后再释放完成复制的选取。不仅容易出错,速度还慢(不能通过slidebar\minimap)。VSCODE可以完成这样的工作,选定当前位置,按下alt+shift,从当前位置开始到下一次点击区间都被选取(你甚至可以多次点击修改终点),刚刚看了一下文档,还有一个叫做Box选取,也就是用框框框住的区域,按住alt即可开始选取。

三、自动保存

默认情况下VSCODE保存发生在用户主动做出保存操作,如ctrl+s,VSCODE可以设置files.autoSave其自动保存:

  • off
  • afterDelay(默认1000ms,时间设置files.autoSaveDelay)
  • onFocusChange 编辑器焦点丢失
  • onWindowChange 窗口焦点丢失

四、热退出

热退出是指用户关闭VSCODE时VSCODE保持方式files.hotExit:

  • off 禁止热退出
  • onExit
  • onExitAndWindowClose

目前没有太大的需求。

五、搜索和替换

和其他编辑器一样按下ctrl+f进行范围为当前编辑的文档的查找。如果查找的结果不止一个,可以按enter跳到下一个。在右上角显示的弹窗有更多东西帮助我们搜索,如正则表达式、大小写、完全匹配和在结果中再次查找等等。
在这里插入图片描述

六、跨文件搜索

要是我想在整个工作区间查找可以通过ctrl+shift+f来实现,在原来侧边栏位置可以看到工程内所有匹配结果。功能与ctrl+f大同小异,不过多了专门的筛选过滤器。
在这里插入图片描述

七、IntelliSence

代码补全功能,如果你要接受这个提示,按下Enter或者Tab即可,如果你想主动唤起提示,使用ctrl+space,不过通常他和输入法冲突了,需要修改一下快捷键。

八、代码格式化

也就是将当前代码整理一下,不是所有语言都内置支持这样的格式化,我常用的C++反正支持。

  • shift+alt+f 全部格式化
  • ctrl+k f 选定格式化
    在这里插入图片描述
    格式化后:
    在这里插入图片描述
    Visual Studio 2019 C++反正是分号后自动格式化,相当实用,那么VSCODE是由可以实现相同的功能?当然可以!JSON设置一下即可。
    editor.formateOnType editor.formateOnSave editor.formateOnPaste

九、代码折叠

每个代码有对应的自动折叠语法,如C++的while for循环,点击VSCODE行数右边的以下符号符号。在这里插入图片描述
即可完成收起和展开,另外你也可以逐级收起,快捷键是shift+click不过这个也被占用了,需要解决一下冲突。如果对于一些你想折叠但是语言没有自动折叠怎么办?OK!实用语言对应标记,标记起始和终止区域。

LanguageStart regionEnd region
Bat::#region or REM #region::#endregion or REM #endregion
C##region#endregion
C/C++#pragma region#pragma endregion
CSS/Less/SCSS/#region//#endregion/
Coffeescript#region#endregion
F#//#region or (#_region)//#endregion or (#_endregion)
Java//#region or //// #endregion or //
Markdown<!-- #region --><!-- #endregion -->
Perl5#region or =pod#endregion or =cut
PHP#region#endregion
PowerShell#region#endregion
Python#region or # region#endregion or # endregion
TypeScript/JavaScript//#region//#endregion
Visual Basic#Region#End Region

像是这样:
在这里插入图片描述
这里是快捷键:

  • Fold (Ctrl+Shift+[) folds the innermost uncollapsed region at the cursor.
  • Unfold (Ctrl+Shift+]) unfolds the collapsed region at the cursor.
  • Toggle Fold (Ctrl+K Ctrl+L) folds or unfolds the region at the cursor.
  • Fold Recursively (Ctrl+K Ctrl+[) folds the innermost uncollapsed region at the cursor and all regions inside that region.
  • Unfold Recursively (Ctrl+K Ctrl+]) unfolds the region at the cursor and all regions inside that region.
  • Fold All (Ctrl+K Ctrl+0) folds all regions in the editor.
  • Unfold All (Ctrl+K Ctrl+J) unfolds all regions in the editor.
  • Fold Level X (Ctrl+K Ctrl+2 for level 2) folds all regions of level X, except the region at the current cursor position.
  • Fold All Block Comments (Ctrl+K Ctrl+/) folds all regions that start with a block comment token.
  • Fold Marker Regions (Ctrl+K Ctrl+8) folds all marker regions.
  • Unfold Marker Regions (Ctrl+K Ctrl+9) unfolds all marker regions

十、缩进

"editor.insertSpaces": true,
"editor.tabSize": 4,

VSCODE将会根据你的文件自动设置对应的缩进格式,当然你可以禁止这种行为:

"editor.detectIndentation":false

十一、文件编码支持

"file.encoding":utf8