Vscode: Verbesserte Bildlaufleiste (Minikarte hinzufügen)

Erstellt am 1. Apr. 2016  ·  105Kommentare  ·  Quelle: microsoft/vscode

Featureanfrage

Fügen Sie die Enhanced Scrollbar-Funktion von VS 2013 und VS 2015 in VS Code hinzu. Es ist eine äußerst effiziente Möglichkeit, sich in einer Datei zu bewegen, und wäre eine großartige Funktion in VS Code.

Wenn dies bereits eine Erweiterung oder eine Option ist, konnte ich sie nicht finden.

editor feature-request

Hilfreichster Kommentar

Ein Update dazu

Wir arbeiten daran, diese Funktion implementieren zu können:

  • ein Teil der Arbeit ist in vscode-textmate im next -Zweig abgeschlossen -- https://github.com/Microsoft/vscode-textmate/tree/next
  • dort sind wir nun in der Lage (in einem binär codierten Format) das Ergebnis der Tokenisierung + Theme-Übereinstimmung zu erhalten. dh wir erhalten vom Tokenizer klare Farben, Schriftarten usw., der jetzt die Themeninformationen abrufen kann (dh die Themenanwendung kann im Code statt über CSS erfolgen).
  • wir müssen dieses neue Format in vscode .

    • das bedeutet, dass wir dieses neue Format auch für die anderen Tokenisierungsanbieter übernehmen müssen (insgesamt gibt es 3: textmate, monarch und manual). Die letzten beiden kommen in der monaco-editor ins Spiel.

    • Wir bereinigen die eigenständigen Editor-Token .css , sodass sie in eine JS-Datenstruktur umgewandelt werden können (siehe https://github.com/Microsoft/vscode/commits/master/src/vs/editor/browser/ standalone/media/standalone-tokens.css)

    • Wir haben die monaco-languages Token bereits so ausgerichtet, dass sie alle Token im klassischen Stil ausgeben.

muss noch gemacht werden:

  • [x] transformieren monarch/manual Tokenizer, um Theme-Matching in JS (nicht in CSS) zu verwenden und das gleiche Binärformat wie vscode-textmate zu generieren.
  • [x] neues Tokenisierungs-Binärformat im Editor-Modell übernehmen
  • [x] neues Tokenisierungsformat in der Editoransicht übernehmen
  • [x] Beginnen Sie mit der Implementierung dieser Funktion

TL;DR Wir arbeiten daran, es braucht nur manchmal eine Menge Arbeit unter der Haube, bevor man zu den auffälligen Sachen kommt.

Alle 105 Kommentare

@jschraub Können Sie bitte auf bestimmte Funktionen hinweisen, die Ihnen gefallen oder die Ihnen helfen, sich in der verbesserten Bildlaufleiste von VS 2013/2015 effizienter zu bewegen?

Absolut, @alexandrudima. Die Möglichkeit, auf einen Blick eine visuelle Darstellung Ihres Dokuments/Codes zu erhalten. Mit einer "10.000-Fuß-Ansicht" ist es einfach, einen Blick auf Ihr Dokument zu werfen und sofort in den Code zu klicken, nach dem Sie suchen. Während die Enhanced Scroll Bar von VS 2013/2015 mehr Funktionen bietet, verwende ich nicht viele davon.

Viele andere Code-Editoren haben ähnliche Funktionen, einschließlich Sublime und Atom, und sie alle haben unterschiedliche Unterfunktionen, aber ich denke, ein Angebot für eine "10.000-Fuß-Ansicht" Ihres Dokuments auf einen Blick bietet einen großen Vorteil gegenüber Texteditoren, die dies tun keine entsprechende Funktion haben.

Bitte lassen Sie mich wissen, ob Sie das gesucht haben oder bessere/andere Details benötigen.

Tolle Beschreibung! Dankeschön!

Hallo @alexandrudima , arbeitet jemand von VSCode daran für die nächste Version? Ist dies etwas, das die Community zur Bildlaufleiste beitragen kann?

Ich vermute, es wird eine Art sein, das Editor-Modell zu lesen und eine Minimap-Darstellung davon in einer Leinwand zu zeichnen. wdyt?

@nojvek Wir werden den September-Plan Ende nächster Woche entwerfen und veröffentlichen. Da dieses Problem an die Spitze dieser Abfrage klettert, die wir verwenden, um Community-Anfragen zu verfolgen (https://github.com/Microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc ), hat es eine große Änderung, um es auf den September-Plan zu schaffen.

Bitte bleib dran :)

Beta-Bits bitte! Es ist mein Lieblingsfeature von und das einzige, was mich an Sublime Text gefesselt hat.

Bald™

👍 Die Minimap-Funktion wird sehr vermisst

Ich vermisse es auch sehr.

+Unendlich

@+1 Minimap ist für mich eines der Must-Have-Features, es funktioniert hervorragend auf Atom mit vielen Addons.

Siehe Kates Minimap, die ich als gutes Beispiel zu diesem Thema sehe: https://docs.kde.org/trunk5/en/applications/katepart/kate-part-scrollbar-minimap.html

+1 für die Minikarte. Eine 'mittlere Maustaste gedrückt halten' (Scrollbar-Taste) zum Scrollen wäre auch toll

Wenn wir Git-Status, Fehler, andere Vorkommen des aktuellen Wortes, Suchergebnisse, Vorschaufenster anzeigen, im Grunde alle Minimaps von Sublime + alle aktuellen Bildlaufleisten von VSCode haben, wird es riesig!

slice

capture

Ich verstehe nicht, warum VS Code nicht kann, wenn VS es kann.

das wäre ein riesiger Gewinn und eines der letzten fehlenden Features für die erhabenen Überbleibsel

Ich habe vor kurzem die Verwendung entdeckt, kann es kaum erwarten, bis sie implementiert ist

+1 kann es kaum erwarten, dass dies in VSCode implementiert wird...

+1 Bitte bald hinzufügen.

+1 Bitte MiniMap hinzufügen

Ich kann nicht glauben, dass dies kein Feature aus der ersten Veröffentlichung war?!

Bitte fügen Sie MiniMap für VSCode hinzu

+1 Bitte MiniMap hinzufügen

+1 dazu

Ich bin so traurig, dass es in 1.6.0 nicht gelungen ist :( bitte fügen Sie dies so schnell wie möglich hinzu

Scheint den Oktober-Plan auch nicht gemacht zu haben. Ich drücke die Daumen für November, denke ich. Es sieht so aus, als ob es jetzt ganz oben auf der Anfrageliste steht, also ist das ziemlich aufregend.

+1

+10

+1

+1

Bitte kein +1-Kommentar mehr. Stimmen Sie stattdessen dem ursprünglichen Problem zu.
Personen, die diesen Thread abonniert haben, möchten benachrichtigt werden, wenn Fortschritte erzielt wurden, nicht wenn Sie +1 geben.

Sie können die Unterhaltung für Mitarbeiter sperren.

Danke & Grüße,
Deepu

Am Donnerstag, 13. Oktober 2016 um 21:13 Uhr schrieb Pine [email protected] :

Bitte kein +1-Kommentar mehr. Stimmen Sie stattdessen dem ursprünglichen Problem zu.
Personen, die diesen Thread abonniert haben, möchten benachrichtigt werden, wenn Fortschritte erzielt wurden
gemacht wurde, nicht wenn Sie +1.


Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/Microsoft/vscode/issues/4865#issuecomment -253552567,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ABDlF49KaIi-Lgu1cKv8Zhn1Tjoa-Hruks5qzlGkgaJpZM4H93xs
.

+1

Selbst wenn ich die Minimap auf @code wirklich nicht vermisse, kann ich sagen, dass ich den Minimap-Ansatz auf Atom wirklich mag (und der Code ist OS). Ist keine verkleinerte Version des Codes, sondern eine schematische Darstellung. Das ist clever, denn Sie möchten schnell Abschnitte des Codes identifizieren und nicht den Code selbst, und Sie können die Schlüsselelemente, die dies ermöglichen, wie Farbe, Zeilenlänge, Leerraum usw., visuell verbessern.

2016-10-21_09h34_59

Ich warte so ziemlich darauf, bevor ich umsteige.

Und könnte es auch dazu bringen, das Git-Diff anzuzeigen und die aktuelle Position hervorzuheben?

Ein kurzes Update dazu:

Derzeit funktioniert das Rendern einer Zeile Quellcode wie folgt:

1. Rendern Sie viele Spans und jeder bekommt als Klassennamen die generierten TM-Scopes:

<span class="token block ts meta arrow expr var leading whitespace" style="width:38.53125px">→&nbsp;&nbsp;&nbsp;</span>
<span class="token block ts meta other constant arrow expr var">TO_USER_SETTINGS_MAP</span>
<span class="token block ts meta arrow brace square expr array literal var">[</span>
<span class="token block ts meta variable other arrow object expr array literal var">KeyCode</span>
<span class="token block ts punctuation meta arrow accessor expr array literal var">.</span>
<span class="token block ts meta variable other arrow property expr array literal var">DownArrow</span>
<span class="token block ts meta arrow brace square expr array literal var">]</span>
<span class="token block ts meta arrow expr var">&nbsp;</span>
<span class="token block ts meta keyword operator arrow assignment expr var">=</span>
<span class="token block ts meta arrow expr var">&nbsp;</span>
<span class="token block ts punctuation definition string quoted single begin meta arrow expr var">'</span>
<span class="token block ts string quoted single meta arrow expr var">Down</span>
<span class="token block ts punctuation definition string quoted single end meta arrow expr var">'</span>
<span class="token block ts punctuation terminator statement meta arrow expr var">;</span>

2. Generiere viele CSS-Regeln aus den TM-Themes

.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.comment { color: rgba(117, 113, 94, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.string { color: rgba(230, 219, 116, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.constant.numeric { color: rgba(174, 129, 255, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.constant.language { color: rgba(174, 129, 255, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.constant.character { color: rgba(174, 129, 255, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.constant.other { color: rgba(174, 129, 255, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.variable {  }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.keyword { color: rgba(249, 38, 114, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.storage { color: rgba(249, 38, 114, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.storage.type { font-style: italic; color: rgba(102, 217, 239, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.entity.name.type.class { text-decoration: underline; color: rgba(166, 226, 46, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.entity.other.inherited-class { font-style: italic; text-decoration: underline; color: rgba(166, 226, 46, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.entity.name.function { color: rgba(166, 226, 46, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.variable.parameter { font-style: italic; color: rgba(253, 151, 31, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.entity.name.tag { color: rgba(249, 38, 114, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.entity.other.attribute-name { color: rgba(166, 226, 46, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.support.function { color: rgba(102, 217, 239, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.support.constant { color: rgba(102, 217, 239, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.support.type { font-style: italic; color: rgba(102, 217, 239, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.support.class { font-style: italic; color: rgba(102, 217, 239, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.support.other.variable {  }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.invalid { color: rgba(248, 248, 240, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.invalid.deprecated { color: rgba(248, 248, 240, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.meta.structure.dictionary.json.string.quoted.double.json { color: rgba(207, 207, 194, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.meta.diff { color: rgba(117, 113, 94, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.meta.diff.header { color: rgba(117, 113, 94, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.deleted { color: rgba(249, 38, 114, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.inserted { color: rgba(166, 226, 46, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.changed { color: rgba(230, 219, 116, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.constant.numeric.line-number.find-in-files.-.match { color: rgba(174, 129, 255, 0.63); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.entity.name.filename.find-in-files { color: rgba(230, 219, 116, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.quote { color: rgba(249, 38, 114, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.list { color: rgba(230, 219, 116, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.bold { color: rgba(102, 217, 239, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.italic { color: rgba(102, 217, 239, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.inline.raw { color: rgba(253, 151, 31, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.heading { color: rgba(166, 226, 46, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.markup.heading.setext { color: rgba(166, 226, 46, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .monaco-editor-background { background-color: rgba(39, 40, 34, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .glyph-margin { background-color: rgba(39, 40, 34, 1); }
.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .monaco-workbench .monaco-editor-background { background-color: rgba(39, 40, 34, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token { color: rgba(248, 248, 242, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .cursor { background-color: rgba(248, 248, 240, 1); border-color: rgba(248, 248, 240, 1); color: rgba(7, 7, 15, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .token.whitespace { color: rgba(59, 58, 50, 1) !important; }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .lines-content .cigr { background: rgba(72, 71, 62, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .current-line { background-color: rgba(62, 61, 50, 1); border: none; }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .focused .selected-text { background-color: rgba(73, 72, 62, 1); }
.monaco-editor.vs-dark.vscode-theme-monokai-themes-Monokai-tmTheme .selected-text { background-color: rgba(73, 72, 62, 0.5); }

3. Lass den Browser zaubern :)

image

Diskussion

Das ist höchst ineffizient:

  • wir müssen alle diese Bereiche pro Token speichern (hohe Speichernutzung – so dass das Scrollen nach oben/unten eine Speichersuchoperation anstelle eines Aufrufs zum Tokenisieren mit TM ist)
  • wir müssen alle diese Bereiche malen (sehen Sie sich nur die enorme Größe des HTML-Codes an, um eine Zeile zu rendern)
  • Wir üben Druck auf den Browser aus, um all dieses CSS zu erfüllen

Dies wurde zu einer Zeit implementiert, in der wir kein TM verwendeten und es war der beste Weg, eine Welt zu haben, in der einige Tokenizer noch manuell geschrieben wurden, während andere mit TM fertig wurden. Nachdem wir jetzt mit dem Verschieben von json, css, less, scss, html, razor und handlebars auf Erweiterungen fertig sind, können wir wieder mit der Optimierung beginnen :).

Ich möchte es in ein Modell ändern, bei dem:

  • Wir lösen sofort (in der Nähe des Ortes, an dem die Tokenisierung stattfindet) Stile pro Token auf
  • nur diese Stile speichern (dies bedeutet, dass beim Ändern des Themas alle zwischengespeicherten Token gelöscht werden)
  • rendern nur mit diesen Stilen (z. B. muss der Klassenname block nicht gerendert werden, wenn keine Regel im Thema ihn auswählt), wir können sie entweder inline (dh style="..." ) oder maßgeschneidert generieren Klassennamen (mit kurzen, eindeutigen Namen, die dem Browser hoffentlich helfen, schneller zu zaubern).

Schließlich können wir so schnell erkennen, welche Farbe / Kühnheit / Betonung ein bestimmter Token hat. Wir können diese Informationen dann verwenden, um Rechtecke zu malen (mit einem <canvas> ), die sich der Textform annähern. Die Rechtecke können nur für Text gemalt werden, der garantiert von links nach rechts verläuft (was wir jetzt seit ein paar Tagen verfolgen). Bi-Di / RTL-Text bekommt keine Minimap, da unser Textlayout vom Browser übernommen wird und es komplett ausgeschaltet wäre. Auch fraglich, was wir mit proportionalen Schriftarten machen sollen.

Entschuldigung für den langen Beitrag, ich wollte Sie nur wissen lassen, dass dies auf unserem Radar ist und aufgrund der möglichen Perf-Gewinne möglicherweise noch mehr priorisiert wird.

+1

+1

+1

Github hat eine Möglichkeit, Daumen hoch zu zählen. Bitte verwenden Sie das. +1 sind
den Thread wirklich überladen.

Am Do, 3. November 2016 um 10:46 Uhr, Filiphe Vilar Figueiredo <
[email protected]> schrieb:

+1


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/Microsoft/vscode/issues/4865#issuecomment -258219634,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AA-JVK1A3zeRm0CUCePdrkPdqtRdbtMfks5q6h3ZgaJpZM4H93xs
.

Gibt es diesbezüglich Fortschritte, Jungs? Kann die Gemeinde helfen?

Bitte hör auf, den Thread mit +1s, FFS zu spammen. Wenn wir dieses Problem verfolgen, möchten wir relevante Informationen über den Fortschritt dieser Funktion erhalten und nicht von +1 gespammt werden. Verwenden Sie stattdessen die Daumen-hoch-Reaktion auf den ursprünglichen Kommentar oder stimmen Sie auf UserVoice ab.

Ich dachte, es wäre großartig, wenn wir mit der mittleren Maustaste klicken und im Editor navigieren könnten, wie wir es in einem Browser wie Microsoft Edge oder Visual Studio können. Das Scrollen nach oben und unten ist großartig, aber von Seite zu Seite wäre besser! Ich würde gerne in der Lage sein, mit der mittleren Maustaste zu klicken, um das Scrollrad nach oben, unten, links und rechts zu öffnen und mich durch Bewegen der Maus auf dem Bildschirm zu bewegen. Probieren Sie es in Edge aus und sehen Sie genau, wovon ich rede!

Soll ich das unter etwas Neues posten?

Ich werde nicht +1 geben, um Stimmen zu verlieren, bitte versuchen Sie dieses Problem nach dem bevorstehenden November-Build zu lösen, damit wir es im Januar sehen können. Ich vermisse das sehr.
Update: und ich bekomme auch viele negative Stimmen LOL

Alle @jschraub sagen , dass wir eine Vogel - Ansicht benötigen

Ich verwende Sublime in Verbindung mit VSCode nur aus diesem Grund, weil ich keine Möglichkeit habe, meinen Code mit tausend Zeilen zu sehen.

Ich bin verwirrt. Das Team scheint Reaktionen verwendet zu haben, um das Interesse zu beurteilen und Feature-Anfragen zu priorisieren ... sie haben sogar im letzten Blog, der ~332 erhielt, dies für "Hot Exit" erwähnt. Aber "Enhanced Scrollbar" derzeit #1 (glaube ich) mit über 600 ist noch nicht in einen Meilenstein eingetreten? Also, was ist los, warum teilt das Entwicklerteam nicht unsere Meinung dazu?

für das, was es wert ist... das ist einer der Hauptgründe, warum ich bei Atom bleibe... Die Minimap von Atom und die Plug-ins von Drittanbietern dafür sind einfach fantastisch... volle API dafür)

Ein Update dazu

Wir arbeiten daran, diese Funktion implementieren zu können:

  • ein Teil der Arbeit ist in vscode-textmate im next -Zweig abgeschlossen -- https://github.com/Microsoft/vscode-textmate/tree/next
  • dort sind wir nun in der Lage (in einem binär codierten Format) das Ergebnis der Tokenisierung + Theme-Übereinstimmung zu erhalten. dh wir erhalten vom Tokenizer klare Farben, Schriftarten usw., der jetzt die Themeninformationen abrufen kann (dh die Themenanwendung kann im Code statt über CSS erfolgen).
  • wir müssen dieses neue Format in vscode .

    • das bedeutet, dass wir dieses neue Format auch für die anderen Tokenisierungsanbieter übernehmen müssen (insgesamt gibt es 3: textmate, monarch und manual). Die letzten beiden kommen in der monaco-editor ins Spiel.

    • Wir bereinigen die eigenständigen Editor-Token .css , sodass sie in eine JS-Datenstruktur umgewandelt werden können (siehe https://github.com/Microsoft/vscode/commits/master/src/vs/editor/browser/ standalone/media/standalone-tokens.css)

    • Wir haben die monaco-languages Token bereits so ausgerichtet, dass sie alle Token im klassischen Stil ausgeben.

muss noch gemacht werden:

  • [x] transformieren monarch/manual Tokenizer, um Theme-Matching in JS (nicht in CSS) zu verwenden und das gleiche Binärformat wie vscode-textmate zu generieren.
  • [x] neues Tokenisierungs-Binärformat im Editor-Modell übernehmen
  • [x] neues Tokenisierungsformat in der Editoransicht übernehmen
  • [x] Beginnen Sie mit der Implementierung dieser Funktion

TL;DR Wir arbeiten daran, es braucht nur manchmal eine Menge Arbeit unter der Haube, bevor man zu den auffälligen Sachen kommt.

Ich möchte Sie nur bitten, Auswahlen und Suchergebnisse, die in der Minikarte hervorgehoben sind, als Feature anzuzeigen.

+1

wie ist denn jetzt der stand, fasst jemand bitte zusammen.

Dies ist wirklich das, was in Visual Studio Code fehlt.

@charlesmilette : "Bitte hör auf, den Thread mit +1, FFS zu

Bitte verwenden Sie 👍 Reaktion bitte. Kommentieren Sie nicht +1.

+1

Völlig off-topic, aber nachdem ich Spam mit +1-Antworten war, kann ich den Benutzern dies aus mehreren Gründen nicht vorwerfen:

  • Die mobile Github-Version hat keine Benutzeroberfläche für Reaktionen, ich musste zur Desktop-Benutzeroberfläche wechseln, um sie zu sehen.
  • Die Kommentar-Benutzeroberfläche befindet sich am unteren Rand der Seite und die Reaktion ist an den ersten Beitrag oben angehängt. Eine Reaktionsverknüpfung sollte an die Kommentar-UI angehängt und automatisch mit dem ersten Beitrag verlinkt werden.
  • "+1"-Beiträge sollten durch einfaches Parsen automatisch erkannt und in Reaktion umgewandelt werden oder dem Benutzer zumindest vorschlagen.
  • Github sollte vorschlagen, Benachrichtigungen für Posts mit einer Mindestanzahl von n Zeichen zu erhalten.

Es war gut zu hören, dass sich die Minimap-Funktion in der Entwicklung befindet, was mir, die von erhabenem Text übertragen wurden, mehr Selbstvertrauen gibt, um im Vergleich zu Code zu bleiben.

Gibt es einen Grund, warum dies nicht als Erweiterung implementiert werden würde? Wenn das verfügbar ist, klingt es nach einer perfekten Sache für eine Erweiterung.

Verlängerung wäre vorübergehende Lösung keine gute Lösung. Möchten Sie Grundfunktionen wirklich einzeln über Erweiterungen installieren?. Laden Sie zuerst VScode herunter, dann ist hier die Liste der 30 Erweiterungen, die möglicherweise überhaupt nicht zusammenarbeiten, aber benötigt werden, um die meisten grundlegenden Funktionen bereitzustellen. (1. Kopieren/Einfügen v3.0, 2. Tabs, 3. Automatischer Einzug, 4. Tabstospace, 5. Autosave, 6. Farbmarker,...... 28. birdeyeview_by_dx3ee_v1.0.1 ...)

Warten auf die Implementierung dieser Minimap-Funktion, um von Atom zu wechseln.

@techsin Es ist nicht wirklich eine grundlegende Funktion. Es ist eher eine persönliche Präferenz.
Soweit ich jedoch gesehen habe, erlaubt die API derzeit nicht das Rendern benutzerdefinierter Elemente in diesem Umfang, daher ist es nicht so möglich, eine solche Erweiterung zu erstellen.

@sapiraz Ich stimme Ihnen zu, es ist für einen Texteditor nicht unbedingt

UX ist essenziell, macht den Unterschied zwischen einer guten Erfahrung und einem super nervigen Gefühl, das man bekommt, wenn man das Gefühl hat "das stimmt nicht" oder "das vermisse ich wirklich".

Dies unterscheidet sich nicht von guten Verknüpfungen und Suchfunktionen. Sind diese für den Code unerlässlich? Nicht wirklich, aber ich kann mit einem Texteditor codieren...

Ich muss @sapiraz hier zustimmen, könnte ein nettes Feature oder sogar ein wichtiges für viele Leute sein, aber nennen einfach . Bisher ist Sublime der einzige Editor, der dies standardmäßig hat (bei Atom ist eine Erweiterung von abe33), und Sublime fehlt die erweiterte Funktionalität der Bildlaufleiste, die Code bietet.

Für mich sind Geschwindigkeit und Stabilität bei weitem die besseren und wirklich "grundlegenden" Funktionen, und wenn das Team daran arbeitet, dies so gut wie möglich umzusetzen, werde ich ihnen alle Zeit geben, die sie brauchen.

@jfcartier , @JonnyBGod Nun, natürlich ist UX wichtig.
Auch ich mag die Minimap-Funktion in anderen Editoren und hoffe, sie bald in VSCode zu sehen.

Sie können es nicht wirklich mit Shortcuts, Suche, Kopieren/Einfügen oder sogar Farbschemaunterstützung vergleichen, weil diese Funktionen so wichtig sind und der Arbeitsumgebung einen so offensichtlichen Wert verleihen (Ja, selbst Farbschemata sind wichtig - ich leide unter Augenbelastung und 9 Stunden am Tag vor einem strahlend weißen Bildschirm zu sitzen tut meinen Augen nicht gut), während die Minimap einfach keine so wichtige Benutzerfreundlichkeit bietet, ohne die man nicht leben kann.

Wenn Sie jemand fragt, welchen Mehrwert die Minikarte bietet, könnten Sie ein anderes Argument als "sieht gut aus" vorbringen? Ich konnte nicht.
Auch hier liebe ich das Feature, nachdem ich mit Sublime Text & Atom gearbeitet habe, mochte ich es sehr, es an der Seite zu haben, nur um einen kleinen Überblick darüber zu bekommen, wo ich bin. aber ist es notwendig? Nö.
Sie können scrollen, Sie können den Inhalt Ihrer Datei sehen, Sie sehen einige Hinweise auf der aktuellen Bildlaufleiste , warum ist es für Sie nützlich, Ihren Code in einer kleinen unlesbaren Version zu sehen?

Ich arbeite gerade mit VSCode an mehreren Projekten und habe es gewählt, weil andere moderne Editoren nicht wirklich grundlegende Funktionen haben.. Darunter sind Leistung und Stabilität (ehem, Brackets), mehrsprachige Unterstützung (Sublime), native Unterstützung von Websprachen & Intellisense (sorry Atom) oder sogar natives, einfach zu bedienendes Installationsprogramm für Erweiterungen (wieder Sublime)

Jemand fragt Sie, welchen Wert die Minikarte bietet. Könnten Sie ein gutes Argument vorbringen, außer "sieht gut aus"?

Jawohl. Es hilft wesentlich, eine große Datei zu navigieren. Zumindest deshalb vermisse ich es so sehr.

@fredrikaverpil Naja "im Wesentlichen" ist meiner Meinung nach etwas übertrieben, aber sicher.
Kann es immer noch nicht wirklich mit Suchen oder Kopieren / Einfügen vergleichen.

@fredrikaverpil Es gibt andere nützliche Möglichkeiten, um in einer großen Datei zu navigieren. @sapiraz hat Recht, dass dies keine grundlegende Funktion ist und dass der Vergleich mit wirklich grundlegenden Funktionen (wie dem automatischen Einrücken beim Einfügen .. komm schon!)

Trotzdem denke ich, dass wir _alle_ zustimmen können, dass wir wirklich wollen, dass dies auf die eine oder andere Weise verfügbar ist.

Dieser Thread hat eine anonyme Wendung genommen, sieh mal, es ist eine Funktion, die ich in VSCode im Moment vermisse. Wenn es in einer kommenden Version großartig umgesetzt werden könnte, wenn nicht, wäre es schade, aber ich werde versuchen, damit klarzukommen.

@sapiraz Ich stimme Ihren Argumenten

Könnten Sie ein gutes Argument vorbringen, außer "sieht gut aus"? Ich konnte nicht.
...
Warum ist es für Sie nützlich, Ihren Code in einer kleinen, unlesbaren Version zu sehen?

Sagen wir nicht, dass es nicht nützlich ist, weil Sie es nicht so sehen. Normalerweise helfen Statistiken sehr, um festzustellen, ob etwas nützlich ist, aber ich habe keine, also kann ich mich nur auf all die Leute (einschließlich mir selbst) verlassen, die VS nicht nur deswegen verwenden! Es ist nicht nichts. Natürlich denke ich, dass wir uns alle einig sind, dass es eindeutig ein Widerstand gegen Veränderungen ist, aber wir sagen immer noch, dass es für uns nützlich ist und es nicht sehr wissenschaftlich ist, die Bedeutung durch ein persönliches Urteil herabzusetzen.

Wenn ich ein Argument liefern kann. Hier ist eine :
default
(Präzision) Da ich meinen Code kenne, weiß ich, dass ich Db-Abfragen nach seiner Form geändert habe.
(Geschwindigkeit) Mit einem Klick komme ich dorthin. Keine Schriftrolle.
(UX) Wenn Sie in großen Dateien arbeiten, hilft es sehr. Es gibt das Gefühl, alles zu kontrollieren, sodass Sie nicht suchen müssen.

Ich bin so froh, dieses Feature im Februar-Iterationsplan #20021 zu sehen

Wir werden dieses Feature Anfang März treffen
Danke für deine Arbeit @all

Können Benutzer dies nach dem Versand vollständig deaktivieren?

Es ist mir egal, ob ich dadurch ein bisschen Leistung von einem Ort zum anderen verlagern soll, nur um eine andere, kleinere Ansicht zu rendern.

Ich bleibe bei / , ? suchen, weil ich damit alles habe, was ich brauche.

+1 für die Minikarte. Rly w8ing

Scheint schon in der Insider-Version vorhanden zu sein,
Muss aber in den Einstellungen aktiviert werden, setze "editor.minimap.enabled" auf true :)

Ich habe die Minikarte in der Insider-Version ausprobiert und sie sieht toll aus, Leute!

Ein paar Vorschläge:

  • Ich möchte in der Lage sein, auf den Fensterbereich zu klicken und ihn zu ziehen, ähnlich wie beim Klicken und Ziehen der Bildlaufleiste.
  • Ich hätte gerne eine editor.minimap.width- Einstellung zum Spielen, die Minimap ist mir etwas zu breit.

PS: Die Leistung ist fantastisch, großes Lob an euch!

Bitte stellen Sie sicher, dass die Highlights in der Minimap wirklich sichtbar sind (wie das Ausführen einer Suchfunktion), da in Sublime die Highlights, obwohl sie hervorgehoben sind, so minimal sind, dass Sie sowieso so ziemlich die gesamte Datei durchgehen müssen ...

Danke fürs Zuhören 😄

In der Lage zu sein, nach oben und unten zu scrollen, wäre gut ... (wie Sublime)
Im Moment scheint es nur darauf zu klicken :-(

Tolle Arbeit aber - sehr geschätzt!

Am 19. Februar 2017 um 21:20 Uhr, Mladen Mihajlović [email protected]
schrieb:

Bitte stellen Sie sicher, dass die Highlights in der Minikarte wirklich sichtbar sind (wie
Ausführen einer Suchfunktion) seit in Sublime, obwohl sie es sind
hervorgehoben, das Highlight ist so minimal, dass du so ziemlich gehen musst
sowieso durch die ganze Datei...

Danke fürs Zuhören 😄


Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/Microsoft/vscode/issues/4865#issuecomment-280949966 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AATV7DaFs9W2PNnpIYzmSIQQqaIDv60Sks5reLIJgaJpZM4H93xs
.

Scrollen durch Klicken/Ziehen der Overlay-Maske. Wie Atom, erhabener Text, Klammern, Geany usw.

Wäre es möglich, die Vergrößerungsstufe anzupassen? Manchmal möchte ich die Schriftgröße vergrößern oder verkleinern, je nachdem, woran ich gerade arbeite.

Vielen Dank für Ihre Geduld bei dieser Funktionsanfrage.

Grundlagen

  • Wir haben uns für eine andere Minimap-Geometrie als die von Visual Studio entschieden.
  • Wir liefern zwei Graustufen-"Schriften", eine wo ein Zeichen 4x2 (4px hoch und 2px breit - abgekürzt als x2 ) ist und eine andere wo ein Zeichen 2x1 (2px hoch und 1px breit - abgekürzt als .) ist x1 ).
  • Basierend auf der devicePixelRatio oder der Zoomstufe wählen wir entweder die x2 oder die x1 Minimap-Schriftart. Das bedeutet, dass auf Retina-Geräten oder anderen Geräten mit hohem Pixelverhältnis (zB Surface Books) die Schriftart x2 bei zoomLevel 0 ausgewählt wird, während auf anderen Geräten die Schriftart x2 wird nur bei Verwendung von zoomLevel 4 und höher ausgewählt werden.
  • Dies bedeutet, dass eine Linie in der Minimap eine feste Menge an vertikalem Bildschirmbereich erhält, entweder 4px oder 2px.
  • Wenn eine Datei mehr Zeilen hat, als in die Minimap passen, scrollt die Minimap :

minimap-geometry


Ein Hinweis zu den Schriftarten

  • Jedes Zeichen in der Minikarte wird gemäß diesen x2 oder x1 Schriften gezeichnet
  • Hier ist die Schriftart x2 bei 800% Zoom. Kannst du lesen was da steht:

image

  • Wenn Sie eine Leidenschaft dafür empfinden, würde ich gerne Ihre Hilfe bei der Feinabstimmung dieser Schriftarten erhalten. Sie wohnen hier

Ausprobieren

"editor.minimap.enabled": true auf dem Insider-Kanal


Was ist getan

Der Zeichen-/Token-Rendering-Code ist in einer guten Form (perf-technisch), um ihn zu versenden: Pixel aus dem vorherigen Frame werden nach Bedarf in den nächsten Frame kopiert, sodass ein Minimap-Rendering meistens weniger als 1 ms dauert. Unter bestimmten Bedingungen (zB minimierte Word-Wrapped-Datei, Springen zu einer anderen vertikalen Position) kann es bis zu einigen Dutzend ms dauern, aber insgesamt bin ich mit dem Zeichen-Rendering-Code einigermaßen zufrieden.

Was ist noch zu tun

Es gibt noch viele Dinge zu tun. Um nur ein paar zu nennen:

  • Minimap: Implementieren Sie das Ziehen des Minimap-Schiebereglers. #20935
  • Minimap: 2x1-Schrift hat zu viele Unregelmäßigkeiten #20929
  • Minimap: Beschränken Sie die Breite auf maximal 150px #20931
  • Minimap: Rendern Sie mehr als nur Zeichen in der Minimap #20934
  • Minimap: Option zum Rendern von Blöcken anstelle von Zeichen hinzugefügt #20947

Bei manchen braucht man mehr Zeit, bei anderen ist es schwieriger (z. B. sollten irgendwo Fehler außerhalb der Minimap gemalt werden, können wir die Minimap die Notwendigkeit eines Übersichtslineals übernehmen lassen usw.)

Wir werden alle Minimap-bezogenen Probleme mit dem Label editor-minimap verfolgen und ich möchte dieses Problem an dieser Stelle schließen.

Lassen Sie uns die Diskussionen zu spezifischen Themen mit verschiedenen Aspekten fortsetzen, einige davon werden es im Februar schaffen, während wir andere später angehen werden.

@alexandrudima

Was ist mit diesem Kommentar? https://github.com/Microsoft/vscode/issues/4865#issuecomment -255368352

Ich würde es einem kleinen unlesbaren Text vorziehen und es bietet die Informationen, die ich benötige. Ich bin mir nicht sicher, wie schwierig es sein würde, aber so wie es klingt, könnten Sie einfach eine neue Schriftart erstellen, bei der jedes Zeichen nur ein ausgefülltes Quadrat ohne Leerzeichen ist.

@sprinkle131313 Ich habe Ihren Kommentar in eine separate Ausgabe extrahiert – #20947.

Lassen Sie uns die Diskussionen in bestimmten separaten Ausgaben fortsetzen. Sie können gerne neue Probleme erstellen, wenn Sie keine vorhandene finden. Ich werde meinen obigen Kommentar weiterhin mit Links aktualisieren, damit wir alle an den spezifischen Diskussionen teilnehmen können.

Dankeschön! Will es stabil sehen!

Frage: kann die Minimap auch ein Cursor sein? Dies ist das Standardverhalten in VS, und darin sehe ich die Hauptunterschiede zwischen den beiden Apps. Beachten Sie auch, dass ich die Version insiders installiert habe, um sie zu testen

_BEARBEITEN_
Egal, habe gerade festgestellt, dass es dafür ein offenes Problem #20935 gibt

@alexandrudima Danke für #20947. Ist es möglich, "editor.minimap.renderCharacters": false als Standard zum Rendern von Blöcken anstelle von Text zu verwenden? IMO sieht es viel angenehmer aus und hat eine bessere Benutzerfreundlichkeit.

image

Ich möchte zoomen können, wenn ich über dem Text oder Block bin (es hängt vom endgültigen Ansatz ab). Derzeit kann ich nichts lesen oder wissen, in welchem ​​Teil des Codes ich mich befinde. Dies ist nützlich, wenn Sie an einem großen Codeabschnitt arbeiten.
Außerdem habe ich festgestellt, dass, wenn ich den Klick behalte und versuche, zu scrollen oder sich über die Minikarte zu bewegen, nichts passiert, ich aufhören muss, um zu klicken und einen anderen Abschnitt des Codes auszuwählen.

@FANMixco Ich habe über deine Petition nachgedacht, bin mir aber derzeit nicht sicher, warum du eine solche Funktion brauchst, denn wenn du auf die Minikarte klickst, wird der Code zu diesem Punkt gescrollt, ohne den Cursor zu bewegen, also ist es praktisch dasselbe als Hover/Zoom. Vielleicht ist das Schweben effizienter als das Klicken?

@druellan , ich glaube, dass @FANMixco über eine Minimap-Zoom-Funktion spricht, die bereits im regulären Visual Studio enthalten ist, wie unten gezeigt
minimap_zoom

BEARBEITEN
Vergessen zu erwähnen, dass der Zoom erst erscheint, wenn man 2 Sekunden über der Minimap verweilt. Wenn Sie über die Minikarte gehen und anfangen zu scrollen, wird der Zoom nicht angezeigt, Sie müssen wirklich aufhören zu scrollen und 2 Sekunden warten, um ihn zu sehen.

Wenn @ghiscoding mit der @FANMixco- Funktion Recht

Danke @ghiscoding , jetzt ist es klarer. Ich glaube immer noch, dass dies keine große Verbesserung gegenüber dem Klick-Schiebe-Mechanismus ist, sondern OHNE die Minimap auf der verbesserten Bildlaufleiste selbst nützlicher aussieht. Eine Art eigenständiges Feature und nicht Teil der Minimap-Funktion.

Über den Vorschlag von

@druellan Dies ist auch dasselbe wie die https://atom.io/packages/minimap-codeglance-Erweiterung auf Atom. 11.000 Downloads scheinen darauf hinzudeuten, dass viele Leute es mögen / brauchen.

Persönlich tue ich das nicht, also wenn Sie es implementieren, machen Sie es bitte optional. Ein Trigger/Hotkey-Mechanismus hört sich jedoch gut an, insbesondere wenn er sowohl in der Bildlaufleiste als auch in der Minimap implementiert ist.

Gibt es eine Möglichkeit, es wie toggle-sidebar(ctrl-b) toggle-panel(ctrl-j) umzuschalten?

Ich mag die neue Minikarte. Eine Sache, die mir fehlt, ist die Hervorhebung von Text, der mit der Suche oder Find-Duplikaten gefunden wurde. Ich habe zwei Screenshots angehängt, um das zu veranschaulichen.

image
image

Schönes Feature Jungs!

💃

@sixenvi Ich schlage vor, dass Sie eine separate Funktionsanfrage Nr. 21404 , die ich gestellt habe, hinzufügen, da Ihre Anfrage meiner sehr ähnlich ist und ein offenes Problem ist, so dass es zumindest verfolgt wird.

Ich bin mir nicht sicher, ob das VSCode-Team Kommentare oder Anfragen zu geschlossenen Problemen wie diesem hier gelesen hat.

Hallo @druellan ! Ja, @ghiscoding meinte ich, vielleicht könnten wir die Zeit konfigurieren, weil es etwas verwirrend ist.

Hallo allerseits! Wenn VS Code nur ein Feature verpasst hat, dann dieses und jetzt ist es komplett! So eine schöne Umsetzung und tolle Leistung. ( @alexandrudima wie immer fasziniert du mich!)

Mir ist nur eine einfache Sache aufgefallen:

out-of-screen-scroll

Guter Fund. Ich denke, Sie sollten einen neuen Fehler melden, da dieser geschlossen ist. Vscode-Team
kann es nicht sehen.

Am Freitag, 3. März 2017 um 7:51 Uhr schrieb Pouya Kary [email protected] :

Hallo allerseits! Wenn VS Code nur eine Funktion verpasst hat, war es diese und keine hat
nichts was ich mir wünschen konnte! So eine schöne Umsetzung und toll
Leistung. (Wie immer faszinieren Sie mich!)

Mir ist nur eine einfache Sache aufgefallen:

[Bild: Scrollen außerhalb des Bildschirms]
https://cloud.githubusercontent.com/assets/2157285/23557582/c264e420-0045-11e7-9ea6-8789f30db9de.gif


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/Microsoft/vscode/issues/4865#issuecomment-283990000 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AA-JVANXdhu57m4hlAODRcV6qhsNGzgrks5riDb3gaJpZM4H93xs
.

@nojvek ah hab das nicht gemerkt! ok noch ein problem...

Eine weitere Sache wäre meiner Meinung nach großartig - die aktuelle Position auf der Minikarte nicht ausblenden (derzeit ist sie nur bei Mouseover sichtbar).
image
Wahrscheinlich wäre es am besten, einen weiteren Schlüssel in den Einstellungen dafür zu haben.

@Andrfas dies wird unter #21404 und #21784 verfolgt.

Als Vorschlag sollten Sie aufhören, in einer geschlossenen Ausgabe zu schreiben, die nicht mehr verfolgt wird, und eine neue Ausgabe suchen/öffnen.

Ich möchte Schaltflächen für die Bildlaufleiste.

Können wir Karte oder Bildlaufleiste nur anzeigen lassen, wenn Sie mit der Maus über die Ränder fahren?

@gauravsaini dies ist ein geschlossenes Thema

Gibt es eine Möglichkeit, eine ältere Version zu verwenden? In einem meiner Online-Kurse hat der Lehrer eine Karte verwendet und Codeblöcke kategorisiert, mit so vielen Codes, dass er in der Seitenleiste überhaupt nicht lesbar ist Blöcke.

@deadmann Wenn Sie die Minikarte ausschalten möchten, gehen Sie einfach in Ihre Einstellungen und finden Sie:

// Controls if the minimap is shown
  "editor.minimap.enabled": true,

Und setze es auf false. Es ist nicht erforderlich, zu einer älteren Version zurückzukehren.

@deadmann Wenn Sie die Minikarte ausschalten möchten, gehen Sie einfach in Ihre Einstellungen und finden Sie:

// Kontrolliert ob die Minimap angezeigt wird
"editor.minimap.enabled": wahr,
Und setze es auf false. Es ist nicht erforderlich, zu einer älteren Version zurückzukehren.

Ich möchte eine Minikarte, eigentlich habe ich sie aktiviert, aber ich möchte in einer einfacheren Form, wenn mein Code wächst und bei langen Zeilen ist es nicht einfach, die Minikarte anzuschauen, ich meine, kannst du? das wirklich gelesen?

x

Ich habe es gefunden, ein anderes System, bei dem wir ein großes Projekt hatten, ich wollte Ihnen nur sagen, dass es in solchen Fällen unlesbar sein kann, wo es auftauchte, es könnte an der Verwendung einer anderen Version von VS auf dieser Plattform liegen, oder weil die Datei zu lang geworden ist. aber das zeige ich im bild.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen