Vscode: Barre de défilement améliorée (ajouter une mini-carte)

Créé le 1 avr. 2016  ·  105Commentaires  ·  Source: microsoft/vscode

Demande de fonctionnalité

Ajoutez la fonctionnalité de barre de défilement améliorée de VS 2013 et VS 2015 dans VS Code. C'est un moyen extrêmement efficace de se déplacer dans un fichier et ce serait une excellente fonctionnalité à avoir dans VS Code.

S'il s'agit déjà d'une extension ou d'une option, je ne l'ai pas trouvée.

editor feature-request

Commentaire le plus utile

Une mise à jour à ce sujet

Nous travaillons pour pouvoir implémenter cette fonctionnalité :

  • une partie du travail est terminée dans vscode-textmate sur la branche next -- https://github.com/Microsoft/vscode-textmate/tree/next
  • là, nous sommes maintenant en mesure d'obtenir (dans un format codé binaire) le résultat de la tokenisation + la correspondance du thème. c'est-à-dire que nous obtenons des couleurs directes, le style de police, etc., du tokenizer qui peut maintenant obtenir les informations sur le thème (c'est-à-dire que l'application du thème peut être effectuée dans le code au lieu de via CSS)
  • nous devons adopter ce nouveau format dans vscode .

    • cela signifie que nous devons également adopter ce nouveau format pour les autres fournisseurs de tokenisation (il y en a 3 au total : textmate, monarque et manuel). Les deux derniers entrent en jeu dans le monaco-editor .

    • nous nettoyons les jetons d'éditeur autonomes .css afin qu'ils puissent être transformés en une structure de données JS (voir https://github.com/Microsoft/vscode/commits/master/src/vs/editor/browser/ standalone/media/standalone-tokens.css)

    • nous avons déjà fini d'aligner les jetons monaco-languages sorte qu'ils émettent tous des jetons de style classique.

reste à faire :

  • [x] transforme les tokenizers monarque/manuels pour utiliser la correspondance de thème en JS (pas en CSS) et pour générer le même format binaire que vscode-textmate .
  • [x] adopte un nouveau format binaire de tokenisation dans le modèle d'éditeur
  • [x] adopte un nouveau format de tokenisation dans la vue de l'éditeur
  • [x] commencer à implémenter cette fonctionnalité

TL; DR Nous y travaillons, il faut juste parfois beaucoup de travail sous le capot avant d'arriver aux trucs flashy.

Tous les 105 commentaires

@jschraub Pouvez-vous s'il vous plaît signaler des fonctionnalités spécifiques que vous aimez ou qui vous aident à vous déplacer plus efficacement à partir de la barre de défilement améliorée de VS 2013/2015 ?

Absolument, @alexandrudima. La possibilité d'obtenir en un coup d'œil une représentation visuelle de votre document/code. Avoir une "vue de 10 000 pieds" permet de jeter facilement un coup d'œil sur votre document et de cliquer immédiatement sur le morceau de code que vous recherchez. Bien que la barre de défilement améliorée de VS 2013/2015 offre plus de fonctionnalités que cela, je n'en utilise pas beaucoup.

De nombreux autres éditeurs de code ont des fonctionnalités similaires, y compris Sublime et Atom et ils ont tous des sous-fonctionnalités différentes, mais je pense qu'avoir une offre pour une "vue de 10 000 pieds" de votre document en un coup d'œil, donne un grand avantage sur les éditeurs de texte qui le font pas de fonction correspondante.

S'il vous plaît laissez-moi savoir si c'est ce que vous recherchiez, ou si vous avez besoin de détails meilleurs/différents.

Super descriptif ! Merci!

Salut @alexandrudima , est-ce que quelqu'un de VSCode travaille là-dessus pour la prochaine version ? Est-ce quelque chose que la communauté peut contribuer à la barre de défilement ?

Je suppose que ce sera une sorte de lecture du modèle de l'éditeur et d'en dessiner une représentation sur mini-carte dans un canevas. wdyt?

@nojvek Nous

S'il vous plaît restez à l'écoute :)

Bits bêta s'il vous plaît ! C'est ma fonctionnalité préférée et la seule chose qui me garde attaché à Sublime Text.

Bientôt™

la fonction minimap nous manque beaucoup

ça me manque beaucoup aussi.

+Infini

@+1 Minimap est l'une des fonctionnalités indispensables pour moi, elle fonctionne très bien sur atom avec de nombreux addons.

voir la minicarte de Kate que je considère comme un bon exemple à ce sujet : https://docs.kde.org/trunk5/en/applications/katepart/kate-part-scrollbar-minimap.html

+1 pour la minicarte. Un « maintenir le bouton du milieu de la souris » (bouton de la barre de défilement) pour faire défiler serait bien aussi

Si nous avons un statut git, des erreurs, d'autres occurrences du mot actuel, des résultats de recherche, une indication de la fenêtre d'aperçu, en gros toute la minicarte de Sublime a + toute la barre de défilement actuelle de VSCode, ce sera énorme!

slice

capture

Je ne vois pas pourquoi VS Code ne peut pas si VS le peut.

ce serait une énorme victoire et l'une des dernières fonctionnalités manquantes pour les sublimes restes

J'ai récemment découvert l'utilisation, j'ai hâte qu'elle soit mise en œuvre

+1 j'ai hâte que cela soit implémenté dans VSCode...

+1 S'il vous plaît ajouter bientôt.

+1 Veuillez ajouter une minicarte

Je ne peux pas croire que ce n'était pas une fonctionnalité de la première version ?!

Veuillez ajouter MiniMap pour VSCode

+1 Veuillez ajouter une minicarte

+1 à ça

Je suis tellement triste que cela ne soit pas arrivé dans la 1.6.0 :( veuillez ajouter ceci dès que possible

Ne semble pas non plus avoir fait le plan d'octobre. Je croise les doigts pour novembre, je suppose. On dirait qu'il se trouve maintenant en haut de la liste des demandes, donc c'est assez excitant.

+1

+10

+1

+1

S'il vous plaît pas plus de commentaire +1. Votez plutôt pour le problème d'origine.
Les personnes inscrites à ce fil veulent être averties lorsque des progrès ont été réalisés, pas lorsque vous +1.

Vous pouvez verrouiller la conversation aux collaborateurs.

Merci & Cordialement,
Deepu

Le jeudi 13 octobre 2016 à 21h13, Pine [email protected] a écrit :

S'il vous plaît pas plus de commentaire +1. Votez plutôt pour le problème d'origine.
Les personnes inscrites à ce fil veulent être notifiées lorsque la progression a
été fait, pas quand vous +1.

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/Microsoft/vscode/issues/4865#issuecomment-253552567 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ABDlF49KaIi-Lgu1cKv8Zhn1Tjoa-Hruks5qzlGkgaJpZM4H93xs
.

+1

Même quand je ne manque vraiment pas la minimap sur @code , si je dois choisir, je peux dire que j'aime vraiment l'approche de la minimap sur Atom (en plus, le code est OS). N'est pas une version zoom arrière du code, mais une représentation schématique. C'est intelligent, car ce que vous voulez, c'est identifier rapidement des sections du code et non le code lui-même, et vous pouvez améliorer visuellement les éléments clés qui rendent cela possible, comme la couleur, la longueur de ligne, l'espace blanc...

2016-10-21_09h34_59

J'attends à peu près ça avant de faire le changement.

Et pourrait également lui faire afficher le git diff et mettre en évidence la position actuelle?

Une mise à jour rapide à ce sujet :

Actuellement le rendu d'une ligne de code source fonctionne par :

1. Rendre beaucoup de spans et chacun obtient comme nom de classe les scopes de TM générés :

<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. Générez beaucoup de règles css à partir des thèmes TM

.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. Laissez le navigateur faire sa magie :)

image

Discussion

C'est très inefficace :

  • nous devons stocker toutes ces portées par jeton (utilisation élevée de la mémoire - de sorte que le défilement vers le haut/bas sera une opération de recherche en mémoire au lieu d'un appel à jeton avec TM)
  • nous devons peindre toutes ces portées (il suffit de regarder la taille énorme du HTML pour rendre une ligne)
  • nous mettons la pression sur le navigateur pour qu'il corresponde à tout ce CSS

Cela a été mis en œuvre à une époque où nous n'utilisions pas la MT et c'était le meilleur moyen d'avoir un monde où certains tokenizers étaient encore écrits manuellement, tandis que d'autres étaient faits avec MT. Maintenant que nous avons fini de déplacer json, css, less, scss, html, razor et handlebars vers les extensions, nous pouvons recommencer à optimiser :).

Je veux le changer en un modèle où :

  • nous résolvons immédiatement (près de l'endroit où la tokenisation se produit) les styles par token
  • stocker uniquement ces styles (cela signifie que changer le thème supprimera tous les jetons mis en cache)
  • rendu en utilisant uniquement ces styles (par exemple, il n'est pas nécessaire de rendre le nom de la classe block si aucune règle dans le thème ne le sélectionne), nous pouvons soit les inline (c'est- style="..." dire

Enfin, cela nous permettra de savoir rapidement quelle couleur / gras / emphase a un certain jeton. Nous pouvons ensuite utiliser ces informations pour peindre (à l'aide d'un <canvas> ) des rectangles qui se rapprochent de la forme du texte. Les rectangles ne peuvent être peints que pour du texte garanti de gauche à droite (ce que nous suivons maintenant depuis quelques jours). Le texte Bi-Di / RTL n'obtiendra pas de mini-carte car notre mise en page de texte est effectuée par le navigateur et elle serait complètement désactivée. Aussi discutable ce que nous devrions faire avec les polices proportionnelles.

Désolé pour le long message, je voulais juste vous faire savoir que cela est sur notre radar et qu'il pourrait être encore plus prioritaire en raison des gains de performances possibles.

+1

+1

+1

Github a un moyen de compter les pouces vers le haut. Veuillez utiliser cela. Les +1 sont
encombrant vraiment le fil.

Le jeu. 3 nov. 2016 à 10:46, Filiphe Vilar Figueiredo <
[email protected]> a écrit :

+1

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/Microsoft/vscode/issues/4865#issuecomment-258219634 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AA-JVK1A3zeRm0CUCePdrkPdqtRdbtMfks5q6h3ZgaJpZM4H93xs
.

Des progrès là-dessus, les gars? La communauté peut-elle aider?

Veuillez arrêter de spammer le fil avec +1s, FFS. Lorsque nous suivons ce problème, nous souhaitons obtenir des informations pertinentes sur la progression de cette fonctionnalité, et non pas être spammé par des +1. Utilisez plutôt la réaction de pouce levé sur le commentaire original ou votez positivement sur UserVoice.

Je pensais que ce serait formidable si nous pouvions cliquer sur le bouton central de la souris et naviguer dans l'éditeur comme nous le pouvons dans un navigateur comme Microsoft Edge ou Visual Studio. Faire défiler vers le haut et vers le bas, c'est bien, mais d'un côté à l'autre ce serait mieux ! J'aimerais pouvoir cliquer sur le bouton central de la souris pour faire apparaître la molette de défilement haut, bas, gauche et droite et me déplacer sur l'écran en déplaçant la souris. Essayez-le dans Edge et voyez exactement de quoi je parle !

Dois-je poster ceci sous quelque chose de nouveau?

je ne ferai pas +1, pour obtenir des votes, veuillez essayer de résoudre ce problème après la prochaine version de novembre afin que nous puissions le voir en janvier, cela me manque beaucoup.
Mise à jour : et j'obtiens aussi beaucoup de votes négatifs LOL

Tout @jschraub dit que nous avons besoin d'une vue à vol d' oiseau

J'utilise Sublime en conjonction avec VSCode juste pour cette raison que je n'ai pas le moyen de jeter un coup d'œil à mon code de mille lignes.

Je suis confus. l'équipe semble avoir utilisé les réactions pour juger de l'intérêt et hiérarchiser les demandes de fonctionnalités... Pourtant, "Enhanced Scrollbar" actuellement n ° 1 (je crois) avec plus de 600 n'est pas encore passé à un jalon ? Alors quoi de neuf, pourquoi l'équipe de développement ne partage-t-elle pas notre point de vue à ce sujet ?

pour ce que ça vaut... c'est l'une des principales raisons pour lesquelles je reste avec Atom... La minicarte d'Atom et les plug-ins tiers sont tout simplement fantastiques... il a sans aucun doute la meilleure implémentation (puisqu'il existe un API complète pour cela)

Une mise à jour à ce sujet

Nous travaillons pour pouvoir implémenter cette fonctionnalité :

  • une partie du travail est terminée dans vscode-textmate sur la branche next -- https://github.com/Microsoft/vscode-textmate/tree/next
  • là, nous sommes maintenant en mesure d'obtenir (dans un format codé binaire) le résultat de la tokenisation + la correspondance du thème. c'est-à-dire que nous obtenons des couleurs directes, le style de police, etc., du tokenizer qui peut maintenant obtenir les informations sur le thème (c'est-à-dire que l'application du thème peut être effectuée dans le code au lieu de via CSS)
  • nous devons adopter ce nouveau format dans vscode .

    • cela signifie que nous devons également adopter ce nouveau format pour les autres fournisseurs de tokenisation (il y en a 3 au total : textmate, monarque et manuel). Les deux derniers entrent en jeu dans le monaco-editor .

    • nous nettoyons les jetons d'éditeur autonomes .css afin qu'ils puissent être transformés en une structure de données JS (voir https://github.com/Microsoft/vscode/commits/master/src/vs/editor/browser/ standalone/media/standalone-tokens.css)

    • nous avons déjà fini d'aligner les jetons monaco-languages sorte qu'ils émettent tous des jetons de style classique.

reste à faire :

  • [x] transforme les tokenizers monarque/manuels pour utiliser la correspondance de thème en JS (pas en CSS) et pour générer le même format binaire que vscode-textmate .
  • [x] adopte un nouveau format binaire de tokenisation dans le modèle d'éditeur
  • [x] adopte un nouveau format de tokenisation dans la vue de l'éditeur
  • [x] commencer à implémenter cette fonctionnalité

TL; DR Nous y travaillons, il faut juste parfois beaucoup de travail sous le capot avant d'arriver aux trucs flashy.

Je voudrais juste que vous envisagiez d'afficher les sélections et les résultats de recherche mis en évidence dans la mini-carte en tant que fonctionnalité.

+1

quel est le statut là-dessus maintenant, quelqu'un résume plz.

C'est vraiment ce qui manque à Visual Studio Code.

@charlesmilette : "S'il vous plaît arrêtez de spammer le fil avec +1s, FFS. Lorsque nous suivons ce problème, nous voulons obtenir des informations pertinentes sur les progrès de cette fonctionnalité, ne pas être spammé par +1s. Utilisez la réaction de pouce levé sur le commentaire original ou votez plutôt sur UserVoice."

Veuillez utiliser la réaction s'il vous plaît. Ne pas commenter +1.

+1

Complètement hors sujet, mais après avoir été du spam avec +1 réponses, je ne peux pas blâmer les utilisateurs pour cela pour plusieurs raisons :

  • La version mobile de Github n'a pas d'interface utilisateur pour les réactions, j'ai dû passer à l'interface utilisateur de bureau pour les voir.
  • L'interface utilisateur de commentaire est en bas de la page et celle de réaction est attachée au premier message en haut. Un raccourci de réaction doit être attaché à l'interface utilisateur du commentaire et automatiquement lié au premier message.
  • Les messages "+1" devraient être automatiquement détectés avec une simple analyse et convertis en réaction ou au moins proposer à l'utilisateur de le faire.
  • Github devrait proposer de recevoir des notifications pour les publications avec un minimum de n caractères.

C'était bon d'entendre que la fonction de mini-carte est en cours de développement, ce qui me donne plus de confiance en moi qui a transféré du texte sublime pour rester avec le code.

Y a-t-il une raison pour laquelle cela ne serait pas implémenté en tant qu'extension? Si cela est disponible - cela semble être une chose parfaite pour une extension.

l'extension serait une solution temporaire et non une bonne solution. Voulez-vous vraiment installer les fonctionnalités de base individuellement via des extensions ?. Commencez par télécharger VScode, puis voici la liste des 30 extensions qui peuvent ne pas fonctionner du tout ensemble mais qui seront nécessaires pour fournir la plupart des fonctionnalités de base. (1. copier/coller v3.0, 2. onglets, 3. retrait automatique, 4. tabstospace, 5. sauvegarde automatique, 6. surligneur de couleur,...... 28. birdeyeview_by_dx3ee_v1.0.1 ...)

En attente de l'implémentation de cette fonction minimap pour passer d'Atom.

@techsin Ce n'est pas vraiment une fonctionnalité de base .. c'est plus une préférence personnelle.
D'après ce que j'ai vu cependant, pour l'instant, l'API ne permet pas le rendu d'éléments personnalisés dans une telle mesure, il n'est donc pas aussi faisable d'essayer de créer une telle extension.

@sapiraz Je suis d'accord avec vous, ce n'est pas indispensable pour un éditeur de texte, mais je pense aussi que c'est l'une des raisons pour lesquelles Sublime Text (ou Atom) est si populaire. C'est une caractéristique « clé » qui rend les gens accros ! À titre d'exemple, disons que chaque éditeur a du texte noir et un fond blanc, et un nouvel éditeur de texte offre le choix de le modifier à votre guise. Bien sûr, ce n'est pas vraiment crucial pour un éditeur de texte, mais cela améliore tellement l'expérience que les gens sont prêts à laisser leur bon éditeur à celui-ci. Et je pense que c'est ce qui se passe ici. L'UX est également essentiel ;)

L'UX est essentiel, fait la différence entre une bonne expérience et un sentiment super ennuyeux que vous ressentez lorsque vous sentez "ce n'est pas bien" ou "ça me manque vraiment".

Ce n'est pas différent d'avoir de bons raccourcis et une bonne recherche. Sont-ils indispensables pour coder ? Pas vraiment mais là encore je peux coder avec un éditeur de texte...

Je dois être d'accord avec @sapiraz ici, cela pourrait être une fonctionnalité intéressante ou même importante pour de nombreuses personnes, mais ne l'appelons pas une fonctionnalité basique. Jusqu'à présent, Sublime est le seul éditeur qui a cela par défaut (sur Atom est une extension par abe33), et Sublime n'a pas la fonctionnalité étendue sur la barre de défilement fournie par Code.

Pour moi, la vitesse et la stabilité sont de bien meilleures fonctionnalités et vraiment "de base", et si l'équipe travaille à les mettre en œuvre de la meilleure façon possible, je leur donnerai tout le temps dont ils ont besoin.

@jfcartier , @JonnyBGod Bien sûr, l'UX est important.
J'aime aussi la fonctionnalité de minicarte dans d'autres éditeurs et j'espère la voir bientôt dans VSCode.. mais ne l'appelons pas ce qu'elle n'est pas - une fonctionnalité de base.

Vous ne pouvez pas vraiment le comparer avec les raccourcis, la recherche, le copier/coller ou même la prise en charge des schémas de couleurs car ces fonctionnalités sont si essentielles et ajoutent une valeur si évidente à l'environnement de travail (Oui, même les schémas de couleurs sont importants - je souffre de fatigue oculaire et rester assis 9 heures par jour devant un écran blanc brillant ne fait aucun bien à mes yeux) alors que la minicarte n'offre tout simplement pas une facilité d'utilisation si importante dont vous ne pouvez pas vous passer.

Si quelqu'un vous demande quelle valeur ajoute la minicarte, pourriez-vous trouver un bon argument autre que "ça a l'air sympa" ? Je ne pouvais pas.
Encore une fois, j'adore la fonctionnalité, après avoir travaillé avec Sublime text & Atom, j'ai vraiment aimé l'avoir sur le côté juste pour avoir une petite perspective d'où je suis. mais est-ce nécessaire ? Nan.
Vous pouvez faire défiler, vous pouvez voir le contenu de votre fichier, vous voyez quelques astuces sur la barre de défilement actuelle , pourquoi est-ce que voir votre code dans une petite version illisible vous est utile ?

Je travaille actuellement avec VSCode sur plusieurs projets et je l'ai choisi en raison du manque de fonctionnalités de base réelles que d'autres éditeurs modernes possèdent. Parmi eux figurent les performances et la stabilité (ehem, Brackets), le support multilingue (Sublime), le support natif langages Web et Intellisense (désolé Atom) ou même programme d'installation d'extension natif et facile à utiliser (encore une fois, Sublime)

quelqu'un vous demande quelle valeur ajoute la minicarte, pourriez-vous trouver un bon argument autre que "ça a l'air sympa" ?

Oui. Cela aide considérablement à naviguer dans un fichier volumineux. C'est du moins pour ça que ça me manque tellement.

@fredrikaverpil Eh bien, "substantiellement" à mon avis est un peu exagéré, mais bien sûr.
Je ne peux toujours pas vraiment le comparer avec la recherche ou le copier/coller.

@fredrikaverpil Il existe d'autres moyens utiles pour naviguer dans un fichier volumineux. @sapiraz a raison en ce sens qu'il ne s'agit pas d'une fonctionnalité de base, et que la comparer à des fonctionnalités vraiment basiques (comme l'auto-indentation sur coller… allez !) est un peu exagérée.

Cela dit, je pense que nous pouvons _tous_ convenir que nous voulons vraiment que cela soit disponible d'une manière ou d'une autre.

Ce fil a pris une tournure anonyme, regardez, c'est une fonctionnalité qui me manque dans VSCode pour le moment. Si cela pouvait être implémenté dans une prochaine version, bien sinon, ce serait dommage mais je vais essayer de m'en sortir.

@sapiraz Je suis totalement d'accord avec vos arguments et je ne les réfuterais pas juste pour les réfuter, car je pense que toute personne terre-à-terre dirait la même chose. Mais il y a un mais (et c'est mon dernier post ici, assez de spam lol)

pourriez-vous trouver un bon argument autre que « ça a l'air sympa » ? Je ne pouvais pas.
...
pourquoi voir votre code dans une petite version illisible vous est-il utile ?

Ne disons pas que ce n'est pas utile, parce que vous ne le voyez pas de cette façon. Normalement, pour dire si quelque chose est utile, les statistiques aident beaucoup, mais je n'en ai pas, donc je ne peux compter que sur toutes ces personnes (y compris moi-même) qui n'utiliseront pas VS uniquement à cause de cela ! Ce n'est pas rien. Bien sûr, je pense que nous serions tous d'accord pour dire que c'est clairement une résistance au changement, mais nous disons toujours que cela nous est utile et qu'il n'est pas très scientifique d'en diminuer l'importance par un jugement personnel.

Si je peux fournir un argument. En voici un :
default
(Précision) Depuis que je connais mon code, je sais que j'ai modifié les requêtes DB par la forme de celui-ci.
(Vitesse) En un clic, je peux y arriver. Pas de parchemin.
(UX) Si vous travaillez sur de gros fichiers, cela aide beaucoup. Cela donne l'impression de tout contrôler, donc vous n'avez pas à chercher.

Je suis si heureux de voir cette fonctionnalité dans le plan d'itération de février #20021

Nous rencontrerons cette fonctionnalité début mars
Merci pour votre travail @tous

Une fois expédié, les utilisateurs pourront-ils désactiver complètement cette fonctionnalité ?

Peu m'importe que cela déplace une partie de la performance d'un endroit à un autre juste pour rendre une autre vue plus petite.

Je vais m'en tenir à la recherche / , ? car j'ai tout ce dont j'ai besoin avec ceux-ci.

+1 pour la minicarte. Rly w8ing

Semble être déjà disponible dans la version initiés,
Doit être activé dans les paramètres, définissez "editor.minimap.enabled" sur true :)

J'ai essayé la minicarte dans la version pour initiés, et ça a l'air super les gars !

Quelques suggestions :

  • J'aimerais pouvoir cliquer et faire glisser la région de la fenêtre de la même manière que cliquer et faire glisser la barre de défilement.
  • J'aimerais jouer avec un paramètre editor.minimap.width , la minimap est un peu trop large pour moi.

PS : la performance est fantastique, bravo à vous les gars !

Veuillez vous assurer que les reflets sont vraiment visibles dans la minicarte (comme exécuter une fonction de recherche) car dans Sublime, même s'ils sont surlignés, le surlignage est si minime que vous devez de toute façon parcourir tout le fichier...

Merci d'avoir écouté

Pouvoir scroller vers le haut et vers le bas serait bien... (comme Sublime)
Pour le moment, il semble qu'il ne s'agisse que de cliquer dessus :-(

Très bon travail, très apprécié !

Le 19 février 2017 à 21h20, Mladen Mihajlović [email protected]
a écrit:

Veuillez vous assurer que les faits saillants sont vraiment visibles sur la minicarte (comme
exécutant une fonction find) puisque dans Sublime, même s'ils sont
mis en évidence, le point culminant est si minime que vous devez à peu près y aller
à travers tout le fichier de toute façon...

Merci d'avoir écouté

-
Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/Microsoft/vscode/issues/4865#issuecomment-280949966 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AATV7DaFs9W2PNnpIYzmSIQQqaIDv60Sks5reLIJgaJpZM4H93xs
.

Être capable de faire défiler en cliquant/glissant le masque de superposition. Identique à atome, texte sublime, crochets, geany, etc.

Serait-il possible de régler le niveau de grossissement ? Parfois, j'aimerais faire des tailles de police plus grandes ou plus petites en fonction de ce sur quoi je travaille.

Merci de votre patience sur cette demande de fonctionnalité.

Notions de base

  • Nous avons opté pour une géométrie de minimap différente de celle de Visual Studio.
  • Nous expédions deux "polices" en niveaux de gris, une où un caractère mesure 4x2 (4px de haut et 2px de large -- abrégé en x2 ), et une autre où un caractère est 2x1 (2px de haut et 1px de large -- abrégé en x1 ).
  • En fonction de la devicePixelRatio ou du niveau de zoom, nous choisirons soit la police x2 soit la police de minicarte x1 . Cela signifie que sur les appareils Retina ou sur d'autres appareils à ratio de pixels élevé (par exemple, Surface Books), la police x2 sera choisie à zoomLevel 0, tandis que sur d'autres appareils, la police x2 sera être choisi uniquement lors de l'utilisation de zoomLevel 4 et plus.
  • Cela signifie qu'une ligne obtient une quantité fixe de domaine d'écran vertical dans la minicarte, soit 4px ou 2px.
  • Si un fichier a plus de lignes qu'il n'y en a dans la minimap, la minimap défilera :

minimap-geometry


Une note sur les polices

  • Chaque personnage de la minicarte est peint selon ces polices x2 ou x1
  • Voici la police x2 avec un zoom de 800%. Pouvez-vous lire ce qu'il y a :

image

  • Si cela vous passionne, j'aimerais avoir votre aide pour peaufiner ces polices. Ils vivent ici

L'essayer

"editor.minimap.enabled": true sur la chaîne des initiés


Qu'est-ce qui est fait

Le code de rendu des caractères/jetons est dans une forme suffisamment bonne (en termes de performances) pour l'expédier : les pixels de l'image précédente sont copiés dans l'image suivante selon les besoins, ce qui fait qu'un rendu de mini-carte prend généralement moins de 1 ms. Dans certaines conditions (par exemple, un fichier encapsulé par mot minifié, un saut à une position verticale différente), cela peut prendre jusqu'à quelques dizaines de ms, mais dans l'ensemble, je suis assez satisfait du code de rendu des caractères.

Que reste-t-il à faire

Il reste beaucoup de choses à faire. Pour en nommer quelques uns:

  • Minicarte : Implémentez le déplacement du curseur de la minicarte. #20935
  • Minicarte : la police 2x1 a trop d'irrégularités #20929
  • Minimap : Limitez sa largeur à un maximum de 150px #20931
  • Minicarte : affichez plus de caractères à l'intérieur de la minicarte #20934
  • Minicarte : Ajout d'une option pour rendre les blocs au lieu des caractères #20947

Certains nécessitent de passer plus de temps, tandis que d'autres sont plus difficiles (par exemple, si des erreurs en dehors de la mini-carte doivent être peintes quelque part, pouvons-nous faire en sorte que la mini-carte prenne en charge le besoin d'une règle de vue d'ensemble, etc.)

Nous suivrons tous les problèmes liés à la minicarte avec l'étiquette editor-minimap et j'aimerais clore ce problème à ce stade.

Continuons les discussions sur des questions spécifiques couvrant différents aspects, certaines d'entre elles arriveront en février, tandis que nous aborderons d'autres plus tard.

@alexandrudima

Et ce commentaire ? https://github.com/Microsoft/vscode/issues/4865#issuecomment -255368352

Je le préférerais à un petit texte illisible et il fournit les informations dont j'ai besoin. Je ne sais pas à quel point ce serait difficile, mais d'après les sons, vous pourriez simplement créer une nouvelle police où chaque caractère n'est qu'un carré solide, moins les espaces blancs.

@sprinkle131313 J'ai extrait votre commentaire dans un numéro distinct - #20947.

Continuons les discussions dans des problèmes distincts spécifiques, n'hésitez pas à créer de nouveaux problèmes si vous n'en trouvez pas. Je continuerai à mettre à jour mon commentaire ci-dessus avec des liens afin que nous puissions tous participer aux discussions spécifiques.

Merci! Désireux de le voir stable!

Question : est-il possible que la minicarte soit aussi un curseur ? C'est le comportement par défaut dans VS, et c'est ce que je considère comme les principales différences entre les 2 applications. Notez également que j'ai installé la version insiders pour la tester

_ÉDITER_
Qu'à cela ne tienne, je viens de réaliser qu'il y a un problème ouvert #20935 pour ça

@alexandrudima Merci pour #20947. Est-il possible d'avoir "editor.minimap.renderCharacters": false par défaut pour rendre le bloc au lieu du texte ? OMI, il a l'air beaucoup plus agréable et a une meilleure convivialité.

image

J'aimerais pouvoir zoomer lorsque je suis sur le texte ou le bloc (cela dépend de l'approche finale). Actuellement, je ne peux rien lire ni savoir dans quelle partie du code je me trouve, c'est utile si vous travaillez sur un gros morceau de code.
De plus, j'ai découvert que si je continue de cliquer et que j'essaie de faire défiler ou de me déplacer sur la minicarte, rien ne se passe, je dois m'arrêter pour cliquer et choisir une autre section du code.

