typescript vscode prettier不格式化.tsx文件

alen0pnh  于 2023-03-31  发布在  TypeScript
关注(0)|答案(9)|浏览(358)

我在Visual Studio代码编辑器中使用Prettier扩展很长一段时间了,但最近我一直在用Typescript编写React。所以我需要配置Prettier来格式化.tsx文件。

vq8itlhq

vq8itlhq1#

在VScode的settings.json中使用以下内容编辑设置

"[typescriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
dvtswwa3

dvtswwa32#

扩展iNeelPatel的答案,我不得不在VSCode JSON设置中添加两行:

"[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }
yhxst69z

yhxst69z3#

一个简单的UI替代已经提出的内容:
1.在vscode设置中搜索“默认格式化程序”。
1.点击“文本编辑器”,并设置默认的格式化程序为“Prettier - Code formatter”。
1.好好享受。

4xrmg8kj

4xrmg8kj4#

2023年更新

在项目的根目录下创建一个.vscode文件夹。在.vscode文件夹中,创建settings.json文件,并在其中写入以下内容:

{
    "[typescript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features"
    },
    "[typescriptreact]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    }
}

不要忘记在.gitignore文件中添加.vscode

omtl5h9j

omtl5h9j5#

这将给予完美的解决方案
“我刚才也是这样。我在设置中将prettier设置为默认格式化程序,它又开始工作了。我的默认格式化程序为空。”
https://github.com/microsoft/vscode/issues/108447#issuecomment-706642248

c90pui9n

c90pui9n6#

我的用途

我设置的方法是使用eslint的.eslintrc.json文件。

"plugin:@typescript-eslint/recommended"

以及

"prettier/@typescript-eslint"

然后,我将"parser"设置为"prettier/@typescript-eslint"
最后,在"plugins"数组中添加了"@typescript-eslint"
您需要获取几个NPM包(使用-D选项安装):

@typescript-eslint/eslint-plugin
@typescript-eslint/parser

作为参考,我的整个.eslintrc.json文件:

{
  "env": {
    "browser": true,
    "es6": true,
    "jest": true
  },
  "extends": [
    "plugin:@typescript-eslint/recommended",
    "prettier/@typescript-eslint",
    "plugin:prettier/recommended"
  ],
  "globals": {
    "Atomics": "readonly",
    "SharedArrayBuffer": "readonly"
  },
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "project": "./src/tsconfig.json",
    "ecmaVersion": 2018,
    "sourceType": "module"
  },
  "plugins": ["react", "@typescript-eslint", "jest"],
  "rules": {
    "react/react-in-jsx-scope": "off"
  }
}

希望这个有用。

hrirmatl

hrirmatl7#

在我这边,简单地在配置文件中添加两行并不起作用,但在设置中禁用Typescript > Format: Enable选项起作用。

w80xi6nr

w80xi6nr8#

"[javascriptreact,typescript,typescriptreact]": {
  "editor.defaultFormatter": "esbenp.prettier-vscode"
},
wr98u20j

wr98u20j9#

也许对某些人有帮助-如果上面所有的,仍然没有运气,你可能想重新启动VSCode或从命令面板(⌘CMD + ⇧Shift + P)并启动“重新启动ESLint服务器”-这应该做,然后:)

相关问题