¿Qué es CodeWhisperer? - CodeWhisperer

CodeWhispererLas funciones de Amazon Q están pasando a formar parte de Amazon Q Developer. Más información

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

¿Qué es CodeWhisperer?

nota

La forma más rápida de empezar a usarlo CodeWhisperer es autenticarse ID de creador de AWS como desarrollador individual. No necesitas una AWS cuenta para hacer esto.

Amazon CodeWhisperer es un generador de código de uso general basado en el aprendizaje automático que te proporciona recomendaciones de código en tiempo real. A medida que escribes código, genera CodeWhisperer automáticamente sugerencias basadas en el código y los comentarios existentes. Las recomendaciones personalizadas pueden variar en tamaño y alcance, desde un comentario de una sola línea hasta funciones completamente formadas.

Cuando empieces a escribir líneas individuales de código o comentarios, CodeWhisperer hace sugerencias en función de tus entradas actuales y anteriores.

En la imagen de abajo, un usuario ha empezado a escribir una línea de código. En función de la entrada, CodeWhisperer ha generado sugerencias para completar la línea. El usuario puede recorrer las sugerencias con las teclas de flecha.

alt_text

En el siguiente ejemplo, en Java, un usuario introduce un comentario. CodeWhisperer sugiere una firma de función.

Una vez que el usuario acepta esa sugerencia, CodeWhisperer sugiere el cuerpo de una función.

Ejemplo de una función generada a partir de un comentario.

La finalización de bloques se utiliza para completar su bloques de código de if/for/while/try.

En el siguiente ejemplo, en Java, un usuario introduce la firma de una instrucción de if. El cuerpo de la declaración es una sugerencia de CodeWhisperer.

Un ejemplo del servicio de finalización de bloques.

CodeWhisperer también puede escanear el código para resaltar y definir los problemas de seguridad.

En este ejemplo, se utiliza Python y JetBrains, el usuario ha escrito un código que escribiría AWS credenciales sin cifrar en un registro; una mala práctica de seguridad.

Afortunadamente, el usuario también ha realizado un análisis de seguridad. CodeWhisperer identificó el problema y emitió una alerta.

alt_text

Para obtener información sobre los lenguajes de programación CodeWhisperer compatibles, consulte Compatibilidad con idiomas.

CodeWhisperer en acción

En esta sección se muestra cómo CodeWhisperer puede ayudarle a redactar una solicitud completa. Esta aplicación crea un bucket de Amazon S3 y una tabla de Amazon DynamoDB, además de una prueba unitaria que valida ambas tareas.

Aquí, CodeWhisperer ayuda al desarrollador a elegir qué bibliotecas importar. Con las teclas de flecha, el desarrollador cambia entre varias sugerencias.

Un ejemplo del servicio de finalización de bloques.

Aquí, el desarrollador ingresa un comentario, que describe el código que pretende escribir en la siguiente línea.

CodeWhisperer anticipa correctamente el método que se va a llamar. El desarrollador puede aceptar la sugerencia con la tecla de tabulación.

alt_text

Aquí, el desarrollador se prepara para definir las constantes.

CodeWhisperer anticipa correctamente que la primera constante será REGION y que su valor seráus-east-1, que es el valor predeterminado.

alt_text

Aquí, el desarrollador se prepara para escribir código que abrirá sesiones entre el usuario y Amazon S3 y DynamoDB.

CodeWhisperer, familiarizado con AWS las API y los SDK, sugiere el formato correcto.

alt_text

El desarrollador se ha limitado a escribir el nombre de la función que creará el bucket. Pero en función de eso (y del contexto), CodeWhisperer ofrece una función completa, con cláusulas de prueba/excepción.

Observación del uso de TEST_BUCKET_NAME, which is a constant declared earlier in the same file.

alt_text

El desarrollador acaba de empezar a escribir el nombre de la función que creará una tabla de DynamoDB. Pero CodeWhisperer puedo decir a dónde va esto.

Observe que la sugerencia corresponde a la sesión de DynamoDB creada anteriormente e incluso la menciona en un comentario.

alt_text

El desarrollador ha hecho poco más que escribir el nombre de la clase de prueba unitaria cuando se CodeWhisperer ofrece a completarla.

Tenga en cuenta las referencias integradas en las dos funciones creadas anteriormente en el mismo archivo.

El desarrollador acaba de empezar a escribir el nombre de la función que creará una tabla de DynamoDB. Pero CodeWhisperer puedo decir a dónde va esto.

Observe que la sugerencia corresponde a la sesión de DynamoDB creada anteriormente e incluso la menciona en un comentario.

alt_text

Basado solo en un comentario y el contexto, CodeWhisperer proporciona toda la función principal.

alt_text

Lo único que queda es el guardia principal y CodeWhisperer lo sabe.

Basado únicamente en un comentario y en el contexto, CodeWhisperer cumple toda la función principal.

alt_text

Por último, el desarrollador ejecuta la prueba unitaria desde el terminal del mismo IDE donde se realizó la codificación.

alt_text