Bracket Pair Colorizer 2 (v0.0.9) extension doesn't activate and work.
~/.theia/extensions or prebuilt plugins folderOS and Theia version:
OS: Ubuntu 19.10
Theia: master
Diagnostics:
When I open Theia I get this error message:
Activating extension Bracket Pair Colorizer 2 failed: Cannot find module '/path/to/theia-repo/packages/plugin-ext/lib/plugin/node/node_modules.asar/vscode-textmate'.
In console, 2 of these messages are printed (console.warn):
root WARN ../../packages/monaco/lib/browser/textmate/textmate-registry.js/</TextmateRegistry.prototype.registerGrammarConfiguration@http://localhost:8030/46.bundle.js:1920:26
_loop_3/</<@http://localhost:8030/56.bundle.js:6204:137
pushContribution@http://localhost:8030/56.bundle.js:6081:32
_loop_3/<@http://localhost:8030/56.bundle.js:6204:41
setTimeout handler*_loop_3@http://localhost:8030/56.bundle.js:6200:27
../../packages/plugin-ext/lib/main/browser/plugin-contribution-handler.js/</PluginContributionHandler.prototype.handleContributions@http://localhost:8030/56.bundle.js:6215:28
_loop_2@http://localhost:8030/56.bundle.js:1110:63
../../packages/plugin-ext/lib/hosted/browser/hosted-plugin.js/</HostedPluginSupport.prototype.loadContributions@http://localhost:8030/56.bundle.js:1131:24
../../packages/plugin-ext/lib/hosted/browser/hosted-plugin.js/</HostedPluginSupport.prototype.doLoad/</<@http://localhost:8030/56.bundle.js:977:52
step@http://localhost:8030/56.bundle.js:749:23
verb/<@http://localhost:8030/56.bundle.js:730:53
fulfilled@http://localhost:8030/56.bundle.js:721:58
FrameRequestCallback*../../packages/core/lib/browser/shell/split-panels.js/</SplitPositionHandler.prototype.animationFrame@http://localhost:8030/bundle.js:123254:20
FrameRequestCallback*../../packages/core/lib/browser/shell/split-panels.js/</SplitPositionHandler.prototype.moveSplitPos/<@http://localhost:8030/bundle.js:123209:24
../../packages/core/lib/browser/shell/split-panels.js/</SplitPositionHandler.prototype.moveSplitPos@http://localhost:8030/bundle.js:123205:16
../../packages/core/lib/browser/shell/split-panels.js/</SplitPositionHandler.prototype.setSidePanelSize@http://localhost:8030/bundle.js:123201:21
../../packages/core/lib/browser/shell/application-shell.js/</ApplicationShell.prototype.setBottomPanelSize@http://localhost:8030/bundle.js:120559:49
../../packages/core/lib/browser/shell/application-shell.js/</ApplicationShell.prototype.expandBottomPanel@http://localhost:8030/bundle.js:121247:22
../../packages/core/lib/browser/shell/application-shell.js/</ApplicationShell.prototype.setLayoutData/</<@http://localhost:8030/bundle.js:120520:34
step@http://localhost:8030/bundle.js:119955:23
verb/<@http://localhost:8030/bundle.js:119936:53
fulfilled@http://localhost:8030/bundle.js:119927:58
FrameRequestCallback*../../packages/core/lib/browser/shell/split-panels.js/</SplitPositionHandler.prototype.animationFrame@http://localhost:8030/bundle.js:123254:20
FrameRequestCallback*../../packages/core/lib/browser/shell/split-panels.js/</SplitPositionHandler.prototype.moveSplitPos/<@http://localhost:8030/bundle.js:123209:24
../../packages/core/lib/browser/shell/split-panels.js/</SplitPositionHandler.prototype.moveSplitPos@http://localhost:8030/bundle.js:123205:16
../../packages/core/lib/browser/shell/split-panels.js/</SplitPositionHandler.prototype.setSidePanelSize@http://localhost:8030/bundle.js:123201:21
../../packages/core/lib/browser/shell/side-panel-handler.js/</SidePanelHandler.prototype.setPanelSize@http://localhost:8030/bundle.js:122853:49
../../packages/core/lib/browser/shell/side-panel-handler.js/</SidePanelHandler.prototype.refresh@http://localhost:8030/bundle.js:122775:22
../../packages/core/lib/browser/shell/side-panel-handler.js/</SidePanelHandler.prototype.onCurrentTabChanged@http://localhost:8030/bundle.js:122878:14
invokeSlot@http://localhost:8030/bundle.js:11317:18
emit@http://localhost:8030/bundle.js:11274:27
../../node_modules/@phosphor/signaling/lib/index.js/</Signal.prototype.emit@http://localhost:8030/bundle.js:10947:17
set@http://localhost:8030/bundle.js:24517:34
set@http://localhost:8030/bundle.js:24475:54
../../packages/core/lib/browser/shell/side-panel-handler.js/</SidePanelHandler.prototype.setLayoutData@http://localhost:8030/bundle.js:122635:13
../../packages/core/lib/browser/shell/application-shell.js/</ApplicationShell.prototype.setLayoutData/</<@http://localhost:8030/bundle.js:120490:47
step@http://localhost:8030/bundle.js:119955:23
verb/<@http://localhost:8030/bundle.js:119936:53
../../packages/core/lib/browser/shell/application-shell.js/</__awaiter</<@http://localhost:8030/bundle.js:119930:71
../../packages/core/lib/browser/shell/application-shell.js/</__awaiter<@http://localhost:8030/bundle.js:119926:12
../../packages/core/lib/browser/shell/application-shell.js/</ApplicationShell.prototype.setLayoutData@http://localhost:8030/bundle.js:120483:16
../../packages/core/lib/browser/shell/shell-layout-restorer.js/</ShellLayoutRestorer.prototype.restoreLayout/</<@http://localhost:8030/bundle.js:122015:56
step@http://localhost:8030/bundle.js:121904:23
verb/<@http://localhost:8030/bundle.js:121885:53
fulfilled@http://localhost:8030/bundle.js:121876:58
logger-protocol.ts:112:15
@sh7dm for your own information, one cannot use the VS Code Marketplace directly outside of official Microsoft products as it violates their terms of use (and is subsequently illegal). We have created open-vsx for that exact purpose, and if your extension is not provided, you can submit a request to include it (https://github.com/open-vsx/publish-extensions).
I suspect something may be missing during packaging and it is the reason vscode-textmate complains.
I know, I used the manually-download VSIX, that should work. Do you think the issue is on extension side?
I know, I used the manually-download VSIX, that should work. Do you think the issue is on extension side?
I'm checking out their repo and attempting to build it myself.
I do see it is still a beta, and their last publish was a while ago.
This method looks a bit fishy, the fact that it requires it but does not provide it itself makes me think that it is included in vscode by default (especially since it looks at the appRoot):
private getNodeModule(moduleName: string) {
return require(`${vscode.env.appRoot}/node_modules.asar/${moduleName}`);
}
This seems to be a flaw/design decision by the extension to not provide it, and it is due to the fact that the author probably did not envision any other consumer (such as the framework), to be able to use the extension.
Probably this issue should be transferred there, I see that it's caused by extension.
It is the same issue with keytar. We should add such packages as dependencies to @theia/plugin-ext-vscode, hook into require to intercept requests to such modules and implement own look up.
@akosyakov keytar issue also causes the failure of Docker extension.
I've added keytar to discuss on next dev meeting. It requires additional dependencies which is not always necessary (some product can have own implementation of persisting secrets) but such dependencies rely on additional system tools to be installed.
Might be related to #6407
Sorry for the spam, but this is the really useful extension. Hope someday theia can have it.