@FANMixco Je pensais à votre pétition, mais je ne sais pas pourquoi vous avez besoin d'une telle fonctionnalité, car si vous cliquez sur la minicarte, le code défile jusqu'à ce point sans déplacer le curseur, c'est donc effectivement la même chose en survol/zoom. Peut-être que le survol est plus efficace que le clic ?

@druellan , je crois que @FANMixco parle d'une fonction de zoom de minicarte qui est déjà dans Visual Studio standard, comme indiqué ci-dessous
minimap_zoom

ÉDITER
J'ai oublié de mentionner que le zoom n'apparaît qu'après être resté sur la mini-carte pendant 2 secondes. Si vous parcourez la mini-carte et commencez à faire défiler, le zoom ne s'affichera pas, vous devez vraiment arrêter de faire défiler et attendre 2 secondes pour le voir.

Si @ghiscoding a raison à propos de la fonctionnalité @FANMixco , alors cela devrait certainement être facultatif, car je pense que beaucoup de gens (comme moi) n'aiment pas les popups.

Merci @ghiscoding , maintenant c'est plus clair. Je pense toujours que ce n'est pas une énorme amélioration par rapport au mécanisme clic + diapositive, en fait, cela semble plus utile SANS la minicarte, sur la barre de défilement améliorée elle-même. Une sorte de fonctionnalité autonome et ne faisant pas partie de la fonctionnalité de minicarte.

À propos de la suggestion de @pohmelie , je suis tout à fait d'accord, mais je pense que cela peut également être attaché à un modificateur de raccourci, comme ctrl+hover sur la barre de défilement/la minicarte pour déclencher la fonction.

@druellan C'est aussi la même chose que l'extension https://atom.io/packages/minimap-codeglance sur Atom. 11 000 téléchargements semblent suggérer que beaucoup de gens l'aiment ou en ont besoin.

Personnellement, je ne le fais pas, donc si vous le mettez en œuvre, veuillez le rendre facultatif. Un mécanisme de déclenchement / raccourci sonne bien, surtout s'il est implémenté sur la barre de défilement ainsi que sur la mini-carte.

Existe-t-il un moyen de le basculer comme toggle-sidebar(ctrl-b) toggle-panel(ctrl-j) ?

J'aime la nouvelle minicarte. Une chose qui me manque est la mise en surbrillance du texte trouvé avec la recherche ou la recherche de doublons. J'ai joint deux captures d'écran pour visualiser cette question.

image
image

Belle fonctionnalité les gars!

??

@sixenvi Je vous suggère d'ajouter à une demande de fonctionnalité distincte

Je ne suis pas sûr que l'équipe de VSCode ait lu des commentaires ou des demandes sur des problèmes fermés, comme celui-ci ici.

Salut @druellan ! Ouais, ce que @ghiscoding est ce que je voulais dire, peut-être que nous pourrions configurer à peu près le temps parce que c'est un peu confus.

Salut à tous! Si VS Code manquait juste une fonctionnalité, c'était bien celle-ci et maintenant c'est complet ! Une si belle mise en œuvre et de grandes performances. ( @alexandrudima comme toujours tu me

Juste une chose simple que j'ai remarquée :

out-of-screen-scroll

Bonne trouvaille. Je pense que vous devriez signaler un nouveau bogue car celui-ci est fermé. L'équipe Vscode
peut ne pas le voir.

Le vendredi 3 mars 2017 à 7h51, Pouya Kary [email protected] a écrit :

Salut à tous! Si VS Code a juste manqué une fonctionnalité, c'était celle-ci et aucun n'a
rien que j'aurais pu souhaiter avoir ! Une si belle mise en œuvre et super
performance. (Comme toujours tu me fascines !)

Juste une chose simple que j'ai remarquée :

[image : défilement hors écran]
https://cloud.githubusercontent.com/assets/2157285/23557582/c264e420-0045-11e7-9ea6-8789f30db9de.gif

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/Microsoft/vscode/issues/4865#issuecomment-283990000 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AA-JVANXdhu57m4hlAODRcV6qhsNGzgrks5riDb3gaJpZM4H93xs
.

@nojvek ah n'a pas remarqué ça ! ok encore un problème...

Une autre chose serait géniale, je pense - ne cachez pas la position actuelle sur la minicarte (actuellement, elle n'est visible qu'au passage de la souris).
image
Il serait probablement préférable d'avoir une clé de plus dans les paramètres.

@Andrfas ceci est suivi sous #21404 et #21784.

À titre de suggestion, vous devriez arrêter d'écrire dans un problème fermé qui n'est plus suivi et rechercher/ouvrir un nouveau problème.

Je veux des boutons de barre de défilement.

Pouvons-nous faire apparaître la carte ou la barre de défilement uniquement lorsque la souris survole les bords

@gauravsaini c'est un problème clos

y a-t-il un moyen d'utiliser l'ancienne version? sur l'un de mes cours en ligne, le professeur a utilisé la carte, et il a classé les blocs de code, avec tellement de code, ce n'est pas du tout lisible sur la barre latérale, donc c'est bien mieux d'ignorer le code, mais d'avoir le code classé par leur code blocs.

@deadmann si vous souhaitez désactiver la minicarte, accédez simplement à vos paramètres et recherchez :

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

Et réglez-le sur faux. Il n'est pas nécessaire de revenir à une ancienne version.

@deadmann si vous souhaitez désactiver la minicarte, accédez simplement à vos paramètres et recherchez :

// Contrôle si la minicarte est affichée
"editor.minimap.enabled": vrai,
Et réglez-le sur faux. Il n'est pas nécessaire de revenir à une ancienne version.

Je veux une mini-carte, en fait c'est moi qui l'ai activée, mais je veux sous une forme plus simple, quand mon code grandit, et avec de longues lignes, ce n'est pas simple de regarder la mini-carte, je veux dire, pouvez-vous vraiment lu ça ?

x

Je l'ai trouvé, un autre système, où nous avions un gros projet, je voulais juste vous dire qu'il peut être illisible dans de tels cas, où il est apparu, cela peut être dû à l'utilisation d'une version différente de VS sur cette plate-forme, ou parce que le fichier est devenu trop long. mais c'est ce que je montre dans l'image.

Cette page vous a été utile?
0 / 5 - 0 notes