Reputation: 515
I have no clue what's going on,
I cloned a github repo and literally just tried to change like one line but I got hit by this prettier error which makes no sense to me (I've never used prettier).
Replace ↹return·(⏎↹↹<img·alt='logo'·src='./Logo.png'·/>⏎↹);
with ··return·<img·alt="logo"·src="./Logo.png"·/>
prettier/prettier
Anything could be helpful at this point, I'm using MacOS and working on VSCode
Upvotes: 37
Views: 62003
Reputation: 2430
Try using the following settings:
.editorconfig file
indent_style = tab
indent_size = 2
.pretteierrc file
"tabWidth": 2
Note: reopen vscode
after updating this setting.
Also if you have .eslintrc file, make sure that prettier
is included in the extends array like this:
"extends": ["standard",..,"prettier"]
Upvotes: 0
Reputation: 3996
If you have installed the prettier extension in your VSCode then the default values are set as mentioned here which can be seen by searching prettier in the settings
of VSCode as well.
Now if you have enabled formatOnSave
in your VSCode the prettier formats your code based on configs from the VSCode.
This error would occur when the configs from the VSCode conflicts from the configs mentioned in .prettierrc.json or .eslintrc.json.
Ex: Let's say your project is using a printWidth
of 100 but the default printWidth
is 80. ( Search prettier printwidth
in VSCode settings )
In general the spacing errors will be autoCleared ( autoFormatted ) on save by prettier. But in this case that won't work.
Reason: Prettier is sticking to the config ( printWidth: 80 ) which is an error according to Repo's eslintrc/ prettierrc ( printWidth: 100 )
Change default VSCode Prettier configs. ❌ -> This would be a bad idea as it will effect all your projects opened in VSCode.
Better way to fix this issue is by adding a .vscode/settings.json
in the root directory of the repo.
Add these lines in the settings.json
{
"editor.codeActionsOnSave": { "source.fixAll": true },
"editor.formatOnSave": false,
}
Now go to files with errors and save the files to format. Files will be formatted according to the configs mentioned in project's eslintrc/ prettierrc
Instead of going to each file you can fix all autofixable problems from the command line as below.
Go to package.json and add this line to your scripts.
"lint-fix": "eslint --fix 'src/**/*.{js,jsx,ts,tsx,json,css,scss,md}'",
Now in the terminal run npm run lint-fix
.
Upvotes: 32
Reputation: 194
This is usually due to some configuration with eslint preventing you from making errors and introducing unwanted characters in your code. I fixed this by running one line eslint --fix .
. Make sure you install eslint globally first npm i -g eslint
.
Upvotes: 5
Reputation: 16
In my case eslint was preventing Prettier to format the file while saving (I have set my VSCode to format the document upon saving).
Due that, Prettier was complaining about tabs / spaces being added when it was not required.
To fix I had to first fix eslint by using the below command(make sure to install the package globally):
eslint --fix
and then I had to Save the files again so Prettier could format them correctly.
Upvotes: 0
Reputation: 167
You can just set/update this rule in your .eslintrc.js
rules: {
...,
'prettier/prettier': ['error', { printWidth: 120 }],
}
By default, printWidth is 80. ESLint wants to break down the line to match this length requirement that can be overwitten.
Upvotes: 7
Reputation: 290
I figured the formatting issue (VS Code):
settings.json:
"editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "editor.defaultFormatter": "dbaeumer.vscode-eslint", "editor.formatOnSave": true
.eslintrc.json: "useTabs": false}
.editorconfig: indent_style = space
if esbenp.prettier-vscode is enabled in VSCode - please disable it.
See my complete eslint + prettier setup for this repo: https://github.com/Sgryts/ng2-feature-toggle
Upvotes: 0
Reputation: 2032
For me I had to remove
"extends": "eslint:recommended",
from the .eslintrc.js file in the project.
Upvotes: 0
Reputation: 338
I think this is caused by Prettier being configured to use spaces instead of tabs to indent and then your code editor using tabs. So Prettier wants you to replace those tabs with spaces.
Alternatively, you can set your code editor to use tabs.
What worked for me was adding this to the rules object in .prettierrc
:
{
"useTabs": false
}
Upvotes: 3
Reputation: 1
I added in the .prettierc props "endOfline".
{
"endOfLine": "lf",
}
By default Windows uses CRLF line separator, so you can cahnge it through a global config of IDE to use LF instad of CRLF
Upvotes: 0
Reputation: 1237
I had the same issue, I changed the tab width inside the prettier formatter extension to the configured size.
Upvotes: 0
Reputation: 310
I had the same issue, in the eslinrc.json file under "prettier/prettier", I removed printWidth.
Upvotes: 13