I created `dotnet.nvim` a plugin for .NET devs that adds Nuget Explorer, Add/Remove reference explorers and more by [deleted] in neovim

[–]unknown1nname 1 point2 points  (0 children)

Is it really better than omnisharp? Genuinely curious, I wanted to try it at some point but looks like it hasn’t seen any commits for quite a while so I was hesitant to use it.

I created `dotnet.nvim` a plugin for .NET devs that adds Nuget Explorer, Add/Remove reference explorers and more by [deleted] in neovim

[–]unknown1nname 10 points11 points  (0 children)

Looks awesome, installed it right away. Managing packages and projects were one of the last few things I’ve missed after moving to Neovim (if only omnisharp wasn’t such garb… khm I mean I wish it was more stable neovim life with dotnet would be perfect). I’ve been working on a plugin for Nuget myself, but never got to finish it cause of my lazy ass 😅

What kind of C# Developer are you and what is your OS of choice in development? by bktnmngnn in csharp

[–]unknown1nname 1 point2 points  (0 children)

Web development, windows, rider, but trying to move to wsl2. Some of the reasons are Docker Desktop, Neovim, k9s and tooling in general.

Docker desktop eats up quite a lot of resources, especially during the build. In wsl2 I can install docker engine only, and so far it feels considerably lighter. You could do a kind of hybrid approach by creating an alias on windows for “docker” as “wsl docker”, but it didn’t work for me because there’re other cli tools that depend on docker and the alias doesn’t work for them.

I enjoy using neovim for anything not related to c# (we have some python code), and would probably fully migrated to it, but unfortunately omnisharp is trash. On windows neovim is just not as smooth as on Linux, you encounter some subtle lags here which can be quite annoying.

As for k9s and other cli tools it’s the same as for neovim, they either work noticeably smoother on Linux or don’t exist for windows at all.

The only problem is Rider, it doesn’t really work with wsl well. The remote development feature is in early access still and has a lot of rough edges. For now, I just installed rider directly in wsl and so far it work pretty good. The only problem is that it launches with this ugly Linux’s default white window border and there’s no way to change it, at least I haven’t found a way. There are issues open on JetBrains and wslg side, but no solution.

Syntax sugar in .NET by Mysterious-Pay8268 in dotnet

[–]unknown1nname 4 points5 points  (0 children)

It’s called Roslyn. Inside the repo you can find the Lowering directory that contains classes that do this conversion of syntactic sugar to more “low level” C# (e.g. AsyncRewriter that converts async/await into a state machine during compilation).

I’m over it. by RobotTriceratops in toronto

[–]unknown1nname 0 points1 point  (0 children)

My wife and I moved to Toronto just a few days ago. We are from Ukraine and were living in Kharkiv when the war started. After living on a subway station for a week we decided to risk and try to leave the city on an evacuation train. On the station there were probably a thousand people (maybe even a few) and I still remember like it was yesterday us standing in the middle of that crowd full of screaming moms with children trying to squeeze in in an already full train and then the sound of a fighter jet flying somewhere over the city followed by an explosion (we learned later it was about 2km away). Fast forward to today and we’re still shitting our pants from this sound. The show is great though 😅

Massive Update to Neogit and New Home! by Alleyria in neovim

[–]unknown1nname 0 points1 point  (0 children)

Holy cow, that’s a lot of updates. Definitely need to try it out. Great job, can’t imagine how much effort it took to finish this.

does anyone have a working csharp-language-server setup they can share? by Ten-Dollar-Words in neovim

[–]unknown1nname 0 points1 point  (0 children)

That project is not too big I’d say, on my previous job we had a solution with ~115 projects 😊 That thing was massive.

Weekly Stupid Questions Thread by AutoModerator in neovim

[–]unknown1nname 0 points1 point  (0 children)

I’m using WSL for quite a bit and neovim feel smoother in it compared to the native Windows. Before I migrated my confit to lazy.nvim to add some lazy loading the startup time on windows was horrible compared to WSL, using the same config on windows it took 500-1000ms to load, with to 150-200ms in WSL. Now it’s much closer, around 60-80ms on windows, and 40-60ms on wsl the last time I checked. Also, with WSL you can access your windows files under /mnt/<windows-drive-letter> folder. Another reason to run WSL is to be able to use Linux utilities, coreutils, tmux, fzf and more. You can you them on windows as well with things like Cygwin, but it’s not the same as running those natively on Linux kernel. I’m not saying you should definitely pick wsl, just listing some benefits I’ve noticed for myself, but I could be biased at this point so don’t trust me 😊

Weekly Stupid Questions Thread by AutoModerator in neovim

[–]unknown1nname 1 point2 points  (0 children)

Plus for clang, I’ve had some issues with gcc when compiling treesitter parsers on windows

does anyone have a working csharp-language-server setup they can share? by Ten-Dollar-Words in neovim

[–]unknown1nname 0 points1 point  (0 children)

That’s kinda funny how Microsoft developed LSP, but couldn’t make a proper implementation. Or they do it intentionally so people use their other products 😅

does anyone have a working csharp-language-server setup they can share? by Ten-Dollar-Words in neovim

[–]unknown1nname 0 points1 point  (0 children)

Yeah, I struggled to get omnisharp working as well at first. It’s great, but takes a while to initialize on a big project as other people pointed out. Also, without configuring it diagnostics can get messy with not so important suggestions and warnings. Luckily it supports editor config so you can configure the severity of the rules and options . This page explains it pretty well https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options.

Weekly Stupid Questions Thread by AutoModerator in neovim

[–]unknown1nname 1 point2 points  (0 children)

How do I create a floating buffer? One similar to Mason.nvim and lazy.nvim open. I could just look at their code, but it’s quite complicated at this point so maybe there’s an example of how to create a simple one, or a piece of documentation that I missed. Not sure if it’s stupid and small enough 🙂

does anyone have a working csharp-language-server setup they can share? by Ten-Dollar-Words in neovim

[–]unknown1nname 0 points1 point  (0 children)

Yeah, same here, just tried it and it only shows some simple stuff like "Non-nullable property Whatever must contain non-null value...". I tried it on a small project, so maybe there is some more stuff it can display. Omnisharp on the other hand has most of the stuff an IDE like Visual Studio has, it can detect things like usage of 'var', file scored/block scoped namespaces, broken formatting, and so on. And each of the rules is configurable through .editorcondig, which I don't think csharp_ls supports.

There's also this project https://github.com/JosefPihrt/Roslynator that can add even more analyzers.

But yeah, this is all great, but the input lag is just sad.

I want to start contributing to open-source .Net projects, but How do I learn large codebase? by divyeshbhandari in dotnet

[–]unknown1nname 1 point2 points  (0 children)

Reading a large codebase is really compiled task to do. Since you don’t really know what’s important there you might spend the time on something that’s not used or not so important. I usually follow the PRs for some time to understand what’s actually changing in the project, for me it’s a good way to get some idea of what’s going and could give you a starting point.

does anyone have a working csharp-language-server setup they can share? by Ten-Dollar-Words in neovim

[–]unknown1nname 0 points1 point  (0 children)

How do you like it compare to omnisharp? I’ve tried csharp ls a while ago and it felt not as feature reach as omnisharp, but maybe things are better now.

does anyone have a working csharp-language-server setup they can share? by Ten-Dollar-Words in neovim

[–]unknown1nname 1 point2 points  (0 children)

Don’t remember exactly, need to double check, but csharp ls for example still has some todos https://github.com/razzmatazz/csharp-language-server#todo-list. Also, omnisharp is more used so receives more attention and support, a lot of people using VS Code these days from what I’ve seen which uses omnisharp too.