Last Updated on 2026-05-30 by James Croft

Rider gives you ReSharper-grade refactoring as a first-class IDE without the Visual Studio integration tax. Copilot in Rider gives you completions, Chat, and Agent mode running against the same project model Rider already understands. The reason to combine these two specifically is that you get JetBrains-grade refactoring and an AI that can drive it, on macOS and Linux as well as Windows.

The setup (5-minute version)

Install Rider:

winget install JetBrains.Rider     # Windows
brew install --cask rider          # macOS

On first run, sign in and pick the non-commercial license if you qualify for open source, learning, side projects. Otherwise, you’ll need a paid JetBrains subscription.

JetBrains Rider supported technologies including Unity, Azure, .NET, Web, Xamarin, WPF, Entity Framework, and Docker

What you’ll want to change on fresh install:

  • Settings → Plugins and install or update GitHub Copilot. Sign in to GitHub from the Copilot window once installed.
  • Settings → Build, Execution, Deployment → Toolset and Build and set the maximum parallel project builds to your CPU core count. Default is conservative on multi-core machines.
  • Settings → Editor → General → Code Completion and set “Match case” to “First letter only”. Stops half your completions from being filtered out when you type lowercase.
  • Settings → Tools → Actions on Save and enable “Reformat code” and “Optimize imports”, scoped to changed lines only. Anything wider creates noisy diffs.
  • Keymap to bind Copilot Chat to a shortcut you’ll use. Ctrl+Shift+I matches VS Code muscle memory if you flip between the two.
  • Drop an AGENTS.md at the repo root with your project conventions, naming, layering rules, test framework, async patterns. Copilot Chat and Agent mode both read it. This is the single highest-leverage thing you can do, and I’ve gone into it in detail in Teaching AI Agents to Work on Your Codebase.

Three workflows that show the strengths

Cross-solution refactoring with Chat as a sanity check

You want to rename OrderService.PlaceOrder to OrderService.SubmitOrder and update the public API contract everywhere it’s referenced, including XML doc comments, log messages, and any OpenAPI summary text.

  • In Rider: Shift+F6 on the method. Rename ripples through every call site, interface, DI registration, and partial class. Rider is more thorough here than Roslyn’s standard rename, it picks up generated-code references and (if you tick the box) string occurrences.
  • In Copilot Chat: open Chat, attach the relevant OrderService.cs and the controller file, and ask: “I just renamed PlaceOrder → SubmitOrder. Update the XML doc summary, the route comment, and any log messages that reference the old name.” Chat returns per-file diffs. Apply selectively.

Generating xUnit tests from a method signature

You’ve written a method. You want tests for the happy path, a couple of edge cases, and one exception path.

  • In Rider: right-click the method → Create Tests → pick the test project and xUnit. Rider scaffolds the test class with the right using directives and one empty [Fact]. Use the existing test project so your conventions are picked up.
  • In Copilot Chat (with the source file and the empty test file both attached): “Generate xUnit tests for [method name]. Cover the happy path, null input, empty collection, and the case where the dependency throws.”
  • Run the tests with Ctrl+U, R. Failures show inline with diff-style assertion output.

Agent mode for a vertical slice

You need to add a Customer entity: EF Core model, migration, repository, service, controller, and a GET /customers/{id} endpoint. The mechanics are standard and you’ve done it 50 times.

  • Open the Copilot Agent view. Prompt: “Add a Customer aggregate: Id (Guid), Name (string, required, max 200), Email (string, required, valid email format). Wire up an EF Core repository following the pattern in OrderRepository.cs, a service following OrderService.cs, and a controller exposing GET /customers/{id}. Include the EF migration.”
  • Agent mode uses OrderRepository.cs as a template (because AGENTS.md tells it to follow existing patterns), edits 6–8 files, runs dotnet build, and comes back with a diff.
  • Review in Rider’s VCS → Local Changes. Every file diff is clickable and you can edit inline before committing. Run the migration with dotnet ef database update from Rider’s integrated terminal.

What to read next

The single biggest determinant of whether Copilot, especially Agent mode, actually helps is how well your codebase teaches the agent what “good” looks like. Conventions, project structure, instructions files, and tests all factor in. I wrote about exactly that in Teaching AI Agents to Work on Your Codebase which is worth reading before you turn Agent mode loose on something real.


Discover more from James Croft

Subscribe to get the latest posts sent to your email.

James Croft

James is a senior software engineer at Microsoft with over 10 years experience designing and building large-scale, distributed, cloud-native systems. He's deeply experienced in C#, Python, and TypeScript, with specialization in AI agent architectures, retrieval-augmented generation (RAG), and production-grade Azure systems.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.