TypeScript "格式化文档" TS文件删除花括号中的空格

bpzcxfmw  于 4个月前  发布在  TypeScript
关注(0)|答案(5)|浏览(67)

TS模板由@mjbvz添加

TypeScript版本:4.1.0-dev.20201031
搜索词

  • jsx
  • 格式化
  • VSCode版本:1.50.1
  • OS版本:macOS 10.14.6

重现步骤:
1.打开一个 .tsx 文件
1.在花括号内写入带有空格的内容,如下所示。注意表达式和大括号之间的空格:

import { ExamplePane } from '../app/App';

...

return (
  <div>
    { this.state.time.toLocaleTimeString() }
  </div>
);

1.右键单击 & 格式化文档,然后它变成了:

import { ExamplePane } from '../app/App';    {/* This one is still fine */}

...

return (
  <div>
    { this.state.time.toLocaleTimeString()}   {/* The space before the closing curly brace is gone */}
  </div>
);

当所有扩展都被禁用时,是否会出现此问题?:是的
更新:这就是问题所在:
https://imgur.com/pA2EDzn
在我的项目中,当我使用“格式化文档”时,所有文件都使用默认选项(如@a-tarasyuk所述,在打开和关闭大括号之间的空格被删除)。然后问题是VSCode没有删除打开大括号后的空格。

yc0p9oo0

yc0p9oo01#

(实验重复检测)

感谢提交这个问题。请同时检查它是否已经被现有的一个问题涵盖,例如:

  • $x_{1e0f1}^{x}$

  • $x_{1e1f1}^{x}$

  • $x_{1e2f1}^{x}$

fv2wmkja

fv2wmkja2#

你使用默认的格式化选项了吗?使用默认选项,我得到了以下结果:

{this.state.time.toLocaleTimeString()}

带有 insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces

{ this.state.time.toLocaleTimeString() }
cx6n0qe3

cx6n0qe33#

@a-tarasyuk 我没有修改任何格式选项,所以我认为它是默认的。我如何确保我使用的是默认设置?
此外,这个问题应该在VSCode中解决。我在创建这个问题时很困。我应该在这里关闭这个问题,然后去VSCode仓库烦扰那些家伙吗?

ssgvzors

ssgvzors4#

此外,这个问题应该在VSCode中解决。@mjbvz将此问题转到了TypeScript仓库。

v440hwme

v440hwme5#

这是正确的仓库;VS Code使用此仓库中的格式化程序来格式化tsx代码。
我们能得到一个明确的复现吗?你的设置是什么?一个ts服务器日志将是理想的

相关问题