Compilarás una herramienta de asistente de programación para generar interfaces de usuario de Flutter o cualquier en el que quieras iterar rápidamente. Crear interfaces de usuario puede ser divertido y gratificante, pero también es un trabajo arduo. No se trata solo de conseguir el código correcto, también logra una apariencia y un estilo correctos, y logra que tu equipo para acordar una dirección de diseño.
En este instructivo, se muestra cómo extender Agente de temas de Flutter, una herramienta de asistencia para código potenciada por IA y desarrollada por el equipo de Relaciones con Desarrolladores de Flutter en Google. Este proyecto de código abierto es una extensión para Microsoft Visual Studio Code (VS Code) que genera código de componentes de un tema de Flutter o un objeto ThemeData, incluidos los esquemas de colores, estilos de texto y estilos de botones. Puedes modificar el proyecto para que estas funcionan mejor para ti, o crea nuevos comandos para brindar una mejor asistencia en el flujo de trabajo de desarrollo.
Para ver una descripción general en video del proyecto y cómo extenderlo, incluidas las estadísticas de la gente que lo creó, mira Generador de código de Flutter con IA: Compila con la IA de Google. De lo contrario, puedes seguir las instrucciones para extender el proyecto a continuación.
Figura 1: El agente de temas de Flutter que se ejecuta en el host de desarrollo de extensiones de VS Code en la ventana modal.
Configura el proyecto
Estas instrucciones te guiarán para obtener el proyecto de Flutter Theme Agent configurado para el desarrollo y las pruebas. Los pasos generales son instalar algunos el software de requisitos previos, la configuración de algunas variables de entorno, la clonación del proyecto del repositorio de código y ejecutar la instalación de la configuración.
Instala los requisitos previos
El proyecto Flutter Theme Agent se ejecuta como una extensión de Microsoft
Visual Studio Code (VS Code) y
Node.js y npm
para administrar paquetes y ejecutar
y mantener la integridad de su aplicación. Las siguientes instrucciones de instalación son para un host de Linux
máquina.
Para instalar el software requerido, sigue estos pasos:
- Instala Visual Studio Code para tu plataforma.
- Instala
node
ynpm
siguiendo la instalación instrucciones para tu plataforma. - Si aún no instalaste Flutter para VS Code, sigue las instrucciones de instalación.
Clona y configura el proyecto
Descarga el código del proyecto y usa el comando de instalación npm
para descargarlo
las dependencias necesarias y configurar el proyecto. Necesitas
Software de control de fuente git para recuperar el proyecto
código fuente.
Para descargar y configurar el código del proyecto, haz lo siguiente:
Clona el repositorio de Git con el siguiente comando.
git clone https://github.com/google/generative-ai-docs`
Opcionalmente, configura tu repositorio de Git local para usar el resultado escaso. Así, solo tendrá los archivos del proyecto del Agente de Documentos.
cd generative-ai-docs/ git sparse-checkout init --cone git sparse-checkout set examples/gemini/node/flutter_theme_agent
Navega al directorio raíz del proyecto de Flutter Theme Agent.
cd generative-ai-docs/examples/gemini/node/flutter_theme_agent/
Ejecuta el comando de instalación para descargar dependencias y configurar el proyecto:
npm install
Configura y prueba la extensión
Ahora deberías poder probar tu instalación ejecutando Flutter Theme Agent como una extensión de desarrollo en VS Code en tu dispositivo. La prueba abre una ventana Ventana Extension Development Host para VS Code en la que se encuentra la extensión nueva disponibles. En esta ventana nueva, configurarás la clave de API que usa la extensión para acceder a la API de Google Gemini.
Para establecer y probar tu configuración, sigue estos pasos:
- Inicia la aplicación de VS Code.
- En VS Code, selecciona File > para crear una ventana nueva Nueva ventana.
- Abre el proyecto Flutter Theme Agent seleccionando File > Abrir carpeta
y seleccionando la carpeta
flutter_theme_agent/
. - En VS Code, abre el archivo
flutter_theme_agent/package.json
. - Para ejecutar la extensión en modo de depuración, selecciona Run > Inicia la depuración. En este paso, se abre una ventana separada del Host de desarrollo de extensión de VS Code.
- Abre la configuración de VS Code. Para ello, selecciona Code > Configuración > Configuración.
- Obtén un Clave de API de Google Gemini desde el sitio de Generative AI Developer y copia la cadena de la clave.
Establece la clave de API como un parámetro de configuración. En Configuración de búsqueda escribe
flutter theme
, selecciona la pestaña Usuario y en la pestaña Google > el parámetro de configuración de la clave de API de Gemini, haz clic en el vínculo Editar en settings.json y agrega tu clave de API de Gemini:"google.ai.apiKey": "your-api-key-here"
Guarda los cambios en el archivo
settings.json
y cierra las pestañas de configuración.
Para probar los comandos de la extensión, haz lo siguiente:
- En la ventana Extension Development Host de VS Code, escribe un código. comentario que describa el componente de la interfaz de usuario que deseas generar.
- Selecciona el texto del comentario con las características del componente.
- Abre la paleta de comandos seleccionando Ver > Paleta de comandos.
- En la paleta de comandos, escribe
Flutter Theme
y selecciona una de las siguientes opciones: comandos con ese prefijo.
Modificar comando existente
Modificar los comandos proporcionados en Flutter Theme Agent es la forma más sencilla de cambiar el comportamiento y las capacidades de la extensión.
Tanto los comandos comentarios como revisión usan un enfoque de instrucción de algunas tomas con ejemplos de código y comentarios para ese código, así como algunas instrucciones para el modelo de lenguaje de IA. En esta instrucción, se guía la información de contexto el modelo de lenguaje de Gemini para generar una respuesta. Si cambias el mensaje instrucciones, ejemplos o ambos en los comandos de comentario o revisión, puede cambiar el comportamiento de cada uno de los comandos existentes.
En este conjunto de instrucciones, se explica cómo modificar el comando buttonstyle.ts
cambiar el texto del símbolo del sistema.
Prepárate para editar el comando buttonstyle.ts
:
- Inicia la aplicación de VS Code.
- En VS Code, selecciona File > para crear una ventana nueva Nueva ventana.
- Abre el proyecto Flutter Theme Agent seleccionando File > Abrir carpeta
y seleccionando la carpeta
flutter_theme_agent/
. Abre el archivo
flutter_theme_agent/src/buttonstyle.ts
.Para modificar el comportamiento del comando
buttonstyle.ts
, haz lo siguiente:En el archivo
buttonstyle.ts
, edita la constanteBUTTONSTYLE_CONTEXT
. para incluir diferentes instrucciones.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. ...
De manera opcional, en el archivo
buttonstyle.ts
,BUTTONSTYLE_CONTEXT
constante, agrega otro ejemplo de una instrucción y resultado de estilo de botón, o reemplazar uno de los ejemplos existentes.... 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?>( ...
Guarda los cambios en el archivo
buttonstyle.ts
.
Para probar el comando modificado, sigue estos pasos:
- En la ventana del proyecto de la extensión de VS Code, reinicia el depurador. Para ello, haz lo siguiente: selecciona Ejecutar > Reinicia la depuración
En la ventana Extension Development Host de VS Code, selecciona un código. comentario en la ventana del editor que describa el estilo de botón que desees, por ejemplo:
// blue, lickable buttons that light up when you hover over them`
Abre la paleta de comandos seleccionando Ver > Paleta de comandos.
En la paleta de comandos, escribe
Flutter
y selecciona el Tema Flutter Agente: Crea un comando de Flutter ButtonStyle.
Crear comando nuevo
Puedes extender el agente de temas de Flutter creando comandos nuevos que realicen
tareas completamente nuevas con la API de Gemini. Cada archivo de comando, como
buttonstyle.ts
y colorscheme.ts
, en su mayoría, son independientes.
código para recopilar texto del editor activo, redactar un mensaje, conectar
a la API de Gemini, enviar una instrucción y entregar la respuesta.
Figura 2: Nuevo comando de agente de tema de Flutter en la extensión de VS Code Ventana de Host de desarrollo.
Este conjunto de instrucciones explica cómo crear un nuevo comando usando el código de
un comando existente, colorscheme.ts
, como plantilla. Esta actualización cambia la
comando para no incluir la sintaxis adjunta del objeto ColorScheme
, de modo que
no tienes que quitar esta sintaxis después de generarla y visualizar el resultado
más rápido.
Para crear un comando que genere solo una lista de colores para una ColorScheme
objeto:
- Haz una copia del archivo
flutter_theme_agent/src/colorscheme.ts
llamadacolorscheme2.ts
en el directoriosrc/
. - En VS Code, abre el archivo
src/colorscheme2.ts
. En el archivo
colorscheme2.ts
, cambia el nombre de la funcióngenerateColorScheme
agenerateColorScheme2
export async function generateColorScheme2(){ vscode.window.showInformationMessage('Generating Color Scheme...');
Cambia las instrucciones del mensaje en el archivo
colorscheme2.ts
. Edita el Instrucciones de generación de código deCOLORSCHEME_CONTEXT
quitandoColorScheme(
del código de ejemplo en la línea 51 y convertirlo en una línea vacía.... Here's the example of good Dart code: brightness: Brightness.light, primary: Color(0xffFF80AB), ...
Quita el carácter de paréntesis de cierre "
)
". desde el final del una lista de colores y convertirla en una línea vacía.... inversePrimary: Color(0xffD15B9D), surfaceTint: Color(0xffFF80AB), This example code is a good ...
Repite estos cambios para el segundo ejemplo. En la cadena
COLORSCHEME_CONTEXT
en la línea 87, quita el textoColorScheme(
y convertirla en una línea vacía.En la línea 115, quita el carácter de paréntesis de cierre "
)
". de la al final de la lista de colores y convertirla en una línea vacía.En la cadena
COLORSCHEME_CONTEXT
, agrega una instrucción para no incluir la sintaxis contenedora:... - 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: ...
Guarda los cambios en el archivo
colorscheme2.ts
.
Integra el comando nuevo
Después de completar el código del nuevo comando, debes integrarlo con
el resto de la extensión. Actualiza los archivos extension.ts
y package.json
a
haz que el nuevo comando forme parte de la extensión y habilita VS Code podrá invocarlo
el nuevo comando.
Para integrar el comando nuevo en el código de la extensión, sigue estos pasos:
- En VS Code, abre el archivo
flutter_theme_agent/src/extension.ts
. Agrega una importación nueva para importar el código de comando nuevo a la extensión. declaración.
import { generateColorScheme2 } from './components/colorscheme2';
Registra el comando nuevo agregando el siguiente código al función
activate()
.export function activate(context: vscode.ExtensionContext) { ... vscode.commands.registerCommand('flutter-theme-agent.generateColorScheme2', generateColorScheme2); ... }
Guarda los cambios en el archivo
extension.ts
.
Para integrar el comando de nombre al paquete de la extensión, haz lo siguiente:
- En VS Code, abre el archivo
flutter_theme_agent/package.json
. Agrega el comando nuevo a la sección
commands
del archivo del paquete."contributes": { "commands": [ ... { "command": "flutter-theme-agent.generateColorScheme2", "title": "Flutter Theme Agent: My New Code Generator." } ],
Guarda los cambios en el archivo
package.json
.
Prueba el comando nuevo
Una vez que hayas completado la programación del comando y su integración con el puedes probarla. Tu nuevo comando solo está disponible en VS Code Host de desarrollo de extensión y no en la ventana de VS Code en la que editó el código de la extensión.
Para probar el comando modificado, sigue estos pasos:
- En la ventana del proyecto de la extensión de VS Code, reinicia el depurador. Para ello, haz lo siguiente: selecciona Ejecutar > Restart Debugging, que reinicia una instancia Ventana Extension Development Host.
- En la ventana Extension Development Host de VS Code, abre un archivo de Flutter. de desarrollo de software.
- En la misma ventana, abre una ventana del editor de código, escribe un comentario que describa el componente de interfaz de usuario que deseas y selecciona ese texto del comentario.
- Abre la paleta de comandos seleccionando Ver > Paleta de comandos.
- En la paleta de comandos, escribe
Flutter Theme
y selecciona Comando Agente de temas de Flutter: Mi nuevo generador de código.
Recursos adicionales
Para obtener más información sobre el proyecto del agente de temas de Flutter, consulta el repositorio de código. Si necesitas ayuda para compilar la aplicación o buscas un desarrollador colaboradores, consulta la servidor de Discord de la Comunidad de Google Developers.
Aplicaciones de producción
Si planeas implementar Flutter Theme Agent para un público numeroso, ten en cuenta que tu uso de la API de Gemini de Google puede estar sujeto al límite de frecuencia y a otras restricciones de uso. Si estás considerando compilar una aplicación de producción con el modelo de Gemini, finalizar la compra Vertex AI de Google Cloud y servicios para aumentar la escalabilidad y confiabilidad de tu app.