prettier-vscode icon indicating copy to clipboard operation
prettier-vscode copied to clipboard

Can't specify "Prettier.prettier-vscode" as the default formatter

Open Zamiell opened this issue 1 month ago • 6 comments

Preflight Checklist

  • [x] I have read the troubleshooting guide
  • [x] I have searched existing issues and this is not a duplicate
  • [x] This is a bug with the VS Code extension, not with how Prettier formats code

Issue Summary

I have the following in a "repo.code-workspace" file:

    "[css][html][markdown][postcss][yaml]": {
      "editor.defaultFormatter": "Prettier.prettier-vscode",
      "editor.formatOnSave": true,
    },

However, I get a yellow squiggly under "Prettier.prettier-vscode" which says:

Value is not accepted. Valid values: null, "ms-python.black-formatter", "vscode.css-language-features", "jkillian.custom-local-formatters", "hashicorp.hcl", "vscode.html-language-features", "vscode.json-language-features", "vscode.markdown-language-features", "vscode.markdown-math", "vscode.php-language-features", "ms-vscode.powershell", "prettier.prettier-vscode", "ms-python.python", "timonwong.shellcheck", "hashicorp.terraform", "vscode.typescript-language-features", "dbaeumer.vscode-eslint", "ms-python.vscode-pylance", "streetsidesoftware.code-spell-checker", "vscode.configuration-editing", "vscode.debug-auto-launch", "vscode.debug-server-ready", "ms-python.debugpy", "vscode.emmet", "vscode.extension-editing", "vscode.git", "vscode.git-base", "vscode.github", "vscode.github-authentication", "vscode.grunt", "vscode.gulp", "vscode.ipynb", "vscode.jake", "ms-vscode.js-debug", "ms-vscode.js-debug-companion", "vscode.media-preview", "vscode.merge-conflict", "vscode.mermaid-chat-features", "vscode.microsoft-authentication", "vscode.npm", "vscode.references-view", "emeraldwalk.RunOnSave", "vscode.search-result", "vscode.simple-browser", "vscode.terminal-suggest", "vscode.tunnel-forwarding", "vikyd.vscode-fold-level", "ms-vscode.vscode-js-profile-table", "ms-python.vscode-python-envs".(1)

I also tested on the the legacy extension - it does not have this problem.

Steps to Reproduce

Should be easily reproducible, if not I can make involved instructions.

Operating System

Windows

VS Code Version

Version: 1.106.3 (user setup) Commit: bf9252a2fb45be6893dd8870c0bf37e2e1766d61 Date: 2025-11-25T22:28:18.024Z Electron: 37.7.0 ElectronBuildId: 12781156 Chromium: 138.0.7204.251 Node.js: 22.20.0 V8: 13.8.258.32-electron.0 OS: Windows_NT x64 10.0.26100

Prettier Extension Version

12.0.6

Prettier Version

3.6.2

Prettier Extension Logs

["INFO" - 9:22:59 PM] Extension Name: prettier.prettier-vscode.
["INFO" - 9:22:59 PM] Extension Version: 12.0.6.

Zamiell avatar Dec 02 '25 02:12 Zamiell

Reproduction Repository Required

Thanks for opening this issue! To help us investigate, we need a reproduction repository.

Why we need this

Most issues are configuration-specific. Without a repo we can clone and test, we usually cannot diagnose the problem.

How to create a reproduction

  1. Create a new public GitHub repository
  2. Add the minimum files needed to reproduce the issue
  3. Include a .prettierrc or other config files you're using
  4. Edit this issue and add the repository link

Tip: The simpler the reproduction, the faster we can help!

What happens next

  • With a repo: We'll investigate and respond
  • Without a repo: This issue will be automatically closed in 7 days

Resources

github-actions[bot] avatar Dec 02 '25 02:12 github-actions[bot]

@Zamiell You passed "Prettier.prettier-vscode" but the first "P" should be lower case. ("prettier.prettier-vscode" should be correct) Please do not scare us with it.

tats-u avatar Dec 02 '25 04:12 tats-u

but the first "P" should be lower case.

That is a bug then because it is listed as having an uppercase letter on the marketplace:

https://marketplace.visualstudio.com/items?itemName=Prettier.prettier-vscode

Image

Thus, the extension should be republished with the "prettier" organization in lowercase, or alternatively the extension should be fixed to work with the uppercase letter (depending on which one is actually intended).

Zamiell avatar Dec 02 '25 06:12 Zamiell

Lower case in VS Code. It should be canonical once installed.

Image

tats-u avatar Dec 02 '25 09:12 tats-u

I maintain that it is a bug though because other extensions do not have capital letters.

For example, the legacy Prettier extension:

Image

For example, the ESLlint extension:

Image

This is important because users will be copy-pasting from this field when adding it to their "extensions.json" file, and then subsequently using the same identifier everywhere else (like in "defaultFormatter" assignments). It is very confusing to for users to use different values in "extensions.json" and "settings.json" for the same extension.

Zamiell avatar Dec 02 '25 14:12 Zamiell

I have reached out to my contacts at Microsoft about this. This isn't something I can change.

ntotten avatar Dec 04 '25 13:12 ntotten

I met with @seaniyer and @mariaghiondea from the Microsoft VS Code Marketplace team today and unfortunately it looks like moving this extension to the prettier publisher is not realistic. I had hoped for a smooth migration path, but after we talked through all the scenarios it seems like moving namespaces is not worth the effort and will cause a ton of pain.

Open to suggestions or if somebody wants to volunteer to spend some time thinking about this more, but I don't really have the time to commit to doing this in a way that will be smooth for users.

Instead, I think I'll mark the prettier namespace extension as deprecated and point people to the current one. I'll then publish v12 as a prerelease on the main namespace until it is stable.

For future reference the issues we discussed are:

  • The namespace cannot be renamed. Somehow when the prettier publisher namespace was created it was created as Prettier instead of prettier. It is not possible to fix this without deleting the publisher and creating a new one.
  • The old extension has tens of millions of downloads which means it ranks high in searches. @seaniyer did say they probably could migrate the downloads, but given the other issues this one doesn't seem worth doing alone.
  • The biggest issue by far is that people will have esbenp.prettier-vscode set in .vscode/settings.json, .vscode/extensions.json, etc and there isn't any way to transition these settings to the new name. This is going to impact hundreds of thousands of projects who have those files checked into source control, etc.

ntotten avatar Dec 16 '25 23:12 ntotten