In the second part of our JetBrains product series, I now take a look at a collection of tools for .NET and Visual Studio developers. For this, I interviewed JetBrains Developer Advocate Khalid Abuhakmeh.
JetBrains provides multiple .NET and Visual Studio tools. In this interview, we focused specifically on ReSharper, Rider and DotUltimate.
What are ReSharper, Rider and DotUltimate?
ReSharper and Rider are focused on helping software developers write the best .NET code they can. Like most JetBrains products, Rider shares much of the same DNA as ReSharper, with the ReSharper engine powering many of Rider’s code analysis and quick-fix features. When using either ReSharper or Rider, developers can hope to improve code quality through industry-leading code analysis, eliminate errors and code smells, safely apply refactorings, and instantly traverse any size solution.
Rider takes the beloved ReSharper experience and transplants it into a standalone IDE. A first-of-its-kind experience for .NET developers. Any .NET developer can now program across any operating system of their choosing: Windows, macOS, and most Linux distributions. Rider is also the first 64-bit IDE available to .NET developers. Besides having great C# support, the Rider team continues investments in F# and VB.NET. Rider works with popular frameworks like ASP.NET Core, Xamarin.Forms, WinForms, WPF, and more. Along with native .NET frameworks, Rider also supports open-source technologies like Avalonia UI, SpecFlow, and Nuke, either as first-class citizens or through high-quality plugins.
At JetBrains, we recently launched the dotUltimate licence, giving developers access to all the .NET-focused tooling we build, including ReSharper, Rider, dotTrace, dotMemory, dotCover, and dotPeek. We believe it’s a fantastic value for .NET developers. The tools provided with the dotUltimate licence can help in all phases of development, from writing code, profiling performance issues, and deploying to any environment.
Who are these tools for?
Software engineers will have the best development time experience with tools like ReSharper and Rider, but we feel dotUltimate helps everyone involved in the software development lifecycle (SDLC).
Quality assurance team members can use tools in ReSharper/Rider to author and run unit tests for all of the popular unit testing frameworks like xUnit, NUnit, and MSTest. Rider also leverages the broader IDE plugin ecosystem via the JetBrains marketplace to pull in testing tools like Selenium, Specflow, and K6.
A development team can carry that experience over to continuous integration (CI) environments using command-line tool versions of ReSharper, dotTrace, and dotMemory. Integrating dotUltimate tooling into CI environments can run code inspections and verify code quality using static analysis. The dotMemory Unit test runner helps detect severe performance regressions and memory leaks, ultimately leading to better behaviour of your applications when deployed to production.
Rider users have access to the same database tools provided in our database product, DataGrip. The data access tools have a wide variety of database drivers from SQL Server, Oracle, MySQL, Elasticsearch, and more. While not its primary focus, the Rider database tooling support is compelling for database management.
The dotUltimate product pack has a tool and plugin for everyone involved in the SDLC.
Why should people use these tools?
In 2004, ReSharper showed .NET developers that an IDE can do more than just write code. In 2021, the JetBrains teams have no plans on slowing down. It’s an undeniable fact that all technology is moving faster, and whether you’re new to .NET or a seasoned developer, there are likely gaps in your knowledge. The dotUlimate tools can help developers stay current with their skills while refining their existing .NET knowledge.
The joy of using dotUltimate products comes from discovering new and exciting features recently introduced to .NET and the C# language. Our tools provide hints and suggestions for new language features like pattern matching, init-only setters, top-level statements, and support for source code generators. There’s also the relief of finding that pesky bug with built-in dotTrace, dotMemory, and dynamic program analysis now, rather than getting that urgent nighttime call.
The dotUltimate product line provides support for ASP.NET Core, Xamarin.Forms, WPF, Avalonia UI, Unity Game Engine, Blazor, and the list goes on. In short, if it’s happening in .NET, our dotUltimate tools can help.
In short, developers looking for the best .NET development experience should try our dotUltimate line of products, and seeing that ReSharper and Rider are now in one licence, there’s never been a better time to jump in.
What are your favourite features and why?
ReSharper’s ability to decompile any dependency to source code was revolutionary when it was introduced. Even presently, it continues to be critical to my growth as a software developer. Open source wasn’t always the default option, and seeing how solutions are implemented adds to my understanding of .NET. dotPeek, part of the dotUltimate tools, is a great standalone decompiler and is also available as a feature in ReSharper and Rider. Today, OSS is the norm, and most of the .NET code is available online, but I still find decompilation an essential part of my toolkit.
In 2021, my favourite “feature” is the freedom to write .NET for all significant operating systems natively while working on those platforms. I’m a macOS fan, and in combination with Docker, which Rider has excellent support for, I can get almost all my development done without ever needing to start a Windows virtual machine. As a developer advocate, I help developers troubleshoot .NET issues on Windows, macOS, and Linux, and jumping between all three and having the same experience makes me feel like a superhero.
While our dotUltimate tools have killer features, we know our users love the overall experience of discovering something new in a language and technology they thought they knew. Our products transcend beyond a checklist of features and bring joy back to the development process – it needs to be felt to be understood.
Do you have any tips or tricks?
Our ReSharper/Rider products share a wide range of shortcuts, but developers only need to remember two crucial ones to be productive: ‘Alt+Enter’ and ‘Shift+Shift’.
Anytime a lightbulb icon is visible, users have the opportunity to press ‘Alt+Enter’, triggering the actions context menu. The ReSharper engine will recommend the most relevant action given the circumstances. It may add a missing namespace, suggest a change to the access type of a method, ask to create a new property in a class, move a class to a new file, and more. ‘Alt+Enter’ is also helpful in situations where a lightbulb isn’t visible.
‘Shift+Shift’ toggles the Search Everywhere feature, allowing developers to find Classes, Files, Symbols, and Actions. If you’re struggling to find anything, this dialog will help you find it. Both ReSharper and Rider features are fully searchable, so even if you don’t know the exact shortcut keys, you can use the dialog to find and execute any action available.
What resources do you recommend?
First, follow JetBrains’ Twitter accounts, as we are active with our community of users. We help answer questions, troubleshoot issues, and take feedback that directly impacts the products.
For folks who like a self-guided learning experience, many of our tools have built-in tutorial systems which help developers get up and running quickly. Developers still curious about the dotUltimate tools can read the official JetBrains documentation under the .NET and Visual Studio section.
Secondly, as developer advocates, we think of our developer community first and foremost and how we can help them. We write valuable content at the official .NET channel of the JetBrains blog and have a helpful guide brimming with tips and tricks.
Finally, be sure to follow .NET advocates Maarten (@maartenballiauw), Rachel (@RachelAppel), Matt (@CitizenMatt), Matthias (@MatKoch87), and me – Khalid (@buhakmeh), along with JetBrains employees on Twitter. We’re a kind, helpful, and fun bunch of folks here to help you on your .NET journey.
Find out more
Grey Matter is a JetBrains reseller. Please contact us if you would like to discuss licensing, free trials, demos or anything else relating to the JetBrains .NET and Visual Studio developer tools. Call +44 (0) 1364 654 100 or email firstname.lastname@example.org.