Vscode: Code Folding Oddity mit eingerückten nachfolgenden Zeilen

Erstellt am 10. Apr. 2016  ·  3Kommentare  ·  Quelle: microsoft/vscode

  • VSCode-Version: 0.10.11
  • Betriebssystemversion: Mac OS X El Capitan (10.11.4)

Schritte zum Reproduzieren: Ich bin mir ehrlich gesagt nicht sicher, wie ich es reproduzieren soll, weil ich es versucht habe und es nicht tut. Also habe ich nur eine Reihe von Screenshots gemacht, damit ihr vielleicht das Muster herausfinden könnt. Es hat mir überhaupt keine Probleme bereitet, außer dass es komisch wirkt. Hoffentlich hat es keinen Einfluss auf den Code von irgendjemandem, aber ich weiß, dass sich manchmal ein scheinbar kleines Problem später als Ballon herausstellen kann. Deshalb wollte ich Ihnen nur helfen, es zu fangen, nur für den Fall, dass es es tut! :) :)

Problem: Beim Reduzieren von Codeblöcken (in diesem Fall Zeile 253) wird der auf dem Foto reduzierte Code komprimiert, bietet mir dann jedoch ein "Minuszeichen" zum Reduzieren einer nicht reduzierbaren Zeile (Nr. 273). Es scheint die eine Zeile des Leerzeichens danach zu kollabieren (# 274), und das war's. Aber es ist eine schließende Klammer.

Hypothese: Da ich unter der Eigenschaft, die ich in Zeile 253 definiere, einen eingerückten Codeblock (Startzeile Nr. 275) habe, glaube ich, dass er versucht, mich darauf aufmerksam zu machen, dass ich ihn schließen kann. Wenn ja, und wenn das Problem eine Funktion ist, die kein Fehler ist, ist diese Funktion sehr verwirrend / unklar. (siehe Bild 4)

Wenn meine Hypothese tatsächlich richtig ist, kann ich vorschlagen, ein anderes Symbol zu verwenden, um die Fähigkeit anzuzeigen, eingerückte Linien unter einem Objekt zu reduzieren (was wirklich sinnvoll ist, aber im Zusammenhang mit dem Reduzieren der darüber liegenden Codeblöcke wiederum unklar ist). da es sich technisch gesehen nicht um einen gekapselten Codeblock handelt, der reduziert wird.

Bild 1
code folding 1

Bild 2
code folding 2

Bild 3
code folding 3

Bild 4
code folding 4

Tolle IDE und tolle Arbeit! =)

*question

Alle 3 Kommentare

Vielen Dank für die vielen Screenshots. Ich denke, das Besondere an Ihrem Code ist, dass die schließende Klammer in Zeile 273 einen größeren Einzug hat als der Code in Zeile 275.
Die derzeit implementierte Faltstrategie befasst sich ausschließlich mit dem Einrücken von Linien. Ein Faltbereich beginnt, wenn eine Linie einen kleineren Einzug als eine oder mehrere nachfolgende Linien hat, und endet, wenn es eine Linie mit demselben oder einem kleineren Einzug gibt. Leere Zeilen werden ignoriert.
Ich vermute, wenn Sie die Einrückung zwischen Zeile 275 und 416 um eins so einstellen würden, dass sie mit Zeile 273 übereinstimmt, würden Sie ein normaleres Verhalten feststellen. Können Sie das überprüfen?

Um hier intelligenter zu werden, müssen wir der Einrückungsstrategie Sprachkenntnisse hinzufügen. ZB das Wissen, dass a} das Ende eines Blocks ist, aber niemals der Anfang.
Wir haben die Ausgabe Nr. 3422 dafür.

Schließen, vorausgesetzt meine Annahme war richtig. Bitte kommentieren, wenn nicht ...

@aeschli du bist richtig. Entschuldigung für die späte Antwort! Im Grunde sah es für mich so aus, als würde es sich falten, weil ich wusste, dass ich diese Eigenschaften implizit zu Untereigenschaften der in Zeile 253-273 definierten Eigenschaft machte. Ich denke, es funktioniert wie erwartet, basierend auf dem, was Sie gesagt haben, aber es wäre sicherlich verwirrend für jeden, der nicht versteht, was es tut. Es funktioniert ehrlich gesagt gut, wenn ich solche Blöcke einrücke, weil ich dann den implizierten Subcode reduzieren kann.

Ich stimme Ihnen auch zu, dass auch Sprachkenntnisse helfen würden.

Vielen Dank!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen