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

Open source Microsoft C++ extension for VSCode #21

Closed
outcoldman opened this issue Apr 20, 2016 · 16 comments
Closed

Open source Microsoft C++ extension for VSCode #21

outcoldman opened this issue Apr 20, 2016 · 16 comments

Comments

@outcoldman
Copy link

Please open source Microsoft C++ extension

@delmyers
Copy link
Contributor

The extension uses several open source components. Most significantly, the debugger is based off of the open-source Microsoft MiEngine here:

http://GitHub.com/Microsoft/miengine

@outcoldman
Copy link
Author

@delmyers great, this should make it really easy to open source the extension itself ;)

@ivomachado
Copy link

Any updates on this?

@sean-mcmanus
Copy link
Collaborator

The Microsoft.VSCode.CPP.Extension.exe language service contains code shared with VS that we cannot open source due to license issues. Theoretically, the code could be re-written to allow open-sourcing but it would take a non-trivial amount of work. Feel free to let us know why you believe open sourcing would be valuable. Would people be interested in contributing bug fixes and features?

@outcoldman
Copy link
Author

outcoldman commented Sep 20, 2016

@sean-mcmanus why did you close this issue? it was not delivered

Yes, people are interested in contributing.

The Microsoft.VSCode.CPP.Extension.exe language service contains code shared with VS that we cannot open source due to license issues.

In case when gdb or lldb is used, I don't believe it should have such complicated layering.

@sean-mcmanus
Copy link
Collaborator

sean-mcmanus commented Sep 20, 2016

I thought we were closing issues we didn't intend to fix? Our extension has language service and debugger components, so the debugger team might be able to open source more of their code. I guess we can keep this open if you want.

@delmyers
Copy link
Contributor

@outcoldman, This extension is made up of components, some of which are open, and some of which are not. For example, it uses the Mono runtime on Linux and Mac, which is open. The component that is used for debugging on Linux and Mac (minus a stub component used to launch the debugger and translate protocols) is also open (linked above). The debugger for Windows can't be open sourced, unfortunately, at this time.

@outcoldman
Copy link
Author

@delmyers what about the extension itself? The one which integrates into VS Code?

@delmyers
Copy link
Contributor

@outcoldman Most of the extension itself is just a composition of the components that I mentioned above, plus some configuration and launching scripts. I suppose we could consider open-sourcing the configuration file? Is that something that you would see as worth-while?

@outcoldman
Copy link
Author

Yep, launching scripts I guess will be useful as well.

@jhasse
Copy link

jhasse commented Sep 27, 2016

The debugger for Windows can't be open sourced, unfortunately, at this time.

Does this also include the debugging part when using GDB on Windows?

@masaeedu
Copy link

masaeedu commented Mar 1, 2017

@delmyers I'm most interested in the language service that provides (or will provide) Intellisense for C++. For the current fuzzy intellisense experience, how are you obtaining the symbols throughout the codebase? Is this something that can be open sourced? Is it e.g. based on Clang, or some proprietary analysis engine for C/C++ code?

@sean-mcmanus
Copy link
Collaborator

Our browse database and the IntelliSense engines are closed source and not based on clang. It can't be open sourced due to non-open sourced license dependencies.

@masaeedu
Copy link

masaeedu commented Mar 1, 2017

@sean-mcmanus Fair enough, thanks for the info. I think it might still be very useful if you could introduce a clean boundary between the language service itself and whatever proprietary tools you're using to supply analysis data. That way you get open source contribution to the language service, and the community gets the ability to build an analysis engine on top of Clang/GCC guided by the language service's needs. The reason I was interested in this is because a semantic analysis engine (something analogous to the bind phase API of Roslyn) appears to be missing from the C/C++ ecosystem.

@sean-mcmanus
Copy link
Collaborator

The typescript part of our extension has been open sourced: https://github.com/Microsoft/vscode-cpptools . The 2 language server processes that do parsing stuff haven't been open sourced.

@amelvill-umich
Copy link

amelvill-umich commented Aug 31, 2020

Feel free to let us know why you believe open sourcing would be valuable. Would people be interested in contributing bug fixes and features?

Yes, I would be interested in reading and contributing to this. I have found some limitations that I'd like to try and work around.

The 2 language server processes that do parsing stuff haven't been open sourced.

Unfortunately I think everything I'd be interested in would be in these server processes.

@github-actions github-actions bot locked and limited conversation to collaborators Oct 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants