What’s The Practice with Rider & .NET Solutions/Projects? How to resolve IDE errors?

Alright, I’ve fought with these kinds of things since the inception of .NET, the key difference now is that there are the variances in .NET versions and also IDEs. The question is, how should I setup my solution and respective projects?

First – .NET Solution

Usually what I do is create an empty solution. Name it, check the options accordingly to create a directory and make it a Git repository.

Then, as a kind of general practice I create a class library to build out logic and what not, and add a test project and then whatever the interface is going to be. That might be a web app, a GUI, or console as I’ve got selected here. Sometimes, if useful I go ahead and create a Dockerfile.

At this point, there are a few key problems I always bump into. Obviously, since I have a repo I need a .gitignore file, preferably a README.md, and maybe even a license file right? How does one add, so that the IDE is aware of them, any extra files at the solution level? What I usually do here, is use the terminal to just build out the solution level files, but then the IDE doesn’t know about them. Similar problems come up in the other .NET IDEs like Visual Studio and such.

Second – Open a Folder Solution

The second type of solution I find myself creating is started by opening a repo folder.

Empty, with nothing else that looks like this.

Creating a .gitignore and other respective files is easy at this point. As a right click will allow me to do just that. I’ve also added some projects.

At this point everything works great. As you can see below the runner is wired up, the IDE is aware of the tests, and runners are available for that.

One problem I’ve run into however with this technique, is sometimes I close this type of project – one started by merely opening the folder – and all this awareness just disappears. On the same machine, same folder, no deletion of the .idea folder or anything like that. It just loses all the awareness.

So my question is, which method do you use to start a project and how to do you, fellow .NET coders, work around these types of issues?

GraphQL VS Code Extension Review && Simple Schema Build

Today I checked out the GraphQL extension – “VSCode GraphQL” – for Visual Studio Code. It’s available on the Marketplace @ VSCode GraphQL and of course you can navigate to plugging in VS Code and install it just like this.

Installing the Extension
Continue reading “GraphQL VS Code Extension Review && Simple Schema Build”

Development Machine Environment Build & Language Stack Installations – Browsers & IDE’s

In this video I put together some basic IDE’s and browsers I install. In the case of browsers that includes more than a few. For the case of IDE’s it’s my standard arsenal of Jetbrains IDE’s and Visual Studio Code. For the previous step in this series, check out the Base OS Load post.

Additional Notes

Here’s the full list of IDE’s I installed.

IDEs

Browsers

That’s it for now. However, if you’re interested in joining me for next steps, language stack setup, and more in addition to writing some JavaScript, Go, Python, Terraform, and more infrastructure, web dev, and all sorts of coding I stream regularly on Twitch at https://twitch.tv/adronhall, post the VOD’s to YouTube along with entirely new tech and metal content at https://youtube.com/c/ThrashingCode. Feel free to check out a coding session, ask questions, interject, or just come and enjoy the tunes!

For more blogging, I’ve write on https://compositecode.blog and the Thrashing Code Newsletter for more details about open source projects and related efforts I work on, sign up for it here!

Hi, I’m Adron & This is My Gear Setup

I sat down and made a short video of my systems setup and related gear. I’ve always enjoyed seeing other peoples’ setups so figured I’d join the mix and show you all what I work with. Happy to answer any questions too, cheers!

In addition to the video intro I’ve created some additional repositories and related things that I use frequently that may be useful.

Ubuntu Dev Setup Repository: This repo dev-setup-ubuntu has some installation scripts and related collateral that I use to get virtual machines built in an automated way. The focus of this is for setting up development boxes and not for setting up servers.

Video Stream Hacking AKA Twitch & Youtube Live Streaming: This repo is setup with notes and eventually I’ll likely add scripts and related collateral that I use during filming Twitch/Youtube Streams.

Full Gear List: If you’re interested in what makes this possible, at a more detailed level, this is the list to check out.

IDE Launcher via Amtrak Cascades to Portland for ML4ALL

Got fidgety on the train, and just wanted to write code, on the way down to Portland for ML4ALL so I wrote up some decision tree code on determining what IDE’s I want opened up. Ya know, if you do something more than twice it needs automated, so I’ve started the process of automating all startup and shutdown tasks for a day’s coding. Simplistic geeky train geek code fun code is fun geeky train code. Cheers!

[sourcecode language=”cpp”]
package main

import (
“time”
“fmt”
)

var sessionMinimal, sessionMedium, sessionLong, sessionZone time.Duration
var language string

func main() {
sessionMinimal = 15
sessionMedium = 45
sessionLong = 90
sessionZone = 180

language = “golang”

openIde(“golang”, 200)
}

func openIde(languageStack string, expectedCodingTime time.Duration) {
var ide string

switch {
case expectedCodingTime sessionZone:
ide = stackSpecific(languageStack, false, true, true)
fmt.Printf(“Launching: %s”, ide)

}
}

func stackSpecific(language string, fastLaunch bool, featureRich bool, introspective bool) string {
if fastLaunch == true && featureRich == true && introspective == true {
return “\n\nCome on, you know better. You get at best two out of three.\n\n”
}

if fastLaunch == true && featureRich == true {
return “Visual Studio Code”
}

if featureRich == true && introspective == true {
switch language {
case “SQL”:
return “DataGrip”
case “C”:
return “CLion”
case “Python”:
return “PyCharm”
case “golang”:
return “Goland”
case “java”:
return “IntelliJ”
case “scala”:
return “IntelliJ”
case “kotlin”:
return “IntelliJ”
case “dotnet”:
return “Rider”
case “csharp”:
return “Rider”
case “fsharp”:
return “Rider”
case “vbnet”:
return “Rider”
case “javascript”:
return “Webstorm”
case “hcl”:
return “IntelliJ”
case “ruby”:
return “RubyMine”
case “swift”:
return “AppCode”
case “obj-c”:
return “AppCode”
default:
return “IntelliJ”
}
}

if featureRich == true {
switch language {
case “swift”:
return “AppCode”
case “obj-c”:
return “AppCode”
default:
return “Visual Studio Code”
}
}

if introspective == true {
switch language {
case “swift”:
return “AppCode”
case “obj-c”:
return “AppCode”
default:
return “Visual Studio Code”
}
}

if fastLaunch == true {
return “Sublime”
}

return “No IDE for you.”
}
[/sourcecode]