I recently spilled tea all over my laptop. Not proud of it. It's a laptop I'm going to be using for a presentation next week, and I had no other Windows laptops in the house. So I hit Amazon and grabbed a new one to be overnighted here and get set up.
I needed to get a fully functional .NET development machine up and running.
As I was doing this I thought it might be interesting to share how it's set up, and gather some feedback about what YOU use for a .NET Developer machine setup. Leave a comment.
And yes I should just use PowerShell to do all of this.
So I have my new system, and obviously I want to update it to the latest version of Windows 10, and all updates. This pulls in the .NET Framework.
The next step is getting WSL. I've been using this so much lately I can't live without it.
Enable Windows System for Linux
To enable it you just run the following in a PowerShell prompt:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Then the next thing I can't live without. Windows Terminal. I have this set up so I can run a Powershell, Windows Command Prompt, and Linux command prompt all from the same application.
If you're a heavy command-line user/scripter it's a must-have.
You can download Windows Terminal here.
Next, I want to do Linuxy things on my file system, so I add on Debian for WSL:
I also like to do container stuff. It's helpful to build containers and test stuff on your local machine.
Now my machine is mostly setup. Oh yeah, I have install Git as well. Can't develop without it.
So now I have to grab some .NET Stuff. Windows 10 comes with .NET 4.x by default, but I like to grab the old 3.5 framework for older tools and testing older apps.
Then, I install .NET Core.
Here I will grab the:
- Dotnet SDK
- Dotnet Runtime
This way I can develop and test .NET Core applications on this machine.
Now I need some IDES. I install Visual Studio Code. These days I do about 90% of my development in it, as well as a bunch of text editing.
At a minimum I grab these extensions:
- Remote WSL Extension
- Docker Extension
- C# Extension
For the big stuff, I still like to use Visual Studio 2019. The debugging, test and other tools are hard to beat. If you're building enterprise applications it's still a necessity.
Here are some other tools I install to help development. Since I do web stuff, I find having NodeJS installed is really nice. I can use it in conjunction with Visual Studio, or use one-off apps to do transforms on things. Plus it helps for testing.
To access databases it's always nice to have SSMS on your local machine. So I grab that. I don't always set up a SQL server on my machine, but it's helped in the past. I at least want SSMS on here.
I've been using SQLite for a ton of stuff lately. It's great for one-off projects and small databases. If you have a gnarly CSV file and you want to extract data with SQL queries, it's indispensable:
Here are some weird little utilities I add on that I can't live without.
Curl is an awesome utility for debugging web pages or pulling down files from the internet. Super useful
Nimbletext - So many cool things you can do with this app. I liked it so much I bought the paid version. If you do a lot of text manipulation it's worth its weight in gold. Those CSVs? You can turn them into SQL statements or C# code in minutes with this tool:
Kdiff is my diff tool of choice. Excellent for comparing files and I use this as my diff tool with Git. Saves you tons of time.
Then there's Linqpad. You can build LINQ queries without it, but you won't want to after using it.
So now with all this installed and configured I'm rocking and rolling. Let me know what you think of this setup. Anything I missed? Leave a comment.