You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何配置VSCode格式化工具,使其在函数块后插入换行但不改动if-else结构

如何配置VSCode格式化工具,使其在函数块后插入换行但不改动if-else结构

嗨,我来帮你搞定这个格式化的问题!你想要的效果很明确:让VSCode把紧挨着的两个函数定义自动拆分成换行的形式,但保留if-else的紧凑结构对吧?下面根据你使用的不同格式化工具,给你具体的配置方法:

一、使用Prettier插件(推荐)

Prettier本身的默认规则就完美符合你的需求——它会给相邻的独立函数之间插入换行,同时牢牢保持if-else的紧凑结构。如果当前没生效,你只需要做这两步:

  • 确保已经在VSCode里安装了Prettier - Code formatter插件
  • 将Prettier设为JavaScript文件的默认格式化工具:
    1. 打开任意JS文件,右键选择「格式化文档...」
    2. 在弹出的选项里选「配置默认格式化程序」,然后点击「Prettier - Code formatter」

设置完成后,再格式化你提供的代码片段:
原代码:

function funciton1() {
    ...
} function function2() {
    ...
}

格式化后就会变成你想要的样子:

function funciton1() {
    ...
}
function function2() {
    ...
}

而你的if-else代码会完全保持原样,不会被改动:

if (...) {
    ...
} else {
    ...
}

二、使用VSCode内置的JavaScript/TypeScript格式化工具

如果你不想用第三方插件,想用VSCode自带的格式化工具,也可以通过调整设置实现:

  • 打开VSCode设置(快捷键Ctrl+,,Mac用户是Cmd+,
  • 搜索javascript.format.placeOpenBraceOnNewLineForControlBlocks,确保这个选项是关闭的(这样if-else的大括号就会保持紧凑结构)
  • 确认javascript.format.enable是开启状态,内置工具默认就会把紧挨着的函数拆分成换行的形式

如果你想把配置固定在项目里,可以在项目根目录创建.vscode/settings.json文件,写入以下内容:

{
  "[javascript]": {
    "editor.defaultFormatter": "vscode.typescript-language-features",
    "javascript.format.placeOpenBraceOnNewLineForControlBlocks": false
  }
}

备注:内容来源于stack exchange,提问作者gargoylebident

火山引擎 最新活动