Entwicklung eines Programmierassistenten zum Generieren von Flutter-Benutzeroberflächen oder anderen die Sie schnell iterieren möchten. Das Erstellen von Benutzeroberflächen Spaß machen und lohnenswert ist, aber auch harte Arbeit. Es geht nicht nur darum, dass der Code richtig ist, das Erscheinungsbild richtig ist und Ihr Team um sich auf eine Designrichtung zu einigen.
In diesem Tutorial erfahren Sie, wie Sie Flutter-Design-Agent Ein KI-gestütztes Code-Assist-Tool, das vom Flutter Developer Relations-Team entwickelt wurde bei Google. Dieses Open-Source-Projekt ist eine Erweiterung für Microsoft Visual Studio Code (VS Code), der spezifische Komponenten eines Flutter-Designs oder ThemeData-Objekts, einschließlich Farbschemata, Text- und Schaltflächenstile. Sie können das Projekt ändern, vorhandene Funktionen besser für Sie funktionieren, oder entwickeln Sie neue Befehle, Ihres Entwicklungs-Workflows.
Videoübersicht über das Projekt und wie Sie es erweitern können, einschließlich Erkenntnissen von den Entwicklern, AI Flutter Code Generator – Build with Google AI. Andernfalls können Sie mit der Erweiterung des Projekts beginnen, indem Sie der Anleitung folgen. weiter unten.
Abbildung 1. Flutter Theme-Agent wird im Entwicklungshost der VS Code-Erweiterung ausgeführt .
Projekt einrichten
In dieser Anleitung erfahren Sie, wie Sie das Projektset „Flutter Theme Agent“ abrufen. für Entwicklung und Tests bereit. Die allgemeinen Schritte lauten erforderliche Software, das Festlegen einiger Umgebungsvariablen, das Klonen des Projekts aus dem Code-Repository und führen die Konfigurationsinstallation aus.
Erforderliche Komponenten installieren
Das Projekt „Flutter Theme Agent“ wird als Erweiterung von Microsoft
Visual Studio Code (VS Code) und verwendet
Node.js und npm
zum Verwalten von Paketen und Ausführen der
. Die folgende Installationsanleitung gilt für einen Linux-Host.
Maschine.
So installieren Sie die erforderliche Software:
- Visual Studio Code installieren für Ihre Plattform.
- Installieren Sie
node
undnpm
gemäß der Installation für Ihre Plattform. - Wenn Sie Flutter for VS Code noch nicht installiert haben, folgen Sie der Installationsanleitung.
Projekt klonen und konfigurieren
Laden Sie den Projektcode herunter und verwenden Sie zum Herunterladen den Installationsbefehl npm
die erforderlichen Abhängigkeiten und
konfigurieren Sie das Projekt. Du brauchst
Versionsverwaltungssoftware git zum Abrufen des Projekts
Quellcode verfügbar.
So laden Sie den Projektcode herunter und konfigurieren ihn:
Klonen Sie das Git-Repository mit dem folgenden Befehl.
git clone https://github.com/google/generative-ai-docs`
Konfigurieren Sie optional Ihr lokales Git-Repository für den Sparse-Checkout. sodass Sie nur die Dateien für das Docs Agent-Projekt haben.
cd generative-ai-docs/ git sparse-checkout init --cone git sparse-checkout set examples/gemini/node/flutter_theme_agent
Rufen Sie das Projektstammverzeichnis des Flutter Theme Agent auf.
cd generative-ai-docs/examples/gemini/node/flutter_theme_agent/
Führen Sie den Installationsbefehl aus, um Abhängigkeiten herunterzuladen und das Projekt zu konfigurieren:
npm install
Erweiterung konfigurieren und testen
Sie sollten Ihre Installation jetzt testen können, indem Sie den Flutter Theme-Agent ausführen als Entwicklungserweiterung in VS Code auf Ihrem Gerät. Der Test öffnet eine separate VS Code-Fenster Extension Development Host, in dem sich die neue Erweiterung befindet verfügbar. In diesem neuen Fenster konfigurieren Sie den API-Schlüssel, den die Erweiterung für auf die Google Gemini API zugreifen.
So konfigurieren und testen Sie die Einrichtung:
- Starten Sie die VS Code-Anwendung.
- Erstellen Sie in VS Code ein neues Fenster, indem Sie File > Neues Fenster.
- Öffnen Sie das Flutter Theme Agent-Projekt, indem Sie File > Ordner öffnen,
und wählen Sie den Ordner
flutter_theme_agent/
aus. - Öffnen Sie in VS Code die Datei
flutter_theme_agent/package.json
. - Führen Sie die Erweiterung im Debug-Modus aus, indem Sie Ausführen > Debugging starten Dadurch wird ein separates VS Code-Fenster Extension Development Host geöffnet.
- Öffnen Sie die VS Code-Einstellungen, indem Sie Code > Einstellungen > Einstellungen.
- Holen Sie sich Google Gemini API-Schlüssel von der generativen KI-Entwicklerwebsite und kopieren Sie den Schlüsselstring.
Legen Sie den API-Schlüssel als Konfigurationseinstellung fest. In den Sucheinstellungen Geben Sie
flutter theme
ein, wählen Sie den Tab Nutzer aus und geben Sie im Feld Google > Gemini: API-Schlüssel auf den Link In settings.json bearbeiten. fügen Sie Ihren Gemini API-Schlüssel hinzu:"google.ai.apiKey": "your-api-key-here"
Speichern Sie die Änderungen in der Datei
settings.json
und schließen Sie die Tabs mit den Einstellungen.
So testen Sie die Erweiterungsbefehle:
- Schreiben Sie in VS Code im Fenster Extension Development Host einen Code. Kommentar mit einer Beschreibung der UI-Komponente, die Sie generieren möchten.
- Wählen Sie den Kommentartext mit den Komponenteneigenschaften aus.
- Öffnen Sie die Befehlspalette, indem Sie Ansicht > Befehlspalette.
- Geben Sie in der Befehlspalette
Flutter Theme
ein und wählen Sie eine der mit diesem Präfix.
Vorhandenen Befehl ändern
Am einfachsten lassen sich die Befehle im Flutter Theme Agent ändern. das Verhalten und die Funktionen der Erweiterung zu ändern.
Sowohl bei den Befehlen zum Kommentieren als auch bei der Überprüfung wird eine Reihe Shot-Prompts verwendet, Beispiele für Code und Kommentare für diesen Code sowie allgemeine Anweisungen für das KI-Sprachmodell. Anleitungen zu Kontextinformationen für den Prompt das Gemini-Sprachmodell beim Generieren einer Antwort. Durch Ändern des Prompts Anweisungen, Beispiele oder beides in den Befehlen "comment" oder "review" das Verhalten der vorhandenen Befehle ändern.
In dieser Anleitung wird erläutert, wie Sie den Befehl buttonstyle.ts
ändern, indem Sie
den Prompt-Text des Befehls ändern.
Bearbeiten des Befehls buttonstyle.ts
:\
- Starten Sie die VS Code-Anwendung.
- Erstellen Sie in VS Code ein neues Fenster, indem Sie File > Neues Fenster.
- Öffnen Sie das Flutter Theme Agent-Projekt, indem Sie File > Ordner öffnen,
und wählen Sie den Ordner
flutter_theme_agent/
aus. Datei „
flutter_theme_agent/src/buttonstyle.ts
“ öffnen.Verhalten des Befehls
buttonstyle.ts
ändern:\Bearbeiten Sie in der Datei
buttonstyle.ts
die KonstanteBUTTONSTYLE_CONTEXT
. um unterschiedliche Anweisungen hinzuzufügen.const BUTTONSTYLE_CONTEXT=` ButtonStyle should only define properties that exist for a ButtonStyle object. ButtonStyle objects have the following properties. The buttons can ONLY be styled by setting these properties. No other properties: alignment → AlignmentGeometry? // The alignment of the button's child. ...
Optional:
BUTTONSTYLE_CONTEXT
in der Dateibuttonstyle.ts
fügen Sie ein weiteres Beispiel für eine Schaltflächenstilanweisung und -ausgabe hinzu. eines der vorhandenen Beispiele ersetzen.... Here's an example prompt: Create a ButtonStyle where the button is green by default and blue on hover state. And elevation is 14, no surface tint color, and the splash effect is turned off. Here's an example of good Dart code: ButtonStyle( backgroundColor: MaterialStateProperty.resolveWith<Color?>( ...
Speichern Sie die Änderungen an der Datei
buttonstyle.ts
.
So testen Sie den geänderten Befehl:
- Starten Sie den Debugger im Projektfenster der VS Code-Erweiterung neu, indem Sie wählen Sie Ausführen > Starten Sie das Debugging neu.
Wählen Sie im VS Code-Fenster Extension Development Host einen Code aus. und beschreiben Sie im Editorfenster den gewünschten Schaltflächenstil, Beispiel:
// blue, lickable buttons that light up when you hover over them`
Öffnen Sie die Befehlspalette, indem Sie Ansicht > Befehlspalette.
Geben Sie in der Befehlspalette
Flutter
ein und wählen Sie das Flutter-Design aus Agent: Erstellen Sie einen Flutter ButtonStyle-Befehl.
Neuen Befehl erstellen
Sie können den Flutter-Design-Agent erweitern, indem Sie neue Befehle erstellen,
ganz neue Aufgaben mit der Gemini API ausführen. Jede Befehlsdatei, z. B.
buttonstyle.ts
und colorscheme.ts
sind weitgehend eigenständig und umfassen
zum Erfassen von Text aus dem aktiven Editor, Erstellen eines Prompts,
an die Gemini API, um einen Prompt zu senden und die Antwort zu übergeben.
Abbildung 2: Neuer Befehl des Flutter Theme Agent in der VS Code-Erweiterung Entwicklungshostfenster.
In dieser Anleitung wird erklärt, wie Sie einen neuen Befehl mit dem Code
den vorhandenen Befehl colorscheme.ts
als Vorlage. Mit dieser Aktualisierung ändert sich
um die einschließende Syntax des ColorScheme
-Objekts nicht einzubeziehen, sodass
Sie müssen diese Syntax nach der Generierung nicht entfernen und die Ausgabe visualisieren
schneller.
Um einen Befehl zu erstellen, mit dem nur eine Liste von Farben für ein ColorScheme
generiert wird
-Objekt enthält:
- Erstellen Sie eine Kopie der Datei
flutter_theme_agent/src/colorscheme.ts
mit dem Namencolorscheme2.ts
im Verzeichnissrc/
. - Öffnen Sie in VS Code die Datei
src/colorscheme2.ts
. Benennen Sie in der Datei
colorscheme2.ts
die FunktiongenerateColorScheme
ingenerateColorScheme2
:export async function generateColorScheme2(){ vscode.window.showInformationMessage('Generating Color Scheme...');
Ändern Sie die Prompt-Anleitung in der Datei
colorscheme2.ts
. Bearbeiten Sie die Anleitung für dieCOLORSCHEME_CONTEXT
-Codegenerierung, indem Sie denColorScheme(
aus dem Beispielcode in Zeile 51 aus und legen Sie eine leere Zeile fest.... Here's the example of good Dart code: brightness: Brightness.light, primary: Color(0xffFF80AB), ...
Entferne die schließenden Klammern „
)
“ vom Ende des in eine leere Zeile.... inversePrimary: Color(0xffD15B9D), surfaceTint: Color(0xffFF80AB), This example code is a good ...
Wiederholen Sie diese Änderungen für das zweite Beispiel. Im
COLORSCHEME_CONTEXT
String in Zeile 87, entferne denColorScheme(
-Text und in eine leere Zeile.Entfernen Sie in Zeile 115 die schließenden Klammern "
)
". aus der der Farbliste in eine leere Zeile.Fügen Sie im String
COLORSCHEME_CONTEXT
eine Anweisung hinzu, die das Attribut nicht einschließen soll der einschließenden Syntax:... - The color scheme must be accessible and high-contrast. In the response, only include the list of colors and nothing else. Do not include a starting "ColorScheme(" prefix or an ending ")" suffix. Here's an example user prompt: ...
Speichern Sie die Änderungen an der Datei
colorscheme2.ts
.
Neuen Befehl einbinden
Nachdem Sie den Code für den neuen Befehl fertiggestellt haben, müssen Sie ihn in
den Rest der Erweiterung. Aktualisieren Sie die Dateien extension.ts
und package.json
auf
den neuen Befehl Teil der Erweiterung machen und VS Code in der Lage sein,
den neuen Befehl.
So binden Sie den neuen Befehl in den Erweiterungscode ein:
- Öffnen Sie in VS Code die Datei
flutter_theme_agent/src/extension.ts
. Importieren Sie den neuen Befehlscode in die Erweiterung, indem Sie einen neuen Import hinzufügen. .
import { generateColorScheme2 } from './components/colorscheme2';
Registrieren Sie den neuen Befehl, indem Sie den folgenden Code zur
activate()
.export function activate(context: vscode.ExtensionContext) { ... vscode.commands.registerCommand('flutter-theme-agent.generateColorScheme2', generateColorScheme2); ... }
Speichern Sie die Änderungen an der Datei
extension.ts
.
So integrieren Sie den Befehl „name“ in das Erweiterungspaket:
- Öffnen Sie in VS Code die Datei
flutter_theme_agent/package.json
. Fügen Sie den neuen Befehl im Abschnitt
commands
der Paketdatei hinzu."contributes": { "commands": [ ... { "command": "flutter-theme-agent.generateColorScheme2", "title": "Flutter Theme Agent: My New Code Generator." } ],
Speichern Sie die Änderungen an der Datei
package.json
.
Neuen Befehl testen
Sobald Sie die Codierung des Befehls abgeschlossen und ihn in den können Sie sie testen. Der neue Befehl ist nur im VS Code verfügbar Extension Development Host und nicht im VS Code-Fenster, in dem Sie den Code für die Erweiterung bearbeitet.
So testen Sie den geänderten Befehl:
- Starten Sie den Debugger im Projektfenster der VS Code-Erweiterung neu, indem Sie wählen Sie Ausführen > Debugging neu starten, wodurch ein separater Erweiterungsentwicklungshost.
- Öffnen Sie in VS Code im Fenster Extension Development Host ein Flutter-Objekt. Projektentwicklungsprojekts.
- Öffnen Sie im selben Fenster ein Code-Editor-Fenster, der gewünschten Komponente und wählen Sie den Kommentartext aus.
- Öffnen Sie die Befehlspalette, indem Sie Ansicht > Befehlspalette.
- Geben Sie in der Befehlspalette
Flutter Theme
ein und wählen Sie Flutter Theme Agent: My New Code Generator (Flutter-Design-Agent: My New Code Generator)
Zusätzliche Ressourcen
Weitere Informationen zum Projekt „Flutter Theme Agent“ finden Sie in der Code-Repository gespeichert. Wenn Sie Hilfe bei der App-Entwicklung benötigen oder Collab-Partner finden Sie in der Discord-Server der Google Developers-Community.
Produktionsanwendungen
Wenn Sie vorhaben, den Flutter Theme Agent für eine große Zielgruppe bereitzustellen, sollten Sie beachten, Die Nutzung der Google Gemini API kann einer Ratenbegrenzung und anderen Nutzungsbeschränkungen. Wenn Sie eine Produktionsanwendung mit dem Gemini-Modell erstellen möchten, auschecken Google Cloud Vertex AI um die Skalierbarkeit und Zuverlässigkeit Ihrer Anwendung zu erhöhen.