VS Code 使用小技巧

本文介绍了 Visual Studio Code (VSCode) 的基本布局、常用插件及快捷键操作等内容,旨在帮助前端开发者更好地利用这款轻量级编辑器提升工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



相关文档

这里提一句,,上面的中文文档是我早期建的一个仓库,希望大家一起来为 VSCode 的中文社区的发展做出贡献,欢迎 fork & star

下载

Download Visual Studio Code

简介

VSCode是微软推出的一款轻量编辑器,采取了和VS相同的UI界面,搭配合适的插件可以优化前端开发的体验。

布局:左侧是用于展示所要编辑的所有文件和文件夹的文件管理器,依次是`资源管理器`,`搜索`,`GIT`,`调试`,`插件`,右侧是打开文件的编辑区域,最多可同时打开三个编辑区域到侧边。

底栏:依次是`Git Branch`,`error&warning`,`编码格式`等。

常用插件(待补充)

  • HTML Snippets:增强了zen-coding,增加了H5的自动补全,安装后每次打开自动启用(可能与其他插件冲突)。
  • Angular 1.x Snippets:增加了AngularJs 1在.html和.js中的代码补全,安装后每次打开自动启用。
  • Git Easy:增加了vscode中自带的git操作,安装后按F1调出控制台,输入git easy [options]完成git操作,代替git bash。
  • HTML CSS Support: 增加.html中css的代码补全,可以手动增加配置文件来增加外部css中的class补全。详情见插件说明。
  • VScode-icons: 美化VSCode的界面,在文件名前面显示小图标,安装后每次打开自动启用。
  • Git Blame:可以查看当前光标所在位置的Git Log,最近一次提交的人和时间,显示在左下角,安装后每次打开自动启用。
  • HTML CSS Class Completion:扫描项目中的所有css中的class名,在html中自动补全,安装后每次打开自动启用。注意:如果css过多容易卡死。
  • Debugger for Chrome:方便js调试的插件,前端项目在Chrome中运行起来之后,可以直接在VSCode中打断点、查看输出、查看控制台,需要配置launch.json,详情见插件说明。
  • background:VSCode美化插件,修改界面背景,详情见插件说明。

常用快捷键(待补充)

编辑器与窗口管理

同时打开多个窗口(查看多个项目)

  • 打开一个新窗口: Ctrl+Shift+N
  • 关闭窗口: Ctrl+Shift+W

同时打开多个编辑器(查看多个文件)

  • 新建文件 Ctrl+N
  • 历史打开文件之间切换 Ctrl+Tab,Alt+Left,Alt+Right
  • 切出一个新的编辑器(最多3个)Ctrl+\,也可以按住Ctrl鼠标点击Explorer里的文件名
  • 左中右3个编辑器的快捷键Ctrl+1 Ctrl+2 Ctrl+3
  • 3个编辑器之间循环切换 Ctrl+`
  • 编辑器换位置,Ctrl+k然后按Left或Right

代码编辑

格式调整

  • 代码行缩进Ctrl+[, Ctrl+]
  • 折叠打开代码块 Ctrl+Shift+[, Ctrl+Shift+]
  • Ctrl+C Ctrl+V如果不选中,默认复制或剪切一整行
  • 代码格式化:Shift+Alt+F,或Ctrl+Shift+P后输入format code
  • 修剪空格Ctrl+Shift+X
  • 上下移动一行: Alt+Up 或 Alt+Down
  • 向上向下复制一行: Shift+Alt+Up或Shift+Alt+Down
  • 在当前行下边插入一行Ctrl+Enter
  • 在当前行上方插入一行Ctrl+Shift+Enter

光标相关

  • 移动到行首:Home
  • 移动到行尾:End
  • 移动到文件结尾:Ctrl+End
  • 移动到文件开头:Ctrl+Home
  • 移动到后半个括号 Ctrl+Shift+]
  • 选中当前行Ctrl+i(双击)
  • 选择从光标到行尾Shift+End
  • 选择从行首到光标处Shift+Home
  • 删除光标右侧的所有字Ctrl+Delete
  • Shrink/expand selection: Shift+Alt+Left和Shift+Alt+Right
  • Multi-Cursor:可以连续选择多处,然后一起修改,Alt+Click添加cursor或者Ctrl+Alt+Down 或 Ctrl+Alt+Up
  • 同时选中所有匹配的Ctrl+Shift+L
  • Ctrl+D下一个匹配的也被选中(被我自定义成删除当前行了,见下边Ctrl+Shift+K)
  • 回退上一个光标操作Ctrl+U

重构代码

  • 跳转到定义处:F12
  • 定义处缩略图:只看一眼而不跳转过去Alt+F12
  • 列出所有的引用:Shift+F12
  • 同时修改本文件中所有匹配的:Ctrl+F12
  • 重命名:比如要修改一个方法名,可以选中后按F2,输入新的名字,回车,会发现所有的文件都修改过了。
  • 跳转到下一个Error或Warning:当有多个错误时可以按F8逐个跳转
  • 查看diff 在explorer里选择文件右键 Set file to compare,然后需要对比的文件上右键选择Compare with 'file_name_you_chose'.

查找替换

  • 查找 Ctrl+F
  • 查找替换 Ctrl+H
  • 整个文件夹中查找 Ctrl+Shift+F

显示相关

  • 全屏:F11
  • zoomIn/zoomOut:Ctrl + =/Ctrl + -
  • 侧边栏显/隐:Ctrl+B
  • 预览markdown Ctrl+Shift+V

其他

  • 自动保存:File -> AutoSave ,或者Ctrl+Shift+P,输入 auto
「一杯奶茶钱」
赞赏
1 人赞赏
Yqwerty
文章被以下专栏收录
44 条评论
写下你的评论...

Yqwerty
虽然我不用,但是还是要说到做到(˶‾᷄ ⁻̫ ‾᷅˵)
1 年前
绅士喵
vscode所有的 "run code" 相关的插件都没法IO交互,只能输出。辛亏有Terminal插件 不然真的只能是一个编辑器了...
1 年前
Zero
到现在还是没支持html文件写内联js和css的语法提示
1 年前
大头书签
请问vs code 如何写less呢,写了不会自动生成css
1 年前
赵吉彤
 查看对话
赵吉彤(作者)回复大头书签
不会的,,配置npm
1 年前
廖贻恒
你知道怎么关闭每次打开一个文件自动打开资源管理器么.
1 年前
赵吉彤
 查看对话
赵吉彤(作者)回复廖贻恒
没遇到这个问题,可能是我没看懂
1 年前
廖贻恒
 查看对话
廖贻恒回复赵吉彤(作者)
就是打开任意一个文件,都会打开资源管理器.作为洁癖分子 不喜欢这样.
1 年前
太上绝情
作者君你有空天天刷知乎,不如抽空把合并请求审了。
1 年前
DMONK
求教一个问题,我用VS code写python
str1=input("请输入一个人的名字:") str2=input("请输入一个国家名字:")
控制台只停留在第一行的输入界面,怎么能继续运行下一行输入?
1 年前
推荐阅读
VS Code 使用小技巧

VS Code 使用小技巧

赵吉彤 赵吉彤
1 年前

相关文档

这里提一句,,上面的中文文档是我早期建的一个仓库,希望大家一起来为 VSCode 的中文社区的发展做出贡献,欢迎 fork & star

下载

Download Visual Studio Code

简介

VSCode是微软推出的一款轻量编辑器,采取了和VS相同的UI界面,搭配合适的插件可以优化前端开发的体验。

布局:左侧是用于展示所要编辑的所有文件和文件夹的文件管理器,依次是`资源管理器`,`搜索`,`GIT`,`调试`,`插件`,右侧是打开文件的编辑区域,最多可同时打开三个编辑区域到侧边。

底栏:依次是`Git Branch`,`error&warning`,`编码格式`等。

常用插件(待补充)

  • HTML Snippets:增强了zen-coding,增加了H5的自动补全,安装后每次打开自动启用(可能与其他插件冲突)。
  • Angular 1.x Snippets:增加了AngularJs 1在.html和.js中的代码补全,安装后每次打开自动启用。
  • Git Easy:增加了vscode中自带的git操作,安装后按F1调出控制台,输入git easy [options]完成git操作,代替git bash。
  • HTML CSS Support: 增加.html中css的代码补全,可以手动增加配置文件来增加外部css中的class补全。详情见插件说明。
  • VScode-icons: 美化VSCode的界面,在文件名前面显示小图标,安装后每次打开自动启用。
  • Git Blame:可以查看当前光标所在位置的Git Log,最近一次提交的人和时间,显示在左下角,安装后每次打开自动启用。
  • HTML CSS Class Completion:扫描项目中的所有css中的class名,在html中自动补全,安装后每次打开自动启用。注意:如果css过多容易卡死。
  • Debugger for Chrome:方便js调试的插件,前端项目在Chrome中运行起来之后,可以直接在VSCode中打断点、查看输出、查看控制台,需要配置launch.json,详情见插件说明。
  • background:VSCode美化插件,修改界面背景,详情见插件说明。

常用快捷键(待补充)

编辑器与窗口管理

同时打开多个窗口(查看多个项目)

  • 打开一个新窗口: Ctrl+Shift+N
  • 关闭窗口: Ctrl+Shift+W

同时打开多个编辑器(查看多个文件)

  • 新建文件 Ctrl+N
  • 历史打开文件之间切换 Ctrl+Tab,Alt+Left,Alt+Right
  • 切出一个新的编辑器(最多3个)Ctrl+\,也可以按住Ctrl鼠标点击Explorer里的文件名
  • 左中右3个编辑器的快捷键Ctrl+1 Ctrl+2 Ctrl+3
  • 3个编辑器之间循环切换 Ctrl+`
  • 编辑器换位置,Ctrl+k然后按Left或Right

代码编辑

格式调整

  • 代码行缩进Ctrl+[, Ctrl+]
  • 折叠打开代码块 Ctrl+Shift+[, Ctrl+Shift+]
  • Ctrl+C Ctrl+V如果不选中,默认复制或剪切一整行
  • 代码格式化:Shift+Alt+F,或Ctrl+Shift+P后输入format code
  • 修剪空格Ctrl+Shift+X
  • 上下移动一行: Alt+Up 或 Alt+Down
  • 向上向下复制一行: Shift+Alt+Up或Shift+Alt+Down
  • 在当前行下边插入一行Ctrl+Enter
  • 在当前行上方插入一行Ctrl+Shift+Enter

光标相关

  • 移动到行首:Home
  • 移动到行尾:End
  • 移动到文件结尾:Ctrl+End
  • 移动到文件开头:Ctrl+Home
  • 移动到后半个括号 Ctrl+Shift+]
  • 选中当前行Ctrl+i(双击)
  • 选择从光标到行尾Shift+End
  • 选择从行首到光标处Shift+Home
  • 删除光标右侧的所有字Ctrl+Delete
  • Shrink/expand selection: Shift+Alt+Left和Shift+Alt+Right
  • Multi-Cursor:可以连续选择多处,然后一起修改,Alt+Click添加cursor或者Ctrl+Alt+Down 或 Ctrl+Alt+Up
  • 同时选中所有匹配的Ctrl+Shift+L
  • Ctrl+D下一个匹配的也被选中(被我自定义成删除当前行了,见下边Ctrl+Shift+K)
  • 回退上一个光标操作Ctrl+U

重构代码

  • 跳转到定义处:F12
  • 定义处缩略图:只看一眼而不跳转过去Alt+F12
  • 列出所有的引用:Shift+F12
  • 同时修改本文件中所有匹配的:Ctrl+F12
  • 重命名:比如要修改一个方法名,可以选中后按F2,输入新的名字,回车,会发现所有的文件都修改过了。
  • 跳转到下一个Error或Warning:当有多个错误时可以按F8逐个跳转
  • 查看diff 在explorer里选择文件右键 Set file to compare,然后需要对比的文件上右键选择Compare with 'file_name_you_chose'.

查找替换

  • 查找 Ctrl+F
  • 查找替换 Ctrl+H
  • 整个文件夹中查找 Ctrl+Shift+F

显示相关

  • 全屏:F11
  • zoomIn/zoomOut:Ctrl + =/Ctrl + -
  • 侧边栏显/隐:Ctrl+B
  • 预览markdown Ctrl+Shift+V

其他

  • 自动保存:File -> AutoSave ,或者Ctrl+Shift+P,输入 auto
「一杯奶茶钱」
赞赏
1 人赞赏
Yqwerty
文章被以下专栏收录
44 条评论
写下你的评论...

Yqwerty
虽然我不用,但是还是要说到做到(˶‾᷄ ⁻̫ ‾᷅˵)
1 年前
绅士喵
vscode所有的 "run code" 相关的插件都没法IO交互,只能输出。辛亏有Terminal插件 不然真的只能是一个编辑器了...
1 年前
Zero
到现在还是没支持html文件写内联js和css的语法提示
1 年前
大头书签
请问vs code 如何写less呢,写了不会自动生成css
1 年前
赵吉彤
 查看对话
赵吉彤(作者)回复大头书签
不会的,,配置npm
1 年前
廖贻恒
你知道怎么关闭每次打开一个文件自动打开资源管理器么.
1 年前
赵吉彤
 查看对话
赵吉彤(作者)回复廖贻恒
没遇到这个问题,可能是我没看懂
1 年前
廖贻恒
 查看对话
