📜 ⬆️ ⬇️

New version of RubyMine: Chef, Puppet, EditorConfig and more

At JetBrains, we sincerely believe that programming is by no means reduced to simple code writing. Programming means constantly developing, increasing your knowledge, improving your skills, using the best tools. If you are familiar with the parable of the two woodcutters , in which the one who does not forget to sharpen his ax is more skilled, then you will understand our desire to hone the development tools with each subsequent release. The latest release of RubyMine, our development environment for Ruby and Rails, is not an exception, which we want to talk about in more detail in this post. By the way, yesterday the first update became available for download - RubyMine 7.0.1.




')

Chef integration


Chef's configuration management system is now supported through a separate plug-in compatible with RubyMine 7 and IntelliJ IDEA 14 and allows recognition and creation of books , recipes and resources in the IDE.

If Chef gem is installed and a project is opened that contains a folder with the recipes directory with a ruby ​​file inside, then when opening this file, RubyMine automatically recognizes it as a recipe and suggests adding the appropriate directory as a book:



The structure of the project can be changed at any time in the settings (Settings | Project Structure):



After the settings are completed, code completion as a resource becomes available in the recipe files:



so for their attributes:



Puppet language support


Support for the Puppet language in IDE is also provided through a separate plug-in compatible with RubyMine 7 and IntelliJ IDEA 14, which has been significantly improved and tailored to work with Puppet manifests .

First of all, we improved the navigation mechanism , since manifests can contain a large number of definitions of resources, classes, nodes, variables, etc., which must be correctly processed:



Navigation is carried out not only among user-created manifests, but also on modules installed from Puppet Forge. However, it should be noted that the modules used must be located in the default directory or in the directory specified in the puppet.conf configuration file:



The plugin also implements the traditional for our IDE functions, such as code completion , refactoring , inspections , search usage , quick documentation , code formatting , etc., taking into account the structure of the project and the installed modules:



New features for customizing code style


EditorConfig format support has been added to RubyMine 7, which allows you to use the same code style settings in different projects and different editors. The formatting rules are described in the editorconfig configuration file, when added to the project root, the rules are automatically recognized and applied:



Please note that the formatting rules described in .editorconfig , by default, take precedence over the IDE settings. You can turn off EditorConfig in Editor | Code Style.

In addition, in the formatting settings (Editor | Code Style), the Detect and use existing file options option appeared, which allows the editor to define and use the current formatting settings in the file:



Thus, even if the code style settings (such as Use Tab Character and Indent Size) in the edited file are different from the IDE settings, they will be saved.

Improved debugger


When you start a project in debug mode, an interactive console has now become available, which allows you to execute commands directly in the IDE using, among other things, the code auto-completion functions:



When running tests in debug mode, the interactive console is available as a separate tab:



In addition, a new convenient debugger function has been added to RubyMine 7: now the values ​​of the objects are displayed directly in the editor next to the code:



More intelligent code analysis


Thanks to the ideas and comments of our users, we were able to make code analysis in the new IDE version even smarter. Now, YARD attributes and RDoc methods are also correctly recognized as method attributes :



RVM support as remote project SDK


Remote Ruby interpreters running RVM can now be added as a project SDK:



In addition, we have improved support for remote SDKs based on vagrant configuration files.

Scratch files


Using the Scratch Files function, you can now experiment and prototype code directly in the editor without creating new files in the project. On the shortcut Shift-Cmd-N / Ctrl + Alt + Shift + Insert you can create a temporary file by selecting the desired file type. All features of the editor, such as code completion and inspection, are available in Scratch files:



And much more


RubyMine 7 also inherited from WebStorm 9 a number of improvements for web development, including a preview for Emmet , support for the latest versions of CSS3 , Stylus and Sass , code reformatting for Slim and HAML , support for ReactJS and JSX / ES6 , etc.

We can talk for a long time about many other, small, but not less pleasant and useful innovations of RubyMine 7. But isn’t it better to just try the new version in action? You can learn more about RubyMine 7 and download a free 30-day trial version of IDE on our website . The update is free for all users who have bought or renewed their licenses on November 13, 2013 or later. We also remind you that all JetBrains IDEs are now free for students .

We will try to answer your questions in the comments, and we will be glad to any new requests in our bug tracker .

Program with pleasure!
- JetBrains team

Source: https://habr.com/ru/post/244701/


All Articles