You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否配置已有语法的折叠规则?以C/C++及ASM为例

自定义语法折叠配置方法

当然可以配置已有语法的折叠方式,以下以两款常用编辑器为例说明具体配置方法:

C/C++ 调整{}折叠为类似Pascal的显示风格

VS Code

直接修改settings.json,添加以下配置:

"[cpp]": {
    "editor.foldingStrategy": "indentation",
    "editor.foldBackground": true,
    "editor.folding": {
        "markers": {
            "start": "\\{",
            "end": "\\}"
        }
    },
    "editor.foldPreview": true
}

开启折叠预览后,{}块折叠后会显示为void fun() {..}这类样式。

Vim

在.vimrc中添加以下配置:

set foldmethod=syntax
set foldtext=getline(v:foldstart).' {..}'.getline(v:foldend)[-1:]
set foldenable

配置完成后,C/C++代码里的{}块折叠后会展示起始行内容加{..}和结尾的}。

ASM 配置proc/endp块的折叠规则

VS Code

确保已安装ASM相关语法扩展(如MASM x86),然后修改settings.json添加自定义折叠规则:

"[asm]": {
    "editor.foldingStrategy": "markers",
    "editor.folding": {
        "markers": {
            "start": "^\\s*\\w+\\s+proc",
            "end": "^\\s*\\w+\\s+endp"
        }
    },
    "editor.foldPreview": true,
    "editor.foldText": "${start} .. ${end}"
}

这样fun proc到fun endp的代码块折叠后会显示为fun proc .. fun endp。

Vim

在.vimrc中为ASM语法添加折叠配置:

autocmd FileType asm set foldmethod=marker
autocmd FileType asm set foldmarker=proc,endp
autocmd FileType asm set foldtext=getline(v:foldstart).' .. '.getline(v:foldend)
set foldenable

配置后,ASM中的过程块会自动折叠,折叠后展示起始行与结束行内容的拼接样式。

内容的提问来源于stack exchange,提问作者mantissa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:27:39