Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Putting the AI in JetBrAIns

Putting the AI in JetBrAIns

Over the past year, JetBrains has been working actively in bringing AI support to the many products and services it offers. In this talk we’re going to take a look at what IntelliJ IDEA offers in terms of AI support, and how it works under the cover. Your favourite IDE just got a whole lot smarter, which means you can become much more productive!

Marit van Dijk

October 02, 2024
Tweet

More Decks by Marit van Dijk

Other Decks in Programming

Transcript

  1. Our approach to building AI Assistant into our products has

    been focused on two main aspects: 1. Weaving the AI assistance into the core IDE user workflows. 2. Building AI features that are deeply infused with an understanding of your code and its context, which has always been a strong suit of JetBrains IDEs. Introducing JetBrains AI
  2. With AI Assistant, you can: • Chat, ask questions, and

    refine solutions. • Generate code, tests, commit messages, documentation, and code translations. • Explain code, commits, runtime errors, SQL queries, regexes and cron fragments. • Suggest names, refactor, and find issues. • Resolve merge conflicts, write SQL queries for your database, generate commands in the New Terminal Features
  3. Generate and improve commit messages, explain commit(s), resolve merge conflicts

    Continue prompting, add context & commands Generate, explain, refactor code, write tests & documentation Ask questions, edit & save prompts, see context, use code Explain runtime errors, write commands in new terminal, get help with SQL queries in console
  4. Chat • LLMs are good at chat 😁 • We

    can • Ask how to do things • Ask follow up questions
  5. Code from chat • Use code from chat: • Copy

    to Clipboard • Insert Snippet at Caret • Create File from Snippet
  6. Use AI Assistant in the New Terminal • Ask AI

    Assistant to generate command
  7. Use AI Assistant in the New Terminal • Ask AI

    Assistant to generate command
  8. Use AI Assistant in the New Terminal • Ask AI

    Assistant to generate command • And run the command
  9. Use AI Assistant to generate queries • Attach database schema

    • Might still need small fixes • IntelliJ IDEA has DB support
  10. Photography EV = Exposure value t = Exposure time N

    = Focal number = focal lenght / diameter of aperture EV = log2 N2 t
  11. Photography • Integrated into the IDE • Can use it

    from the editor; no tool-switching • But doesn't always get the context • Let's give it a hint
  12. Photography • Note this refactor includes renaming • Can also

    use Refactor > Rename • (especially if variables are used outside this file)
  13. Photography Large Language Models ... are not good at math

    https://www.youtube.com/watch?v=0xENpeGTEZ0
  14. Photography • You can specify how to generate unit tests

    • Customize prompt in Settings: • Tools > AI Assistant > Prompt Library
  15. AI Assistant • Can save time • Boilerplate code /

    typing • Tasks we don't like to do • Understanding existing code!
  16. Top 5 Features Personal observation: This does not include generating

    code! https://blog.jetbrains.com/ai/2024/04/developers-save-up-to-8-hours-per-week-with-jetbrains-ai-assistant/
  17. JetBrains AI Service API API Security & Anti-Fraud 3rd Party

    LLM API Plugin Project Context FLCC Context
  18. JetBrains AI Service Kotlin LM API API Security & Anti-Fraud

    3rd Party LLM API Plugin Project Context FLCC Context
  19. JetBrains AI Service Kotlin LM API API Security & Anti-Fraud

    API Plugin Project Context FLCC Context Alibaba (China) API API