RubyMine helps you be more productive in every aspect of Ruby and Rails development, and comes with all the essential tools available out of the box.
Take advantage of RubyMine’s AI-powered, type-aware code completion, intelligent code inspections, live templates, and more.
Easily move through your codebase with powerful navigation and search capabilities.
Create, run, manage, and debug your tests with ease. RubyMine supports all popular frameworks for testing your Ruby and Rails applications.
Make use of RubyMine's powerful debugger with a graphical UI for Ruby, JavaScript, and CoffeeScript. Configure breakpoints, use smart stepping, enable remote debugging, and experience an interactive console for a seamless debugging experience.
Run, debug, and test your code in a remote environment by configuring Docker, Docker Compose, WSL, Vagrant, or SSH. Use a local lightweight client or start a dev container.
Take advantage of the complete set of coding assistance features in RubyMine to easily work with JavaScript, Node.js, and TypeScript code without additional steps.
Be more productive with AI Assistant, a JetBrains plugin powering AI features in your IDE. Ask the context-aware AI chat about your project, explain code, identify issues, or check out possible code improvements. Generate tests for public methods and use the AI to create documentation. Use AI-powered autocompletion to generate code that matches your personal coding style.
Use Git, GitHub, GitLab, Mercurial, Subversion, and Perforce without leaving your IDE. Browse the change history, manage branches, merge conflicts, ask AI Assistant to analyze and explain your commits, and more. If you work without VCS, use the local history to find and restore any changes made between commits.
Take advantage of the most powerful and language-savvy coding assistant. It works as you type, suggesting a list of matching variables, methods, and keywords. Completion works for Ruby and Rails, JavaScript and TypeScript, ERB, HAML, XML, HTML and CSS, SQL, and Sass.
Enabling the AI Assistant plugin allows you to work faster, with LLM-based code completion for single lines, entire functions, and even blocks of code provided in real time, taking into account the specific context of the project. The generated code is similar to the code you would write, matching your style and naming conventions. AI Assistant is available as a separate plugin and requires an active JetBrains AI subscription.
Enhance your coding efficiency with suggestions for entire lines of code based on contextual analysis. These suggestions are powered by specialized language models that we’ve trained on open-source projects specifically for different languages and frameworks. The models run entirely on your local device and are available offline, ensuring your data remains secure.
Customize the formatting and arrangement of your code according to your preferred code style settings. This can be done for a specific code fragment, file, folder, or module. You can also exclude certain portions of code from formatting, or you can configure automatic code reformatting on save.
Improve your code using all kinds of refactorings available in RubyMine. You can quickly and safely rename and delete elements in your codebase, extract variables, parameters, methods, or superclasses, introduce constants, and more.
All the refactorings understand Ruby on Rails. For example, renaming a controller will also rename the related helper, views, and tests.
View documentation in a popup, create missing YARD tags using intention actions, and check their validity.
RubyMine takes YARD annotations into account, which allows it to suggest more relevant results in code completion and parameter hints for methods.
Quickly insert frequently used constructions into your code using live templates. RubyMine provides predefined templates for various languages and frameworks, including Ruby, Rails, RSpec, JavaScript, and so on. If necessary, you can customize the predefined templates or add new ones.
Spot any errors and code smells, such as unreachable code, incorrect call arguments, unused variables, and others. Resolve these problems automatically by applying quick-fixes suggested in RubyMine.
Interact with your application using the Rails console without leaving the IDE.
Quickly switch between different Ruby versions installed through version managers, including rbenv, RVM, asdf, mise and chruby. Additionally, RubyMine supports RVM and rbenv gemsets.
Launch and work with an IRB or Pry console directly in RubyMine effortlessly. Make use of this tool for testing and debugging your Ruby code with ease.
Handle gem dependencies for your application right inside the IDE using the Bundler integration. You can run Bundler commands right from the Run Anything popup.
Execute Rake tasks within your project by using the Run Anything popup. Alternatively, you can run tasks directly from the editor by clicking the gutter icons.
Use the integration with RuboCop to fix offenses directly within the IDE. RubyMine provides the option to check the entire project or a single file and view a comprehensive report of RuboCop warnings.
Describe the types in your Ruby and Rails applications using the RBS language support in RubyMine. The IDE recognizes .rbs files and offers useful coding assistance features.
Analyze the performance of your Ruby and Rails applications by running them with the attached profiler or attaching the profiler to processes that are already running. This allows you to analyze the time spent on each method or block to identify potential issues.
Benefit from built-in support for popular Ruby libraries and technologies such as RSpec, Minitest, Brakeman, RDoc, Factory Bot, Devise, I18n, Redis, and more.
Analyze Ruby on Rails applications for potential security vulnerabilities in a user-friendly format within RubyMine. Tackle security issues promptly, with easy access to Brakeman’s documentation, confidence indicators, and more.
Quickly see all the places where classes, methods, variables, and more are used.
Locate any item by name within the project or beyond.You can search for files, actions, classes, symbols, settings, UI elements, and anything in Git from a single entry point.
Examine the high-level structure of the opened file and quickly navigate between methods or tests in Ruby files, elements in HTML and ERB files, database tables and table columns in schema files, and so on.
Navigate to symbol declarations and view their usages throughout the project with just one click. Navigate not only to project entities, but also to definitions within external gems.
Navigate between Rails symbols, such as controllers, views, models, tests, and so on. RubyMine provides various navigation options in the editor, tool windows, and model dependency diagrams.
Use the most popular frameworks for testing your Ruby and Rails applications, including RSpec, Test::Unit, minitest, Shoulda, and more. You can run multiple or individual tests, navigate between tests and test subjects, create missing tests, and so on.
Measure how much of your code is covered with tests using integration with SimpleCov . You can analyze the percentage of covered files and lines in a separate tool window and editor, generate HTML reports, and so on.
Generate tests from predefined customizable templates. You can even create a test when navigating to the test subject from a class, and RubyMine will replicate the directory structure based on the path to the test subject.
Quickly navigate between tests and test subjects, and if you are using Factory Bot, you can even navigate from models to factories and vice versa.
Gain insights into what's happening under the hood of your application and identify and resolve issues in real-time using RubyMine’s debugger. Execute your code step by step, with access to all important information in the graphical user interface.
Place a breakpoint on a line of code and define the hit conditions – a set of Boolean expressions that are evaluated to determine whether to stop executing the code.
Descend into any method call or block on the current line. If there are multiple method calls or blocks, you can choose the desired target.
Examine the state of a suspended program using an interactive debugger console. You can check variable values, examine complex objects, call methods, and more.
Debug the client-side JavaScript code in your application, or diagnose issues in Node.js applications.
Debug your program using a remote interpreter like Docker, Vagrant, SSH, or WSL. It is also possible to attach to remote processes and debug them.
Work with Git, GitHub, GitLab, Mercurial, Subversion, and Perforce right in your IDE.
Configure and perform various checks and actions before committing your code. You can analyze your code, rearrange and reformat it, run tests, optimize imports, and more.
Resolve conflicts quickly and intuitively with the built-in diff and merge tools.
Keep track of changes made in your source code: quickly switch between branches, filter by user, choose a specific date, and so on.
Restore deleted files, revert changes selectively, or roll back to any state of a file, even if a version control system is not yet enabled.
Manage incoming pull requests in RubyMine. You can complete the entire pull request workflow, from viewing pull requests to submitting comments and accepting changes, without leaving the IDE.
Group changes together based on which task they’re related to, and commit these sets of changes separately.
Have a conversation with AI Chat, ask questions about your project, or iterate on a task. AI Assistant recognizes the programming language, technologies, and local changes made in your project, along with version control system commits. In the chat, you can search for files, classes, and usages of elements.
Use pre-existing prompts to have AI Assistant describe code, identify potential issues, and suggest improvements. These prompts are specifically tailored to the context of your project, taking into consideration the programming languages and technologies in use.
Ask AI Assistant to analyze your diffs and generate suitable commit messages for your changes. You can also ask AI Assistant to summarize the changes made in one or several commits.
Automatically generate documentation for a class, method, or module declaration.
Generate unit tests for public methods in Ruby files. AI Assistant analyzes both your code and its documentation to recommend tests that will provide insights into your application's behavior.
Apply AI-generated names when renaming symbols. AI Assistant suggests name options based on the content of the classes, functions, and variables that you are renaming.
Use AI-powered autocompletion to generate code for individual lines, entire functions, and code blocks in real-time, taking into account your project's context. AI Assistant generates code that matches your personal coding style and adheres to your established naming conventions.
Work with all popular JavaScript and TypeScript technologies out of the box. RubyMine fully supports JavaScript, TypeScript, HTML, CSS, React, Node.js, Vue.js, and Angular, and it also includes all of WebStorm’s features.
Develop, run, test, and debug JavaScript, Node.js, and TypeScript code. Benefit from a wide range of built-in coding assistance features and tight integration with various tools for web development.
RubyMine provides code insight for the Hotwire frameworks Turbo and Stimulus. Enhance your productivity with autocompletion and navigation for Turbo helpers and broadcasting methods, as well as for Stimulus controllers, actions, targets, and more in HTML tags, JavaScript files, and .erb view templates.
Work faster with HTML files as you no longer need to switch to the browser and refresh the pages. The preview is opened in a separate editor tab and reloaded automatically as you type or whenever you save changes.
Explore and edit databases with the bundled Database Tools and SQL plugin. The plugin supports database management systems, including MySQL, PostgreSQL, Microsoft SQL Server, SQLite, MariaDB, Oracle, Apache Cassandra, and others. RubyMine includes all of DataGrip’s features.
Use the Database tool window to conveniently access and edit data structures in your databases and carry out various tasks. The available data sources are shown as a tree of data sources, schemas, tables, and columns.
Run your queries, configure results, and manage SQL files and directories right from the IDE.
Handle various types of data, such as database object data, and query result sets and data from DSV files using the built-in data editor. With its user-friendly interface, you can effortlessly perform tasks like sorting, filtering, adding, editing, and removing data.
Import and export database objects and data in various formats using data extractors. You can also work with dump files to facilitate the import and export processes.
Enjoy the benefits of smart coding assistance while editing SQL queries.
Use the IDE interface on a lightweight client while having a robust remote host for accessing and loading your project and indexing, analyzing, building, running, debugging, and testing your code.
Edit, build, and run your projects in a development container configured to be used as a fully functional development environment. RubyMine also supports multiple container connections that can be configured with Docker Compose properties.
Interact with the command-line shell using the terminal emulator integrated within RubyMine. Work with the Ruby environment, run Git commands, and perform other command-line tasks without switching to a dedicated terminal application.
Test APIs inside the IDE with the integrated HTTP client. You can compose and run HTTP requests right in the editor.
Use the Code With Me plugin for real-time collaboration, for example for editing code, sharing a server, or running a debugging session. Participate in pair programming, allow your students to observe your development process, or edit your code together with other participants in a collaborative manner.
Discover the power of RubyMine’s Docker integration, which allows you to create Docker images, run containers, and leverage public and private Docker registries.
RubyMine also offers a Docker Compose integration for you to manage, run, and scale multi-container applications effortlessly.
Choose one of the bundled editor color schemes, create your own custom schemes, or modify existing ones.
Boost your productivity by using the keyboard for all your coding needs. You can choose from predefined keyboard layouts or create your own.
Choose the viewing mode that best suits your specific usage patterns. For example, you can remove all distractions by hiding all UI elements except the code editor.
Adjust the positions, view modes, and sizes of tool windows, and save these configurations as layouts. You can have several tool window layouts and switch between them when needed.
Extend RubyMine with plugins and get support for additional VCS, integration with various tools and frameworks, and editor enhancements.