Visual Studio Code deaktivieren Auto Wrap Long Line

77

Ich benutze vs Code, um Python mit Pylint zu schreiben. Wenn ich ctrl+ S(Speichern) drücke , umschließt der Editor eine lange Zeile mit mehreren kurzen Zeilen. Wie deaktiviere ich die Aktion oder konfiguriere die Anzahl der Zeilenumbrüche auf 120 (Standard ist 80)? Ich habe es versucht "python.linting.pylintArgs": ["--max-line-length=120"]und "editor.wordWrapColumn": 120aber nicht funktioniert.

Kymo Wang
quelle
Haben Sie die automatische Formatierung aktiviert? VS Code selbst wird nichts neu formatieren, hat also editor.wordWrapColumnkeinen Einfluss darauf, da dies - zusammen mit editor.wordWrap- nur die Anzeige langer Zeilen beeinflusst, nicht aber neu schreibt.
Brett Cannon

Antworten:

173

Überprüfen Sie Ihren Python-Formatierungsanbieter.

"python.formatting.provider": "autopep8"

Ich denke in Ihrem Fall ist es nicht PyLint, der die langen Zeilen autopep8umschließt , sondern. Versuchen Sie stattdessen die Einstellung --max-line-lengthfür autopep8.

"python.formatting.autopep8Args": [
    "--max-line-length=200"
]
Chayapol
quelle
9
Es hilft auch, wenn sich der Linter ähnlich wie der Formatierer verhält: "python.linting.pep8Args": ["--max-line-length = 120"]
Lian
1
Informationen zu anderen verfügbaren Argumenten finden Sie unter pypi.org/project/autopep8
Jerren Saunders,
1
TLDR: PEP8 gibt an, dass das ideale Zeilenumbruchlimit für Python 80 beträgt. Dies ist also die Standardeinstellung für Autopep8.
Eureka
5
Mit reinem Point & Click erreichen Sie dies mit: "Code -> Einstellungen -> Einstellungen". Wählen Sie dann "Erweiterungen -> Python". Navigieren Sie zu "Formatierung: Autopep8-Argumente" und "Element hinzufügen". Fügen Sie im vorgeschlagenen Feld "--max-line-length = 200"
loic.jaouen
"--ignore=E501"um die maximale Zeilenlänge vollständig zu ignorieren.
Jeppe
2

Bei Verwendung benutzerdefinierter Argumente muss jedes Element der obersten Ebene einer Argumentzeichenfolge, die in der Befehlszeile durch Leerzeichen getrennt ist, ein separates Element in der Argumentliste sein. Zum Beispiel:

"python.formatting.autopep8Args": ["--max-line-length", "120", "--experimental"], "python.formatting.yapfArgs": ["--style", "{based_on_style: chromium , indent_width: 20} "]," python.formatting.blackArgs ": [" --line-length "," 100 "]

Für die korrekte Formatierung dieser Python-Einstellungen können Sie die Formatierungsspezifischen Einstellungen hier überprüfen : https://code.visualstudio.com/docs/python/editing#_formatterspecific-settings

Überprüfen Sie auch die Antworten hier: https://stackoverflow.com/a/54031007/1130803

Meetai.com
quelle
0

Autopep8 benötigt, --aggressiveum Änderungen ohne Leerzeichen zu empfehlen:

"python.linting.pylintArgs": ["--max-line-length", "120", "--aggressive"]

Dies wird die langen Schlangen für Sie einwickeln.

Rob Haswell
quelle