Do it inside a string to convert it to a symbol.Įrrors highlighting, code formatting, refactorings’ they all work the same way whether you are editing Ruby, JavaScript, a CSS or Cucumber. Do the same inside a block, and you can convert automatically between the braces or do/end syntax. If you place the cursor inside a hash entry and press ALT-ENTER you are offered the possibility of converting between => and : notations. If you have a list of failing tests, you can browse them the same way. If you have a list of search matches, you can browse them by pressing CMD-ALT+UP/DOWN. In RubyMine things work in a consistent way. This feature is probably the most difficult to describe but is also one of the most appealing to me. RubyMine lets you split the current editor in independent views and keep a set of tabs opened in each view. Splitting views is a feature TextMate users have been demanding for a long time (I think it was finally included in TextMate 2). Sometimes I like to have both the code and its test displayed in parallel. It also lets you move through the matches using your keyboard ( CMD-ALT-UP/DOWN), invalidating the results in real time if you modify the code. Global search lets you easily filter by file patterns and folders. Search in the current file is incremental and highlights matches as you type the search expression, even when you use regular expressions. Coming from TextMate, this was another major relief for me: RubyMine offers many search options, and these are beautifully executed. But I think a nice environment benefits everyone: both power users and newcomers. It is true that once you master the environment, you rarely move your hands out of the keyboard. I appreciate having standard menus with actions and toolbars, having shortcuts displayed in menus and tooltips, having tabs, browsable trees and sheets of properties, having contextual menus properly displayed when I right click on something, and so on. Consecutive keystrokes will expand the selection intelligently (enclosing block, method, class, etc.) I use this feature all the time. Press it again, and the selection will expand to include that word’s scope, such as the enclosing string or the method invocation it is part of. When you press CTRL-W in RubyMine, you get the word on the cursor selected (as in TextMate). And ALT-SHIFT-ENTER will open the alternative options so you can choose other option and close the dialog when selected (such as commit and push in Git). For example, when using modal dialogs, CTRL-ENTER will perform the default action and close the dialog (such as commit in Git). The whole environment is designed to be used with the keyboard. It has a nice editor with a search box for defining shortcuts for whatever action the IDE offers. Most commands have predefined shortcuts and they appear in the menus so learning them is easy. RubyMine offers excellent keyboard support: I missed it badly when using TextMate, and never felt totally comfortable using it in Vim via CTAGS support. This includes Ruby gems in your Gemfile or JavaScript functions included in any file of your project. RubyMine lets you navigate to any symbol by pressing CMD-B (or CMD click with the mouse). RubyMine offers excellent support for them in both Ruby and Javascript. And I feel much more productive when I can have these refactorings performed automatically. When I code, I am continuously renaming stuff and extracting methods and variables until the code looks clean to me. Extracting blocks of code as new methods or variables.There are two things I keep doing when I code: Things I like about RubyMine Refactorings I tried RubyMine and felt that I have finally found something that matched my taste and needs. At some point, I decided to learn Vim motivated by the good press it had among Rails developers. I never felt completely satisfied with it, but I liked its minimalistic approach, the rich suite of available plugins and how it looked and felt in general. I have been using it for one year and a half as my main Rails/Javascript editor.īefore RubyMine I used TextMate.
0 Comments
Leave a Reply. |