VS Code - 格式化时如何对齐标签结尾和标签开头? (JSX)

Posted

技术标签:

【中文标题】VS Code - 格式化时如何对齐标签结尾和标签开头? (JSX)【英文标题】:VS Code - How to align tag end and tag opening when formatting? (JSX) 【发布时间】:2017-05-16 15:38:40 【问题描述】:

我不知道这是否是 VS Code 的默认行为,(我在默认之上还有很多自定义配置)

但是当我格式化代码时,它会转换这样的代码:

  const simpleInput = (
    <Input
      ...input
      ...others
      state=state
    />
  );

进入:

  const simpleInput = (
    <Input
      ...input
      ...others
      state=state
      /> <- Here is the difference
  );

我的 es-lint 会发出警告 [eslint] The closing bracket must be aligned with the line containing the opening tag (expected column 5) (react/jsx-closing-bracket-location)

如何调整它以使其与标签开始正确对齐?

请注意,该文件在 .js 文件中使用 JSX,我配置了 VS 代码 accordingly。

【问题讨论】:

【参考方案1】:

VSCode 在下面使用https://github.com/Microsoft/TypeScript 进行自动格式化。

TypeScript repo 中有一个最近关闭的问题与您遇到的相同问题:https://github.com/Microsoft/TypeScript/issues/8663

这些更改尚未反映到 VSCode 稳定版,但在当前版本的 VSCode Insiders (https://code.visualstudio.com/insiders) 中,它标记对齐右括号。

您可以下载并使用 VSCode Insiders 或更改您的 eslint 规则以使用 props-aligned 括号,直到它发布到稳定版本:

"react/jsx-closing-bracket-location": [ "warning", "props-aligned" ],

【讨论】:

这是一种解决方法,而不是解决方案。不过感谢分享,有助于更好地理解问题! :)

以上是关于VS Code - 格式化时如何对齐标签结尾和标签开头? (JSX)的主要内容,如果未能解决你的问题,请参考以下文章

是否有对齐/标识代码行的 VS Code 快捷方式? [复制]

如何在列表视图中以不同方式对齐标签

VS CODE使用:如何让标签栏多行显示

在 VS Code 中保存时关闭自动关闭的 HTML 标签?

vscode怎么把 标签页拿出来

与文件上传器和顶部对齐的标签一起使用时,如何对齐底部的按钮?