Follow these steps:
CTRL + SHIFT + P- Format Document (in pop-up bar)
- Select
Format Document - Select
Configure Default Formatter... - Select
Prettier - Code formatter
To enable Format On Save
CTRL + SHIFT + P- Preferences Open Settings (UI) (in pop-up bar)
- Type
Format On Save - Enable
Format On Saveif it is not checked
Done!
Answer from Yakupguly Malikov on Stack OverflowVideos
Follow these steps:
CTRL + SHIFT + P- Format Document (in pop-up bar)
- Select
Format Document - Select
Configure Default Formatter... - Select
Prettier - Code formatter
To enable Format On Save
CTRL + SHIFT + P- Preferences Open Settings (UI) (in pop-up bar)
- Type
Format On Save - Enable
Format On Saveif it is not checked
Done!
I have had the same issue, even thus I have installed the Prettier extension. It shows later that I have had another extension called JS-CSS-HTML Formatter. I uninstalled JS-CSS-HTML Formatter and kept Prettier, and all problem was solved.
This issue is mentioned here as well.
Finally, I have found a way to do it. In the vscode settings, I have to change to default format to prettier.

As well as on the project it is needed to create a .prettierrc file with suitable configurations for the project.

{
"trailingComma": "es5",
"tabWidth": 2,
"semi": true,
"singleQuote": true
}
And if you do not need it, you can always enable to format the code without the .prettierrc file.
Prettier is extracly of you need. If you want to personalized format code jsx, you can configuration prettier with your style.
Hi there,
Is there a preferred formatter for React that you use? I have Prettier but it does not work as well-perhaps a settings issue? Thx
I think the issue is fixed,
"editor.formatOnSave": true,
and
"eslint.autoFixOnSave": true,
in my VS Code settings seemed to be conflicting. Changing my VS Code settings to the following:
"editor.formatOnSave": false,
"eslint.autoFixOnSave": true,
seems to fix the issue. Not sure why though.
It's because you are leaving trailing space at the end and eslint/priettier makes it more visible to let everyone know it is your real intention to place space there.
It might look unnecessary at first but there is real difference sometimes in HTML outcome.
I'm more of the "edit the JSON" type of user of VSCode, and the answer from Masud was confusing to me because of that. It did push me in the right direction and I want to share for other like myself, more familiar with the .vscode/settings.json(s) than with that graphical Settings Editor.
settings.json edits - add these:
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
.prettierrc edit or add a file by that name at the root of your project for any custom settings. Here are some of my favs:
{
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "none"
}
Then, you can sanity check against those rules. I just added a trailing comma in an object block (in a Styles block in the sample Expo tsx component, in my case - brand new project) and see it removed on save... Then, remove the trailingComma rule, save, and try the comma again and see that the comma stays.
Regarding Auto Code Formatting:
For anyone starting out with VSCode - Expo, React-Native devs or having some issues with code formatting, please find below the simplest solution I could find (ESLint is a bit confusing / complex unless you are fairly familiar) - link to Expo guide is here if you would really like to do this (https://docs.expo.dev/guides/using-eslint/) - It is a bit complicated if you are just starting out and I find ESLint to cause too much bloat messaging on my code editor screen, especially now that there are things such as copilot etc.
[Instructions] Simply set up Prettier (no ESLint):
- Add 'Prettier - Code Formatter' extension in VSCode and enable it
- Go to the VSCode settings to set both the User and Workspace fields for a) Editor: Default Formatter to "Prettier - Code formatter", then b) check to enable Format on Save (I also checked Notebook > Format on Save).
Now get to Coding!!!
Some Next Steps:
You can check out the Expo Guide (or similar) for further best practices but it will take some time to get it all setup.
Prettier should already auto-format on save and you can further configure it by adding a .prettierrc file at the root of your project and following https://github.com/expo/expo/tree/main/packages/eslint-config-universe#customizing-prettier which should override the default settings you have set up for all your projects.
You can later setup linting as well which is generally more useful down the line for when working with remote/shared repositories (ie: they contain explanations for the correction, etc.). Causes a bit of bloat but it's quite helpful for navigating a new team / codebase (ex Amazon SDE) to understand the style guidelines being used, fixing an entire project programmatically via a script etc. with ESLint.