Thanks to @CrazyCoder & @LazyOne for the pointers...
After a bit more research, I've confirmed and gotten more detail:
The solution is to use the Official Jetbrains (maker of RubyMine) LiveEdit plugin which you can find here: http://plugins.jetbrains.com/plugin/?id=7007
Detailed Instructions
- Download the JetBrains LiveEdit plugin from here: http://plugins.jetbrains.com/plugin/?id=7007
- Run
Rubymine > Settings > Plugins
(type "plugins" in the search box in settings) - Click the
Install Plugin from disk
button at the bottom of the list - Navigate to where you downloaded the plugin and select/open it
- Activate by checking it on the plugin list
- (You will likely have to) restart RubyMine
- Once restarted, go to the
menubar > View > LiveEdit
(which will then be checked) - Download the JetBrains IDE browser Extension for Chrome here: https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji?utm_source=chrome-ntp-icon
- The Chrome extension supports both WYSIWYG/real-time "LiveEdit" outside the IDE, in an external Chrome window and JavaScript debugging inside the actual RubyMine IDE
- I believe there is also an extension for FireFox, which I believe ALSO DOES support Javascript debugging through the IDE. BUt, I'm not sure if it supports LiveEdit like the Chrome extension
- (Launch) Debug your project
- Edit as you normally would
Observations/Opinions
The plugin pretty much works seamlessly. I've found it cuts development time significantly by not having to constantly MANUALLY reload the page, i.e. use your mouse or keyboard to bring focus to the browser window and hit refresh... this time adds up especially if you are doing a lot of HTML/CSS and want to check your changes often.
However, I'd suggest turning it off if you're going to do any major back-end/Rails or Javascript as the reload might be slightly longer due to code interpretation/processing and you hit errors as you are mid-statement and the LiveEdit decides to refresh while variables aren't defined or have improper values. In this case, the time you save by not having to manually refresh, may be lost (more than 1x fold) b/c of how often and how long it takes for content to be created/rendered on the server-side or in JS on the client.