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

Install extensions without restarting the editor #5675

Closed
mquandalle opened this issue Apr 22, 2016 · 2 comments
Closed

Install extensions without restarting the editor #5675

mquandalle opened this issue Apr 22, 2016 · 2 comments
Labels
extensions Issues concerning extensions feature-request Request for new features or functionality
Milestone

Comments

@mquandalle
Copy link
Contributor

I searched on the issue tracker and I wasn’t able to find an open discussion on this feature improvement. So here it is, the idea would be to remove the “Restart Code” step that we have to do after the installation of a new extension and which breaks the workflow (for instance if you have unsaved files you need to make a decision on them) and isn’t applied on every Code instances (cf. #3268).

I understand that from a technical point of view, it is easier to restart the editor if its code base changed because of a new extension. However it should still be possible to implement some dynamic extension loading with the correct abstractions and some engineering effort. So I would be happy if this issue could host the discussion on the technical challenges involved and the willingness to make dynamic loading happen.

@mquandalle mquandalle changed the title Install extensions without reloading/restarting the editor Install extensions without restarting the editor Apr 22, 2016
@dbaeumer dbaeumer added feature-request Request for new features or functionality extensions Issues concerning extensions labels Apr 23, 2016
@joaomoreno joaomoreno assigned alexdima and unassigned joaomoreno Apr 25, 2016
@alexdima
Copy link
Member

There are some things that are easy and some things that are not :).

All the extension point handlers are (through API shape) forced to be written as listeners, so all of them would correctly get a "late to the party" extension description. So from an infrastructure point of view, we would need to ping all extension hosts and renderers processes from the shared process that manages extensions and inform everybody there is a new extension available.

What I cannot tell is if we have places where we cache things or where we make decisions that cannot be revisited.

For example, if a "late to the party" extension contributes a new language (for file extensions .alex), if you open a file before the extension is installed it stays open in the plaintext language and new .alex files that you open will get the new language association. In this case, there is no real code prepared to go back and re-evaluate the language association decision.

Perhaps we should just turn this on from the infrastructure side and deal with the bugs on a case by case basis. Possible issues: in the users of extensionService.onReady that need to wait for extensions to be scanned before taking a decision.

@mjbvz
Copy link
Contributor

mjbvz commented May 1, 2019

I believe this was added in 1.31: https://code.visualstudio.com/updates/v1_31#_no-reload-on-install

@mjbvz mjbvz closed this as completed May 1, 2019
@vscodebot vscodebot bot locked and limited conversation to collaborators Jun 15, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
extensions Issues concerning extensions feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests

5 participants