廖贻恒回复赵吉彤(作者)
就是打开任意一个文件,都会打开资源管理器.作为洁癖分子 不喜欢这样.
1 年前
太上绝情
作者君你有空天天刷知乎,不如抽空把合并请求审了。
1 年前
DMONK
求教一个问题,我用VS code写python
str1=input("请输入一个人的名字:") str2=input("请输入一个国家名字:")
控制台只停留在第一行的输入界面,怎么能继续运行下一行输入?
1 年前
推荐阅读
<think>在VS Code中进行文本替换时,可以使用通配符(wildcards)和正则表达式(regular expressions)来匹配复杂的模式。VS Code的替换功能支持两种模式:简单字符串匹配和正则表达式匹配。默认情况下,替换功能使用简单字符串匹配,但可以通过启用正则表达式模式来使用更强大的匹配功能。 ### 1. 启用正则表达式模式 在VS Code的查找替换界面(按Ctrl+H打开),点击查找输入框右侧的正则表达式标(.*)即可启用正则表达式模式。或者使用快捷键Alt+R(Windows/Linux)或Option+Command+R(Mac)切换正则表达式模式。 ### 2. 常用通配符(正则表达式语法) 在正则表达式模式下,可以使用以下特殊字符作为“通配符”: - `.`:匹配任意单个字符(除了换行符) - `*`:匹配前面的子表达式零次或多次 - `+`:匹配前面的子表达式一次或多次 - `?`:匹配前面的子表达式零次或一次 - `\d`:匹配一个数字字符,等价于[0-9] - `\w`:匹配字母、数字或下划线,等价于[A-Za-z0-9_] - `\s`:匹配任何空白字符(空格、制表符、换行符等) - `[abc]`:匹配方括号内的任意一个字符(例如:a、b或c) - `[^abc]`:匹配不在方括号内的任意字符 - `(pattern)`:捕获匹配的子模式,可以在替换字符串中使用`$1`、`$2`等引用 - `|`:或操作,匹配左侧或右侧的表达式 - `^`:匹配输入字符串的开始位置 - `$`:匹配输入字符串的结束位置 ### 3. 替换中的特殊语法 在替换字符串中,可以使用以下特殊语法: - `$&`:插入整个匹配的内容 - `$1`、`$2`...`$n`:插入第n个捕获组的内容 - `$0`:插入整个匹配(与`$&`相同) - `$$`:插入一个`$`字符 ### 4. 示例代码(替换操作示例) 假设我们有一个C++代码文件,需要将旧式的`for`循环(使用索引)替换为基于范围的`for`循环。 **原始代码片段:** ```cpp for (int i = 0; i < vec.size(); i++) { int value = vec[i]; // ... 使用value } ``` **目标:** ```cpp for (int value : vec) { // ... 使用value } ``` **替换步骤:** 1. 打开替换功能(Ctrl+H) 2. 启用正则表达式模式(点击.*标) 3. 在查找框中输入正则表达式: ```regex for\s*\(\s*int\s+i\s*=\s*0\s*;\s*i\s*<\s*([a-zA-Z_][a-zA-Z0-9_]*)\.size\(\)\s*;\s*i\+\+\)\s*\{\s*int\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*\1\[i\];(.*) ``` 这个正则表达式匹配旧式循环,并捕获容器名称和循环体内使用的变量名。 4. 在替换框中输入: ```regex for (int $2 : $1) {$3 ``` **注意**:这个正则表达式可能因代码格式不同而需要调整,但展示了如何使用捕获组进行复杂替换。 ### 5. 其他实用替换示例 **示例1:将C风格字符串转换为C++字符串** 查找:`"([^"]*)"` 替换:`std::string("$1")` (注意:此替换可能不适用于所有情况,比如字符串中包含转义字符) **示例2:给函数调用添加命名空间** 查找:`function\(` 替换:`my_namespace::function(` (适用于简单场景,确保不会误替换) **示例3:交换函数参数顺序** 查找:`func\((\w+),\s*(\w+)\)` 替换:`func($2, $1)` ### 6. 注意事项 - **转义特殊字符**:在正则表达式中,特殊字符如`. * + ? $ { } ( ) | \ /`等需要使用反斜杠`\`进行转义。 - **多行匹配**:VS Code默认不支持跨多行匹配(即不能匹配换行符),除非使用`\s`(可以匹配换行符)或启用多行模式(但VS Code的查找替换目前不支持多行模式标志)。 - **性能**:复杂的正则表达式在大型文件中可能导致性能问题。 ### 7. 替代方案:使用代码重构工具 对于复杂的重构,建议使用专门的C++重构工具(如Clang-Tidy)或IDE(如CLion),它们可以理解代码的语法结构,避免正则表达式替换可能引入的错误。 §§相关问题§§: 1. 如何在VS Code中替换包含换行符的文本? 2. 如何用正则表达式匹配C++中的多行注释(/* ... */)? 3. 在VS Code中,如何保存常用的替换模式以便重复使用? 4. 如何避免在替换过程中误改不该替换的文本(例如注释或字符串中的内容)?</think># VS Code 替换功能中的通配符使用详解 在VS Code中进行文本替换时,通配符功能主要通过正则表达式实现。VS Code的查找替换功能支持强大的正则表达式语法,可以满足各种复杂替换需求。 ## 一、基本替换操作 1. 打开替换面板: - Windows/Linux: `Ctrl+H` - macOS: `Cmd+Option+F` 2. 启用正则表达式模式: - 点击查找框右侧的正则表达式标(`.*`) - 或使用快捷键 `Alt+R` (Windows/Linux) / `Option+Cmd+R` (macOS) ## 二、常用通配符(正则表达式)语法 ### 1. 基础匹配符 ```regex . 匹配任意单个字符(除换行符) \d 匹配数字(等价于[0-9]) \w 匹配字母、数字或下划线(等价于[A-Za-z0-9_]) \s 匹配空白字符(空格、制表符、换行符) [abc] 匹配括号内的任意字符 [^abc] 匹配不在括号内的任意字符 ``` ### 2. 数量限定符 ```regex * 匹配前一个元素0次或多次 + 匹配前一个元素1次或多次 ? 匹配前一个元素0次或1次 {n} 匹配前一个元素恰好n次 {n,} 匹配前一个元素至少n次 {n,m} 匹配前一个元素n到m次 ``` ### 3. 位置锚点 ```regex ^ 匹配行首 $ 匹配行尾 \b 匹配单词边界 ``` ### 4. 分组与引用 ```regex ( ) 创建捕获组 (?: ) 创建非捕获组 \n 引用第n个捕获组(n为数字) $n 在替换中使用第n个捕获组 ``` ## 三、实用替换示例 ### 示例1:重命名变量 **目标**:将变量名 `oldVar` 改为 `newVar`,但避免修改函数名 `oldVarFunc` ```regex // 查找 \boldVar\b // 替换 newVar ``` ### 示例2:格式化函数调用 **目标**:将 `func(arg1,arg2)` 改为 `func(arg1, arg2)` ```regex // 查找 (\w+)\(([^,]+),([^)]+)\) // 替换 $1($2, $3) ``` ### 示例3:添加命名空间 **目标**:给所有 `ClassName` 添加命名空间 `MyNamespace::` ```regex // 查找 (\bclass\b|\bstruct\b)\s+(\w+) // 替换 $1 MyNamespace::$2 ``` ### 示例4:删除调试日志 **目标**:删除所有以 `DEBUG_LOG` 开头的行 ```regex // 查找 ^.*DEBUG_LOG.*$\n? // 替换 (留空) ``` ## 四、高级技巧 ### 1. 多文件替换 1. 在搜索面板 (Ctrl+Shift+F) 输入搜索内容 2. 启用正则表达式 3. 在搜索结果中确认匹配项 4. 点击"全部替换"按钮 ### 2. 保留大小写替换 ```regex // 查找 \b(old)([A-Z]*)\b // 替换 ${1:/upcase}new$2 ``` ### 3. 条件替换 **目标**:将 `width` 改为 `size`,但将 `setWidth` 改为 `setSize` ```regex // 查找 (set)?(Width) // 替换 (?1set:)size ``` ## 五、VS Code特定功能 ### 1. 变量替换 在替换字符串中使用: ```regex ${TM_SELECTED_TEXT} 当前选中的文本 ${TM_FILENAME} 当前文件名 ${CURRENT_YEAR} 当前年份 ``` ### 2. 保存常用替换模式 1. 执行替换操作 2. 点击查找框右侧的"保存"标 3. 命名并保存搜索模式 4. 以后可通过"打开已保存搜索"快速使用 ### 3. 搜索排除特定文件 在"要包含的文件"输入框中: ```regex *.cpp, *.h // 只搜索特定类型文件 !**/test/** // 排除test目录 !*.min.* // 排除.min.js等文件 ``` ## 六、注意事项 1. **转义特殊字符**:使用 `\` 转义正则特殊字符如 `. * + ? $ ^ [ ] ( ) { } | \ /` ```regex // 匹配实际点号 example\.com ``` 2. **性能优化**: - 避免使用过于宽泛的模式如 `.*` - 使用更具体的字符类如 `[a-z]` 代替 `\w` - 在大型项目中分批替换 3. **安全操作**: - 先执行"查找"确认匹配结果 - 使用版本控制(如Git)以便撤销更改 - 对重要文件进行备份
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值