https://www.jetbrains.com/idea/
IntelliJ on Mac notes.
Shortcuts differ between Windows and Mac, and even between versions.
If you're only doing Python then you may want to just get PyCharm.
If you're a serious experienced programmer or 'DevOps' you're probably a polyglot programmer who edits other files.
In that case stick to full IntelliJ with plugins (see Plugins section further down).
Plugins supported in PyCharm are usually also compatible with Intellij IDEA too as they're based on the same IDE framework by IntelliJ.
brew install intellij-idea-ce
Cmd
-Shift
-A
This will allow you to type to search and find any action and hit enter to open it, such as a settings page, but it also shows the actual configured keyboard shortcut for things like commenting out a line.
This is useful because the internet is often wrong on the shortcuts depending on whether your're on Windows / Mac or different versions.
This is the authoritative shortcut of what your local keyboard shortcuts really are.
You can use this command (doc) to install plugins quickly from the command line:
idea installPlugins "$plugin_name_or_id"
You must exit IntelliJ before running this as only one idea
program can be running at a time.
These can be installed all in one shot using the script install_intellij_plugins.sh
in the DevOps-Bash-tools repo:
install_intellij_plugins.sh
You can add / comment / uncomment which plugins to install in the adjacent setup/intellij-plugins.txt
config file in that same repo.
- Docker
- Terraform and HCL
- Kubernetes - only available in Ultimate Edition :-(
idea installPlugins \
Docker \
org.intellij.plugins.hcl
#com.intellij.kubernetes # only available in Ultimate Edition :-(
- Shell Script - shell support
- Bash Support
- Perl
- Python - see Python section further down
- Java/Groovy/Scala/Kotlin/Maven/SBT/Gradle - see JVM section further down
- Go Linter
idea installPlugins \
com.jetbrains.sh \
BashSupport \
com.perl5 \
com.ypwang.plugin.go-linter
- .ignore - supports various
.ignore
files for different technologies - Code Glance - adds a minimap of the file
- Grep Console
- BrowseWordAtCaret
- Editor Config
- GitLink - shortcut to open files on GitHub and other hosted repo providers
- Git Toolbox - automatic fetches, show status vs upsteam origin
- CSV Editor
- JSON Parser - validate & format JSON strings
- CamelCase
- RegexpTester
- Database Navigator
- Markdown Navigator Enhanced
- Zero Width Characters locator - find characters that could break your code
- Env files support
- String Manipulation
- Rainbow Brackets
- Rainbow CSV
- Indent Rainbow
- Return Highlighter
idea installPlugins \
mobi.hsz.idea.gitignore \
org.editorconfig.editorconfigjetbrains \
uk.co.ben-gibson.remote.repository.mapper \
zielu.gittoolbox \
net.vektah.codeglance \
GrepConsole \
BrowseWordAtCaret \
net.seesharpsoft.intellij.plugins.csv \
com.godwin.json.parser \
de.netnexus.camelcaseplugin \
org.intellij.RegexpTester \
DBN \
com.vladsch.idea.multimarkdown \
com.ultrahob.zerolength.plugin \
ru.adelf.idea.dotenv \
"String Manipulation" \
izhangzhihao.rainbow.brackets \
com.andrey4623.rainbowcsv \
indent-rainbow.indent-rainbow \
com.github.lppedd.idea-return-highlighter
- WakaTime - stats on your usage
- Code Time - stats on your usage
- Statistic - shows project stats, files, line count etc.
idea installPlugins \
com.wakatime.intellij.plugin \
com.softwareco.intellij.plugin \
Statistic \
- AWS ToolKit - Amazon CodeWhisperer integration
- Azure Toolkit for IntelliJ
- Google Cloud Code
idea installPlugins \
aws.toolkit \
com.microsoft.tooling.msservices.intellij.azure \
com.google.gct.core
- Jenkins Pipeline Linter
- Jenkins Control
- Groovy - for your Groovy Shared Library functions
- Teamcity - just use Jenkins instead - see the Jenkins-on-Kubernetes page for easy Kubernetes automated deployment
- SonarLint
- Synk Security
idea installPlugins \
com.github.mikesafonov.jenkins-linter-idea-plugin \
'Jenkins Control Plugin' \
org.intellij.groovy \
"Jetbrains TeamCity Plugin" \
io.snyk.snyk-intellij-plugin \
org.sonarlint.idea # use with SonarQube / SonarCloud
- IDEA Features Trainer - teaches you the IDE
- Key Promoter X - teaches you keyboard shortcut when you click with the mouse
- Material Theme UI
- Extra Icons - adds icons for different file types
- Atom Material Icons - nicer file icons
- Yet another emoji support
- Mongo
- Pieces - code snippets - you should be using libraries but unfortunately some languages have boilerplate for which library do not solve the repetition between programs. See also HariSekhon/Templates
idea installPlugins \
training \
"Key Promoter X" \
com.chrisrm.idea.MaterialThemeUI \
lermitage.intellij.extra.icons \
com.mallowigi \
com.github.shiraji.yaemoji
#"Mongo Plugin" # who uses Mongo any more?
- Python (contains better support for Jython than PyCharm - cross-language navigation, completion and refactoring)
- Requirements
- PyLint
- Mypy
- Live Coding in Python
- Python Enhancements
- Python Security
- Python Annotations
idea installPlugins \
PythonCore \
ru.meanmail.plugin.requirements \
com.leinardi.pycharm.pylint \
com.leinardi.pycharm.mypy \
io.github.donkirkby.livepycharm \
com.pythondce \
org.tonybaloney.security.pycharm-security \
ru.meanmail.plugin.pyannotations
For IntelliJ Ultimate swap PythonCore
for Pythonid
.
idea installPlugins \
NodeJS \
com.wix.eslint \
intellij.prettierJS
quokka.js \
- Groovy
- Scala
- Kotlin
- Maven Helper
- SBT
- Gradle
- Gradle/Maven Navigation
- Sprint Boot Assistant
- Lombok - automates generating getters/setters etc.
- JRebel - auto-reload code changes
- XRebel - performance profiling
idea installPlugins \
org.intellij.scala \
org.jetbrains.kotlin \
MavenRunHelper \
SBT \
com.intellij.gradle \
tv.twelvetone.gradle.plugin.navigation \
dev.flikas.idea.spring.boot.assistant.plugin \
Lombook Plugin \
JRebelPlugin
- SpotBugs
- LiveEdit - shows changes instantly for JavaScript, HTML, can enable for NodeJS etc.
- Lightrun - for live running code debugging using Lightrun
- Rookout
idea installPlugins \
org.jetbrains.plugins.spotbugs \
com.intellij.plugins.html.instantEditing \
com.lightrun.idea.plugin.saas.LightrunPlugin \
com.rookout.intellij-plugin
- JetBrains AI Assistant
- AWS ToolKit - Amazon CodeWhisperer integration
- TabNine - AI code suggestions
- Codota AI Autocomplete for Java and JavaScript
idea installPlugins com.codota.csp.intellij
- GitHub CoPilot
- AI Coding Assistant
- Codiumate - CodiumAI integration
idea installPlugins \
com.tabnine.TabNine
- Code with Me - pair programming
- Duckly Pair Programming
- Better Highlights
idea install com.clutcher.comments_highlighter
- MultiRun
- Randomness
- CodeMetrics
- MetricsReloaded
- CPU Usage Indicator - use Stats on Mac instead