How-To's

Rider EAP update: Version control and database editor improvements

We already mentioned numerous times that Rider is built on top of ReSharper, analyzing our code in the background, and the IntelliJ platform, providing the front end and editor capabilities for our cross-platform IDE for .NET.

Doing so lets us ship the best of both worlds: both products have been evolving over years, and Rider profits. So when IntelliJ IDEA 2016.3 was released, we merged all of the improvements to language-independent features such as version control and the database editor into Rider. Let’s go over some of these improvements!

Version control

Being built on top of the IntelliJ platform, Rider shares a lot of functionality with our other IDE’s like WebStorm or PyCharm. A good example are all of the version control system (VCS) features, which the PyCharm team made some great videos about last summer. Do check them out, they are very relevant for Rider as well!

We promised to cover improvements to the VCS functionality in Rider, so let’s do that now.

The commit log tool window for Git and Mercurial repositories has been redesigned. Commit details moved to the right, commit messages are now aligned and search speed has improved dramatically when searching for text, author or path.

Version control log search

When merging or rebasing branches and commits, Rider can help us resolve simple conflicts. When opening the built-in three-way diff for a given file, the IDE will show a Resolve icon when it can perform the merge for us. Simply clicking it will let Rider handle the conflict for us. Not satisfied? Undo (Ctrl+Z) will do the trick.

Rider git/mercurial/hg merge conflict resolution

Speaking of undo: as long as it has not been pushed to origin, we can now undo a commit from the VCS log. The commit that is being undone can be copied to either the default changelist or any other existing (or new) changelist. Read up on changelists here, they are ideal for local task switching without having to branch or stash.

Undo latest commit and move it to a changelist

From the VCS | Git | Remotes… menu, we can now also manage remotes for our local repository. When working with multiple forks of a repository this can be very useful to configure (or remove) them.

Manage git remotes in Rider

Database tools

Functionality of DataGrip, our database IDE, is included in Rider. This means database and SQL development, navigation, refactoring, … is all there! Get a feel for the database tools by exploring the DataGrip website. Now what was added to the database tools since we merged IntelliJ IDEA 2016.3 into Rider?

When editing data, values for multiple cells can be set at once: simply select the cells and start typing, Rider will make sure all of them are updated. Copy/paste also works with multple cells. Updates made in the Table Editor are stored locally and then, using Ctrl+Enter or the toolbar button, we can send them to our database server in bulk.

Database editor - Bulk changes, edit multiple cells

Editing triggers is now supported, allowing us to write code that executes whenever a specific action (like an update or delete) happens in our database.

Best of all: the editor also comes with code completion, navigation support and refactorings. Want to rename a column? Rider will update all occurrences of that column. Writing a JOIN? Rider gives smart code completion for it.

Edit database trigger in Rider

And of course, source control for database tooling is supported as well. When editing a database object such as a table, view, trigger, stored procedure, …, Rider highlights our changes on the left. When we click it, we can rollback changes or click Show Diff and see what we changed, either in a dialog or inline.

Database editor inline diff

There are many more database editing goodies in Rider! Do explore and check the database editor docs for more info.

Download the latest Rider EAP build and give it a try. As always, comments are appreciated!

image description