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] Let's make this open source project great with VB6 support #18065

Closed
sunheat opened this issue Jan 4, 2017 · 8 comments
Closed
Assignees

Comments

@sunheat
Copy link

sunheat commented Jan 4, 2017

This is a feature request.

Finally we have an open source Visual Studio, and it's awesome. Let's make it even more awesome by providing support for the forsaken - VB6 developers. The classic VB6 IDE doesn't support ctrl navigation, doesn't support mouse wheel scrolling, which makes it totally hard to use. Let's build something on top of this open source Visual Studio to save those still struggling with this still widely used, hard to stop and replace programming language.

@sandy081
Copy link
Member

sandy081 commented Jan 4, 2017

@sunheat This is not Visual Studio, in fact this is Visual Studio Code an editor in Visual Studio family. Both are not same.

@sandy081 sandy081 closed this as completed Jan 4, 2017
@sunheat
Copy link
Author

sunheat commented Jan 4, 2017

I never said this was Visual Studio. What I said exactly translates to what you said - a product in the family. Because it is open source and extensible, I am making this request. You can throw it in the backlog, you can set it lowest priority, don't close it. It's rude.

@sunheat
Copy link
Author

sunheat commented Jan 4, 2017

@sandy081 forgot to mention you. Check my last comment.

@sandy081
Copy link
Member

sandy081 commented Jan 4, 2017

@sunheat Sorry I mis-understood. Reopening it.

Can you please elaborate on the features you are expecting and for which language. Generally we drive language specific features through extensions and VS Code provides language independent platform for extensions to implement on top. So, I would also ask to look into our market place and see if you can already find the functionalities you are looking for.

@sunheat
Copy link
Author

sunheat commented Jan 6, 2017

@sandy081 Thank you for reopening the ticket.

Features I would like to see:

  • Syntax highlighting
  • Block folding
  • Ctrl navigation
  • Code formatting
  • Some basic error checking like syntax and missing dependencies.
  • Usage/reference searching (where-used)
  • Since this is Windows only, showing where the currently registered component (ocx or DLL) comes from is going to be handy.
  • Code assist (auto completion) appreciated. Better if also supports registered binary components (ocx and DLL)
  • Launching support maybe? I know debug support is a long shot because you'll be basically rewriting the entire VB6 IDE if you add that...

@chrisdias
Copy link
Member

@sunheat thanks for the suggestion! I will always be a fan of VB6 (I started working at Microsoft on VB3/VB DOS and worked on every subsequent version through VB.NET 2003 :)).

To be honest, we do not have plans to produce a VB6 extension for VS Code. I don't think it is possible to do by a third party either, as there isn't an easily consumable API for the compiler. There certainly would not be designer support, which is a big part of the magic of VB6.

It may be possible for you to use VS Code to write VB6 code with simple syntax colorization and then use VS Code's Tasks to compile the app using the VB6 CLI. You won't get the features you are looking for above however.

Personally, I'm looking forward to VB support in .NET Core as the next step in the BASIC journey. I would encourage you (like I did!) to up vote VB support in VS Code in the OmniSharp repo.

I could leave this issue open, but I feel like that would be setting the wrong expectations with you, so I'm going to close it again. Please do know that I'm not trying to be rude, but instead just being honest about this.

Sorry about this. Thanks for taking the time to submit an issue and a list of features, we appreciate the participation in the project.

Chris

@sunheat
Copy link
Author

sunheat commented Jan 11, 2017

Thanks @chrisdias . I have voted for that feature.

@zspitz
Copy link

zspitz commented Jul 14, 2017

I don't think it is possible to do by a third party either, as there isn't an easily consumable API for the compiler.

A VB6 language server would need the following two initial parts:

  • VB6 parser - the language server could be written in a .NET language and use ANTLR's VB6 grammer
  • type information for external references - I've written something similar for generating TypeScript definitions from COM type libraries using TlbInf32. Perhaps something similar could be done for the VB6 language server -- generate module and property/method stubs on the fly from external references.

From these two starting points, the language server could easily provide all the listed features. (Not suggesting that the VS Code team do this, but it seems to me to be within the reach of a third party extension).


I would add one additional feature to this list-- the event handler combobox, which should be smart enough to find a matching Sub for the object variable and event if it exists, or create it if it doesn't.


I think there would be much interest if such an extension could be leveraged for VBA as well (as VB6 and VBA are virtually the same language; and there is also an ANTLR grammer for VBA) -- there are an incredible number of requests on the various UserVoice forums to update the VBA IDE. The only VBA-specific issue is that code doesn't exist in the file system; it needs to be read from and written into some document (Word document, Excel spreadsheet etc.) The Rubberduck project could serve as inspiration.


There certainly would not be designer support, which is a big part of the magic of VB6.

@chrisdias Couldn't designers be implemented using the Preview pane, similar to the Markdown extension? Is there a mechanism for listening to events in the preview and making corresponding changes to the editor pane?

@sunheat Would you be interested in collaborating on this?

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants