0

0

VSCode 怎样设置代码折叠与展开快捷键 VSCode 代码折叠展开快捷键的设置方法​

爱谁谁

爱谁谁

发布时间:2025-08-05 13:16:01

|

253人浏览过

|

来源于php中文网

原创

vscode中设置代码折叠与展开快捷键有两种主要方法:一是通过图形界面进入“键盘快捷方式”进行修改,二是直接编辑keybindings.json文件;2. 推荐使用第二种方法,因其提供更细致的控制和可移植性,且可通过添加如{ "key": "ctrl+alt+[", "command": "editor.fold", "when": "editortextfocus" }等配置实现个性化绑定;3. 自定义快捷键能显著提升编码效率,通过将高频操作绑定至顺手键位,减少认知负担,使操作更流畅;4. 进阶用法包括按层级折叠(如editor.foldlevel2)、折叠注释与导入、使用#region创建自定义折叠区域,以及利用语法结构智能折叠;5. 常见问题包括快捷键冲突、when条件设置不当和记忆困难,可通过在ui中检查冲突、正确设置上下文条件(如editortextfocus)及循序渐进培养肌肉记忆来解决。

VSCode 怎样设置代码折叠与展开快捷键 VSCode 代码折叠展开快捷键的设置方法​

在VSCode里设置代码折叠与展开的快捷键,核心就是通过修改其键盘快捷方式配置,无论是图形界面还是直接编辑

keybindings.json
文件,都能实现个性化的操作习惯。这能极大提升编码效率,让你的双手更专注于代码本身。

解决方案

要设置VSCode的代码折叠与展开快捷键,你有两种主要途径,我个人更倾向于第二种,因为它提供了更细致的控制和可移植性,但对于初学者,第一种无疑更直观。

方法一:通过VSCode的图形界面设置

这是最直接的方式。

  1. 打开VSCode。
  2. 进入“文件” (File) > “首选项” (Preferences) > “键盘快捷方式” (Keyboard Shortcuts),或者直接使用快捷键
    Ctrl + K Ctrl + S
    (macOS:
    Cmd + K Cmd + S
    )。
  3. 在搜索框中输入“折叠”或“展开”,你会看到一系列相关的命令,比如
    editor.fold
    (折叠当前区域)、
    editor.unfold
    (展开当前区域)、
    editor.foldAll
    (折叠所有区域)、
    editor.unfoldAll
    (展开所有区域)等等。
  4. 找到你想要修改的命令,点击其左侧的铅笔图标进行编辑。
  5. 在弹出的输入框中按下你想要的组合键,例如
    Ctrl + Alt + [
    用于折叠,
    Ctrl + Alt + ]
    用于展开。
  6. 如果新设置的快捷键与现有快捷键冲突,VSCode会提示你。你可以选择覆盖,或者为新快捷键选择一个不冲突的组合。

方法二:直接编辑

keybindings.json
文件

这种方法可能对新手来说稍微有点门槛,但一旦掌握,你会发现它非常强大。

  1. 打开命令面板:

    Ctrl + Shift + P
    (macOS:
    Cmd + Shift + P
    )。

  2. 输入“打开键盘快捷方式 (JSON)”并选择它。这会打开你的用户

    keybindings.json
    文件。

  3. 在这个文件中,你可以添加或修改键绑定规则。以下是一些常用的折叠/展开命令及其对应的JSON配置示例:

    [
        // 折叠当前区域
        {
            "key": "ctrl+alt+[",
            "command": "editor.fold",
            "when": "editorTextFocus"
        },
        // 展开当前区域
        {
            "key": "ctrl+alt+]",
            "command": "editor.unfold",
            "when": "editorTextFocus"
        },
        // 折叠所有区域
        {
            "key": "ctrl+shift+alt+[",
            "command": "editor.foldAll",
            "when": "editorTextFocus"
        },
        // 展开所有区域
        {
            "key": "ctrl+shift+alt+]",
            "command": "editor.unfoldAll",
            "when": "editorTextFocus"
        },
        // 折叠到指定级别(例如:折叠到第二级)
        {
            "key": "ctrl+k ctrl+2", // 这是一个组合键,先按Ctrl+K,再按Ctrl+2
            "command": "editor.foldLevel2",
            "when": "editorTextFocus"
        }
    ]

    "when": "editorTextFocus"
    这个条件非常重要,它确保了这些快捷键只在编辑器获得焦点时才生效,避免了全局冲突。你可以根据自己的习惯修改
    key
    的值。

为什么自定义快捷键如此重要?

说实话,刚开始用VSCode,我可能就随便用它默认的那些快捷键,觉得也够用了。但时间一长,尤其是在处理大型项目或者需要频繁切换视图、执行特定操作的时候,那些默认的快捷键组合可能并不是最顺手的。我发现,真正把一些高频操作(比如代码折叠、文件保存、终端切换)绑定到我左手最舒服的几个键位上时,整个编码的流畅度简直是质的飞跃。

这不仅仅是快那么一点点,它更是一种心理上的顺畅。你不用刻意去想“这个功能快捷键是什么来着?”,而是几乎下意识地就能完成操作。这就像一个老司机开自己的车,方向盘、油门、刹车的位置早已刻在肌肉记忆里,根本不需要分神去寻找。对于程序员来说,把更多的认知资源留给解决问题本身,而不是操作工具,这太关键了。而且,每个人都有自己的习惯,VSCode这种高度可定制的特性,正是它魅力所在,它允许你把这个工具塑造成最适合你的样子。

Smart Picture
Smart Picture

Smart Picture 智能高效的图片处理工具

下载

代码折叠的进阶用法有哪些?

代码折叠可不是只有

Ctrl+Shift+[
那么简单,它有很多高级玩法,能让你在大型文件中游刃有余。除了前面提到的
editor.foldAll
editor.unfoldAll
,还有一些命令值得深入了解:

  • 按层级折叠:

    editor.foldLevelX
    :这个命令允许你将代码折叠到指定的缩进级别。比如
    editor.foldLevel2
    会把所有超过第二级缩进的代码块都折叠起来。这在快速浏览文件结构时非常有用,可以让你一眼看出文件的主要模块和函数定义,而不用被内部实现细节干扰。我经常用它来快速概览一个新文件或者一个复杂函数的大致结构。

  • 折叠注释和导入:

    editor.foldAllBlockComments
    /
    editor.foldAllImports
    :这两个命令能帮你快速折叠文件中的所有块注释或所有导入语句。想象一下,一个文件顶部有几十行导入,或者中间穿插着大段的注释,一键折叠后,代码的密度和可读性立马提升。这对于那些需要关注核心逻辑,暂时不想被辅助信息干扰的场景非常友好。

  • 自定义区域折叠:

    #region
    /
    // #region
    :这是一种非常实用的技巧,尤其是在C#、Python、JavaScript等语言中。你可以在代码中插入特定的注释标记(如C#的
    #region
    #endregion
    ,或者Python/JavaScript的
    // #region
    // #endregion
    ),VSCode会识别这些标记并允许你折叠/展开这些自定义区域。这对于组织大型函数内部的逻辑块,或者把相关的辅助函数打包在一起非常有用。我习惯用它来给一些逻辑复杂的函数内部做分段,这样调试起来也更方便。

  • 基于语法的智能折叠:VSCode默认就会根据代码的语法结构(如函数体、类、循环、条件语句)进行智能折叠。了解这一点,可以帮助你更好地利用它。有时候,折叠一个大的if-else块,能让你快速跳过不关心的逻辑分支。

自定义快捷键时可能遇到的坑和解决办法

自定义快捷键虽然强大,但过程中也可能遇到一些小麻烦,不过别担心,都有办法解决。

1. 快捷键冲突

这是最常见的问题。当你设置了一个快捷键,它可能已经被其他命令占用了。

  • 现象:设置后发现快捷键没生效,或者执行的不是你期望的命令。
  • 解决办法
    • UI界面:在键盘快捷方式界面,当你输入一个快捷键时,如果它有冲突,VSCode会直接显示冲突的命令列表。你可以选择覆盖,或者为你的命令选择一个不同的组合。
    • keybindings.json
      :如果直接编辑JSON文件,VSCode不会直接提示冲突,但你可以通过搜索冲突的
      key
      值来查找。通常,后定义的规则会覆盖先定义的规则,或者
      when
      条件更具体的规则会优先。我一般会先在UI界面试一下,看看有没有冲突,再决定要不要写入JSON。
    • 优先级:用户自定义的快捷键(在
      keybindings.json
      中)优先级高于默认快捷键。如果你想禁用某个默认快捷键,可以在
      keybindings.json
      中添加一个条目,将
      command
      设置为
      -
      ,例如:
      { "key": "ctrl+s", "command": "-save" }
      (当然,一般没人会禁用保存)。

2.

when
条件的理解和使用

keybindings.json
中,
"when"
子句非常重要,它定义了快捷键何时生效。

  • 问题:如果
    when
    条件设置不当,你的快捷键可能在不该生效的时候生效,或者在需要生效的时候却不生效。比如,你设置了一个快捷键,但它只在“终端获得焦点”时才起作用,而你期望它在“编辑器获得焦点”时起作用。
  • 解决办法:理解常见的
    when
    上下文。
    • editorTextFocus
      : 编辑器文本区域获得焦点时。这是最常用的。
    • terminalFocus
      : 终端获得焦点时。
    • explorerViewletFocus
      : 文件资源管理器获得焦点时。
    • inDebugMode
      : 处于调试模式时。
    • !inDebugMode
      : 不在调试模式时。
    • editorLangId == 'python'
      : 仅在当前文件是Python时生效。
    • 你可以通过在命令面板中搜索“when”,或者在键盘快捷方式UI中查看现有命令的
      when
      条件来学习更多。掌握
      when
      条件能让你创建出非常智能和上下文感知的快捷键。

3. 快捷键的记忆与习惯

  • 问题:设置了一堆快捷键,但记不住,或者总是按错。
  • 解决办法
    • 循序渐进:不要一次性设置太多。先从你最常用的几个操作开始,慢慢习惯,再逐步添加。
    • 逻辑关联:尽量让快捷键组合与功能本身有逻辑关联,比如
      [
      对应折叠,
      ]
      对应展开,这样更容易记住。
    • 肌肉记忆:多用,多练,直到成为一种肌肉记忆。一段时间后,你会发现这些快捷键已经融入你的操作习惯了。

总的来说,自定义快捷键是一个不断优化个人工作流的过程。它可能需要一点点试错,但最终的回报是显著的效率提升和更愉悦的编码体验。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

756

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

636

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

760

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

618

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1264

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

548

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

578

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

708

2023.08.11

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.5万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号