Wie schließe ich Dateien beim Speichern in VSCode aus?

107

Derzeit können Sie in den VSCode-Einstellungen das Format beim Speichern wie folgt konfigurieren:

"editor.formatOnSave": true

Ich möchte einige Dateierweiterungen ausschließen, zum Beispiel nur JavaScript formatieren, aber keine HTML-Dateien.

gabrielAnzaldo
quelle
Verwenden Ctrl + K Shift + SSie auf einem Mac unter LinuxCtrl + K S
Joost van der Laan

Antworten:

189

Sie können sprachspezifische Einstellungen verwenden , um sie nur für eine bestimmte Sprache zu aktivieren , z. B. JavaScript:

"[javascript]": {
    "editor.formatOnSave": true
}

Um es für eine bestimmte Sprache zu deaktivieren , können Sie die globale Standardeinstellung auf trueändern und mit einer sprachspezifischen kombinieren false:

"editor.formatOnSave": true
"[javascript]": {
    "editor.formatOnSave": false
}

Beachten Sie, dass sprachspezifische Einstellungen auf Sprachkennungen und nicht direkt auf Dateierweiterungen basieren . Es gibt eine offene Funktionsanforderung, um auch Dateierweiterungs-spezifische Einstellungen zu ermöglichen .

In Fällen, in denen die Sprach-ID nicht spezifisch genug ist, "files.associations"können Dateien mit einer bestimmten Erweiterung und / oder in einem bestimmten Verzeichnis einer anderen ID zugeordnet werden. Dies wirkt sich jedoch auch auf die Syntaxhervorhebung, die Code-Vervollständigung usw. aus. Dies würde beispielsweise funktionieren, um die Formatierung für JavaScript-Dateien in outVerzeichnissen zu deaktivieren , sie werden jedoch als Klartext behandelt:

"[javascript]": {
    "editor.formatOnSave": true
},
"files.associations": {
    "**/out/**/*.js": "plaintext"
}
Gama11
quelle
sehr gute Antwort. Ist es jedoch möglich, das Format beim Speichern auf ein bestimmtes Python-Modul oder einen bestimmten Python-Ordner anzuwenden? ... die Problemumgehung Ich habe dieses Modul in einem eigenen vscode-Fenster geöffnet.
Kerbrose
Ein Nachteil beim Festlegen von *.inDateien beispielsweise als Klartext ( "files.associations": { "*.in": "plaintext" }besteht darin, dass die Code-Hervorhebung deaktiviert wird. Gibt es eine Möglichkeit, die Formatierung für *.inDateien zu deaktivieren , diese jedoch als bestimmte Sprache hervorzuheben?
Cole Johnson,
39

Wenn Sie wie ich auf diese Frage gestoßen sind, weil Sie aufgrund dieser Frage umgeleitet wurden. VSCode: Deaktivieren Sie die Formatierung einer bestimmten Datei (oder Erweiterung), die besagt, dass dies ein Duplikat ist (ich glaube nicht, weil ich es für eine wollte bestimmte Datei) und Sie suchen nach einer "einmaligen" Lösung:

VS Code hat eine Verknüpfung "jetzt" (ich weiß seit wann nicht mehr) zum Speichern einer Datei ohne Formatierung, die unter dem Befehl " workbench.action.files.saveWithoutFormattingStandardtastenbindung" aufgeführt ist

CTRL + K CTRL + SHIFT + S 

(Halten Sie einfach STRG gedrückt und geben Sie dann K + UMSCHALT + S ein).

Unter OS X ist die Standard-Tastenkombination

CMD + k dann drücken s

Александр Фишер
quelle
2
Wusste nichts davon. Vielen Dank! Ich kann also 'FormatOnSave' aktivieren, aber wenn ich eine Datei trotzdem speichern möchte, ohne dass sie formatiert wird, halte ich Strg gedrückt und drücke dann K + Umschalt + S. Ich habe es gerade versucht. Genial!
Abhijit
1
unter linux im jan 2020 ist es Ctrl + kund dann nurs
ryanrain
0

Verwenden Sie unter Mac und Linux Ctrl + K S

Verwenden Sie unter Windows Ctrl + K Ctrl + Shift + S

So überprüfen Sie die VS Code-Tastaturkürzel: Ctrl + K, Ctrl + S(Ja, fast wie oben) und suchen Sie nach "Speichern ohne Formatierung".

Joost van der Laan
quelle