Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to Enable Local Formatting Configuration? #97

Closed
phobetron opened this issue Nov 13, 2021 · 4 comments
Closed

How to Enable Local Formatting Configuration? #97

phobetron opened this issue Nov 13, 2021 · 4 comments

Comments

@phobetron
Copy link

phobetron commented Nov 13, 2021

In my CoC config file, the coc.preferences.formatOnSaveFiletypes list contains vue.

  • With volar.formatting.enable set to true, the file is formatted on save, but the formatter ignores the local configuration for Prettier
  • With volar.formatting.enable set to false, the file is not formatted on save

I recall that coc-vetur had the vetur.useWorkspaceDependencies flag that respected local configurations. Is there something similar for coc-volar? Is there another CoC configuration option that should be used instead?

I've noticed Volar has instructions for VS Code in this instance, but I don't know of an analog for Neovim.

@yaegassy
Copy link
Owner

If you want to use "prettier", please install coc-prettier.

As a side note, coc-prettier is set to disable vue files by default, so you need to adjust your settings to enable them.

e.g. coc-settings.json:

{
  // (1) Disable volar formatting.
  "volar.formatting.enable": false,
  // (2) Use a formatter when saving files.
  "coc.preferences.formatOnSaveFiletypes": [
    // ...snip
    "vue"
  ],
  // (3) Enable coc-prettier to use vue files as well
  "prettier.disableLanguages": []
}

@phobetron
Copy link
Author

Thanks for the information, @yaegassy! I was unaware that Prettier would ignore Vue files. I suppose Vetur was superseding coc-prettier when configured to use workspace dependencies, and ran it in its own process... I don't yet understand the differences in design choices between the two LSPs.

Do you know whether it's possible to alter Volar's built-in formatting configuration as well? Does Volar handle formatting manually, or does it depend on other tools?

@yaegassy
Copy link
Owner

I think Volar uses prettyhtml, prettier (probably in the css part), pug-beautify, sass-formatter, etc. internally.

I don't think Volar's formatter allows you to change the detailed settings. With VSCode, it may be possible to adjust the ts/js part slightly, but not with coc-volar.

Volar formatter is designed to be used out of the box, for more custom rules I recommend switching to Prettier (coc-prettier).

@phobetron
Copy link
Author

Yes, that does seem the best way to go. I've just been spoiled by Vetur's useWorkspaceDependencies feature 😅

I'll go ahead and close this issue. Thanks for your input!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants