<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Idea on Backend Engineering Strategy Tools</title><link>https://backend-engineering-strategy-tools.github.io/site/tags/idea/</link><description>Recent content in Idea on Backend Engineering Strategy Tools</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 01 Jan 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://backend-engineering-strategy-tools.github.io/site/tags/idea/index.xml" rel="self" type="application/rss+xml"/><item><title>IntelliJ IDEA</title><link>https://backend-engineering-strategy-tools.github.io/site/public-notes/frameworks-tools/idea/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/public-notes/frameworks-tools/idea/</guid><description>&lt;p&gt;IntelliJ IDEA is JetBrains&amp;rsquo; Java and Kotlin IDE. It has the deepest language understanding of any Java IDE — code completion that reasons about types across the entire project, refactoring that updates all call sites, a debugger with expression evaluation, and a profiler integrated into the same window. The free Community Edition covers Java, Kotlin, Groovy, and Scala. The paid Ultimate Edition adds frameworks (Spring, Quarkus, Micronaut), database tools, HTTP client, and built-in support for web technologies.&lt;/p&gt;
&lt;h2 id="key-capabilities"&gt;Key capabilities
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Refactoring&lt;/strong&gt; — rename a class and every reference in every file updates. Extract method, inline variable, move class to a different package, change method signature — all with full project-wide impact analysis before execution.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Navigation&lt;/strong&gt; — &lt;code&gt;Cmd+Click&lt;/code&gt; goes to declaration, &lt;code&gt;Cmd+B&lt;/code&gt; shows all usages, &lt;code&gt;Cmd+E&lt;/code&gt; opens recent files, &lt;code&gt;Cmd+Shift+F&lt;/code&gt; searches across the entire project. In a large codebase, knowing where things are called from matters more than reading the code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inspections&lt;/strong&gt; — real-time static analysis flags potential bugs, code style violations, and anti-patterns as you type, not at build time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Debugger&lt;/strong&gt; — set breakpoints, step through code, evaluate arbitrary expressions in the current scope, watch variables, set conditional breakpoints. Remote debugging attaches to a running JVM with a single click.&lt;/p&gt;
&lt;h2 id="plugins"&gt;Plugins
&lt;/h2&gt;&lt;p&gt;The plugin ecosystem extends IDEA significantly. Notable ones:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IdeaVim&lt;/strong&gt; — vim key bindings throughout the editor&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kubernetes&lt;/strong&gt; — YAML editing with schema validation and cluster connectivity&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database tools&lt;/strong&gt; (Ultimate) — query databases from within the IDE&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="remote-development"&gt;Remote development
&lt;/h2&gt;&lt;p&gt;IDEA supports JetBrains Gateway for remote development — the IDE UI runs locally but the indexing and execution happen on a remote machine or container. Useful for developing against large codebases on powerful remote hardware.&lt;/p&gt;
&lt;h2 id="resources"&gt;Resources
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.jetbrains.com/help/idea/" target="_blank" rel="noopener"
 &gt;IntelliJ IDEA documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.jetbrains.com/help/idea/keyboard-shortcuts-and-mouse-reference.html" target="_blank" rel="noopener"
 &gt;JetBrains IDE key bindings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>