Predefined - Limited by IDE features - Requires developers to understand when and how to use it ► AI Refactoring - Trained on huge amounts of examples, easy to scale - More creative, can handle more complex refactoring pattern - Suggest refactoring the developer might not have considered
for the LLM Add context information Send final prompt LLM Receive Response Show and interpret the response Put code snippets from response into your project
for the LLM Add context information Send final prompt LLM Receive Response Show and interpret the response Put code snippets from response into your project
to interact with Copilot: - API to submit prompts to the LLM yourself (direct use of Copilot LLM) - API to enhance Copilot Chat (open ended questions) - Enhance / change the prompt - Specify tasks - Fill in variables / placeholders - Enhance / modify the result (e.g. insert buttons) - Inline Chats: no extension API available yet - Side note: APIs are still evolving rapidly, moving target
for the LLM Add context information Send final prompt LLM Receive Response Show and interpret the response Put code snippets from response into your project Predefine the question, no need for the user to type something
for the LLM Add context information Send final prompt LLM Receive Response Show and interpret the response Put code snippets from response into your project Add more context to the prompt, but what exactly?
for the LLM Add context information Send final prompt LLM Receive Response Show and interpret the response Put code snippets from response into your project Show - and maybe enhance the response with additional information / actions
for the LLM Add context information Send final prompt LLM Receive Response Show and interpret the response Put code snippets from response into your project Be smart about where to and how to add code to the project
help and provide a meaningful contribution - We craft the prompt with the necessary input, there is no user interaction - Not open-ended, very limited to a specific case Example: - 👍 Explain SpEL expression - 👍 Explain SQL/HQL/JPQL Query - 👍 Explain Pointcut expression - 🤔 CRON: eh, AI is too much for that, simple logic is enough
Fully open-ended / chat experience - Enhancing the result (buttons + better code merge) - The more structure you ask for, the better you can interpret / merge the result