Wie ändern Sie die Formatierungsoptionen in Visual Studio Code?

84

Ich weiß, dass Sie Code mit Strg + cmd + f in Visual Studio Code formatieren können, aber wie ändern Sie die Formatierungsoptionen für jede Sprache?

In Visual Studio 2013 kann ich beispielsweise den Kompaktmodus für CSS auswählen.

Gibt es eine andere versteckte JSON-Datei, um das zu tun?

Matt McCabe
quelle
1
Wahrscheinlich nicht. Wenn Sie das Online-Dokument gelesen haben , stellen Sie möglicherweise fest, dass Microsoft nur die Formatierungsfunktion für TypeScript erwähnt hat.
Yushulx
Es funktioniert für C # und JavaScript. Ich kann keine offizielle Liste finden, aber es ist mehr als nur TypeScript.
Matt McCabe
1
es ist 2017 und wird es noch nicht unterstützt?
Asqan

Antworten:

18

Bearbeiten:

Dies wird jetzt unterstützt (Stand 2019) . Bitte sehen Sajad saderi Antwort unten für Anweisungen.

Nein, dies wird derzeit nicht unterstützt (im Jahr 2015) .

Isidor Nikolic
quelle
11
Das ist eine Schande, ich werde darüber abstimmen und abwarten und sehen. Ich vermute, es wird eine weitere JSON-Einstellungsdatei sein, die die Richtung zu sein scheint, in die sie gehen.
Matt McCabe
9
Nicht mehr richtig? Wie dann? Geben Sie dafür zumindest eine URL an.
Verdammtes Gemüse
2
Entschuldigung für die Unbestimmtheit. Der Link zu visualStudio uservoice ist fehlerhaft. Sollte wahrscheinlich ein Github-Problem sein, und ich konnte github.com/Microsoft/vscode/issues/1533 finden . Sie können auch in Ihren Einstellungen nach "Format" suchen und finden Optionen für javascript.format.
SgtPooki
80

Beim VS-Code

Drücken Sie Ctrl+Shift+P

Geben Sie dann ein Format Document With...

Klicken Sie am Ende der Liste auf Configure Default Formatter...

Jetzt können Sie Ihren Lieblingsschöner aus der Liste auswählen.

Sajad Saderi
quelle
19

Ich habe gerade diese Erweiterung namens Verschönern auf dem Marktplatz gefunden und ja, es ist eine andere Konfigurations- / Einstellungsdatei. :) :)

Verschönern Sie Javascript, JSON, CSS, Sass und HTML in Visual Studio Code.

VS Code verwendet intern js-beautify, es fehlt jedoch die Möglichkeit, den gewünschten Stil zu ändern. Diese Erweiterung ermöglicht das Ausführen von js-beautify in VS-Code UND das Anerkennen einer .jsbeautifyrc-Datei im Pfadbaum der geöffneten Datei, um Ihr Code-Styling zu laden. Führen Sie mit F1 Beautify (um eine Auswahl zu verschönern) oder F1 Beautify-Datei aus.

Hilfe zu den Einstellungen in der .jsbeautifyrc finden Sie unter Settings.md

Hier ist das GitHub-Repository: https://github.com/HookyQR/VSCodeBeautify

Leniel Maccaferri
quelle
Danke, es sieht ziemlich gut aus, ich vermisse es in meinem CSS, Javascript / Typoskript und HTML scheinen sofort zu funktionieren. Es sieht so aus, als könnten Sie etwas davon in Ihre .editorconfig
Matt McCabe
Eine der besten Lösungen, da .jsbeautifyrcKonfigurationsdateien verwendet werden, was wiederum für andere Teammitglieder hilfreich ist, die möglicherweise andere IDEs zum Schreiben von Code verwenden. Für Sublime Text ist das HTML-CSS-JS-Prettify-Plugin das beste auf dem Markt . Leider sind die Implementierungen auf dem Markt für Eclipse fehlerhaft. Ich muss noch verwenden, editorconfigwas einen anständigen Job macht.
Shiyaz
Verschönern ist gut, gibt mir aber immer Probleme. Ich finde es schöner, besser und konfigurierbarer zu sein.
Trevor Jex
8

Wenn wir heutzutage über Visual Studio Code sprechen , legen Sie einen Standardformatierer in Ihrem settings.json:

  // Defines a default formatter which takes precedence over all other formatter settings. 
  // Must be the identifier of an extension contributing a formatter.
  "editor.defaultFormatter": null,

Zeigen Sie auf die Kennung einer installierten Erweiterung, d. H.

"editor.defaultFormatter": "esbenp.prettier-vscode"

Sie können es auch tun formatspezifische :

"[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[sass]": {
    "editor.defaultFormatter": "michelemelluso.code-beautifier"
},

Auch hier sehen .


Sie können in Ihren Tastaturkürzeln auch andere Tasten für andere Formatierer zuweisen ( keybindings.json). Standardmäßig lautet es:

{
  "key": "shift+alt+f",
  "command": "editor.action.formatDocument",
  "when": "editorHasDocumentFormattingProvider && editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly"
}

Schließlich, wenn Sie sich entscheiden, das Prettier-Plugin und zu verwendenprettier.rc , und Sie zum Beispiel andere Einrückungen für HTML, SCSS, JSON ...

{
    "semi": true,
    "singleQuote": false,
    "trailingComma": "none",
    "useTabs": false,

    "overrides": [
        {
            "files": "*.component.html",
            "options": {
                "parser": "angular",
                "tabWidth": 4
            }
        },
        {
            "files": "*.scss",
            "options": {
                "parser": "scss",
                "tabWidth": 2
            }
        },
        {
            "files": ["*.json", ".prettierrc"],
            "options": {
                "parser": "json",
                "tabWidth": 4
            }
        }
    ]
}
Frank Nocke
quelle
7

Sie können einige Änderungen in den "Einstellungen" vornehmen. Zum Beispiel beginnen Javascript-Regeln mit "javascript.format". Für eine erweiterte Formatierungssteuerung müssen jedoch noch einige Erweiterungen verwendet werden.

Regeleinstellungen für den Befehl format code

Hayk
quelle
6

Eine Lösung, die für mich (Juli 2017) funktioniert, ist die Verwendung von ESLint . Wie jeder weiß, können Sie den Linter auf verschiedene Arten verwenden, global oder lokal. Ich benutze es lokal und mit dem Google Style Guide. Die Art und Weise, wie ich es einrichte, ist wie folgt ...

  • cd to your working directory
  • npm init
  • npm install --save-dev eslint
  • node_modules/.bin/eslint --init
  • I use google style and json config file

Jetzt haben Sie eine .eslintrc.jsonDatei im Stammverzeichnis Ihres Arbeitsverzeichnisses. Sie können diese Datei öffnen und nach Belieben unter Verwendung der Eslint-Regeln ändern . Weiter cmd+,zum Öffnen der vscodeSystemeinstellungen. Geben Sie in der Suchleiste ein eslintund suchen Sie nach "eslint.autoFixOnSave": false. Kopieren Sie die Einstellung und fügen Sie sie in die Benutzereinstellungsdatei ein und ändern Sie sie falsein true. Hoffe, dies kann jemandem helfen, der vscode verwendet .

Gilbert
quelle
1

Um bestimmte C # (OmniSharp) -Formatierungseinstellungen zu ändern, können Sie eine JSON-Datei verwenden:
Benutzer: ~/.omnisharp/omnisharp.json oder %USERPROFILE%\.omnisharp\omnisharp.json
Arbeitsbereich: omnisharp.json Datei in dem Arbeitsverzeichnis, auf das OmniSharp verwiesen wurde.

Beispiel:

{
  "FormattingOptions": {
    "NewLinesForBracesInMethods": false,
    "NewLinesForBracesInProperties": false,
    "NewLinesForBracesInAccessors": false,
    "NewLinesForBracesInAnonymousMethods": false,
    "NewLinesForBracesInControlBlocks": false,
    "NewLinesForBracesInObjectCollectionArrayInitializers": false,
    "NewLinesForBracesInLambdaExpressionBody": false
  }
}

Details zu diesem Beitrag | omnisharp.json Schema (es ist bereits in vscode, Sie können es einfach STRG + LEERTASTE)

Andere Spracherweiterungen haben möglicherweise ähnliche Dateien zum Einstellen.

Geekley
quelle