prettier-vscode: endOfLine changed from auto to LF in v2.0.0 doesn't take effect

Summary

Line endings was changed from auto to LF in prettier v2.0.0. However this doesn’t change CRLF files to LF when formatting.

Github Repository to Reproduce Issue

Any CRLF file prettier supports will do

Steps To Reproduce:

Use prettier v2 default config

  1. Open a CRLF file (ie .ts) that is otherwise correctly formatted
  2. Observe that vscode doesn’t report line ending errors
  3. Open command pallet and run “Format document with…” select “prettier”
  4. Observe that line endings are still CRLF and prettier still doesn’t report errors

Expected result

Prettier should report line ending errors. Prettier should change line endings to LF on format.

Actual result

Line endings are still CRLF after formatting.

Additional information

VS Code Version: 1.44.1

Prettier Extension Version: 4.4.0

OS and version: Windows 1909

.prettierrc

{
  "singleQuote": true,
  "printWidth": 200
}

.editorconfig

# Editor configuration, see http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false

Prettier Log Output

["INFO" - 02.27.47] Formatting ~\Repos\akita\libs\akita\src\lib\updateEntities.ts
["INFO" - 02.27.47] Using ignore file (if present) at ~\Repos\akita\.prettierignore
["INFO" - 02.27.47] Loaded module 'prettier@2.0.4' from '~\Repos\akita\node_modules\prettier\index.js'
["INFO" - 02.27.47] File Info:
{
  "ignored": false,
  "inferredParser": "typescript"
}
["INFO" - 02.27.47] Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used
["INFO" - 02.27.47] Prettier Options:
{
  "filepath": "~\\Repos\\akita\\libs\\akita\\src\\lib\\updateEntities.ts",
  "parser": "typescript",
  "useTabs": false,
  "tabWidth": 2,
  "singleQuote": true,
  "printWidth": 200
}
["INFO" - 02.27.47] Formatting completed in 26.475699ms.

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Reactions: 19
  • Comments: 15 (3 by maintainers)

Most upvoted comments

It seems that even "endOfLine": "lf" doesn’t work in VS Code automatically (without running Prettier via CLI).

add .editorconfig file can work image

This is still a problem, on vscode my settings are to have the end line as lf, my .prettier.json also has lf but still inserts crlf

I have the same problem,VS code Prettier not work,but Prettier CLI work correctly 😐

I’m having the same issue. CLI works, vscode format with prettier doesn’t

Same here with vscode as well

It might make sense to check the implementation of the EditorConfig extension to use the same way to override VS Code’s newline settings.

Same here. While editorconfig vscode plugin takes effect.

Yep.

checking format

❯ yarn prettier --check .\libs\akita\src\lib\updateEntities.ts
yarn run v1.22.0
$ ~\Repos\akita\node_modules\.bin\prettier --check .\libs\akita\src\lib\updateEntities.ts
Checking formatting...
libs\akita\src\lib\updateEntities.ts
Code style issues found in the above file(s). Forgot to run Prettier?
error Command failed with exit code 1.

formatting

❯ yarn prettier --write .\libs\akita\src\lib\updateEntities.ts
yarn run v1.22.0
$ ~\Repos\akita\node_modules\.bin\prettier --write .\libs\akita\src\lib\updateEntities.ts
libs\akita\src\lib\updateEntities.ts 169ms
Done in 0.47s.

after running prettier --write VSCode now shows image