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

endOfLine changed from auto to LF in v2.0.0 doesn't take effect

Open snebjorn opened this issue 5 years ago • 21 comments
trafficstars

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 '[email protected]' 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.

snebjorn avatar Apr 15 '20 00:04 snebjorn

Can you provide a github repo I can use to duplicate this? Everything in the log output is correct (the output config only shows overridden info so the endOfLine is set to default).

ntotten avatar Apr 15 '20 11:04 ntotten

Sure https://github.com/datorama/akita But line ending on checkout depend on your git settings and that one have

# .gitattributes
* text=auto

Still prettier should complain about every line in every file as I'm running on Windows

I discovered this when I added https://github.com/prettier/eslint-plugin-prettier to the eslint rules. Because it went absolutely nuts and complained about every line in every file :)

snebjorn avatar Apr 15 '20 14:04 snebjorn

Can you tell me if you run prettier from the CLI does it fix the line endings correctly?

ntotten avatar Apr 16 '20 12:04 ntotten

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

snebjorn avatar Apr 16 '20 18:04 snebjorn

@ntotten are you not able to reproduce this? Can I assist any further?

snebjorn avatar Apr 23 '20 00:04 snebjorn

Same here. While editorconfig vscode plugin takes effect.

zxjinghang avatar Sep 07 '20 01:09 zxjinghang

Same here with vscode as well

ScriptPup avatar Oct 12 '20 01:10 ScriptPup

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

vasilii-kovalev avatar Oct 30 '20 05:10 vasilii-kovalev

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

thorn0 avatar Dec 09 '20 13:12 thorn0

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

xulonc avatar Apr 15 '21 02:04 xulonc

add .editorconfig file can work image

xulonc avatar Apr 15 '21 08:04 xulonc

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

Dannymx avatar Jul 12 '22 02:07 Dannymx

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 was playing with it, but end up with using git config --global core.autocrlf input it covers what i actually need :)

taras-budzyn avatar Jul 19 '22 13:07 taras-budzyn

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

mazyvan avatar Sep 13 '23 00:09 mazyvan

I have this problem too, as it doesn't convert EOLs on "Format document" command. Any updates on this?

uiii avatar Feb 09 '24 09:02 uiii

still doesn't work, it's been over 4 years now, lol.

sebastiangug avatar May 04 '24 14:05 sebastiangug