Verwenden Sie die Cookiecutter-Erweiterung
Cookiecutter bietet eine grafische Benutzeroberfläche zum Ermitteln von Vorlagen, Eingabevorlagenoptionen und zum Erstellen von Projekten und Dateien. Visual Studio 2017 und höher enthält die Cookiecutter-Erweiterung. Sie kann separat in früheren Versionen von Visual Studio installiert werden.
In Visual Studio ist die Cookiecutter-Erweiterung unter Ansicht>Cookiecutter-Explorer verfügbar:
Voraussetzungen
Visual Studio. Führen Sie zum Installieren des Produkts die Schritte in Installieren von Visual Studioaus.
Python 3.3 oder höher (32-Bit oder 64-Bit) oder Anaconda 3 4.2 oder höher (32-Bit oder 64-Bit).
Wenn kein geeigneter Python-Dolmetscher verfügbar ist, zeigt Visual Studio eine Warnung an.
Wenn Sie einen Python-Dolmetscher installieren, während Visual Studio ausgeführt wird, wählen Sie die Option Home im Cookiecutter-Explorer Symbolleiste aus, um den neu installierten Interpreter zu erkennen. Weitere Informationen finden Sie unter Erstellen und Verwalten von Python-Umgebungen in Visual Studio.
Arbeiten mit Cookiecutter-Explorer
In Cookiecutter Explorerkönnen Sie Vorlagen durchsuchen und auswählen, Vorlagen auf Ihrem lokalen Computer klonen, Vorlagenoptionen festlegen und Code aus Vorlagen erstellen.
Vorlagen durchsuchen
Sie können Vorlagen im Cookiecutter-Explorer durchsuchen, um zu sehen, was bereits installiert ist und was verfügbar ist.
Wählen Sie im Cookiecutter Explorerdie Option Home auf der Symbolleiste aus, um die verfügbaren Vorlagen anzuzeigen.
Auf der Startseite wird eine Liste mit Vorlagen angezeigt, aus der sie auswählen können, die in vier mögliche Gruppen unterteilt sind:
Gruppe Beschreibung Hinweise Installiert Auf Ihrem lokalen Computer installierte Vorlagen. Wenn eine Onlinevorlage verwendet wird, wird ihr Repository automatisch in einen Unterordner von ~/.cookiecuttersgeklont. Sie können eine installierte Vorlage aus Ihrem System entfernen, indem Sie Löschen auf der Symbolleiste Cookiecutter Explorer auswählen. Empfohlen Vorlagen, die aus dem empfohlenen Feed geladen wurden. Microsoft kuratiert den Standardfeed. Sie können den Feed anpassen, indem Sie die Schritte unter Cookiecutter-Optionen festlegen befolgen. GitHub GitHub-Suchergebnisse für das Schlüsselwort "cookiecutter". Die Liste der Git-Repositorys wird im paginierten Formular zurückgegeben. Wenn die Liste der Ergebnisse die aktuelle Ansicht übersteigt, können Sie die Option "Mehr laden" auswählen, um die nächsten paginierten Ergebnisse in der Liste anzuzeigen. Benutzerdefiniert Alle benutzerdefinierten Vorlagen, die über Cookiecutter Explorerdefiniert sind. Wenn ein benutzerdefinierter Vorlagenspeicherort im Cookiecutter-Explorer Suchfeld eingegeben wird, wird der Speicherort in dieser Gruppe angezeigt. Sie können eine benutzerdefinierte Vorlage definieren, indem Sie den vollständigen Pfad zum Git-Repository oder den vollständigen Pfad zu einem Ordner auf Dem lokalen Datenträger eingeben. Um die Liste der verfügbaren Vorlagen für eine bestimmte Kategorie ein- oder auszublenden, wählen Sie den Pfeil neben der Kategorie aus.
Klonen von Vorlagen
Sie können mit den verfügbaren Vorlagen im Cookiecutter Explorer arbeiten, um lokale Kopien zu erstellen, von denen aus Sie arbeiten können.
Wählen Sie in Cookiecutter Explorereine Vorlage aus. Informationen zur ausgewählten Vorlage werden unten auf der Cookiecutter Explorer Homepage angezeigt.
Die Vorlagenzusammenfassung enthält Links zu weiteren Informationen zur Vorlage. Sie können zur GitHub-Repository-Seite für die Vorlage wechseln, die Wiki-Seite der Vorlage anzeigen oder die gemeldeten Problemefinden.
Um die ausgewählte Vorlage zu klonen, wählen Sie Weiteraus. Cookiecutter erstellt eine lokale Kopie der Vorlage.
Das Klonverhalten hängt vom Typ der ausgewählten Vorlage ab:
Vorlagentyp | Benehmen |
---|---|
Installiert | Wenn die ausgewählte Vorlage in einer vorherigen Visual Studio-Sitzung installiert wurde, wird sie automatisch gelöscht, und die neueste Version wird auf Ihrem lokalen Computer installiert und geklont. |
Empfohlen | Die ausgewählte Vorlage wird geklont und auf Dem lokalen Computer installiert. |
GitHub | Die ausgewählte Vorlage wird geklont und auf Dem lokalen Computer installiert. |
benutzerdefinierte Suchfunktion | - URL: Wenn Sie eine benutzerdefinierte URL für ein Git-Repository in das Cookiecutter Explorer Suchfeld eingeben und dann die Vorlage auswählen, wird die ausgewählte Vorlage geklont und auf Ihrem lokalen Computer installiert. - Ordnerpfad: Wenn Sie einen benutzerdefinierten Ordnerpfad in das Suchfeld eingeben und die Vorlage auswählen, lädt Visual Studio diese Vorlage ohne Klonen. |
Wichtig
Cookiecutter-Vorlagen werden unter einem einzigen Ordner geklont ~/.cookiecutters. Jeder Unterordner wird nach dem Git-Repositorynamen benannt, der nicht den GitHub-Benutzernamen enthält. Konflikte können auftreten, wenn Sie verschiedene Vorlagen mit demselben Namen klonen, die von verschiedenen Autoren stammen. In diesem Fall verhindert Cookiecutter, dass Sie die vorhandene Vorlage mit einer anderen Vorlage mit demselben Namen überschreiben. Zum Installieren der anderen Vorlage müssen Sie zuerst die vorhandene Vorlage löschen.
Festlegen von Vorlagenoptionen
Nachdem Sie eine Vorlage lokal installiert und geklont haben, zeigt Cookiecutter die Seite Optionen an. Auf dieser Seite können Sie Einstellungen angeben, z. B. den Speicherort des Ordnerpfads für generierte Dateien:
Jede Cookiecutter-Vorlage definiert einen eigenen Satz von Optionen. Wenn ein Standardwert für eine Einstellung verfügbar ist, zeigt die Options Seite den vorgeschlagenen Text im entsprechenden Feld an. Ein Standardwert kann ein Codeausschnitt sein, häufig wenn es sich um einen dynamischen Wert, der andere Optionen verwendet.
In diesem Beispiel wird der Vorlagenname als cookiecutter-flask/cookiecutter-flask definiert. Wenn ein Einstellungswert geändert werden kann, steht der Feldtext zur Bearbeitung zur Verfügung.
Geben Sie im Feld Create to den Ordnerpfad für alle dateien ein, die von Cookiecutter generiert werden.
Legen Sie als Nächstes weitere gewünschte Optionen für die Vorlage fest, z. B.:
- full_name: Der vollständige Name, der auf die Vorlage angewendet werden soll.
- E-Mail: Die E-Mail-Adresse des Vorlagenautors.
- github_username: Der GitHub-Alias des Vorlagenautors.
- python_version: Die Ziel-Python-Version für Web-Apps, die aus der Vorlage erstellt wurden.
Festlegen von Standardwerten mit einer Konfigurationsdatei
Sie können Standardwerte für bestimmte Optionen mit einer Benutzerkonfigurationsdatei anpassen. Wenn die Cookiecutter-Erweiterung eine Benutzerkonfigurationsdatei erkennt, überschreibt sie die Standardwerte der Vorlage mit den Konfigurationsdateiwerten. Weitere Informationen zu diesem Verhalten finden Sie im Abschnitt User Config der Cookiecutter-Dokumentation.
Deaktivieren angegebener Aufgaben
Einige Vorlagen identifizieren bestimmte Visual Studio-Aufgaben, die nach der Codegenerierung ausgeführt werden sollen. Allgemeine Aufgaben umfassen das Öffnen eines Webbrowsers, das Öffnen von Dateien im Editor und das Installieren von Abhängigkeiten. Wenn eine Vorlage bestimmte Aufgaben identifiziert, wird die Einstellung Zusätzliche Aufgaben nach Abschluss ausführen zur Liste der Optionen hinzugefügt. Sie können diese Einstellung konfigurieren, um die angegebenen Visual Studio-Aufgaben zu deaktivieren.
Erstellen von Code aus Vorlagen
Nachdem Sie die Vorlagenoptionen festgelegt haben, ist Cookiecutter bereit, die Projektdateien zu erstellen und den Code zu generieren.
Das Dialogfeld zeigt eine Schaltfläche nach der Liste der Optionen an. Der Text für die Schaltfläche hängt von der Vorlage ab. Möglicherweise werden beispielsweise die Optionen Ordner erstellen und öffnen und Zur Projektmappe hinzufügen angezeigt.
Wählen Sie auf der Seite Optionen die Schaltfläche aus, die auf die Liste der Optionen folgt, z. B. Ordner erstellen und öffnen oder Zur Lösung hinzufügen.
Cookiecutter generiert den Code. Wenn der Ausgabeordner nicht leer ist, wird eine Warnung angezeigt.
Wenn Sie mit der Ausgabe der Vorlage vertraut sind und es Ihnen nichts ausmacht, Dateien zu überschreiben, wählen Sie OK aus, um die Warnung zu ignorieren.
Wählen Sie andernfalls Abbrechenaus, geben Sie einen leeren Ordner an, und kopieren Sie dann die erstellten Dateien manuell in Ihren nicht leeren Ausgabeordner.
Nachdem Cookiecutter die Dateien erfolgreich erstellt hat, öffnet Visual Studio die Vorlagenprojektdateien im Projektmappen-Explorer.
Festlegen von Cookiecutter-Optionen
Cookiecutter-Optionen stehen über Extras>Optionen>Cookiecutter zur Verfügung:
Option | Beschreibung |
---|---|
Suchen nach aktualisierten Vorlagen | Steuert, ob Cookiecutter automatisch online nach Updates der installierten Vorlagen sucht. |
Empfohlene Feed-URL | Speicherort der empfohlenen Vorlagenfeeddatei. Der Speicherort kann eine URL oder ein Pfad zu einer lokalen Datei sein. Lassen Sie die URL leer, um den von Microsoft kuratierten Standardfeed zu verwenden. Der Feed bietet eine einfache, durch Zeilenumbrüche getrennte Liste mit Vorlagenspeicherorten. Um Änderungen am kuratierten Feed anzufordern, stellen Sie einen Pull-Request gegen die Quelle auf GitHub. |
Anzeigen von Hilfe | Steuert die Sichtbarkeit der Hilfeinformationsleiste am oberen Rand des Cookiecutter-Fensters. |
Optimieren von Cookiecutter-Vorlagen für Visual Studio
Die Cookiecutter-Erweiterung für Visual Studio unterstützt Vorlagen, die für Cookiecutter v1.4 erstellt wurden. Weitere Informationen zum Erstellen von Cookiecutter-Vorlagen finden Sie in der Cookiecutter-Dokumentation.
Das Standardrendering von Vorlagenvariablen hängt vom Datentyp (Zeichenfolge oder Liste) ab:
- String: Der Datentyp "String" verwendet eine Beschriftung für den Variablennamen, ein Textfeld zum Eingeben des Werts und ein Wasserzeichen, das den Standardwert anzeigt. Eine QuickInfo im Textfeld zeigt den Standardwert an.
- Listen-: Der Datentyp "Liste" verwendet eine Beschriftung für den Variablennamen und ein Kombinationsfeld zum Auswählen eines Werts. Eine QuickInfo im Kombinationsfeld zeigt den Standardwert an.
Sie können das Rendering verbessern, indem Sie andere Metadaten in Ihrer cookiecutter.json-Datei angeben, die für Visual Studio spezifisch ist (und von der Cookiecutter CLI ignoriert wird). Alle Eigenschaften sind optional:
Eigentum | Beschreibung |
---|---|
label |
Gibt den Text an, der oberhalb des Editors für die Variable angezeigt werden soll, anstelle des Namens der Variablen. |
description |
Hiermit wird die QuickInfo angegeben, die anstelle des Standardwerts für diese Variable im Bearbeitungssteuerelement angezeigt werden soll. |
url |
Ändert die Beschriftung in einen Link mit einem Tooltip, der die URL anzeigt. Wenn Sie den Link auswählen, wird der Standardbrowser des Benutzers mit dieser URL geöffnet. |
selector |
Ermöglicht die Anpassung des Editors für eine Variable. Folgende Auswahlmöglichkeiten werden derzeit unterstützt: - string : Standardtextfeld, Standard für Zeichenfolgen. - list : Standard-Kombinationsfeld, voreingestellt für Listen. - yesno : Kombinationsfeld zum Auswählen zwischen y und n , für Strings. - odbcConnection : Textfeld mit einer Ellipsenschaltfläche (...), die ein Dialogfeld für die Datenbankverbindung öffnet. |
Das folgende Beispiel zeigt, wie Renderingeigenschaften festgelegt werden:
{
"site_name": "web-app",
"python_version": ["3.5.2"],
"use_azure": "y",
"_visual_studio": {
"site_name": {
"label": "Site name",
"description": "E.g. <site-name>.azurewebsites.net (can only contain alphanumeric characters and `-`)"
},
"python_version": {
"label": "Python version",
"description": "The version of Python to run the site on"
},
"use_azure" : {
"label": "Use Azure",
"description": "Include Azure deployment files",
"selector": "yesno",
"url": "https://azure.microsoft.com"
}
}
}
Ausführen von Visual Studio-Aufgaben
Cookiecutter verfügt über ein Feature namens Post-Generate Hooks, mit dem Sie beliebigen Python-Code ausführen können, nachdem die Dateien generiert wurden. Obwohl das Feature flexibel ist, lässt es keinen einfachen Zugriff auf Visual Studio zu.
Mit diesem Feature können Sie eine Datei im Visual Studio-Editor oder im Webbrowser öffnen. Sie können auch die Visual Studio-Benutzeroberfläche auslösen, die den Benutzer auffordert, eine virtuelle Umgebung zu erstellen und Paketanforderungen zu installieren.
Um diese Szenarien zuzulassen, sucht Visual Studio in der cookiecutter.json-Datei nach erweiterten Metadaten. Sie sucht nach den Befehlen, die ausgeführt werden sollen, nachdem der Benutzer die generierten Dateien im Projektmappen-Explorer geöffnet oder nachdem die Dateien einem vorhandenen Projekt hinzugefügt wurden. (Die Benutzenden können die Ausführung der Aufgaben deaktivieren, indem sie die Vorlagenoption Ausführen zusätzlicher Aufgaben nach Abschluss deaktivieren.)
Das folgende Beispiel zeigt, wie erweiterte Metadaten in der cookiecutter.json Datei festgelegt werden:
"_visual_studio_post_cmds": [
{
"name": "File.OpenFile",
"args": "{{cookiecutter._output_folder_path}}\\readme.txt"
},
{
"name": "Cookiecutter.ExternalWebBrowser",
"args": "https://video2.skills-academy.com"
},
{
"name": "Python.InstallProjectRequirements",
"args": "{{cookiecutter._output_folder_path}}\\dev-requirements.txt"
}
]
Geben Sie die Befehle anhand des Namens an, und verwenden Sie den nicht lokalisierten (englischen) Namen, um an lokalisierten Installationen von Visual Studio zu arbeiten. Sie können Befehlsnamen im Fenster "Visual Studio Command" testen und ermitteln.
Wenn Sie ein einzelnes Argument übergeben möchten, geben Sie das Argument als Zeichenfolge an, wie für die name
Metadaten im vorherigen Beispiel gezeigt.
Wenn Sie kein Argument übergeben müssen, behalten Sie den Wert als leere Zeichenfolge bei, oder lassen Sie ihn aus der JSON-Datei weg:
"_visual_studio_post_cmds": [
{
"name": "View.WebBrowser"
}
]
Verwenden Sie für mehrere Argumente ein Array. Teilen Sie für Optionen die Option und deren Wert in separate Argumente, und verwenden Sie wie in diesem Beispiel gezeigt die richtigen Anführungszeichen:
"_visual_studio_post_cmds": [
{
"name": "File.OpenFile",
"args": [
"{{cookiecutter._output_folder_path}}\\read me.txt",
"/e:",
"Source Code (text) Editor"
]
}
]
Argumente können auf andere Cookiecutter-Variablen verweisen. Im vorherigen Beispiel wird die interne _output_folder_path
Variable verwendet, um einen absoluten Pfad zum Generieren von Dateien zu bilden.
Der Befehl Python.InstallProjectRequirements
funktioniert nur, wenn Dateien zu einem vorhandenen Projekt hinzugefügt werden. Diese Einschränkung besteht, da der Befehl vom Python-Projekt im Projektmappen-Explorerverarbeitet wird, und es gibt kein Projekt, das die Nachricht empfangen soll, während im Projektmappen-Explorer - Ordneransicht.
Behandeln von Vorlagenproblemen
Überprüfen Sie die folgenden Abschnitte für Tipps zur Problemlösung Ihrer Python-Umgebung und Ihres Codes, wenn Sie mit Cookiecutter arbeiten.
Fehler beim Laden der Vorlage
Einige Vorlagen verwenden möglicherweise ungültige Datentypen in ihrer cookiecutter.json Datei, z. B. boolescher Wert. Sie können diese Instanzen den Verfassenden der Vorlage melden, indem Sie auf den Link Issues im Vorlageninformationsbereich klicken.
Fehler beim Hookskript
Einige Vorlagen verwenden möglicherweise Skripts nach der Generierung, die nicht mit der Cookiecutter-Benutzeroberfläche kompatibel sind. Beispielsweise können Skripts, die den Benutzer zur Eingabe abfragen, aufgrund fehlender Terminalkonsole fehlschlagen.
Hook-Skript unter Windows nicht unterstützt
Wenn die Postskriptdatei .shist, ist sie möglicherweise nicht mit einer Anwendung auf Ihrem Windows-Computer verknüpft. Möglicherweise wird eine Windows-Dialogfeldaufforderung angezeigt, um eine kompatible Anwendung im Windows Store zu finden.
Vorlagen mit bekannten Problemen
Sie können herausfinden, ob eine Vorlage bekannte Probleme aufweist, indem Sie den Link Probleme in der Vorlagenzusammenfassung im Cookiecutter Explorerverwenden:
Der Link öffnet die Seite "GitHub-Probleme" für die Vorlage: