AI for PHP: How to Make AI Assistant Generate Test Implementations
We started this series by looking at how JetBrains AI Assistant can generate tests from an existing implementation. But what if we want to use AI Assistant the other way around? What if we want to take a more test-driven-development approach, writing our tests first, and having AI Assistant generate an implementation for us?
Let’s take a look at how we can do that.
Generate code with AI Assistant chat
The first step to generating an implementation is to have a test in place. Let’s say we’re building a command bus and have the following test:

We haven’t written anything else – there’s no CommandBus class yet, let alone an implementation for the handle and getHistory methods. Let’s use AI Assistant to generate the implementation for us. To start, open the AI Actions menu by selecting the text and pressing Alt+Enter / ⌥Enter. Next, choose New Chat Using Selection:

PhpStorm will open the AI Assistant chat window. Here, you can chat with AI Assistant and ask it anything you’d like. The code snippet you’ve selected will already be present in the chat window, so let’s give it a simple prompt – “write an implementation for this test”:

In a couple of seconds, AI Assistant will have the implementation ready:

Let’s copy this code into a file and run our test to see what happens:

It works! AI Assistant has written a working implementation for our test. Scrolling through the code, it looks like a solid implementation, although we’ll change some stylistic details. Our goal with AI Assistant throughout this series has not been to have AI Assistant write the perfect code for us, but to generate the boring boilerplate that we can use as a starting point, saving valuable time. That’s exactly what AI Assistant did!
What if we want to use this prompt multiple times? Is there a way to reuse it?
Of course!
Saving custom prompts
Open the AI Actions menu by pressing Alt+Enter / ⌥Enter somewhere within your code. Instead of choosing an existing menu item, click the Add Your Prompts link at the bottom:

PhpStorm allows you to write custom prompts and save them as custom AI actions, which is what we want to do in this case. Within these prompts, you can use the $SELECTION variable, which will contain whatever code you selected when invoking your custom prompt.
Let’s write a prompt for our use case – creating the implementation for a selected test:

Let’s try it out! Select the test again, press Alt+Enter / ⌥Enter to open the AI Actions menu, and you’ll see how the custom Write Implementation action is now available!

Select the action, and you’ll see that PhpStorm immediately writes the correct message to AI Assistant, making our AI-assisted action reusable!

Conclusion
Throughout this series, we’ve seen several examples of how we can use AI Assistant to our benefit. We don’t expect it to write perfect code, but we do use it to generate boilerplate code that we can build upon. It’s interesting to see how accurate AI Assistant is in writing code that works, and I am looking forward to it improving even more in the releases to come.
Personally, I don’t think AI will replace real programmers anytime soon, but I do think it’s a great tool that can help speed up the process of writing code, especially the routine parts, so that we can focus on the parts of our code that matter the most.
What are your expectations regarding AI assisting you with your job? Share your thoughts in the comments!
Useful links
Did you enjoy reading this blog post? Here are more from this series:
- AI for PHP: How To Automate Unit Testing Using AI Assistant
- AI for PHP: How to Tweak AI Prompts to Improve PHP Tests
Resources:
- AI Assistant in PhpStorm (documentation)
- AI Assistant pricing
Videos:
Subscribe to PhpStorm Blog updates
Discover more
IA para PHP: como fazer com que o AI Assistant gere implementações de testes
Começamos esta série analisando como o JetBrains AI Assistant pode gerar testes a partir de uma implementação existente. Mas, e se quisermos usar o AI Assistant ao contrário? E se quisermos adotar uma abordagem de desenvolvimento mais orientada a testes, escrevendo nossos testes primeiro e fazendo com que o AI Assistant gere uma implementação para nós?
Vamos dar uma olhada em como podemos fazer isso.
Gerar código com o chat do AI Assistant
A primeira etapa para gerar uma implementação é ter um teste. Vamos supor que estamos construindo um barramento de comando e temos o seguinte teste:

Não escrevemos mais nada – ainda não existe uma classe CommandBus, muito menos uma implementação para os métodos handle e getHistory. Vamos usar o AI Assistant para gerar a implementação para nós. Para começar, abra o menu AI Actions selecionando o texto e pressionando Alt+Enter / ⌥Enter. Em seguida, escolha New Chat Using Selection:

O PhpStorm abrirá a janela de chat do AI Assistant. Aqui, você pode conversar com o AI Assistant e perguntar o que quiser. O snippet de código que você selecionou já estará presente na janela de chat, então vamos dar um prompt simples – “write an implementation for this test” (escreva uma implementação para este teste):

Em alguns segundos, o AI Assistant terá a implementação pronta:

Vamos copiar esse código em um arquivo e executar nosso teste para ver o que acontece:

Funciona! O AI Assistant escreveu uma implementação funcional para nosso teste. Percorrendo o código, parece uma implementação sólida, embora iremos alterar alguns detalhes estilísticos. Nosso objetivo com o AI Assistant ao longo desta série não foi fazer com que o AI Assistant escrevesse o código perfeito para nós, mas gerar aquele código básico chato que podemos usar como ponto de partida, economizando um tempo valioso. Foi exatamente isso que o AI Assistant fez!
E se quisermos usar esse prompt várias vezes? Existe uma maneira de reutilizá-lo?
É claro que sim!
Salvando prompts personalizados
Abra o menu AI Actions pressionando Alt+Enter / ⌥Enter em algum lugar do seu código. Em vez de escolher um item de menu existente, clique no link Add Your Prompts na parte inferior:

O PhpStorm permite escrever prompts personalizados e salvá-los como ações personalizadas de IA, que é o que queremos fazer neste caso. Dentro desses prompts, você pode usar a variável $SELECTION, que conterá qualquer código que você selecionou, ao invocar seu prompt personalizado.
Vamos escrever um prompt para nosso caso de uso: criar a implementação para um teste selecionado:

Vamos experimentar! Selecione o teste novamente, pressione Alt+Enter / ⌥Enter para abrir o menu AI Actions , e você verá como a ação Write Implementation personalizada já está disponível!

Selecione a ação, e você verá que o PhpStorm escreve imediatamente a mensagem correta no AI Assistant, tornando nossa ação assistida por IA reutilizável!

Conclusão
Ao longo desta série, nós vimos vários exemplos de como podemos usar o AI Assistant em nosso benefício. Não esperamos que ele escreva um código perfeito, mas o usamos para gerar o código básico que podemos usar como ponto de partida. É interessante ver o quão preciso o AI Assistant é ao escrever códigos que funcionam, e estou ansioso para ver ele melhorar ainda mais nos próximos lançamentos.
Pessoalmente, não acho que a IA substituirá os programadores reais tão cedo, mas acho que é uma ótima ferramenta que pode ajudar a acelerar o processo de escrita de código, especialmente as partes rotineiras, para que possamos nos concentrar nas partes do nosso código que mais importam.
Quais são suas expectativas em relação à IA para ajudá-lo em seu trabalho? Compartilhe sua opinião nos comentários!
Links úteis
Gostou de ler este post do nosso blog? Aqui estão mais posts desta série:
- IA para PHP: como automatizar testes de unidade usando o AI Assistant
- IA para PHP: como ajustar prompts de IA para melhorar testes de PHP
Recursos:
- AI Assistant no PhpStorm (documentação)
- Preços do AI Assistant
Vídeos:
Artigo original em inglês por:
Subscribe to PhpStorm Blog updates
Discover more
IA para PHP: cómo generar implementaciones de pruebas con AI Assistant
Comenzamos esta serie examinando cómo JetBrains AI Assistant puede generar pruebas a partir de una implementación existente. Pero ¿qué pasa si queremos utilizar AI Assistant al revés? ¿Qué pasa si queremos adoptar un enfoque de desarrollo basado en pruebas, escribiendo primero nuestras pruebas y luego permitiendo que AI Assistant genere una implementación para nosostros?
Echemos un vistazo a cómo podemos hacerlo.
Generar código con el chat de AI Assistant
El primer paso para generar una implementación es tener una prueba en su lugar. Supongamos que estamos construyendo un bus de comandos y tenemos la siguiente prueba:

No hemos escrito nada más: aún no existe la clase CommandBus, y mucho menos una implementación para los métodos handle y getHistory. Utilicemos AI Assistant para que genere la implementación por nosotros. Para empezar, abra el menú AI Actions seleccionando el texto y pulsando Alt+Intro / ⌥Intro. A continuación, seleccione New Chat Using Selection:

PhpStorm abrirá la ventana de chat de AI Assistant. Aquí puede chatear con AI Assistant y preguntarle lo que desee. El fragmento de código seleccionado ya estará presente en la ventana de chat, así que hagamos una petición simple: «write an implementation for this test» (escribe una implementación para esta prueba):

En pocos segundos, AI Assistant tendrá la implementación lista:

Copiemos este código en un archivo y ejecutemos nuestra prueba para ver qué sucede:

¡Funciona! AI Assistant ha escrito una implementación funcional para nuestra prueba. Al revisar el código, parece una implementación sólida, aunque cambiaremos algunos detalles estilísticos. Nuestro objetivo con AI Assistant a lo largo de esta serie no ha sido que AI Assistant escriba el código perfecto por nosotros, sino generar el código reutilizable más aburrido que podemos utilizar como punto de partida, lo que nos permite ahorrar un tiempo muy valioso. ¡Y eso es exactamente lo que ha hecho AI Assistant!
¿Qué pasa si queremos utilizar esta petición varias veces? ¿Es posible reutilizarla?
¡Por supuesto!
Guardar peticiones personalizadas
Abra el menú AI Actions pulsando Alt+Intro / ⌥Intro en algún lugar dentro del código. En lugar de elegir un elemento de menú existente, haga clic en el enlace Add Your Prompt en la parte inferior:

PhpStorm le permite escribir peticiones personalizadas y guardarlas como acciones de IA personalizadas, que es lo que queremos hacer en este caso. Dentro de estas peticiones puede utilizar la variable $SELECTION, que contendrá el código seleccionado al invocar su petición personalizada.
Escribamos una petición para nuestro caso de uso: crear la implementación para una prueba seleccionada:

¡Intentémoslo! Seleccione la prueba de nuevo, presione Alt+Intro / ⌥Intro para abrir el menú AI Actions ¡y verá cómo la acción personalizada Write Implementation ahora está disponible!

Seleccione la acción y verá que PhpStorm escribe inmediatamente el mensaje correcto a AI Assistant, ¡lo que nos permite reutilizar nuestra acción asistida por IA!

Conclusión
A lo largo de esta serie hemos visto varios ejemplos de cómo podemos utilizar AI Assistant en nuestro beneficio. No esperamos que escriba código perfecto, pero lo utilizamos para generar código reutilizable que podamos usar de punto de partida. Resulta interesante ver el nivel de corrección del código que escribe AI Assistant, y espero ver cómo mejora aún más en las próximas versiones.
Personalmente, no creo que la IA reemplace a los programadores reales a corto plazo, pero sí creo que es una herramienta genial que puede ayudar a acelerar el proceso de escribir código, especialmente en las partes rutinarias, para que así podamos concentrarnos en las partes del código que más importan.
¿Cuáles son sus expectativas en relación con la asistencia de la IA en su trabajo? ¡Déjenos su opinión en los comentarios!
Enlaces útiles
¿Le ha gustado este artículo? Aquí puede ver otros artículos de esta serie:
- IA para PHP: Cómo automatizar las pruebas de unidades utilizando AI Assistant
- IA para PHP: Cómo ajustar las peticiones a la IA para mejorar las pruebas de PHP
Recursos:
- AI Assistant en PhpStorm (documentación)
- Precios de AI Assistant
Vídeos:
Artículo original en inglés de: