Terminal: Funktionsanforderung - Benutzeroberfläche für Geräteeinstellungen

Erstellt am 24. Juni 2019  ·  62Kommentare  ·  Quelle: microsoft/terminal

Zusammenfassung der neuen Funktion/Erweiterung

Implementieren Sie eine Benutzeroberfläche für Einstellungen für Windows-Terminal. Diese Benutzeroberfläche sollte die Datei settings.json lesen und aktualisieren. Der Benutzer sollte die JSON weiterhin direkt bearbeiten können, wenn dies gewünscht wird.

Spezifikation & Design: #6720

Implementierungsplan

Von @carlos-zamora. Wir arbeiten vom feature/settings-ui Zweig ab. Es läuft das gleiche CI wie master . Die Idee ist, dass Sie PRs erstellen, die auf feature/settings-ui und wenn die Benutzeroberfläche der Einstellungen zur Auslieferung bereit ist, führen wir sie in master .

Wir beginnen im Grunde mit #7370.

Backend

Diese Arbeitselemente berühren im Allgemeinen keine _jede_ Benutzeroberfläche oder XAML.

  • [X] #885 - TerminalSettingsModel

    • Dies ist erforderlich, um auf den Inhalt der Einstellungsdatei zugreifen zu können. Die Einstellungsobjekte müssen COM-Objekte sein. Sie können dann einer Einstellungsbenutzeroberfläche ausgesetzt werden, um die Einstellungen von Windows Terminal zu lesen und zu ändern. (PR #7667, #7830)

    • Spezifikation: #6904

  • [ ] Einstellungen in JSON schreiben

    • [x] Teil 1 : JsonUtils enthält ConversionTrait , das verwendet wird, um Einstellungen von JSON in unsere Einstellungsobjekte zu konvertieren ( FromJson() ). Wir sollten in der Lage sein, eine ToJson() -Funktion in ConversionTrait einzuführen. Dadurch werden hauptsächlich einzelne Einstellungen in ihren Aufzählungswert konvertiert. (PR-#7609)

    • [ ] Teil 2 : Einführung von ToJson() als Funktion für vollständige Einstellungsobjekte (zB: Profile, GlobalAppSettings, etc...) (PR #8018)

    • [ ] Teil 3 : Legen Sie die JSON-Ausgabe aus Teil 2 auf die vorhandenen Einstellungen des Benutzers. Wir müssen sicherstellen, dass keine Kommentare des Benutzers überschrieben werden.

  • [x] Aktualisieren Sie den Befehl openSettings , um die Benutzeroberfläche für Einstellungen zu öffnen

    • Spezifikation: #5915

    • PR: #7802

Mittleres Ende

Diese Arbeitsaufgaben können ein wenig von XAML berühren. Sie müssen das Projekt TerminalSettingsEditor berühren, aber Sie werden nicht zu sehr mit dem Polieren von Symbolen, Rändern usw.

  • [x] Betten Sie die Benutzeroberfläche der Einstellungen als Registerkarte in das Windows-Terminal (TerminalApp) ein

    • Konvertieren Sie TerminalSettingsEditor in eine DLL

    • Werfen Sie das TerminalSettingsEditor in eine Registerkarte für Terminal

    • Bonuspunkte: Wir sollten wahrscheinlich nur eine Benutzeroberfläche für Einstellungen gleichzeitig geöffnet haben

    • PRs: #7675, #7802

  • [x] Ersetze ObjectModel Objekte im Prototyp durch echte TerminalSettingsModel Objektreferenzen
  • [ ] Daten Binden Sie die Einstellungen an die TerminalSettingsModel

    • Globale Einstellungen

    • Profile:



      • Liste der Profile --> Navigationsleiste


      • Profileinstellungen



    • Farbschemata:



      • Liste der Farbschemata --> Dropdown-Menü


      • Farben



    • Tastenbelegungen

Verschiedene Follow-Ups von PRs

  • [ ] Verwenden Sie dieselbe Benutzeroberfläche für ein neues Profil und ein vorhandenes Profil.
  • [ ] ColorSchemes.xaml Flyouts
  • [x] Stellen Sie sicher, dass alle Zeichenfolgen an UIDs angehängt sind. (PR #7833 )
  • [ ] Der Umgang mit der Kommandozeile muss robust und intelligent sein.
  • [x] Schieben Sie lokalisierbare Strings in ein Resources.resw (PR #7833)
  • [x] Dedupliziere die Utils GetFontIcon Funktion von Command dem magischen Icon-Handler von
  • [X] Warnung ausblenden und Schaltflächen zum Speichern/Zurücksetzen ändern, um sie anzuwenden/zu verwerfen (PR #8082 )

    • Wir haben noch kein System zum Erkennen von Änderungen, daher wird dies in der Zwischenzeit erledigt.

Vorderes Ende

Diese Arbeitselemente beinhalten etwas mehr Designarbeit. Schauen Sie sich unbedingt die Mockups in #6720 an.

  • [X] Symbole aktualisieren (PR #8013)

    • Profile: E756

    • Aussehen: E771

    • Farbschemata: E790

    • Start: E7B5

  • [X] Hook-Up-Button zum Öffnen der JSON-Einstellungen (siehe #5915) (PR #8059)
  • [ ] Schaltfläche "Speichern" hinzufügen und anschließen

Bonuspunkte

  • [ ] Einstellungen suchen
  • [ ] Startseite
  • [ ] Bildvorschau für Symbole und Hintergrundbild
  • [ ] Betten Sie ein Terminal-Steuerelement auf der Seite "Erscheinungsbild" für Profile ein

    • Dies sollte mit Änderungen, die Sie an Farben, Hintergrundbild, Schriftart usw. vornehmen, live aktualisiert werden.

    • Erfordert eine neue Terminalverbindung, die speziell dafür entwickelt wurde (oder sogar ein voll funktionsfähiges Terminal hineinwerfen, sicher!)

  • [ ] Der Titel der Registerkarte ändert sich je nachdem, welche SUI-Seite gerade geöffnet ist.
  • [ ] Implementieren der Tastaturseite (Tastenbelegung)

    • Siehe #6720 für weitere Details

Fehler

Dies sind Fehler, die das Team findet, während wir den Feature-Branch selbst hosten. Diese Methode wird verwendet, bis der Feature-Zweig mit dem Master zusammengeführt wird. An diesem Punkt werden wir Fehler normal einreichen.

  • [x] TSM- und TSE-Lokalisierung wird nicht angezeigt

    • Weitere Informationen: Build-Authoring-Fehler: <Import Project="$(SolutionDir)build\rules\CollectWildcardResources.targets" /> zu TSM und TSE vcxproj hinzufügen (PR #7966 #7967 )

  • [x] Das Ding "nicht gespeicherte Änderungen" blockiert die Einstellungen am unteren Rand der Seite und sie können nicht nach oben gescrollt werden
  • [ ] Nicht lokalisierte Zeichenfolgen:

    • [X] "Einstellungen" auf SettingsTab (PR #8012 )

    • [ ] "Global" im UI-Nav-Menü (unter Profile)

    • Dieser String hat bereits eine uuid und ist in der resw definiert. Muss tiefer erforschen.

  • [X] Wenn die Zeichenfolge für die Schaltfläche zum Speichern/Zurücksetzen zu lang ist, wird sie abgeschnitten (PR #8082 )
  • [X] Der Abstand auf der Seite Profile – Global – Advanced ist falsch (PR #8065)
  • [x] Tastaturseite für Version 1.5 ausblenden (PR #8078)
  • [x] Homepage für Version 1.5 ausblenden (PR #8078 )

Designs

Von @cinnamon-msft. Der Inhalt dieser Designs ist nicht endgültig und wird geändert. Sie sind nur zur Demonstration hier.

navigation-2

appearance

Area-Settings Area-User Interface Issue-Scenario Product-Terminal

Hilfreichster Kommentar

Wie würden Sie zwischen verschiedenen Profileinstellungen wechseln?

Vielleicht könnten Sie im linken Navigationsbereich eine ComboBox implementieren, um ein Profil auszuwählen, für das die Einstellungen gelten würden?

image
_Ihr Telefon macht das_

image


Auch wenn Sie Acryl nicht für den NavigaitonView-Bereich der Einstellungen verwenden möchten, könnten Sie bitte die Titelleiste so erweitern, dass die Navigationsansicht den oberen Rand des Fensters berührt?

image

image

image

Alle 62 Kommentare

Bevor jemand fragt, _ja_ der Plan sieht vor, eine gute Live-Vorschau von Dingen zu haben, die vernünftigerweise in einem Terminal zu sehen sind.

Wie würden Sie zwischen verschiedenen Profileinstellungen wechseln?

Vielleicht könnten Sie im linken Navigationsbereich eine ComboBox implementieren, um ein Profil auszuwählen, für das die Einstellungen gelten würden?

image
_Ihr Telefon macht das_

image


Auch wenn Sie Acryl nicht für den NavigaitonView-Bereich der Einstellungen verwenden möchten, könnten Sie bitte die Titelleiste so erweitern, dass die Navigationsansicht den oberen Rand des Fensters berührt?

image

image

image

Im Moment ist geplant, ein Profilelement im Menü auf der linken Seite und eine Dropdown-Liste aller Ihrer Profile im Hauptinhaltsbereich mit Feldern, die gemäß den JSON-Eigenschaften gefüllt werden, und einem Vorschaufenster zur Anzeige Ihrer aktualisierten Einstellungen zu haben.
Wir haben noch keine Motten davon 😊

Bezüglich Farbschemata: Gemäß Nr. 1750 wurden

Um es klar zu sagen, es gibt derzeit (Sonntag, 7. Juli 2019) überhaupt keine Einstellungsfunktion, richtig? Das Klicken auf den Menüpunkt "Einstellungen" im Dropdown-Dreieck hat keine Auswirkungen auf mein System.

Um es klar zu sagen, es gibt derzeit (Sonntag, 7. Juli 2019) überhaupt keine Einstellungsfunktion, richtig? Das Klicken auf den Menüpunkt "Einstellungen" im Dropdown-Dreieck hat keine Auswirkungen auf mein System.

Es _ sollte _ die Datei profiles.json öffnen, mit der Sie die Einstellungen ändern können - aber irgendwann wird es eine GUI für diese Datei geben.

Um es klar zu sagen, es gibt derzeit (Sonntag, 7. Juli 2019) überhaupt keine Einstellungsfunktion, richtig? Das Klicken auf den Menüpunkt "Einstellungen" im Dropdown-Dreieck hat keine Auswirkungen auf mein System.

Es _ sollte _ die Datei profiles.json öffnen, mit der Sie die Einstellungen ändern können - aber irgendwann wird es eine GUI für diese Datei geben.

Wenn ich auf die Menüoption "Einstellungen" klicke, hat dies keine Auswirkung. Ich verwende die Vorschau aus dem Windows Store. Sollte ich stattdessen herunterladen und erstellen?

Wenn ich auf die Menüoption "Einstellungen" klicke, hat dies keine Auswirkung. Ich verwende die Vorschau aus dem Windows Store. Sollte ich stattdessen herunterladen und erstellen?

Es sollte die Datei profiles.json in Ihrem Standardeditor für json-Dateien öffnen. Vielleicht haben Sie keine Standardeinstellung in Windows?

Ein neuer Preview-Build ist am dreißigsten fällig, also warte noch eine Weile, wenn du etwas Stabiles testen möchtest

Um es klar zu sagen, es gibt derzeit (Sonntag, 7. Juli 2019) überhaupt keine Einstellungsfunktion, richtig? Das Klicken auf den Menüpunkt "Einstellungen" im Dropdown-Dreieck hat keine Auswirkungen auf mein System.

Es _ sollte _ die Datei profiles.json öffnen, mit der Sie die Einstellungen ändern können - aber irgendwann wird es eine GUI für diese Datei geben.

Wenn ich auf die Menüoption "Einstellungen" klicke, hat dies keine Auswirkung. Ich verwende die Vorschau aus dem Windows Store. Sollte ich stattdessen herunterladen und erstellen?

Vielleicht sollten Sie zuerst Ihren Standard-JSON-Dateieditor überprüfen.

windows_terminal_settings_ui

Meine Idee für eine Einstellungsoberfläche.
Die Einstellungsseite sollte ein Overlay sein.
Erste Seite: Ein Begrüßungsbildschirm-Overlay im Vollbildmodus, wie Windows-Einstellungen.
Registerkarte „Profile“: Jedes Profil hat eine eigene Untermenü-Registerkarte, in der Sie Name, Befehlszeile, Startverzeichnis, Startparameter, Schriftart, Schriftgröße, Acryl, Deckkraft, Hintergrundfarbe oder -bild, Schriftfarbe und Symbol einstellen können. Die Auswahl sollte die Vorschau in Echtzeit aktualisieren.
Registerkarte „Allgemein“: Dies ist die Einstellungsseite mit allgemeinen Einstellungen wie Cursorgröße, Gesamtschriftbild und Schriftgröße. Einige andere Einstellungen, die ebenfalls global sind, sollten hier ausgewählt werden.
Das zweite Untermenü von „Allgemein“ ist das Layout, in dem Sie die Puffergröße, Fenstergröße und Position anpassen können.

Mit dem X neben den Einstellungen schließen Sie das Einstellungs-Overlay.
Mit dem Pfeil neben Allgemein oder Profile gelangen Sie zurück in die Einstellungen „Splashscreen“

https://youtu.be/veqs2WVou9M?t=525 (5 Sekunden) – Dustin, komm schon... :stuck_out_tongue: :stuck_out_tongue: :stuck_out_tongue:

windows_terminal_settings_ui

Meine Idee für eine Einstellungsoberfläche.
Die Einstellungsseite sollte ein Overlay sein.
Erste Seite: Ein Begrüßungsbildschirm-Overlay im Vollbildmodus, wie Windows-Einstellungen.
Registerkarte „Profile“: Jedes Profil hat eine eigene Untermenü-Registerkarte, in der Sie Name, Befehlszeile, Startverzeichnis, Startparameter, Schriftart, Schriftgröße, Acryl, Deckkraft, Hintergrundfarbe oder -bild, Schriftfarbe und Symbol einstellen können. Die Auswahl sollte die Vorschau in Echtzeit aktualisieren.
Registerkarte „Allgemein“: Dies ist die Einstellungsseite mit allgemeinen Einstellungen wie Cursorgröße, Gesamtschriftbild und Schriftgröße. Einige andere Einstellungen, die ebenfalls global sind, sollten hier ausgewählt werden.
Das zweite Untermenü von „Allgemein“ ist das Layout, in dem Sie die Puffergröße, Fenstergröße und Position anpassen können.

Mit dem X neben den Einstellungen schließen Sie das Einstellungs-Overlay.
Mit dem Pfeil neben Allgemein oder Profile gelangen Sie zurück in die Einstellungen „Splashscreen“

Die Idee einer Einstellungs-Benutzeroberfläche würde viel Zeit und Mühe sparen, um das Terminal anzupassen. Ich habe versucht, ein neues Profil zusammen mit personalisierten Einstellungen hinzuzufügen, und es hat ziemlich viel Zeit in Anspruch genommen, einschließlich der Überprüfung bei Google, wie es geht und wie es geht speichern Sie es (profile.json) und starten Sie das Terminal neu, um zu sehen, ob es funktioniert. Wenn nicht, dann wiederholen. (Ja, ich bin ein Neuling darin, dies manuell zu tun, und bevorzuge eine Benutzeroberfläche. Es ist eine persönliche Präferenz, die nicht nur von mir, sondern auch von anderen geteilt wird).

Die hier referenzierte Mock-Benutzeroberfläche ist zwar nicht ausgefeilt und es fehlen einige Dinge (einschließlich des Hinzufügens eines Hintergrundbilds), aber weitaus besser als die manuelle Bearbeitung der JSON-Datei. Diese Funktion ist äußerst wichtig und sollte bis zur nächsten großen Vorschauversion oder endgültigen Version verfügbar sein, da sich die Benutzer so darauf konzentrieren können, wie gut das Terminal auf mehrere Anpassungen mit einer Vorschau der Änderungen reagiert.

Gleichzeitig ist dies ein Entwicklertool. Ein gewisses Maß an manueller Bearbeitung der Konfigurationsdatei ist zu erwarten, möglicherweise sogar erst ab 1.0. Und Sie müssen das Terminal nicht neu starten, um die Auswirkungen Ihrer Bearbeitung zu sehen.

windows_terminal_settings_ui
Meine Idee für eine Einstellungsoberfläche.
Die Einstellungsseite sollte ein Overlay sein.
Erste Seite: Ein Begrüßungsbildschirm-Overlay im Vollbildmodus, wie Windows-Einstellungen.
Registerkarte „Profile“: Jedes Profil hat eine eigene Untermenü-Registerkarte, in der Sie Name, Befehlszeile, Startverzeichnis, Startparameter, Schriftart, Schriftgröße, Acryl, Deckkraft, Hintergrundfarbe oder -bild, Schriftfarbe und Symbol einstellen können. Die Auswahl sollte die Vorschau in Echtzeit aktualisieren.
Registerkarte „Allgemein“: Dies ist die Einstellungsseite mit allgemeinen Einstellungen wie Cursorgröße, Gesamtschriftbild und Schriftgröße. Einige andere Einstellungen, die ebenfalls global sind, sollten hier ausgewählt werden.
Das zweite Untermenü von „Allgemein“ ist das Layout, in dem Sie die Puffergröße, Fenstergröße und Position anpassen können.
Mit dem X neben den Einstellungen schließen Sie das Einstellungs-Overlay.
Mit dem Pfeil neben Allgemein oder Profile gelangen Sie zurück in die Einstellungen „Splashscreen“

Die Idee einer Einstellungs-Benutzeroberfläche würde viel Zeit und Mühe sparen, um das Terminal anzupassen. Ich habe versucht, ein neues Profil zusammen mit personalisierten Einstellungen hinzuzufügen, und es hat ziemlich viel Zeit in Anspruch genommen, einschließlich der Überprüfung bei Google, wie es geht und wie es geht speichern Sie es (profile.json) und starten Sie das Terminal neu, um zu sehen, ob es funktioniert. Wenn nicht, dann wiederholen. (Ja, ich bin ein Neuling darin, dies manuell zu tun, und bevorzuge eine Benutzeroberfläche. Es ist eine persönliche Präferenz, die nicht nur von mir, sondern auch von anderen geteilt wird).

Die hier referenzierte Mock-Benutzeroberfläche ist zwar nicht ausgefeilt und es fehlen einige Dinge (einschließlich des Hinzufügens eines Hintergrundbilds), aber weitaus besser als die manuelle Bearbeitung der JSON-Datei. Diese Funktion ist äußerst wichtig und sollte bis zur nächsten großen Vorschauversion oder endgültigen Version verfügbar sein, da sich die Benutzer so darauf konzentrieren können, wie gut das Terminal auf mehrere Anpassungen mit einer Vorschau der Änderungen reagiert.

Froh, dass Sie es mögen. Ja, eine Schaltfläche zur Auswahl eines Hintergrundbilds fehlt. Aber dafür ist Platz..

Die Benutzeroberfläche der Einstellungen müsste nicht JEDE Einstellung abdecken, die Sie festlegen können. Alles, was die Optik der App beeinflusst, sollte vorhanden sein. Dort sollte ein Link zum Öffnen der JSON-Datei vorhanden sein. Dort sollte ein Link zu einer vollständigen Liste der Einstellungen sein, die Sie hinzufügen können.

Vorschauen für Dinge wie Cursorform, Acryl, Hintergrundbilder, Farben - wären sehr sinnvoll, damit jemand Farbschemata ausprobieren kann, bevor er sich festlegt.

Da einige Einstellungen pro Profil und andere App-weit gelten, wäre eine Art Dropdown-Menü zur Auswahl des zu bearbeitenden Profils wahrscheinlich eine gute Idee.

Die Benutzeroberfläche der Einstellungen müsste nicht JEDE Einstellung abdecken, die Sie festlegen können. Alles, was die Optik der App beeinflusst, sollte vorhanden sein. Dort sollte ein Link zum Öffnen der JSON-Datei vorhanden sein. Dort sollte ein Link zu einer vollständigen Liste der Einstellungen sein, die Sie hinzufügen können.

Vorschauen für Dinge wie Cursorform, Acryl, Hintergrundbilder, Farben - wären sehr sinnvoll, damit jemand Farbschemata ausprobieren kann, bevor er sich festlegt.

Da einige Einstellungen pro Profil und andere App-weit gelten, wäre eine Art Dropdown-Menü zur Auswahl des zu bearbeitenden Profils wahrscheinlich eine gute Idee.

2. Bild in meinem Konzept zeigt Profile (auf der linken Seite) und die Einstellungen dafür auf der Hauptseite.

2. Bild in meinem Konzept zeigt Profile (auf der linken Seite) und die Einstellungen dafür auf der Hauptseite.

Ich habe vor einiger Zeit ein ähnliches Modell gemacht :)
terminal_settings

Ich denke, das wäre eine große Verbesserung. Könnte das bitte so schnell wie möglich rausgeschoben werden?

@yellow-starburst Sie können im Allgemeinen unsere Ansicht Meilensteine ​​und Projekte (oder den aktiven Meilenstein für ein bestimmtes Problem) verwenden, um dies herauszufinden. Eine Einstellungs-UI ist für Version 1.0 nicht vorgesehen.

Ich habe versucht, mit Python und Tkinter eine kleine Benutzeroberfläche für die Datei profiles.json zu erstellen. Obwohl die Benutzeroberfläche nicht sehr gut ist und nicht wirklich dem Windows 10-Designschema folgt (da ich nur mit diesen Technologien vertraut bin), übernimmt sie die Bearbeitung der Datei profiles.json.

Wenn jemand möchte, kann er es sich hier ansehen

@DHowett-MSFT Obwohl dies nicht im Rahmen von 1.0 liegt, würde es nicht von externen Entwicklern für 1.0 akzeptiert?

@SamuelEnglard externe PRs sind immer willkommen, egal auf welches Problem / welche Funktionsanfrage sie abzielen.

So ziemlich ja. Wenn Sie im Zeitrahmen von 1.0 etwas zusammenstellen könnten, würden wir es gerne annehmen, aber das könnte eine große Frage sein 😝

Dieser hier erfordert also ein wenig Vorsicht. Kayla hat eine Vision von dem, was sie erreichen möchte, aber ich denke, dass wir das mit der Öffentlichkeit kommunizieren können. Wir werden jedenfalls nichts für v1.0 landen, aber ich möchte die Community-Arbeit an diesem hier auf keinen Fall entmutigen :smile:

Mein Gedanke war eher, dass Sie vielleicht nicht die Zeit damit verbringen möchten, es zu überprüfen, um sich auf 1.0-Dinge zu konzentrieren.

@mdtauk ich mag dein Mockup sehr

Ein Vorschlag: Entfernen Sie das [+] Neues Profil hinzufügen und setzen Sie stattdessen ein + direkt neben den Profilnamen (ich nehme an, es ist ein Dropdown-Menü?)

BEARBEITEN:
Nach einem längeren Blick auf die vorgeschlagenen Mockups bin ich zu dem Schluss gekommen, dass es zu viel Platz gibt, die Bedienelemente sind riesig, fast so, als ob sich das Einstellungsmenü an Benutzer von Mobiltelefonen/Tablets richtet

Ich denke, es müssen vier Abschnitte sein:

  • Globale Einstellungen
    > Zeigt alle gängigen Einstellungen gruppiert nach Kategorien an. Verwenden Sie Registerkarten, um das Scrollen zu verhindern.
  • Tastaturschemata
    > Erlauben Sie das Benennen, Markieren und Gruppieren von Sätzen von Tastenkombinationen. Ein Button zum Drucken eines Spickzettels wäre toll.
  • Themen/Visuelle Schemata
    > Umfangreiche Benutzeroberfläche zum Auswählen von Farben für "Designs" mit der Möglichkeit, Hintergrundbilder, Namen, Tags und Gruppendesigns auszuwählen und Designs mit JSON/YAML zu importieren/exportieren. Eine Schaltfläche zum "Variieren" würde ein neues Thema starten, das ein Klon wäre, aber zwei Schaltflächen, "Dunkler"/"Heller" würden das Thema inkrementell abdunkeln oder aufhellen, um Variationen für Profile in einer Gruppe zu erstellen.
  • Profile
    > Möglichkeit, Profile zu benennen, zu markieren und zu gruppieren (Gruppen werden im Tab-Flyout-Menü getrennt, um sie visuell zu organisieren). Wenn Sie ein Thema auswählen, wird eine Vorschau jedes Themas in einem Karussell verwendet. Tastaturschemata werden aus einer Dropdown-Liste ausgewählt. Wenn ein Profil mit Tags versehen oder gruppiert ist, wählt es automatisch ein Thema und ein Tastaturschema aus, wenn übereinstimmende Elemente vorhanden sind. Profile können in JSON exportiert werden.

Alle exportierbaren JSON-Dateien könnten als Nuget-Archive mit einem Powershell-Skript verpackt werden, um das Element in die Einstellungen des aktuellen Benutzers zu importieren.

All diese Punkte scheinen vernünftig zu sein, mit Ausnahme der zufälligen Verwendung von NuGet 😄

NuGet-Archive sind nur ZIP-Dateien mit zusätzlichen Metadaten, die wirklich nur gut und nützlich für binäre Distributionen von Dingen sind, die in C++/C#/WinJS/etc integriert werden müssen. Projekte mehr als als generisches Konfigurationsexportformat. JSON kann bereits unverändert exportiert werden.

All diese Punkte scheinen vernünftig zu sein, mit Ausnahme der zufälligen Verwendung von NuGet 😄

Es ist nicht zufällig, es soll die gemeinsame Nutzung von Einstellungen und Profilen mithilfe von Nuget-Servern erleichtern. Ich arbeite derzeit an einer App und einer Website, die eine Galerie von Windows Terminal-Profilen sein wird, die Benutzer freigeben und herunterladen können. Die Daten in die Konfigurationsdatei zu bekommen ist mit JSON einfach, aber ich möchte viele verschiedene Szenarien unterstützen, von denen eines ein komplettes Offline-Szenario ist, bei dem der Benutzer keine JSON-Dateien bearbeiten muss und als Teil des Setups eingebunden werden kann eines Servers oder Containers. Um dies zu erleichtern, ist die JSON in Nuget mit einem PS-Installations- und Deinstallationsskript gekapselt, das die JSON aus der Konfiguration importiert/entfernt.

Um dies zu erleichtern, ist die JSON in Nuget mit einem PS-Installations- und Deinstallationsskript gekapselt, das die JSON aus der Konfiguration importiert/entfernt.

So schokoladig? Das Erstellen eines PowerShell-Cmdlets, das ein schokoladiges Paket eines Profils erstellt, sollte nicht so schwierig sein.

Um dies zu erleichtern, ist die JSON in Nuget mit einem PS-Installations- und Deinstallationsskript gekapselt, das die JSON aus der Konfiguration importiert/entfernt.

So schokoladig? Das Erstellen eines PowerShell-Cmdlets, das ein schokoladiges Paket eines Profils erstellt, sollte nicht so schwierig sein.

Die Idee ist, die Nuget-Generierung und den Import einzubacken, sodass kein Drittanbieter-Tool erforderlich ist

vollständig Offline-Szenario, in dem der Benutzer keine JSON-Dateien bearbeiten muss und in die Einrichtung eines Servers oder Containers einbezogen werden kann

Wahrscheinlich verwenden sie dafür bereits Tools von Drittanbietern, wobei Chocolatey eine der möglichen Optionen ist. Die Integration mit diesen Tools scheint mir die beste Wahl zu sein.

Die Nuget-Integration ist nicht _notwendig_, würde aber einen guten Präzedenzfall schaffen und wäre auch Dogfooding...

Dieses Terminal ist eine UWP-App, die Fluent-Design verwendet und in hohem Maße anpassbar ist. Vielleicht schauen Sie es sich an und formen Sie Windows Terminal ähnlich? Ich meine, sogar dieses Terminal sieht gut aus (obwohl es sich noch in einem frühen Stadium befindet).

IMO würde es gut aussehen, wenn die gesamte Einstellungs-App (oder Seite) einen Hintergrund-Acryl hat, genau wie das Terminal (Acryl, das sich entsprechend den Acryl-Einstellungen auf der Einstellungsseite ändert)

Denken Sie daran, dass die Einstellungsfenster in Windows konsistent sein sollten. Möglicherweise haben Sie Feedback dazu, wie Einstellungsfenster in Windows aussehen sollten, aber der Terminal GitHub ist nicht der beste Ort, um sie zu diskutieren. Der Ort, an dem Sie sich Gedanken darüber machen können, wie Einstellungsfenster in Windows aussehen sollten, ist die Feedback-App.

Warum zensieren Sie meinen Kommentar?

Alles, was ich sagte, ist, dass es wie eine Benutzeroberfläche für Tablets aussieht?

Das ist verrückt, wie hoch die Zensur bei Microsoft ist

@russhy Ich habe Ihren Kommentar gelöscht, weil die verwendete Sprache gegen unseren Verhaltenskodex verstößt, nicht weil Sie der Meinung sind, dass unsere Benutzeroberfläche wie eine Tablet-Benutzeroberfläche aussehen würde. Es interessiert mich nicht besonders, was Sie sagen, solange Sie sich respektvoll ausdrücken.

oh ich verstehe, ich werde versuchen, in Zukunft die richtige Sprache zu verwenden, aber bitte lass es mich wissen, anstatt nur Sachen zu löschen
@DHowett-MSFT

@russhy sicher, tut mir leid. :Lächeln:

EIN

Wie wäre es mit der Standardeinstellung für die Json-Dateiansicht für fortgeschrittene Benutzer? Auf diese Weise können Benutzer die Einstellungen auf ihre Weise bearbeiten.

Dieses Terminal ist eine UWP-App, die Fluent-Design verwendet und in hohem Maße anpassbar ist. Vielleicht schauen Sie es sich an und formen Sie Windows Terminal ähnlich? Ich meine, sogar dieses Terminal sieht gut aus (obwohl es sich noch in einem frühen Stadium befindet).

Das Projekt ist ziemlich genial! Sogar alle Arten von Schriftarten werden perfekt wiedergegeben. Es ist leider langsamer als Terminal. Hope Terminal lässt sich von diesem Projekt inspirieren und bleibt dabei super bissig!

🦙 Scheint so, als ob dies eine gute Ergänzung für den

Ich stimme @michael-hawker zu - aber ich denke, Form Control befindet sich noch in der Angebotsphase?

Für PowerToys haben wir uns einige Mühe gegeben, um das XAML richtig zu machen: Alle Schriftgrößen, Ränder, Abstände und andere Attribute ahmen die W10-Einstellungen-App nach. Auf diese Weise sieht es aus und fühlt sich nativ zu Windows an, und ich denke, es wäre großartig, dieselbe UX zu teilen?

Ich freue mich, dazu beizutragen, indem ich das gesamte XAML, das gemäß der Spezifikation erforderlich ist, erstelle und aufpoliere. @zadjii-msft @DHowett . Gibt es bereits eine aktive Filiale?

81483649-0e146000-9240-11ea-86be-1c6e1d56a856

Ich glaube, es gibt eine Vielzahl von WIP-Zweigen, aber ich weiß ehrlich gesagt nicht, welche aktiv sind oder nicht. Ich glaube, @carlos-zamora und @cinnamon-msft _do_ wissen es aber

Der neueste Zweig ist cinnamon/settings-ui-v2 . Wir haben die Settings UI als separate App implementiert, die unter src/TerminalSettings zu finden ist.

Wir arbeiten noch daran, einen Plan/eine Spezifikation für die Einstellungs-Benutzeroberfläche als Ganzes zu organisieren, also zögern Sie nicht, die Seite Globals und Farbschemata vorerst aufzuräumen oder herumzustöbern.

Um es festzuhalten, einige der Dinge, die wir noch planen müssen, sind...

  • Änderungen an der Profilseite
  • Gesamtdesign der Keybindings-Seite
  • So synchronisieren Sie JSON und die Benutzeroberfläche für Einstellungen
    Wir haben einige Ideen, aber wir werden bald eine genaue Spezifikation für all das veröffentlichen.

Wie führe ich die App aus (Einstellungsseite)?

Wie führe ich die App aus (Einstellungsseite)?

Die Benutzeroberfläche für Einstellungen befindet sich in der aktiven Entwicklung und ist noch nicht in Windows Terminal enthalten.

Ja, das weiß ich, aber ist es nicht möglich, den Prototyp der Konfigurationsseite zu testen, um zu sehen, wie er aussehen kann? denn am Anfang des Themas stehen Bilder eines Prototyps.

Ich glaube, das sind nur UI-Mockups, die in Figma erstellt wurden, kein tatsächlicher Prototyp, mit dem noch gespielt werden kann.

Ich habe eine ZIP-Datei mit diesem angeblichen Prototyp heruntergeladen und weiß jetzt nicht, wie ich sie ausführen soll
Anotação 2020-07-08 164816

Ich glaube, das sind nur UI-Mockups, die in Figma erstellt wurden, kein tatsächlicher Prototyp, mit dem noch gespielt werden kann.

ja, kann es sein, aber das Bild scheint so echt zu sein ...

@Viniacamp Sie müssen die Anwendung selbst kompilieren. Im Verzeichnis src\TerminalSettings befindet sich eine TerminalSettings.sln Datei, die Sie in Visual Studio öffnen und dann erstellen und ausführen können. Aber wenn Sie nicht wissen, was Sie tun, können Sie Schwierigkeiten haben, es zum Laufen zu bringen - ich weiß, dass ich mit den Projektdateien herumspielen musste, um die Paketpfade für mein System anzupassen. Beachten Sie auch, dass es noch nicht so viel zu sehen gibt - es sind nur ein paar Mockups einiger Bildschirme, und das beinhaltet keines der Bilder, die oben in der Ausgabe veröffentlicht wurden.

Das Ding "nicht gespeicherte Änderungen" behindert die Einstellungen am unteren Rand der Seite, und sie können nicht nach oben gescrollt werden.

Wird es eine Autosave-Funktion geben? Werden sie gespeichert, sobald Sie einen Checkbutton aktivieren, einen Kippschalter umschalten oder einfach eine Einstellung ändern? (ereignisbasierte Speicherfunktion)

@SFM61319 Da alle geöffneten Instanzen von Terminal automatisch aktualisiert werden, wenn sich die Einstellungsdatei ändert, haben wir entschieden, dass es zu gefährlich und störend wäre, bei jeder Zustandsänderung zu speichern. Die Konfiguration eines einzelnen Profils würde jedes Terminalfenster während der Bearbeitung in ein absolutes Kaleidoskop von Schriftgrößen und -farben verwandeln.

@DHowett warte ich habe eine Idee, was mit einer Einstellung (in den Einstellungen) zum Aktivieren des automatischen Speicherns ist?

Und werden Ctrl + S die Einstellungen speichern, damit man nicht auf den Speichern-Button klicken muss (wenn Autosave keine Funktion ist)? (Tastaturbelegungen erleichtern die Bedienung)

Ich habe darüber nachgedacht, gibt es einen Plan, eine Schaltfläche/Option zum Importieren und Exportieren in das Farbschema aufzunehmen?

Ich weiß, dass es die Seite mit den JSON-Einstellungen gibt, aber es wäre auch nützlich, den Import vorhandener Farbschemata wie iTerm, JSON oder sogar rohe TXT-Dateien zu unterstützen.

@leonmsft du wirst denken ich bin verrückt, aber.. die Farbschemaseite mischt alle Farben o_O

  1. Campbell auswählen

image

  1. Tastatur runter auf Campbell Powershell

image

  1. Tastatur zurück zu Campbell

image

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen