You can use Ruby on Rails IDE (RubyMine) to increase productivity and improve your code quality by taking advantage of first-class support for languages like CoffeeScript, Sass/Less, ERB, and HAML. Using the Smart Search feature, you can quickly jump between classes or symbols in a Rails project with only one click.
To write code that follows community best practices and ensures the highest quality, use code inspections to identify errors. Automated but safe refactoring helps you improve your project's maintainability by cleaning up your existing source files with quick-fix options.
With RubyMines IDE, you can customize color schemes and keyboard shortcuts to create a seamless development experience. You can also save time with Git integration.
RubyMine IDE makes you feel at home due to its customizable color and keyboard schemes. You also get to enjoy seamless integrations like Rake Task Runner, Rails Generators Bundler, or even Zeus for fast server preps for productive development.
When writing applications, you’ll often need to execute scripts. In Linux, this is generally not a problem as you have access to the terminal through IntelliJ. The problem is, running PowerShell scripts on Windows in the IDE is challenging and you’ll often be required to copy and paste code to the PowerShell window.
That is, until now. The PowerShell plugin gives IntelliJ PowerShell language support. As a result, you’ll have features like syntax highlighting, IntelliSense, code snippets, code formatting, script execution, and more.
Nowadays, Docker is becoming increasingly popular because it allows developers to develop once and deploy everywhere. An added benefit of Docker is that it's light on resources compared to traditional virtual machines.
The Docker plugin provides IntelliJ with full integration with Docker. This means you can run containerized applications with Docker Compose and you’ll be downloading and building Docker images right from your IDE. It also enables you to create and run Docker containers from downloaded images or directly from a Dockerfile and you're able to use dedicated docker run configurations.
Simply put, this plugin gives you all the tools you need to deploy applications inside containers and test code in an environment similar to the one you'll use in production.
We couldn't create a list of plugins without mentioning ours. Duckly is here to make pair programming a breeze.
Duckly is a video chat tool built for developers with direct integration to the IDE so you can talk, share your code in real-time, and easily collaborate with your team. It enables remote developers to work as if they were side by side.
This plugin proves itself necessary by the day. With remote work becoming the norm throughout companies due to COVID-19, the ability to pair-program is interrupted by bad WiFi signals or background noise. Duckly provides the solution to that by allowing you and your team to share the same view while coding. Duckly is great for pair programming, code reviews, debugging sessions, and much more.
It’s no secret that cloud computing, and especially Amazon Web Services (AWS), is very popular, so you’ll often have to write applications built on AWS.
To make this easier, the AWS Toolkit contains all the tools you need for AWS application development. As such, it gives you the ability to create and deploy AWS serverless applications. You can also create, debug, change, or delete AWS Lambda functions and debug code in Amazon ECS clusters.
Keep in mind, though, these are just some of the functionalities it offers and there are many others available from its resource explorer to authentication, and the S3 explorer. Ultimately, if you’re developing serverless applications on AWS, the AWS Toolkit is certainly worth a look.
Let's face it, if you're dealing with data in your application, you’ll often use CSV files. The problem is that these files are a hassle to work with and edit. So, you'll often need to use a spreadsheet application like excel to open, view, edit, and export these files.
The CSV plugin makes it easier to work with CSV files because it implements CSV as a language in IntelliJ. As a result, it associates CSV and other associated file types with IntelliJ and gives you syntax definition, syntax highlighting, inspections, and other capabilities when working with CSV files.
This means no more switching between applications to view and edit files, which, in turn, means more efficiency.
One of the most important aspects that increases the readability of code which, in turn, makes it easier to understand and maintain, is code quality. In Java, there are several tools that allow you to improve your code’s quality. These include everything from Checkstyle that ensures you write code which complies with coding standards to Findbugs which helps you find bugs in Java code.
The QAPlug plugin adds extensive code quality functionality to IntelliJ. It does this by integrating tools like PMD, Checkstyle, Findbugs, and others into the IDE. In this way, it makes it easier for you to manage and maintain code quality when writing code.
Have you ever considered how inefficient a mouse is, especially when writing code? Just think about it, you have to take your hand off the keyboard, grab the mouse, find the cursor on the screen and then move it to where you want to be. If you count all the times you do this throughout the day, it adds up to quite a lot of time wasted.
Fortunately, there is an easier way. The QuickJump plugin lets you navigate to any visible position in your IDE quickly and effortlessly. It’s as simple as pressing “ctrl+” and then starting to type. As you type, you’ll get the options matching what you’ve typed. You can then just press Enter or the number corresponding with the option you want, and you’ll be taken there instantly.
The plugin also offers several other options like jump and select, jump and autocomplete, or inserting new lines which all make navigating your code easier.
Tabnine AI Code Completion
Still on the topic of saving time, one of the pain points of a developer is usually writing every single simple function or line every time. This issue is solved with Tabnine AI Code Completion!
You can see two gifs of code with and without Tabnine to see the difference this plugin brings. It predicts what you will potentially create according to your object or function. Now, instead of having to type console.log("hello world"), you can just start typing, and Tabnine will finish the job for you.
.ignore files are an excellent way to ignore files when performing certain actions. For example, an .eslintignore file allows you to exclude certain files from linting. Likewise, a .gcloudignore file lets you exclude certain files or directories when deploying to Google Cloud. By using these files to exclude files and directories from certain processes, you’ll be able to speed up your workflow.
The .ignore plugin makes it easier for you to work with .ignore files in your IntelliJ-based IDE. As such, it allows you to easily create, edit, and add files to your .ignore files. It also offers syntax highlighting for these files and templates you’ll be able to use.
Much like the Rainbow Brackets plugin, the indent rainbow plugin shows the indentations in your code in different colors. This, in turn, makes your indentations much easier to read and could make coding in languages where indentations are important like Python much easier.
The plugin also gives you the ability to change the colors based on your preferences and what’s more readable to you. And when your code is more readable, you’ll be more efficient, and you’ll write better code.
By this time, you've probably heard of the minimap feature in the Sublime text editor. What makes it so great is that it shows you exactly where you are in a file which, in turn, makes it easier to find sections of code that you're looking for. And, by clicking on the specific piece of code, your editor will go to it.
To have this functionality you don't need to switch to Sublime, though. The CodeGlance plugin brings this functionality to IntelliJ. It embeds a minimap like the one found in Sublime into your IntelliJ IDE’s editor pane. It also works with both light and dark themes and uses your customized colors for syntax highlighting.
By now you know that, as a developer, you'll not only spend a lot of time in your IDE but you’ll also spend a lot of time using git. As a result, it's vital that you have an IDE with excellent git integration get allows you to perform your git actions from within your development environment.
Fortunately, JetBrains’s range of IDEs features some of the best git integrations on the market. With the GitToolBox plugin, you’ll be able to extend the features these IDEs already offer. Its features include enhanced status display, auto fetch at fixed intervals, inline blame annotation, commit dialog completion, behind notifications, and more.
Pair programming is not only an excellent way to increase the quality of code and the efficiency of your team but also a great tool when educating new developers. A problem that often occurs when pair programming is when a developer uses keyboard shortcuts the other developer doesn't know. This is especially the case when teaching someone to code.
The Presentation Assistant plugin solves this problem by showing the name and the shortcut of any action you invoke while coding. In this way, your coding partner, whether experienced or inexperienced, knows exactly what you're doing. Because of this, it's the ideal tool when live coding in front of an audience, screencasting, and when teaching.
Different developers have different preferences on how they like their code to be arranged. For instance, some don’t care much about the order of lines while others prefer to have it in a specific order, often alphabetically.
If you’re one of the last mentioned, then the Lines Sorter plugin is definitely for you. It adds a Sort Lines action in IntelliJ’s edit menu. So, you can just select the lines you want to sort, click on Sort Lines, and the lines of code will be sorted alphabetically.
When developing an application, you’ll often need to test different configurations. This will, generally, require you to run the application in a specific configuration, change the configuration, and then run the application again. This, in turn, takes a lot of time and effort.
To save time, the Multirun plugin allows you to run multiple configurations at once. With it, you’re able to group multiple run configurations and run them with the click of a button. This makes it easier to run batches of tests and configurations or to start multiple servers and web applications.
Let's face it, bugs can be frustrating to find and solve. It's even more difficult for new developers working on a codebase for the first time. So, you’ll want to eliminate and avoid programming errors as far as possible.
The ESLint plugin helps you do this. It quickly analyzes your code to find programming errors, stylistic errors, and bugs. And when you find these errors and bugs easier, you'll be able to rectify them quickly and easily. Another bonus is that the plugin can fix many errors it finds automatically.
Also, you’re able to write your own rules that will work alongside the plugin’s built-in rules. Ultimately, you can customize the plugin based on your team's needs and you'll ensure that your code is always free of error.
When was the last time you wrote a bunch of code only to find out that it doesn't work when you're done? To solve this problem, you’ll often switch to online REPL tools to test a specific block of code. This takes time and makes you less productive.
MongoDB is an open-source, non-relational database and probably one of the most popular databases for modern applications, so you’ll get to deal with it at some stage. When you do, you’ll generally have to access Mongo databases and perform CRUD operations on your data.
The Mongo plugin makes this process easier as it integrates MongoDB servers with the database or collections tree, Query Runner, and the shell console. This means you’ll be able to perform all your database related actions directly from your IDE.
So, you’ll be able to access MondoDB databases, connect to servers, query and perform CRUD operations on your database. This saves you a lot of time and lets you work more efficiently.
Dummy Text Generator
The Dummy Text Generator adds a random text generator to the main menu of IntelliJ. It allows you to create text in different genres from fake latin to science fiction and esoteric wisdom. You can then insert the created text at the caret or replace a selection of existing text.
Why do you need it? It’s simple, you’ll often need to use placeholder text in your applications, especially when developing web applications. This tool makes this process a lot simpler and quicker.
As mentioned, when we looked at the Statistic plugin, you can’t improve something when you don’t measure it. So, analyzing your code is a good idea because it gives insights into your project’s structure.
Here, the MetricsReloaded plugin gives you a wealth of information and metrics about your project. These include everything from class counts, dependencies, lines of code, unit testing, and more.
Moreover, you can get metrics for your entire project or even specific modules and files. Also, apart from the built-in metrics, you’re also able to define your own metrics. Ultimately, the plugin allows you to identify issues in your code and gives you the insights necessary to improve it.
The JSON Viewer plugin makes it easier to work with JSON files by making a viewer available in your development environment. It’s as easy as just selecting the JSON tab in your editor window. This means you don’t have to switch applications or workspaces to view the JSON files you’re working with. In turn, this saves you time and makes your workflow more streamlined.
As a software developer, you’ll work with databases often. You’ll typically do this by using the specific database’s console or shell through the terminal or desktop application.
The Database Navigator plugin aims to make this easier. It adds extensive database management, development, and maintenance capabilities to IntelliJ and other IntelliJ-based IDEs.
As such, it provides both SQL and PL/SQL editors, advanced database connection management capabilities, script execution support, database objects browsing, advanced navigation functionality, and more. Moreover, it supports most of the databases you’ll often work with including, MySQL, SQLite, PostgreSQL, and others.