Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Support for Visual Basic? #1111

Open
Falthazar opened this issue Feb 14, 2018 · 5 comments
Open

Feature request: Support for Visual Basic? #1111

Falthazar opened this issue Feb 14, 2018 · 5 comments

Comments

@Falthazar
Copy link

Is there any planned support for VB.net?

I'm still learning about programming and especially the .NET framework in general, but doesn't Roslyn already support VB.net? What would it take (skills and effort wise) to add basic Visual Basic support to Omnisharp?
As in, is it beginner with lots of time level? Or is it like a complete re-write of Omnisharp?

@DustinCampbell
Copy link
Contributor

There are no plans, no. It is something that could be done, but there aren't a lot of requests for it. There is also an issue tracking this in the C# for VS Code repo (omnisharp-vscode): dotnet/vscode-csharp#25. However, there're are only a handful of votes.

Yes, Roslyn supports VB.NET, so support could certainly be added to OmniSharp and it wouldn't require a rewrite. However, it would need a champion from the community to take the work on.

@Falthazar
Copy link
Author

I'm thinking of taking the dive and seeing if it's within my skillset now, or in the far far future. I'm somewhere between beginner and intermediate I think.

I haven't had time to look at what would need to be done, but I guess my question is:
Besides knowing C# and getting familiar with Omnisharp and Roslyn code, what else would I need to learn before I get started? Will I need to learn about "lower-level" programming functions like how debuggers and compilers work? Or is it going to be more like integrating existing Roslyn APIs into Omnisharp?

@DustinCampbell
Copy link
Contributor

You shouldn't need to worry about compilers/debuggers. With a few exceptions, OmniSharp communicates with Roslyn via public APIs.

@david-driscoll
Copy link
Member

@Falthazar at a high level, basically you need to replicate all the services / handlers that omnisharp implements for C#, to use the VB Api's.

An example is https://github.com/OmniSharp/omnisharp-roslyn/blob/master/src/OmniSharp.Roslyn.CSharp/Services/Navigation/FindUsagesService.cs and changing LanguageNames.CSharp to be LanguageNames.VisualBasic

@Laptop765
Copy link

I took a look at OmniSharp and had a brief chat in Slack and it sounds like it's a bit of an undertaking. There's some info in the linked portion of the Slack for anyone interested.

As an alternative I stumbled upon icsharpcode/CodeConverter and it's been doing a solid job of converting files so far so I figured I'd mention it for anyone else interested in giving it a shot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants