Closed dehru closed 1 year ago
Activation events are not supported yet, VS Code extensions are activated eagerly for now.
Hit it again trying to debug LS process of vetur VS Code extension. It's really hard since debug configuration rely on lazy loading of extensions :(
For rust extension, it is necessary to fix it, otherwise it starts contributing UI elements regardless whether rust project opened or not.
workspaceContains
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/api/node/extHostExtensionService.ts#L442onWebviewPanel
requires https://github.com/theia-ide/theia/issues/5647
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/api/browser/mainThreadWebview.ts#L72onView
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/browser/parts/views/customView.ts#L499onDebug
, onDebugAdapterProtocolTracker
, onDebugResolve
, onDebugInitialConfigurations
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.ts#L434 and https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/contrib/debug/browser/debugService.ts#L257onCommand:workbench.action.tasks.runTask
see also https://github.com/theia-ide/theia/issues/5861 covered in https://github.com/theia-ide/theia/pull/5869
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/contrib/tasks/browser/taskQuickOpen.ts#L43 and https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts#L1112*
- after initial contributions are initialized
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/services/commands/common/commandService.ts#L39onCommand
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/services/commands/common/commandService.ts#L53onFileSystem
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/services/extensions/common/abstractExtensionService.ts#L78onUri
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/services/extensions/common/inactiveExtensionUrlHandler.ts#L136onLanguage
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/services/mode/common/workbenchModeService.ts#L155onSearch
https://github.com/microsoft/vscode/blob/893bf4ea1f8c158125746c3fe959ef4e23883282/src/vs/workbench/services/search/common/searchService.ts#L98*
and report unknown activation event as an error to the console onAuthenticationRequest
: https://github.com/microsoft/vscode/blob/0a22f70e66bee825459d1f25539395094be0b6bc/src/vs/workbench/services/authentication/browser/authenticationService.ts#L20onCustomEditor
:
https://github.com/microsoft/vscode/blob/0a22f70e66bee825459d1f25539395094be0b6bc/src/vs/workbench/api/browser/mainThreadWebview.ts#L162onNotebook
:
https://github.com/microsoft/vscode/blob/0a22f70e66bee825459d1f25539395094be0b6bc/src/vs/workbench/contrib/notebook/browser/notebookServiceImpl.ts#L540Docs:
onDebugAdapterProtocolTracker
in https://code.visualstudio.com/updates/v1_30For onView
event we need to integrate new view containers in the plugin system first, since it should be fired on expansion on the view. If we do it now we need to reimplement it later again.
I will stop working on it. onView
and onWebview
require substantial refactoring in the plugin system to integrate them properly with the shell. Regarding the rest of events i have not seen them in practice used a lot and will wait for some extension to come around.
onView
is covered in https://github.com/theia-ide/theia/pull/5665
onWebviewPanel
is covered in https://github.com/eclipse-theia/theia/pull/6465
onFileSystem
is covered in https://github.com/eclipse-theia/theia/pull/7908
Closing this omnibus issue, as we generally support activation events.
@tsmaeder, We are missing the support of multiple activation events as reflected under the following comment: https://github.com/eclipse-theia/theia/issues/4199#issuecomment-507253188
How can we track those? A newer issue, perhaps ?
The list is at least partially out of date ("onRenderer"). If we have missing activation events, they should be tracked by separate issues and linked to the VS Code API version where they appear. This old issue is not useful, IMO.
The list is at least partially out of date ("onRenderer"). If we have missing activation events, they should be tracked by separate issues and linked to the VS Code API version where they appear. This old issue is not useful, IMO.
@tsmaeder , Unfortunately the activation events are independent of the vscode
API, and would therefore need a parallel tracking,
I think we need parallel tacking of the following vscode
interfaces.
1) vscode
API, (already tracked)
2) vscode
Proposed APIs (Discussion @ https://github.com/eclipse-theia/theia/discussions/12450)
3) vscode
Activation Events
4) vscode
Contribution points
Hello, I've got a vscode extension running in theia version "next" ( "version": "0.4.0-next.e2f3ec66" ). But there's a slight difference in when the activation() lifecycle method gets called.
The vscode extension was built with "vscode": "1.1.28", and has this info in it's package.json
And a very simple extension.ts that looks like this.
When running in vscode, the activate method is not called until the command is actually triggered through the vscode command palette.
When running inside theia, the activate method is called as soon as the browser is connected / opened. This makes debugging the activate method a little more challenging. And could lead to different behavior with vscode extensions.