Skip to content

[Epic] Extensibility API #98

@lextm

Description

@lextm

I believe a lot of recent feature requests are quite good and some from well-recognized developers in the community, which means SharpIDE started to gain popularity and momentum beyond just a few guys.

It would be beneficial for everyone if there is a standard set of extension API exposed, so that language-specific features (language server, debugger adapters, unit test providers, visual designers) can be supported by their respective extensions and extension authors.

This can free each one from asking the same/similar questions in this main repo, which focuses on IDE shell and C# language support.

Based on the availability of open-source components right now, very soon people can extend SharpIDE to many more languages than @MattParkerDev alone can achieve.

Since you have developed the C# support first, it is time to perform refactoring against some good examples of other IDE products and end up with a set of standard API surfaces.

I strongly suggest that some designs follow Visual Studio (LSP, unit test, color theme file format) first, so likely extension authors find similarity and might easily port their VS extensions over. #99 shows that some extensions might not even need a single line of change.

Once we finish VS for Windows extensibility API, we might move on to support some VS Code extensions (very simple language extensions of course, as complex ones require TS/VS Code API which SharpIDE won't support).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions