Why does Prettier not format code in VS Code?
Asked Answered
S

50

602

In my Nuxt application where ESlint and Prettier are installed and enabled, I switched to Visual Studio Code.

When I open a .vue file and press CMD+ Shift + P and choose Format Document, my file does not get formatted at all.

My .prettierrc settings:

{
  "tabWidth": 2,
  "semi": false,
  "singleQuote": true
}

I have so many source code lines, so I cannot format them manually. What am I doing wrong?

Swanson answered 1/10, 2018 at 8:10 Comment(11)
Seems that prettier by default has prettier.disableLanguages set to ["vue"]Pirbhai
I'd add to .prettierrc line "disableLanguages": []. Docs says that this change requires restartPirbhai
There's also issue for v1.27.2 with note that the same config worked for v.1.23Pirbhai
Indeed, I have VSCode 1.27.2Swanson
Upvoted b/c just pressing CMD+ Shift + P then Format Document, then choosing Prettier as my default formatter helped me :DLunseth
If nothing works for you, be sure to check out my answer: https://mcmap.net/q/64215/-why-does-prettier-not-format-code-in-vs-codeSava
For me, it was not working even after making all the configuration setting changes. Then, I realized I was trying to format a code fragment var x = "test"; written in HTML file when I should have written it in a *.JS file. When I wrote the JS code into a JS file it got formatted to var x = 'test'.Panel
Try to disable prettier –> reload vscode -> enable prettierShul
Note that Prettier can not format python files.Acentric
@Acentric Python is quite opinionated in terms of formatting by default. You can always use this if you really need formatting: github.com/psf/blackTy
I have prettier extension installed in VS Coden and its config in user settings, but sometimes it fails to format some of my projects right away, it will depend on how your project is set up. I've found out that if I have prettier installed as a dev dependency besides the .prettierrc in my projects it always works. I have faced issues with Next.js which includes eslint by default, so I always include the same rules I apply in prettier for .eslintrc.Provisory
B
1299
  1. Select File -> Preferences -> Settings (Ctrl + comma) and search form formatter
  2. Set Prettiers as Default formatter. enter image description here

If above does not work:

ctrl+shift+p > Format Document With... > Configure Default Formatter... > Prettier - Code formatter

This also work with ctrl+shift+I

Butternut answered 2/11, 2019 at 8:47 Comment(15)
I did configure Prettier as std formatter in settings but it just would not work. This worked. Made my day!Rebuff
Same here, but I had to de-select my default formatter and then perform the action you mention again for this to work.Senseless
Not sure where to find Configure Default Formatter but I used File->Settings->Text Editor->Default FormatterJanuarius
When I select the default formatter as Prettier, it formats that file but after that it does not work on save. I have my save option checked but still. I had to select the default formatter again and again. Any SolutionDeedeeann
@HimanshuTariyal This should work for you, but feel free to check out my solution: https://mcmap.net/q/64215/-why-does-prettier-not-format-code-in-vs-codeSava
Is this some kind of issue in vscode? It worked for me as wellLotz
What about making prettier AND eslint make changes to the code?Connoisseur
@jrypkahauer this is basically my answer. ☺️Ty
My VSCode is suddenly adding a blank line at the end of file when I save. I have disabled all options to add a new line. I even uninstalled the Prettier extension. But it still keeps adding a new blank line at the end of file when I press ctrl + s. Does anyone know why?Arwood
This works, however , only after a recent change in that document. if I write something , don't format yet and switch to another file and edit , then it will not format either of the files . in such case there is an option to create a nice keybind to force it. type Format Document (Forced) in command palette and configure keybindings , then press on the pen to edit a new key binding .Cortisol
The prettier wasn't showing up even after being installed. Reinstalled and reloaded and it started working. thanksAspectual
When I did this I found that the (also modified elsewhere) was present (as in the picture). I hovered over it and it told me it was being modified by the workspace. I followed the link and found the workspace had a rule "format on save" unchecked. I checked that as well and now it formats on save.Promulgate
On a Mac the first step would be Code > Preferences > SettingsWhiff
The only thing that worked for me is your fallback suggestion: Format Document With... > Configure Default Formatter... > Prettier - Code formatter.Polaris
after all configuration change this is what worked for me ctrl+shift+p ThanksKing
S
540

If doing what @Simin Maleki mentioned does not solve it for you, there is a chance that your default formatter is not set:

File > Preferences > Settings > Search for "default formatter" 

Make sure your Editor: Default Formatter field is not null but rather Prettier - Code formatter (esbenp.prettier-vscode) and that all the languages below are ticked. This fixed my issue.

STEP BY STEP WALKTHROUGH

Steps to enable default formatter

Also make sure that your format on save is enabled:

Format on save check

Sava answered 9/10, 2020 at 3:2 Comment(8)
Randomly my vscode stop working with prettier after months of working correctly, don't know why this fixes it :pray:Camphene
@Camphene Exact same thing happened to me and I was very confused since I did nothing to cause the issue. Took a bit of digging but finally found this and had to share. Glad it works for you :)Sava
I did this and also tried the solution from @miha to no avail. Finally uninstalled/reinstalled and it workedAshien
A couple gotchas that were required for this to work: 1. remote needs to be configured for prettier if you're using those features, and 2. I had to restart vscode in order for this to work.Sateia
I needed to first install the Prettier VS Code extensionAnchorite
While my last screen looks nothing like yours (the latest VS Code has no formatter options), the tip to use the search is what eventually found the default formatter setting for me.Herrera
it worked for me with latest vscode. thanksRecurved
This doesn't work. I deleted by workspace-level settings, applied these settings at the user level, restarted vscode, all to no avail. It's most likely completely busted.Polaris
D
154

Sometimes, Prettier stops working when there are syntactic errors in the code. You can view the errors by clicking on the x button on the bottom right corner beside Prettier.

A screenshot of the bottom right corner of the VS Code window, capturing the status bar in this region. One option is "Prettier," which has an X next to it indicating that errors are present.

Dufrene answered 3/6, 2019 at 14:45 Comment(4)
Sometimes Prettier won't show at the bottom, but another extension (eg. ESLint) will, and if you click on it there's a drop-down to pick other tools ... including Prettier. Pick it to see Prettier's log (and after that Prettier should show in the tray).Explorer
I do not see prettier at the bottom right. I have "editor.defaultFormatter": "esbenp.prettier-vscode", and installed the ext. Want powershell format.Hypothetical
not only for syntactic errors but other errors with your configuration (for example, wrong .prettierrc path) will appear here tooSpracklen
In my case, I had killed a bunch of VSCode plugin from Activity Monitor. CMD+ Shift + P > Developer: Reload Window did the trick for me.Goldin
R
116

Prettier could also format your files on save.

However, installing and enabling does not result in working.

You have to check "format on Save" in VSCode: Setting >> User >> Text Editor >> Formatting

enter image description here

Riant answered 25/9, 2019 at 7:56 Comment(8)
also alt (command) + shift + f is for formatting without save.Paviour
Note that, in addition to Format On Save being enabled, you also often have to have a default formatter specified.Pyrimidine
Following every solution from the top, it worked at this point : ) , thanks a lotAtavism
Using alt (command) + shift + f helped me. A pop up came up to select default formatter since there were multiple present.Samantha
Also alt + shift + f, give me an easy way to choice default FormatterBonacci
Setting a default formatter and doing this worked for me, thanks! Weird that this isn't true on default.Chickenlivered
@Paviour I think that's OPTION instead of COMMAND on Mac. So OPTION+SHIFT+F.Kalgoorlie
Thank you, this worked. Somehow on Linux Kubuntu it was offPunkie
N
80

You only have to configure your Default Formatter and check the checkbox in Format On Save in the settings, after installing prettier to make it work. Don't mess with other configuration files.

1 - Select Default Formatter

  1. Open Files -> Preferences -> Settings (or Ctrl + , in Windows).
  2. Search for Editor: Default Formatter
  3. Select your default formatter as Prettier - Code Formatter;

See the image below;

Default Formatter Capture

2 - Format On Save

  1. Open Files -> Preferences -> Settings (or Ctrl + , in Windows).
  2. Search for Editor: Format on Save
  3. Click the check box under Format On Save;

See the image below;

Format On Save Capture

Needlecraft answered 16/11, 2021 at 18:3 Comment(2)
I did all this and still was not working. I have a mono repo. After removing .prettierrc and .eslintrc file from my sub project and only keeping my main mono repo file, it started to work.Doubs
This worked for me, thanks!Levin
P
62

disable and enable prettier extension solves my problem

Peaceful answered 1/7, 2021 at 3:58 Comment(5)
If all the other configs are right, this will do the trick.Towney
Can't believe this was it... Was trying to fix this for almost an HOUR. Had vs extensions installed, npm packages installed, settings.json setup, eslintrc was good to go, tried toggling settings, going in settings panel, everything... I'm just amazed this was it, since I tried "turning it off and on again" in every other regard and the settings seemed to be applied instantly...Castro
It looks like my issue was caused by upgrading my version of node. Doing this fixed the problem.Kershaw
Using Developer: Reload Window from the command palette worked for me too.Jamshedpur
This worked for me when I'm configuring formatting for Solidity files, and I spent 2 weeks trying to make it work again only to find up a simple "have you tried turning it off and on" would have worked. :/Alwitt
V
52

I am not using Vue, but had the same problem.

I already had the settings

  • Editor: default formatter to prettier
  • Editor: Format on Save to true
  • I already had .eslintrc.js and .prettierrc files But nothing worked.

The solution to my problem was that I had all set properly, except I needed to:

  • Command + Shift + p
  • type format document with
  • select Configure Default Formatter...
  • select Prettier as default.

I don't know why the Editor: Format on Save set to true was not enough. I needed to select default formatter using the above steps so it worked.

enter image description here

Veer answered 10/7, 2020 at 2:19 Comment(1)
If you do have an ESlint config already, you should probably use Prettier via ESlint. Here is my answer on how to achieve such thing.Ty
S
50

can you try to add this section to your VS Code settings.json file?

"[javascript]": {
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
},
Snowdrop answered 8/8, 2019 at 4:26 Comment(2)
That was also my case. The default formatter was set to the correct one by formatting on save was disabled.Mccandless
That's my case!! Thanks, It didn't work because formatOnSave was set to false in jsonTrumaine
E
30

These three steps may solve your problem:

Prettier Doesn't format code

1 - Go to settings, then search for auto format

2 - Select Text Editor

3 - Select esbenp.prettier-vscode as your Default Formatter.

Simply said, go to Settings > User tab > Text Editor > Editor: Default Formatter and change it to prettier.

Edithe answered 19/10, 2020 at 6:42 Comment(0)
B
20

On Windows:

We can open the below file using:

Start > Run 

File Path:

%AppData%\Code\User\settings.json

Change From:

"[javascript]": {
    "editor.defaultFormatter": "vscode.typescript-language-features"
},

To:

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

Note:

Byrle answered 9/11, 2020 at 9:55 Comment(5)
@BillalBegueradj True, accepted didn't work for me, and I wasted about 1 hour, so posted this one. Maybe this is a more recent issue that we face in 2020.Byrle
Your solution is the “non graphical” approach to my answer: https://mcmap.net/q/64215/-why-does-prettier-not-format-code-in-vs-codeSava
@Sava I could not do it using GUI, hence above solution. Especially, this is better way when we have several formatters for various languages, there is no time to waste when we can copy-paste one line by opening one file.Byrle
How to add in macos?Poppyhead
@MalithKuruppu This also works on macOS. You just need to press cmd+p and select "Preferences: Open Settings (JSON)" to get to the settings.json file.Schnitzel
S
18

you can still have issues in spite of all these settings. In this case, as pointed out in an earlier answer, then it would be a good point to check the prettier notification at bottom status bar in VSCode.

enter image description here

When clicking on that status, the output panel should report the issue in the HTML file. For me, the issue was I had a div inside a p tag which I assume prettier/VSCode conventions are against. When I removed it (and combined with all the settings above, namely default formatter and format on save) I got prettier working.

.prettierrc is not required unless you want to override VSCode settings

Sheng answered 21/12, 2020 at 5:51 Comment(0)
C
15

For me the problem was with HTML files where formatting stopped working one day. I had Format On Save configured, which worked in all files except HTML.

I then realized that I experimentally set Format On Save Mode to modification instead of file and forgot about it. This had an effect of not formatting anything in HTML files, surprisingly not even my changes. Setting it back to file solved the issue.

enter image description here

Chandler answered 17/12, 2020 at 18:38 Comment(0)
W
13

This is not a problem with Prettier itself, but prettier-vscode, the VSCode extension. According to its documentation, Vue formatting is disabled by default:

prettier.disableLanguages (default: ["vue"])

A list of languages IDs to disable this extension on. Restart required. Note: Disabling a language enabled in a parent folder will prevent formatting instead of letting any other formatter to run

In this case, to enable you should set "prettier.disableLanguages": []. And since this is an extension configuration, you should do it in VSCode settings file, not .prettierrc.

Walkway answered 1/10, 2018 at 17:20 Comment(2)
This setting has been removed.Gilpin
Yep, OP should update or remove it or downvotes will flow... :pHarlin
E
13

in my case it was being hijacked by typescript formatter.

it was driving me crazy because it kept re-formatting my spaces!

to fix i did cmd+. (settings) type -> "default formatter"

and unchecked typescript

enter image description here

Enedina answered 17/5, 2022 at 0:46 Comment(1)
Legend! Thanks so much, this has been such a pain for me!Amphibole
E
12

1 .Use the other extension prettier was not working for me i just use the other VSCODE extension named PrettierNow i think this will help, done for me.Checkout the extension here

2 .From Latest Updates of prettier you need to add .prettierrc file in your root of the projects if you want to stick with prettier. An example of .prettierrc is this-

{
  "tabWidth": 4,
  "singleQuote": true,
  "semi": false
}
Elis answered 15/9, 2019 at 11:45 Comment(0)
T
11

How to format your code through VScode's ESlint plugin

Alright, rather than giving a guide on how to use VScode's Prettier extension, I'd rather explain how to rely on ESlint and have both worlds: checking that your code is correct (ESlint), then formatting it (Prettier).

What are the advantages of this?

  • not forcing your entire team to use VScode with the Prettier extension, maybe some prefer Vim, IntelliJ's Webstorm, Emacs etc... A tool-agnostic solution is IMO always better.
  • I think that linting your code is more important that formatting it, but if you have both extensions working at the same time, you may have conflicts between the formatting and the linting.
  • your hardware will struggle less, if you have less extensions running (mainly because it can stop the conflicts)
  • using an ESlint + Prettier combo will strip the need to have a specific personal configuration aside of the codebase (untracked). You'll also benefit from having Vue/Nuxt specific ESlint rules and a simpler/more universal configuration.
  • an ESlint configuration can be configured to be run before a commit, in a CI/CD or anywhere really.

How to achieve this kind of setup?

Let's start first by installing the ESlint extension and only it, DO NOT install the Prettier one.

enter image description here

Not installed Vetur yet?

I do heavily recommend it for Vue2 apps (what Nuxt is running as of today), you can find it below. It will allow to quickly and simply ESlint (+ Prettier) any .vue files.


When it's done, access the Command Palette with either ctrl + shift + p (Windows/Linux) or cmd + shift + p (Mac) and type Preferences: Open Default Settings (JSON)

enter image description here

There, you should have something like this

{
  "workbench.colorTheme": "Solarized Dark", // example of some of your own configuration

  "editor.codeActionsOnSave": {
    "source.fixAll": true,
  },
  "eslint.options": {
    "extensions": [
      ".html",
      ".js",
      ".vue",
      ".jsx",
    ]
  },
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact",
    "html",
    "vue",
  ],
}

How to try that your configuration is now working?

To see if my solution is working, please download this Github repo, get the latest stable Node version (eg: 14) and run yarn to have it working. Otherwise, simply open VScode.
This repo can also be used to double-check that yours is properly configured by inspecting my files there!

Then, you could access any .js or .vue file and see the problems there (Command Palette: Problems: Focus on Problems View). nuxt.config.js and /pages/index.vue are good examples, here is the index.vue file.

enter image description here

You can see that we do have several things that can be fixed by Prettier but that we do also have an eslint(vue/require-v-for-key) error. The solution is available as a comment just below btw.

PS: if you want to have inline ESlint warnings/errors as in the screenshot, you can install Error Lens, it's a super amazing extension if you want to get rid of errors.

Save this file and you should saw that every auto-fixable things are done for you. Usually it's mainly Prettier issues but it can also sometimes be ESlint too. Since we do have the ESlint rules from Nuxt, you'll get some nice good practices out of the box too!

Tada, it's working! If it's not, read the section at the end of my answer.

If you want to create a brand new project

You can run npx create-nuxt-app my-super-awesome-project and select few things there, the most important being Linting tools: Eslint + Prettier of course (hit space to opt-in for one of them).

enter image description here

Warning: as of today, there is an additional step to do to have ESlint + Prettier working properly as shown in this Github issue. The fix should be released pretty soon, then the configuration below will not be needed anymore!

To fix this, run yarn add -D eslint-plugin-prettier and double check that your .eslintrc.js file is a follows

module.exports = {
  root: true,
  env: {
    browser: true,
    node: true
  },
  parserOptions: {
    parser: '@babel/eslint-parser',
    requireConfigFile: false
  },
  extends: [
    '@nuxtjs',
    'plugin:prettier/recommended', // this line was updated
    'prettier'
  ],
  plugins: [
  ],
  // add your custom rules here
  rules: {}
}

Then, you can have it working totally fine as above. Save the file and it should run ESlint then Prettier one after the other!


If you still have some issues

  • try to use the Command Palette again and ESLINT: restart ESLint Server or even Developer: Reload Window
  • feel free to leave a comment or contact me if you need some help
Ty answered 22/8, 2021 at 10:24 Comment(0)
D
11

Simply Right click anywhere in the area where code formatting isn't working as expected

and Select Format Document With... from the context menu.

enter image description here

and then click on Configure Defulte Formatter...

enter image description here

and then click on Prettier in this list. enter image description here

This should resolve the issue after doing some changes on file and save that.

Dyann answered 16/9, 2023 at 22:3 Comment(1)
it configures it but still it's not done automatically on save after the above stepsDoubledecker
C
9

If Prettier formats all other files except HTML files automatically on save:

Press Cmd + P or Ctrl + P to open the command palette and type the following text in it:

> open settings

Click on Preferences: Open Settings (JSON) from the suggestion dropdown. Inside the settings.json file, Check if "[html]" key exists. If the key exists and its value indicates using another formatting extension installed in Visual Studio Code, you should reset it back to use Prettier.

"[html]": {
    "esbenp.prettier-vscode"
}

For an instance, sometimes, the value of "[html]" key could be "remimarsal.prettier-now" when you would have Prettier Now extension installed.

If you don't have any other formatting extension installed other than Prettier, you can also remove the "[html]" key altogether from settings.json file.

Crusade answered 9/4, 2021 at 7:47 Comment(0)
P
9

This is what worked for me (my default formatter was already set to Prettier)

  1. Change default formatter to default
  2. Restart vscode
  3. Change default formatter back to Prettier.
Phenomenon answered 16/8, 2021 at 0:2 Comment(1)
To restart vscode Open the command palette (Ctrl + Shift + P) and execute the command: Reload Window, thanks!Suburb
C
7

Enabling "format on Save" in VSCode: Setting >> User >> Text Editor >> Formatting worked for me!

Print

Contracture answered 5/5, 2020 at 3:18 Comment(0)
S
7

Go to Manage(located on left-bottom corner) -> Settings -> Users tab -> Text-Editor -> Formatting -> check the format on save

if not working then close and again open your vscode editor

Schwitzer answered 28/11, 2020 at 11:53 Comment(0)
A
5

Recently I got the same problem, that Prettier does not format code automatically on saving. Checking Prettier, I saw an error: Invalid "arrowParens" value. Expected "always" or "avoid", but received true.

The error message was seen when I clicked this: enter image description here

It turned out that I have Prettier Now installed also. This has a boolean value in my config file. After uninstalling Prettier Now, everything works fine.

Advent answered 26/11, 2020 at 16:14 Comment(0)
G
5

In my case it turned out I had configured prettier to use a configuration file that didn't exist (see screnshot below). That was hard to find since there wasn't any error message but prettier just didn't work. Maybe this helps somebody, too.

Screenshot

Grammatical answered 24/4, 2022 at 16:31 Comment(0)
I
4

If none of the other answers work, check that a conflicting prettier config .prettierrc does not exist in your working directory or check for .prettierignore to be sure the files/folders are not being ignored.

Inheritor answered 6/11, 2020 at 18:40 Comment(1)
Yep for me it was an older path... So it doesn't works silently.Lymphoid
V
4

Check if there is a .vscode/settings.json file in your project directory (workspace). In my case someone had checked in this file:

{
  "editor.formatOnSave": false
}

Solution: Delete the file (delete it from source control too) and add .vscode/ to .gitignore (if you're using git).

Velarde answered 18/2, 2021 at 22:40 Comment(0)
P
4

In some cases where prettier is provided as a dependency, you might need to install it before prettier vscode recognizes it using one of the following commands, depending on the package manager you are using
npm i or yarn

Placenta answered 26/5, 2021 at 0:43 Comment(0)
S
4

From the menu navigate through: view -> Command Palette Form the command palette search for Format Document and then select Prettier as your format engine.

I had prettier already working on another project, but for the new one I had do it through this way to enable it again for the new project.

Septuor answered 17/3, 2022 at 18:5 Comment(0)
V
4

Check your package.json file for a property of prettier as this will take precedence.

{
  "name": "example",
  "scripts": { ... },

  "prettier": {},

  "dependencies": { ... },
  "devDependencies": { ... },
}

Delete this property and the .prettierrc file will be used.

The order of precedence is stated in the prettier docs.

Verism answered 7/10, 2022 at 21:23 Comment(0)
S
3

Some times with auto plugins update Required files used by Prettier might go missing .

Check this path if files are present here or folder is empty

C:\Users\YOURUSERNAME\.vscode\extensions\esbenp.prettier-vscode-2.2.2\out

If missing uninstall and reinstall prettier

Siclari answered 30/8, 2019 at 5:9 Comment(1)
> "If missing uninstall and reinstall prettier" is what did it for me. I had all the settings right, and running prettier from an NPM script even worked right, but formatting on save didn't until I uninstalled and reinstalled.Katherinkatherina
M
3

I Rolling back prettier to 1.7.3 and fixed it

Mcfall answered 24/2, 2020 at 17:9 Comment(0)
A
3

For me - it was to do with ESlint which also works with Prettier. Eslint wasn't working (a local installation vs global installation conflict) which broke Prettier.

Ailanthus answered 5/8, 2020 at 13:41 Comment(2)
How to resolved this. I am having an issue where Eslint is asking for a new line when press enter and save it gets back to the same position and error starts appearing again.Lamentation
If you do have an ESlint config already, you should probably use Prettier via ESlint. Here is my answer on how to achieve such thing.Ty
A
3

The only thing I needed to do was update my packages with a simple

npm install

I tried everything on here and it was still not working. Just seemed like it does not exist. Prettier was also added as a dependency in the project. It turned out that someone else had added or updated any package which caused my prettier to stop working.

Hoping it saves someone the headache it caused me.

Aboutship answered 14/7, 2022 at 8:37 Comment(2)
npm install installs the dependecies specified in your package.json + their version ranges. It doesn't update anything per-se. Important difference IMO.Ty
Yes @Ty you are right. The important things here is that because of the difference prettier stopped working. And after running it, prettier was able to work again. So may be for someone else who is also overlooking this it will be helpful.Aboutship
A
2

In my case I had to do the following:

  1. Install prettier from the command line(npm install --save-dev --save-exact prettier prettier-plugin-custom)
  2. Reload VSCode

and voilà, everything started working.

TIP: To make sure the installation is good I checked for the version:

npx prettier --version
Anastrophe answered 23/2, 2021 at 20:27 Comment(1)
This worked for me. I had prettier installed globally already, but it didn't work. If I had to guess, it might have been a WSL issue.Fennec
H
2

Check for requirePragma in .prettierrc, it says you need to add a top level comment for that file to be formatted

remove that rule and it should work

Hbomb answered 9/4, 2021 at 5:5 Comment(0)
T
2

For me helped disabled this option in VS Code settings (then prettier use default config):

Prettier: Require Config

Tola answered 6/7, 2022 at 21:16 Comment(0)
W
2

I am working in WSL (will also work for people having the problem only in cutom workspaces) and I tried EVERY fix possible until I found this tab on vscode settings: Image

Select the tab regarding your problem and change all the settings you want again and change the setting "Files: Auto Save" to either "onFocusChange" or "onWindowChange".

Waterway answered 28/7, 2022 at 17:38 Comment(0)
P
2

In my case I simply just needed to check the Format On Save checkbox in the formatting settings. Press shift+cmd+p to bring up the search and then press Preferences: Open User Settings.

enter image description here

Pean answered 22/2 at 13:53 Comment(0)
C
1

Don't forget to enable "editor.defaultFormatter" in the settings of the VSCode. In my case it was null and hence even the "editor.formatOnSave" was also not seeming to solve the issue.

Counterrevolution answered 13/10, 2020 at 0:35 Comment(1)
What does this add to the other 4 answers that mention the same thing?Balm
B
1

I tried to enable "Format On Save" and set the "Auto Save Delay" to 0. It worked, so I guess you could try this too.

Edit: You can see them through these steps.

  1. Manage(The gear Icon bottom left)
  1. Settings(Inside the manage dropdown list)
  1. Search for Format On Save and enable it(check the box)
  1. Scroll down and look for Auto Save Delay and set it to 0
Brno answered 1/4, 2021 at 14:56 Comment(0)
S
1

There are a few syntaxes that prettier is not able to parse. ?? is one of them. After removing the symbol my prettier worked like a charm. You should take a look at the output of the Prettier extension in vscode. That should point out the line and the syntax which is causing problems for prettier to format properly.

Sociality answered 22/4, 2021 at 10:34 Comment(0)
N
1

If you have set all things which you can do in Setting and Prettier is not working. Try to install it through this command line. npm install --save-dev prettier

Noles answered 19/8, 2021 at 4:12 Comment(1)
Despite npx prettier --version working, I wasn't getting any auto-formatting until I ran the install command in this answer. (I used yarn, but the result is the same.)Lipophilic
H
1

here my prettier config working on vue.js files, typescript files and json files.

arrowParens: 'always'
bracketSpacing: true
endOfLine: 'crlf'
htmlWhitespaceSensitivity: 'css'
insertPragma: false
jsxBracketSameLine: false
jsxSingleQuote: true
overrides:
- files: '*.json'
  options:
    semi: true
    parser: 'json'
parser: 'babel'
printWidth: 120
proseWrap: 'preserve'
quoteProps: 'truepreserve'
requirePragma: false
semi: false
singleQuote: true
tabWidth: 8
trailingComma: 'es5'
useTabs: true
vueIndentScriptAndStyle: 

Do not forget to update your vscode settings

{
"extensions.ignoreRecommendations": false,
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[vue]": {
    "editor.defaultFormatter": "octref.vetur"
},
"[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
    "editor.defaultFormatter": "vscode.html-language-features"
},
"vetur.format.options.useTabs": true}

