2016-05-10 12 views
2

VSCode der Formatierer automatisch eine neue Zeile vor <head> und <body> Tags und auch standardmäßig vor dem Schließen </html>-Tag einfügt. In den Standardeinstellungen besteht die folgenden Zeilen:Fügen Sie keine zusätzlichen Newline vor <head> und <body> Tags mit VSCode der autoformatter

// List of tags, comma separated, that should have an extra newline before them. 'null' defaults to "head, body, /html". 
"html.format.extraLiners": null, 

versuchte ich html.format.extraLiners in den Benutzereinstellungen zu "" und auch "none" Einstellung, aber es hat nichts zu ändern. Diese

ist, was ich bekommen:

<html> 

<head></head> 

<body></body> 

</html> 

Dies ist, was ich will:

<html> 
<head></head> 
<body></body>  
</html> 

Antwort

2

Ich hatte die "JS-CSS-HTML Formatter" Erweiterung installiert, die die Probleme verursacht wurden. Nach der Deinstallation funktioniert alles wie erwartet.

+0

Ugh, ich auch. Danke, dass du das tatsächlich gepostet hast, hat mir ein paar Stunden des Suchens erspart. Sonderbare Sache ist, es gibt keine Einstellung in dieser Erweiterung, um das zu ändern. –

2

Aus irgendeinem Grund die leere Zeichenkette ist die gleiche wie null in diesem Fall behandelt. Wahrscheinlich, weil sowohl die leere Zeichenfolge als auch null in JS falsch sind. Code hat möglicherweise die Standardeinstellung dieser Einstellung mit einer Truthy/Falsy-Prüfung anstelle von === null implementiert. obwohl

"none" sollte, arbeiten. Eine Zeichenfolge, die aus einem einzelnen Leerzeichen funktioniert auch für mich:

"html.format.extraLiners": " ",