prettier / prettier-vscode

Visual Studio Code extension for Prettier
https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
MIT License
5.04k stars 446 forks source link

Prettier does not format in multi-folder repositories whilst using the .code-workspace config. #3385

Open aidanm1999 opened 3 weeks ago

aidanm1999 commented 3 weeks ago

Cannot re-open #3201, was marked stale as there was no response from contributors so was auto-closed. Please re-open.

jameshearttech commented 2 weeks ago

@aidanm1999 I thought I had the same problem, but I actually got it working just now. Maybe I can help you with your setup?

Summary

I'm building a monorepo with pnpm workspaces. I have prettier, a couple plugins, and a shared config in the root workspace (i.e., top level directory).

VS Code open to pnpm root workspace

["INFO" - 11:04:09 PM] Formatting file:///workspaces/test/prettier.config.mjs
["INFO" - 11:04:09 PM] Using config file at /workspaces/test/prettier.config.mjs
["INFO" - 11:04:09 PM] PrettierInstance:
{
  "modulePath": "/workspaces/test/node_modules/prettier/index.cjs",
  "importResolver": {},
  "callMethodResolvers": {},
  "currentCallMethodId": 5,
  "version": "3.2.5"
}
["INFO" - 11:04:09 PM] Using ignore file (if present) at /workspaces/test/.prettierignore
["INFO" - 11:04:09 PM] File Info:
{
  "ignored": false,
  "inferredParser": "babel"
}
["INFO" - 11:04:09 PM] Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used
["INFO" - 11:04:09 PM] Prettier Options:
{
  "filepath": "/workspaces/test/prettier.config.mjs",
  "parser": "babel",
  "arrowParens": "avoid",
  "printWidth": 100,
  "singleQuote": true,
  "trailingComma": "none",
  "bracketSpacing": true,
  "tabWidth": 4,
  "semi": true,
  "plugins": [
    "/workspaces/test/node_modules/.pnpm/prettier-plugin-java@2.6.0/node_modules/prettier-plugin-java/dist/index.js",
    "/workspaces/test/node_modules/.pnpm/@prettier+plugin-xml@3.4.1_prettier@3.2.5/node_modules/@prettier/plugin-xml/src/plugin.js"
  ]
}
["INFO" - 11:04:09 PM] Formatting completed in 230ms.

VS Code open using .code-workspace

["INFO" - 11:20:20 PM] Formatting file:///workspaces/test/apps/app1/package.json
["INFO" - 11:20:20 PM] Using config file at /workspaces/test/prettier.config.mjs
["INFO" - 11:20:20 PM] PrettierInstance:
{
  "modulePath": "/workspaces/test/node_modules/prettier/index.cjs",
  "importResolver": {},
  "callMethodResolvers": {},
  "currentCallMethodId": 2,
  "version": "3.2.5"
}
["INFO" - 11:20:20 PM] Using ignore file (if present) at /workspaces/test/apps/app1/.prettierignore
["INFO" - 11:20:20 PM] File Info:
{
  "ignored": false,
  "inferredParser": "json-stringify"
}
["INFO" - 11:20:20 PM] Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used
["INFO" - 11:20:20 PM] Prettier Options:
{
  "filepath": "/workspaces/test/apps/app1/package.json",
  "parser": "json-stringify",
  "arrowParens": "avoid",
  "printWidth": 100,
  "singleQuote": true,
  "trailingComma": "none",
  "bracketSpacing": true,
  "tabWidth": 2,
  "semi": true,
  "plugins": [
    "/workspaces/test/node_modules/.pnpm/prettier-plugin-java@2.6.0/node_modules/prettier-plugin-java/dist/index.js",
    "/workspaces/test/node_modules/.pnpm/@prettier+plugin-xml@3.4.1_prettier@3.2.5/node_modules/@prettier/plugin-xml/src/plugin.js"
  ]
}
["INFO" - 11:20:20 PM] Formatting completed in 104ms.
["INFO" - 11:20:46 PM] Formatting file:///workspaces/test/apps/app2/pom.xml
["INFO" - 11:20:46 PM] Using config file at /workspaces/test/prettier.config.mjs
["INFO" - 11:20:46 PM] PrettierInstance:
{
  "modulePath": "/workspaces/test/node_modules/prettier/index.cjs",
  "importResolver": {},
  "callMethodResolvers": {},
  "currentCallMethodId": 9,
  "version": "3.2.5"
}
["INFO" - 11:20:46 PM] Using ignore file (if present) at /workspaces/test/apps/app2/.prettierignore
["INFO" - 11:20:46 PM] File Info:
{
  "ignored": false,
  "inferredParser": "xml"
}
["INFO" - 11:20:46 PM] Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used
["INFO" - 11:20:46 PM] Prettier Options:
{
  "filepath": "/workspaces/test/apps/app2/pom.xml",
  "parser": "xml",
  "arrowParens": "avoid",
  "printWidth": 100,
  "singleQuote": true,
  "trailingComma": "none",
  "bracketSpacing": true,
  "tabWidth": 4,
  "semi": true,
  "plugins": [
    "/workspaces/test/node_modules/.pnpm/prettier-plugin-java@2.6.0/node_modules/prettier-plugin-java/dist/index.js",
    "/workspaces/test/node_modules/.pnpm/@prettier+plugin-xml@3.4.1_prettier@3.2.5/node_modules/@prettier/plugin-xml/src/plugin.js"
  ]
}
["INFO" - 11:20:46 PM] Formatting completed in 93ms.