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.

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+Imatches 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+F6on 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.csand 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
usingdirectives 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.csas a template (becauseAGENTS.mdtells it to follow existing patterns), edits 6–8 files, runsdotnet 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 updatefrom 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.






