menu

Theia

Eclipse Theia - Cloud & Desktop IDE

Channels
Team
Posts
Chat
Members
Info
Show previous messages

March 25, 2020 at 2:05pm
The use-case for Theia workspace is as a part of a development container stack - source code folder is mounted to Theia and runs in a separate container.
  • reply
  • like
Good catch about the differences. The Open VSX version is built separately, as per this entry: https://github.com/open-vsx/publish-extensions/blob/master/extensions.json#L139-L141
  • reply
  • like
IIUC since the "checkout" param is not defined, it will build whatever is on master. So you get something like a preview of the next version of this extension. I am not sure if this is intended. cc:
Edited
  • reply
  • like
Looking at the above link, I think the issue can be mitigated with something like groupmod -o -g "$GID" theia && usermod -o -u "$UID" theia before the start of "node", "/home/theia/src-gen/backend/main.js"...
  • reply
  • like
So if I understand correctly, the workspace is on the host so it can be mounted in multiple containers, that are part of your development stack?
  • reply
  • like
Correct, Theia being part of the stack.
  • reply
  • like
OK. Then maybe all that's needed is for the workspace and its content to be created/accessed/updated from the same user/group in all relevant containers (user==uid, the associated name is not relevant wr to permissions). On Ubuntu by default , the UID I think starts at 1000 for the first created user and is incremented by 1 for each subsequent user. Root has UID 0. But I am not an expert, and there may be a better solution,
  • reply
  • like
Any way to run Theia with Node 12?, getting error dugite-extra@0.1.12: The engine "node" is incompatible with this module. Expected version ">=10.11.0 <12". Got "12.16.1"
Not yet, you must use a node version that satisfies that requirement. If you need a different version of node, you can use nvm: https://github.com/nvm-sh/nvm#usage
  • reply
  • like

March 26, 2020 at 1:22am
very frequently I get this in the container logs:
theia | Promise rejection not handled in one second: TypeError: r.languages.registerSelectionRangeProvider is not a function , reason: TypeError: r.languages.registerSelectionRangeProvider is not a function
theia | root ERROR [hosted-plugin: 3249] With stack trace: TypeError: r.languages.registerSelectionRangeProvider is not a function
theia | at s.VersionDependentRegistration [as _doRegister] (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:165355)
theia | at s.update (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:12010)
theia | at t.VersionDependentRegistration.update (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:12479)
theia | at new t.VersionDependentRegistration (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:12278)
theia | at Object.t.register (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:165289)
theia | at Promise.all.Promise.resolve.then.then.t (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:122868)
theia | at process._tickCallback (internal/process/next_tick.js:68:7)
  • reply
  • like
also noticing ESLint lints differently when used in VSCode vs Theia... any ideas why that might be?
  • reply
  • like
very frequently I get this in the container logs:
theia | Promise rejection not handled in one second: TypeError: r.languages.registerSelectionRangeProvider is not a function , reason: TypeError: r.languages.registerSelectionRangeProvider is not a function
theia | root ERROR [hosted-plugin: 3249] With stack trace: TypeError: r.languages.registerSelectionRangeProvider is not a function
theia | at s.VersionDependentRegistration [as _doRegister] (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:165355)
theia | at s.update (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:12010)
theia | at t.VersionDependentRegistration.update (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:12479)
theia | at new t.VersionDependentRegistration (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:12278)
theia | at Object.t.register (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:165289)
theia | at Promise.all.Promise.resolve.then.then.t (/theia/plugins/vscode-builtin-typescript-language-features/extension/dist/extension.js:1:122868)
theia | at process._tickCallback (internal/process/next_tick.js:68:7)
we are still working towards completing support for the VS Code API, and we are currently tracking implementing both SelectionRange and SelectRangeProvider (https://github.com/eclipse-theia/theia/issues/6623) so the logs are normal
  • reply
  • like
also noticing ESLint lints differently when used in VSCode vs Theia... any ideas why that might be?
do you have a concrete use-case/example with differences?
  • reply
  • like
do you have a concrete use-case/example with differences?
this was due to environment differences after all
  • reply
  • like

March 26, 2020 at 5:15pm
hi everyone, just a quick question
  • reply
  • like
  • reply
  • like
I've achieved to start Theia with a custom docker image with light theme by configuring package.json theia key
  • reply
  • like
the other thing I'm trying to do is to save the editor layout (so file explorer opened and no right toolbar with outline icon)
  • reply
  • like
do I have to create an extension for that?
  • reply
  • like
Yes, the custom layout should be implemented in FrontendApplicationContibution.initializeLayout. One can inject NavigatorViewContribution and call openView. Similarly one can inject OutlineContribution and close it.
  • reply
  • like

March 27, 2020 at 1:41am
where should this be defined, ?
  • reply
  • like
It should be implemented and bound in the frontend module
  • reply
  • like
extension should be widget type, right?
  • reply
  • like

March 30, 2020 at 6:03am
You can start with a simple and just implement FrontendApplicationContibution if you need to rearrange default layout.
  • reply
  • like