Visual Studio
Microsoft's full IDE for C# and .NET on Windows, with Quick Actions and Refactorings (Ctrl+.) for extracting methods and interfaces, inlining, renaming and moving code, plus analysers, a debugger and a test runner. The Community edition is free for individual developers, students and open source work.
Tool
Other
Microsoft
Installed in under an hour, used daily
All
Free
What Visual Studio is
Visual Studio is Microsoft's integrated development environment for Windows, and the most complete tool for C# and .NET development. The current major version is Visual Studio 2026. It is a different product from Visual Studio Code, the lighter cross-platform editor.
Who can use it for free
Visual Studio Community is the free edition. According to Microsoft's Community page, any individual developer can use it to create their own free or paid apps. Organisations can use it for up to five users, and use is unlimited for classroom learning, academic research and contributing to open source projects. Larger enterprises, defined by Microsoft by number of PCs or annual revenue, may use it only in those academic and open source scenarios. Read the licence terms on Microsoft's site if you are unsure which applies to you.
Refactoring in Visual Studio
Almost every refactoring starts from one shortcut: Ctrl+. opens the Quick Actions and Refactorings menu for whatever is under the cursor. Microsoft's documentation for C# covers, among others:
- Extract Method (also Ctrl+R, then Ctrl+M): turn selected code into its own method, then name it.
- Extract local function: when the extracted code is only needed inside one method.
- Extract base class and Extract interface (also Ctrl+R, then Ctrl+I): pull members up into a new base class or interface, which is exactly the move behind dependency inversion.
- Inline method and Inline temporary variable: the reverse moves.
- Rename and move refactorings: update every reference across the solution.
Your keyboard shortcuts may differ depending on the profile you chose at install.
Why it helps you learn design
C# and .NET use interfaces and dependency injection everywhere, and Visual Studio makes the refactorings between concrete classes and interfaces a couple of keystrokes. The built-in .NET analysers flag code quality issues as you type, and the test explorer runs xUnit, NUnit and MSTest tests so you can run tests after every refactoring step.
Visual Studio or VS Code for C#?
On Windows, Visual Studio gives the most complete experience. On macOS and Linux, use VS Code with Microsoft's C# tooling, or JetBrains Rider.
Common questions
Is Community limited in features? For learning and for this roadmap, Community has everything you need.
Best for: C# and .NET learners on Windows who want the full set of refactoring, analysis and debugging tools.
Ready to start?
Opens on Microsoft in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.