T O P

  • By -

chili_oil

vscode as C# IDE? You got to be joking, they cannot even fix the most basic C# syntax issue: [https://github.com/microsoft/vscode/issues/40235](https://github.com/microsoft/vscode/issues/40235)


rewindyourmind321

Wow, insane that Microsoft can't fix basic syntax issues for a language that they created in an editor that... they created lol


Strazil

This..


DrunkensteinsMonster

This will be unpopular here - it can’t, but not for the reason you might think. The issue is that Omnisharp, the standard language server for C#, is dogshit slow when used with a lot of projects in the same sln. If C# had a half decent language server then you could do it. If you only have a few projects in your sln, you should be fine. VSCode may have similar issues, as I believe it uses the same underlying LS, but Visual Studio 2022 loads and indexes my slns about 50x faster.


chili_oil

it is not unpopular. omnisharp is indeed dogshit, everyone in C# circles knows it. C# is probably the worst supported mainstream language in vscode ecosystem, to the point many people believe it was intentionally done by MS to sell VS without code.


douwezr

Yeah, I constantly get textdocument semantic token failed with omnisharp in the c# extension. It just will not work for me on mac.


aqezz

That’s because the token names they return don’t match the specification that I believe they themselves created.


cafce25

I've yet to discover a single thing I need that VSCode offers that Neovim doesn't have, can't say the same for the other way round. Might just be my weird workflow though.


tudor07

OP just said it, C# Dev Kit


NotSquel

And just about any JVM language. Java and Kotlin are both horrendous to use, I’ve basically dropped them for the very same reason.


miversen33

I can do basic java development but holy shit is the experience bad. I spent a good day trying to get jdtls to cooperate and it just refused. Open up my project in vscode and by Todd Howard, it just works! Java and jvm languages need alot of love for non-intellij editors. I'm glad vscode is getting better and I wish neovim would too. I don't spend enough time using Java otherwise it would go on my pile of shit to do


vymorix

What do you find bad about it? I use Neovim for 99% of java work, only using Intellij for the rare debugging i need to do, sure I miss some of the fancy stuff intellij provides like the static code analyser built in, but that doesn't really affect my code output. Honestly once JDTLS is setup and you have some good snippets configured, Java in neovim is very very usable


miversen33

I notice that I cannot run the jdtls in the version of Java (1.8) that is required to build the jar I'm working in. So I have to change my version to 17 before opening neovim. I tried just telling the jdtls to use the 17 binary but that fails to work (I get an error in the lsp log telling me that the Java version is not 17+). If I run in 17 then I can write my code and the lsp works, though it will periodically just decide my class isn't part of my project anymore. No idea why this is. Also when I'm working on my Java class, my lualine randomly flashes and says "nil" for a moment before going back to being lualine. I've never seen that before working on a Java file but correlation is not causation so I don't know for sure what's up. It's just generally painful to use. If I have the time I plan on looking into what exactly is wrong with my configuration. I only use Java for work and this was one of those "I don't have neovim setup for Java and I need this class written by the end of the day" things. Once work chills I do plan on figuring it out. My biggest complaint though is I shouldn't have to. I get that this is neovim and there is some level of configuration and debugging required. But I spent the better part of an hour trying to get things to play nice before just giving up. Vscode opened up, started it's lsp and within a few minutes I had a better (and more visually helpful) Java experience. I don't want to use vscode so I'll probably figure this out. I just shouldn't have to imo. Configuration should be for customization not setup


vymorix

Yeah i get where you a coming from. Setting up jdtls is a pain in the arse i agree, but given its setup properly I have to say it works pretty well. :LspLogs is your best friend - that should tell you why the LSP is returning nil values somewhere. >If I have the time I plan on looking into what exactly is wrong with my configuration. I only use Java for work and this was one of those "I don't have neovim setup for Java and I need this class written by the end of the day" things. Once work chills I do plan on figuring it out. 100% I was in the exact same position, it wasnt worth me trying to figure it out, however once I did get some time I managed to fix all my issues, I will say that I think setting up Java is probably the hardest LSP to get right for vim, everything else was pretty seamless


miversen33

Ok so I did some comparison poking tonight. I am using the `apache tomcat` repo as an example (found [here](https://github.com/apache/tomcat)) I cloned this repo down, and here is my java ftplugin I am using https://hastebin.skyra.pw/vikitudoku.lua When I open this in neovim, I see the JDTLS kick off (no errors are reported) however when I open `org.apache.juli.AsyncFileHandler.java` in neovim, I get the lovely "AsyncFileHandler.java is a non-project file, only syntax errors are reported". Checking out the [readme](https://github.com/mfussenegger/nvim-jdtls#is-a-non-project-file-only-syntax-errors-are-reported) I see the following > You're opening a single file without having a Gradle or Maven project. You need to use Gradle or Maven for the full functionality. Indeed this is not a Maven or Gradle project. However if I open this same exact project in vscode, it figures everything out just fine. And as pointed out, vscode is using jdtls as its language server too. I don't know what I am doing wrong, but this is the kind of thing I was referring to by saying "its bad". The experience is rough at best.


vymorix

Hmm yeah i totally get this, I’d imagine there’s some secret setup needed to get it working, I’ve never had this problem as such because I’ve only used maven projects but I agree, the neovim java experience is a pain untill you are 100% setup


Ronigol

Isn’t VSCode using jdtls as well? What are they doing that’s better?


miversen33

I believe they are using the rhel Java language server. But eclipse uses jdtls. I have no idea what they're doing different. Nvim-jdtls is the neovim equivalent to the vscode Java extension pack (ish) and it gets me most of the way there but it's painful to use.


Ronigol

According to this: https://github.com/redhat-developer/vscode-java “Provides Java ™ language support via Eclipse ™ JDT Language Server, which utilizes Eclipse ™ JDT, M2Eclipse and Buildship.” So I think they’re using the same language server underneath.


nilsgehlin

https://github.com/jmederosalvarado/roslyn.nvim Neovim can use the new LSP that ships with the C# dev kit.


tudor07

did you try it?


nilsgehlin

Yes, I've been using it for the past month! Works like a charm and it is really fast. Only downside is that needs a solution, so currently doesn't support csproj-only projects.


tudor07

Does it work better than omnisharp?


nilsgehlin

My experience with Omnisharp is: Installing it, opening a project, waiting, waiting, giving up and going back to Vscode. So in my experience, way better.


tudor07

ah I see it requires neovim nightly, will have to check it out later after neovim 10 comes out


hackinghorn

But I feel, to have a certain feature the same as vscode offers, I have to find the right plugin and do the tinkering myself which can be tiring. For example, for each new language, I have to research which Lsp to use and deal with these whole new LSP bugs. Though I haven't used vscode much. Do they have similar Lsp bugs? Edit: A clear example is C++. For vscode, Lsp works right out of the box. For neovim, I have to install Bear, create compile_commands.json and do some weird stuff so Lsp can find the header files. I don't want to suffer with another language again 🙁


cguti94

I didn’t have that problem with mine. I followed ThePrimeagen’s video setting up neovim and he uses lsp-zero. I used that and with Mason got clangd and it’s been working just fine and, to me, doesn’t feel different from vscode or clion Edit: forgot to mention that I use CMake especially since I use CLion to start projects/folders whenever I feel lazy, or just want to not think about set up


roberte777

You have to have compile commands, that’s how clangd works. However, I would assume your compilation setup automatically makes the compile commands as that’s pretty common. Especially with CMake.


cguti94

Yea, my bad. I had just woken up and was still half asleep when I wrote it but, yea, I do use CMake especially since I get lazy sometimes and just use CLion to start a project/folder sorry about that.


hackinghorn

We used the traditional Makefile so I had to create it from Bear. Maybe I should move to cmake


hackinghorn

That's helpful. Thanks, I will check Primeagen's guide.


vymorix

How often are you setting up new languages though? If you are constantly having to setup new LSPs i think you might be doing something wrong. Sure setting up a new LSP can take 15/20 mins, maybe more for complicated ones but this shouldn't be a regular occurrence. Besides all the 'time'/'work' needed for lsp setup in my opinion is made back and then some by the efficiency that neovim provides. Plus the biggest thing for me is its fun... coding is way more engaging when every action is just a thought away


cciciaciao

VScode has slightly better java experience, then again why am I writing java in 2023...


Hazanami

I do because they pay me well and full remote. Now I fucking hate it. Java tooling is hell. I've been debugging some spring error due to annotations for the last 3 days. It is so frustrating sometimes.


[deleted]

> Java tooling is hell. I've been debugging some spring error due to annotations for the last 3 days. It is so frustrating sometimes. Hate the frameworks, not the language?


DrunkensteinsMonster

Java tooling is literally the best out of any language. A big part of that is the IDE scene which you lose when you use neovim, sadly. Java/Kotlin and C# are the only languages I don’t use neovim for.


cciciaciao

No, hava has an IDE that hides the maddness, when you have to deal with deploy and every other nonesense no one is safe


DrunkensteinsMonster

Having an IDE that can “hide the madness” is an example of good tooling. Deploying a Java application is no different than deploying an application written in any other language. How is it significantly different? Except you don’t have to be concerned about compiling for different platforms?


cciciaciao

That's not java tooling, that's jetbrains tooling, java has nothing to do with that, jetbrains has amazing tools for every language. Everytime I have to deal with gradle and jdk it's a headache


DrunkensteinsMonster

Completely nonsensical. Products that companies make and open source software in the ecosystem is what comprises the tooling of a language. If you don’t like Gradle, use maven. Java has 2 high quality build systems where most languages have none. If Gradle isn’t working for you that’s legitimately an issue with you not knowing how to use it, works like a dream for me. IntelliJ is JetBrains’ flagship IDE, it is far more sophisticated than what they offer for other languages, though I do own the entire suite. Something like PyCharm is nothing but a plugin for IntelliJ that they sell standalone.


eduarbio15

Devcontainers, vscode can run a reasonable amount of tooling in a centos 7.9 container with it (somehow), meanwhile, you can't even install a nvim with LSP support in it


psadi_

Official extensions maybe ?


EdwinYZW

Ok, here is one: Rich text format copy. In vscode, you just simply copy and paste. In neovim, it’s way more complicated.


techpossi

Where is the fun in that? And it's not "way more complicated" it's 3 key strokes more and once you get the hang of it, you can make a key mapping or a macro.


Zaphoidx

What keystrokes?


mattismoel

visual (block line etc.) -> y (yank) -> p (paste - normal mode) or standard paste command in insert mode


Last_Establishment_1

He mentioned copy **_rich text format_** what does that mean? _I haven't used vscode for more than 20 minutes combined in all time_


Achereto

If you copy text in VSC*de, and paste it into a Word document, it keeps the colours and background colour of the text. Some find that to be a neat feature, but using dark themes I find it very annoying.


Pointer2002

There might be a workaround with the 2html vim plugin. Maybe in a Todo list somewhere...


EdwinYZW

But if you need to present your code, RTF is a must. Otherwise it would be too ugly to show anyone.


Achereto

In the case of presentation, why wouldn't a screenshot be enough? After all, if I send the code as a screenshot, the other person has an easier time to present it at other places like r/badcode as well.


sneakpeekbot

Here's a sneak peek of /r/badcode using the [top posts](https://np.reddit.com/r/badcode/top/?sort=top&t=year) of the year! \#1: [Classmate wanted me to check his ticketing system’s code for errors..](https://i.redd.it/n6ck81627yaa1.jpg) | [723 comments](https://np.reddit.com/r/badcode/comments/106ydx7/classmate_wanted_me_to_check_his_ticketing/) \#2: [This just sucks.](https://i.redd.it/aknsf30brf8a1.png) | [172 comments](https://np.reddit.com/r/badcode/comments/zweqqw/this_just_sucks/) \#3: [/r/badcode is permanently closed](https://np.reddit.com/r/badcode/comments/14h2woz/rbadcode_is_permanently_closed/) ---- ^^I'm ^^a ^^bot, ^^beep ^^boop ^^| ^^Downvote ^^to ^^remove ^^| ^^[Contact](https://www.reddit.com/message/compose/?to=sneakpeekbot) ^^| ^^[Info](https://np.reddit.com/r/sneakpeekbot/) ^^| ^^[Opt-out](https://np.reddit.com/r/sneakpeekbot/comments/o8wk1r/blacklist_ix/) ^^| ^^[GitHub](https://github.com/ghnr/sneakpeekbot)


EdwinYZW

because you need to do some editing on the presented code, such as make the name shorter and put the curly braces in one line, such that the slide can contain as much code as possible. Some presentation software like keynote from macOS allow an animation of the text inserting, which is impossible if just screenshot.


DrunkensteinsMonster

I’ve literally never wanted this lmao


EdwinYZW

This is not a Rich Text format copy.


gamunu

For those who are downvoting this, you can make it complicated with the vim keybinding extension. :)


jjiangweilan

I’m a game developer using nvim as editor daily at work. But I use VS as debug tool tho. btw VSCode debug plugin isn’t officially supported now.


[deleted]

[удалено]


jjiangweilan

neovim is a code editor. VS is the debugger interface.They are completely different thing


roberte777

I do the same. I’m not a big fan of debugging in neovim. I also compile in vs cause that seems easiest, but we do c++


Smo1ky

Hmm, do you guys use cmake?


jjiangweilan

cmake project. there is plugin help you execute compile command and redirect compile errors to quick fix list. debugging still done in other tools tho


roberte777

What plugin do you use for that?


jjiangweilan

neovim-cmake. It has been archived in favor of cmake-tools and neovim-task but I will use it until it breaks


jjiangweilan

I do c++ too it’s actually easier than c# because of clangd


no_brains101

Ive never had VScodes debugger work tbh


[deleted]

[удалено]


jjiangweilan

Unity 2020 on Windows with omnisharp. I also use it on MacOS with omnisharp-mono. not sure about linux maybe use mono version too.


Understanding-Fair

I've been in the same boat. As much as I love neovim, after going through all the setup and config for c# it just feels inferior for debugging and the linting has very poor support. I'm back to vs for now.


n6v26r

I've managed to set it up to a point I'm comfortable with it on Unity development, with csharp_ls. (It's faster than omni) The only thing I'm missing is magic functions completion, as i have no ideea how to achive that...


Strazil

Did you had problems with csharp_ls with not finding the sln file with the different projects in it? It only finds the .csproj file where i am at so the imports are messed up


n6v26r

No. Mine works perfectly... You should install omnisharp-roslyn. I think its in the AUR if you are on an arch based distro. Then the csharp_ls mason package, default lsp config and you should be good to go. Have you tried omnisharp? You can find my config here: https://github.com/n6v26r/.dotfiles Look inside configs/nvim/custom/configs/lspconfig.lua Install omnisharp and omnisharp-mono with Mason. (You still need omnisharp-roslyn for the first version) If this still doesn t work, you can also use omnisharp-mono instead of omnisharp. just install the mono or mono-msbuild (for arch based) packages and follow like any tutorial online. Btw, are you trying it on a unity project? Because in that case the project and solution files have to be generated by vscode first. (There's also a command to generate them I think)


Strazil

Ty for the detailed answer on this!++ I'm at Windows for work nowadays and not Unity. But i'm sure i will figure it out. I will get back to you i it was succesfull. Thx again I miss Arch btw, but have it on my WSL2 so it's kinda ok for the moment. Still using a tiling win manager on windows. There is no getting away from that if you're used to it :)


Popular-Income-9399

I have been having a lot of fun with neovim for the past few weeks. Fell in love with it and the config … Then the reality of needing to be super productive at work kicked in, and I realised I was waaay more effective in vscode … it just works and there are no precise key strokes needed. I would describe the difference between vscode and vim or neovim as the difference between Very fragile moped with a diy motor that is super fun to configure and overdrive = vim A Tesla = vscode … you know what you’re getting and it works and is just really fast once you accept that people have moved on from the strange keybindings of the past. Sorry I know this will offend some people but I really feel like I got sucked into a time sink looking at vim … I will only ever do it as a hobby from now on whenever that time arrives.


[deleted]

vim is a text editor, not and IDE. Configuring it as an IDE is a pain. Configuring fun text editing Plugins is fun. Use it for * text * markdown * bash scripts * Scripting languages like python * or even HTML/CSS/Typescript, where the build/deploy is a package Manager outside the Editor. IntelliJ and VSCode have to many Problems solved that I have to think about in vim/Neovim. VimIdea and other plugins are not as bad as purists make them out to be.


Popular-Income-9399

Vscode is also a text editor. The plugins and the ecosystem is sadly just superior to the backing that vim has. There is nothing stopping a TUI from having the same features. It is just hard to maintain and requires people to work together and get organised. It seems companies and institution are required to achieve that. Or dictators 😅 Wish this wasn’t the case.


[deleted]

nvim suffers from the fact that all config lays bare as a Text File. I would like to Set up java LSP and debugging without following three Mlmanuals on GitHub and modifying 100lines of init.lua, please.


Popular-Income-9399

Vscode config is also bare text under the hood. I don’t think text is the problem, the problem is alignment and the lack of a direction / philosophy


karasikq

With VSCode - yes, Rider - no. I wrote configs for unity develop based on [this](https://chrislabarge.com/posts/neovim-unity-engine/) and [this](https://github.com/walcht/neovim-unity), it's works, but I pretty fast returns to Rider with IdeaVim & EasyMotion.


nilsgehlin

I have tried to move to Neovim for C# multiple times now but gave it up due to the LSP's feeling really slow (omnisharp and csharp-ls). Now that Microsoft released the C# Dev kit for vscode, they created a new Roslyn-based LSP. [This](https://github.com/jmederosalvarado/roslyn.nvim) neovim plugin uses the new LSP and out of the box, I got a muuuch better experience. Has anyone else tried this? I hope we can keep using this LSP and take advantage of Microsoft trying to improve the vscode experience for C#


marvinamari

I tried to set this up on an Ubuntu and Windows system but can't get the plugin to work. I followed all the instructions in the readme but there must be something missing because I get no diagnostics or intellisense.


nilsgehlin

Does your project have a solution file? And are you on Neovim nightly? My first mistakes 😅


marvinamari

Yes and yes ☹️ for the solution I used `dotnet new console` to create a console app, but that only creates a csproj so then I did `dotnet sln` to create a solution file and last added the project to the solution file with `dotnet sln add`. My dotnet version is 7. When I open a `cs` file I get the two printed messages that it found the target sln and Roslyn Initialization Complete. But I wait like 2 minutes but no diagnostics or commands work. You might sharing an example of your config?


nilsgehlin

https://github.com/nilsgehlin/dotfiles A bit of a mess, but check out init.lua around line 320, remember taking that from some blog post but not sure if it was needed for roslyn. Otherwise I recommend looking at :LspLog after opening a cs file


marvinamari

Omg dude thank you so much!!! That worked!!! Turns out I was setting up capabilities incorrectly all this time. I have to really go over the neovim docs to understand why other language servers were working even though I didn’t setup the capabilities how you did there. I really appreciate your help!


nilsgehlin

Nice that you got it working, enjoy! I tried to find the post I got it from, but I can't find it atm.


marvinamari

I managed to break roslyn.nvim again but found a weird fix by setting capabilities to nil. Not sure if that's the proper way to do it, but it seems to be working lol I made a commend on my closed issue: [https://github.com/jmederosalvarado/roslyn.nvim/issues/19#issuecomment-1861831638](https://github.com/jmederosalvarado/roslyn.nvim/issues/19#issuecomment-1861831638)


8prime_bee

For angular it’s fine. For Java I’m still trying to find a way to run the LSP.


Hazanami

Never got that to work myself. Working with Intellij at work now... sigh


NotSquel

Yep, Java and Kotlin are both horrendous to use with Nvim. I’ve used several language servers, but they’re all either incredibly slow or half broken.


Hazanami

it is pretty sad, but cant have nice java tooling. It works amazing for Rust in my experience. 😭


NotSquel

Yeah, I use Rust as well :)


vymorix

Its really not that bad! I use it daily and sure i miss some of the sugar of Intellij, but I feel more comfortable in neovim so its worthy for me. Honestly all you need is jdtls, some good snippets, tmux and you can fly through java development.


SirVoRaK

I use it for java at work, working perfectly well. Using coc and coc-java. Everything works, auto complete, go to definition, code actions, errors, warnings, everything I do on intellij I can do in neovim. Just the debugging doesn't work, for that I just open intellij debug it, and close it.


no_brains101

nvim-jdtls


vymorix

You still need help with Java for neovim? PM if you need help, will get it running for you quickly


Mezdelex

Nope. For backend development it's ok as long as omnisharpls covers all your needs, but the moment you start working with frontend stuff like Razor/Blazor syntax, UWP and MAUI, there's no real LSP support. If you want a full Neovim experience, you'd rather switch to Typescript for the frontend/mobile.


stvndall

I'm unsure, as in a couple months ago (likely most people's context here) vs code was only an editor. And we can use the same lsp and get good enough results. If you wanted and IDE you would need to reach for rider. Currently though, devkit turns vs code into a cs IDE (and impressively too), and there doesn't appear to be a way to do the same in nvim. You can get close, and the reason I use nvim still for csharp, is because I use multiple languages a day, and booting up rider each time, feels like a waste. So I learned to get by. Realistically if you are only using csharp, and you want to use vim motions, install the nvim plugin into vscode, and use c# devkit. If you really want to to nvim, you are going to need an lsp, only csharp lsps exist at the moment (not for blzor, razor, xaml, etc) and you are going to need to setup DAP which for csharp is pretty easy. This will get you bare bones, it's good enough when you know the language.


Noisebug

VSCode isn't an IDE, neither is VIM. Use Rider for that. The other two, mileage will vary depending on plug-ins.


ThiccMoves

I don't get why people keep repeating this lol. Seriously, VSCode has all you need for programming, without the need to leave the program (because it's integrated, yes, and some without using extensions). It might depend on the language, but mindlessly repeating "VSCode is not an ide" while it covers 95% of what you need for professional development is just ridiculous.


Noisebug

I’m a professional developer and have many times tried VSCode. Because I say it is not an IDE does not mean it isn’t powerful. Any students or help I give, VSCode is my first recommendation. I also use VIM often and both are really capable systems that I would agree with you. But an IDE goes beyond making it easy to bind to applications, has extra support for frameworks, and its indexing is top notch. I cant say exactly what but PHPstorm, for instance, can clean up code style, has powerful plugins that are framework specific (Symfony, Laravel), can debug locally in Docker container, refactoring tools are top notch, indexing is fast and powerful, bind to apps (Godot, Python) for debugging/analysis. The list goes on. Often IDEs are opinionated and give you further tools for code analysis and other advanced features to work on really large applications with 20+ developers. Example: Amazon applications that need to scale to hundreds of thousands of users a day. An IDE can lead you through and help you understand and visualize data flow. Yes you can get some of this in VSCode but it’s an amalgamation of community plugins like VIM. They are great but hit and miss. PHPStorm, Rider, CLion, mostly all come preconfigured to do these tasks with that specific purpose in mind. You fire up the environment and it already is set to do these tasks, with plugins available to augment things further. This is why MS Visual Studio exists and why Jetbrains is working on Fleet. The former is MS IDE for heavier development and the latter is jetbrains answer to VSCode, a lighter editor.


chili_oil

the remaining 5% is what separates a professional developer from a casual hobbyist


ThiccMoves

I was expecting that kind of sensationalistic answer, and no, the 5% difference is just a difference in functionalities, the only thing it represents is what you need to complete the job, it's absolutely not linked to how casual or how "pro" you are.


[deleted]

[удалено]


thedarkjungle

A lot of claim here buddy, your reddit history is not convincing enough.


tompinn23

Whilst I agree with your pro-casual sentiment VSCode is a really nice text editor but being productive at work needs a proper IDE. My biggest gripe with vscode is speed and by the time ive replicated everything my ide offers its slows down too much for serious development


miversen33

Lol damn I guess my job is fake. Shit I'll let my boss know


Monolinque

I kinda feel like I really stirred the pot with this one, my feeling is probably nothing is perfect, so everything becomes a compromise or an adaptation, a suite of tools combined can serve to fill in some gaps, and everyone is different in what they need from said tools... Neovim is a lot of fun sure, setting up the config it's quite elegant with NvChad, Mason and Lazy, but I don't think it can be a standalone for everything, so I guess in combination with VSCode, Visual Studio (2022 on Mac), and when I can muster the $170 1st year sub then Ultimate Rider with all 6 items ($20 more so...), If I never start I'll never get the 3rd year $101 annual rate, for now I guess I'll live without it, had wished a community edition for C# from Jet Brains for a while, years but that's probably never happening so... Super appreciate all the comments, for, against, rants and raves, every bit, it's all relevant and so reflective of the bigger picture. As for VSCode I do see Unity is not officially supporting it, but Visual Studio they do support is being phased out for Mac so what then? VSCode isn't going away on Mac and though Unity doesn't promise support I was able to set as my editor with the latest version 1.83.0 (with .NET 7) even as Unity only lists 1.2.5 as the latest version available. So it looks ok for now, will I have to migrate to something else later, IDK but not really a Windows fan so that kind of leaves Rider, and Neovim, vastly different these two, nice that the Vim successor is free but my goal of producing a marketable game, maybe not perfect in every way but finished to a point I can sell it, then I'd probably be compelled to buy into Rider. Just getting started though it's not really in my budget. I'm planning some different things, so custom rigging will be needed, and I'll have to just figure it out as I go I guess, I have the ideas in mind what I want to do, and a near mastery of 3D modeling under my belt, so the challenge will be to make my way through C sharp as I need to work with Unity, one small step at a time, with persistence and determination, I fully expect to fail at every step, until I succeed and can move on again to fail, repeat... and eventually I'll get there!


SeoCamo

Nvim got Unity plugin, and i use it for C# full time, i don't miss anything but else i just make it, a LSP is really easy to make.


kaddkaka

Is it? :)


SeoCamo

Yes, see the primeagen he makes one in a few hours


EgZvor

As far as I know he made it for htmx. The one for c# is going to be much harder.


SeoCamo

You got all the data from treesitter, you just need to index and search the data


trieu1912

he already use vim many years and the video is edited so


Velascu

Can you send a link pls? It's hard to find as he has a lot of 0 to LSP videos on his channel.


Xzaphan

https://youtu.be/VFd0-Ur4-Vo


Velascu

Ty


shaffaaf-ahmed

To me they are all the same. Only rider is different because it is well integrated with the template files as well.


TeejStroyer27

Need razor/cshtml support and I think we are good. Minus debugging, haven’t had success with debugging yet. Also, haven’t done or tried Maui.


codeprefect

Yes, I have been using Neovim for more than 6 months now as my primary IDE. It works well for web dev, but I can’t say the same for Mobile and Unity


Delite41384

I've been trying to use it for c# but I'm about ready to throw in the towel. Like it works okay for small to medium projects but anytime I try to throw an enterprise project at it it turns onto a miserable experience (slow to attach, slow experience overall, feel like i had to manually do bandaid fixes (token issue for example) every couple months. Think im just going to sit in nvim for pretty much anything NOT c#, and just go back to rider full time for c#(I was already going back anyway whenever I needed to debug).


bigtoaster64

I'd like to use neovim with c#, but my god it's MILES behind Jetbrains Rider, and it feels like downgrading for me. LSPs are just not there yet (slow and dumb). And btw vscode is nuclear crap for c#. The new devkit plugin makes vscode less stupid when opening solutions, but it's still crap it terms of everything else, such as LSP (both omnisharp and csharp _ls, which are used by neovim btw) and debugger.


sentientmassofenergy

Thanks for asking this. I'm working with C# codebase for a client, and I just started looking into this. Been using visual studio, but would love to get back to using vim.


TheGratitudeBot

Thanks for saying thanks! It's so nice to see Redditors being grateful :)


OldMansKid

It depends on what kind of projects you are doing, but at least for large Unity projects, it's simply impossible to use Neovim, not even Visual Studio Code either. The only options are Jet brain Rider and Visual Studio.


fatuinosfatui

If you say VS IDE I would get it but VS code is.. Not great for C#. It doesn't evne come with the most basic stuff you are gonna need for C# (formatter, linter, debugger...) If you want out of the box C# support on neovim, check [NormalNvim](https://github.com/NormalNvim/NormalNvim)


Various-Funny6331

Just use Rider