visual-studio-code - VSCode 中错误的 TSX 三元标记块格式
问题描述
我非常喜欢 VSCode 的“保存时格式化”功能。但现在我tsx
在 VS Code (1.49.2) 中遇到恼人的错误文件格式。
这是一个例子。这里两行有额外的缩进('single' block)
import React from 'react';
const TestComponent = (props: { isList: boolean }) => {
return (
<div>
{props.isList ? (
<div>liiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiist</div>
) : (
<div>siiiiiiiiiiiiiiiiiiiiiiiingle</div>
)}
</div>
);
};
export default TestComponent;
文件中的相同代码jsx
格式正确
import React from 'react';
const TestComponent = props => {
return (
<div>
{props.isList ? (
<div>liiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiist</div>
) : (
<div>siiiiiiiiiiiiiiiiiiiiiiiingle</div>
)}
</div>
);
};
export default TestComponent;
我尝试将默认 vscode 格式化程序切换为eslint
, null
, prettier
(用户/工作区) - 没有区别。当我运行prettier --write src/components/TestComponent.tsx
tsx 文件时,格式正确。我还检查了 VS Code 中特定于打字稿的格式设置,但找不到任何相关内容。对于测试,我删除了.eslint.js
配置文件并且我的项目没有.prettierrc
配置。
解决方案
这是$HOME/.config/Code/User/settings.json
(在Linux上)中指定的错误格式化程序,例如
"[typescriptreact]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
}
它应该设置为esbenp.prettier-vscode
或删除以使用默认值
推荐阅读
- r - 有没有比 uniroot 更精确的求解器来求解非线性方程?
- java - xxx 类型的构造对象与描述符的返回类型不兼容:T
- c - 如何在 macOS Mojave 上设置环境变量?
- sql-server - 如何使用 INSERT INTO OPENROWSET 导出到 Excel,而无需成为目标服务器上的管理员
- javascript - 我可以使用计算属性来有条件地设置表格行的样式吗?
- nagios - nagios check_http HTTP CRITICAL - 无法打开 TCP 套接字,从命令行工作正常
- docker - Docker:如何从容器内访问我的服务器的公共 IP?
- javascript - ReactSelect - 即使设置为 false,closeOnMenuSelect 也会在选择时关闭菜单
- asp.net-mvc-4 - 重定向后会话变量丢失
- javascript - 使用从另一个“多选”下拉列表中选择的选项填充下拉列表