that's all folk's !

Harlan answered 19/10, 2021 at 9:53 Comment(1)
"[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, Worked perfectly for me! Otherwise everything else was set fine but still prettier was not working on save.Convenience
P
1

For my case i was using a windows machine and it turned out the file system had been corrupted thus prettier raised an error because it could not be able to open the config file due to file system corruption.

TO resolve it I run chkdsk /f h: on the terminal where h is the file partition.

This resolved the file corruption and prettier is now working fine.

Polyneuritis answered 14/12, 2021 at 4:46 Comment(0)
B
1

I have same problem when I moved from Ubuntu to Windows 10.

The problem was with shortcuts 'ctrl + shirt + i', which was default on Ubuntu but was not in Win10.

Go to file -> preferences -> keyboard shortcuts.

Then write prettier and find 'Format Document (Forced)'. Click on pencil on left and write keyboard shortcut, press Enter.

If it is not possible because there is already command written to that shortcut, find it and change it to something else. Then it will be possible.

enter image description here

Beaudoin answered 26/1, 2023 at 11:6 Comment(0)
T
1

Default formatter with modified elsewhere tag

For those looking to get this working with Prisma and other overriding extensions or project settings (like in the image above), use the following:

// Inside .vscode/settings.json
{
  // other extensions
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[prisma]": { // replace this with the language that is overriding 
    "editor.defaultFormatter": "Prisma.prisma" // Replace this with the extension/formatter you want for that language
  },
  // rest of .vscode/settings.json
}

You shouldn't override project settings by forcing your editor settings as some other answers would suggest. This will just annoy your team and or whoever manages the repository you're working on.

Tutor answered 19/8, 2023 at 14:33 Comment(0)
B
0

For me it worked when I got rid of parser: json in the .pretterrc file.

Berni answered 8/8, 2022 at 15:8 Comment(0)
T
0

In the unlikely event that none of the above solutions work for you (like me), I had to set the default formatter to null in settings, then hit CTRL + SHIFT + P and search for "format document" (the default format document binding +R didn't work for me) then I was prompted to select a default formatter in a popup and after selecting prettier it formatted the document and also formats on saving now

There answered 5/2, 2023 at 22:20 Comment(1)
Not sure why someone downvoted this. I tried all the solutions being extolled, none worked. Then I set my formatter to Null, closed/reopened VS Code, formatted a document and Prettier magically started working since it detected my .prettierrc file. Previously it kept trying to use the VS Code settings even though I told it to user Prettier.Amman
O
0

Just in case, since its not already here...

I was trying to format a minified .js file in my node_modules folder so I could understand the code better and Prettier kept returning:

["INFO" - 7:13:19 PM] File is ignored, skipping.

In this case, you can force-format by opening the Command Palette Ctrl+Shift+P and then selecting Format Document (Forced) to have it format a file that would normally be ignored.

Forced

Overcloud answered 12/7, 2023 at 19:15 Comment(0)
W
0

I've tried done all stuff but my codebase is not getting formatted. Then I checked my .prettierignore & some other developer just wrote /src there.

I removed it & everything is working fine now

Waterrepellent answered 16/9, 2023 at 12:11 Comment(0)
T
-4

I tried every single solution in this thread, and I just realized that my only issue was my Visual Studio color theme. That simple!

Before: enter image description here

After: enter image description here

Tunnell answered 9/12, 2022 at 2:33 Comment(1)
The emojis tho!Ty

© 2022 - 2024 — McMap. All rights reserved.