Live Share integration

It would be very interesting to have VS Code’s Live Share plugin work with Theia. I have followed steps here:

It’s not working right now, though some of the menus appears to be registered in the left pane. Is there a guide to troubleshooting plugins?

Output below:

yarn run v1.7.0
$ theia start --plugins=local-dir:../../plugins
Starting the master backend process with 5000 (ms) timeout.
Starting server worker...
Server worker has been started. [ID: 1 | PID: 16932]
Server worker is ready to accept messages. [ID: 1 | PID: 16932]
root INFO unzipping the plugin ProxyPluginDeployerEntry {
  deployer:
   PluginVsCodeFileHandler {
     unpackedFolder: 'C:\\Users\\Ryan\\AppData\\Local\\Temp\\vscode-unpacked' },
  delegate:
   PluginDeployerEntryImpl {
     originId: 'local-dir:../../plugins',
     pluginId: 'MS-vsliveshare.vsliveshare-0.3.1256.vsix',
     map: Map {},
     changes: [],
     acceptedTypes: [],
     currentPath: 'S:\\src\\theia\\plugins\\MS-vsliveshare.vsliveshare-0.3.1256.vsix',
     initPath: 'S:\\src\\theia\\plugins\\MS-vsliveshare.vsliveshare-0.3.1256.vsix',
     resolved: true,
     resolvedByName: 'LocalDirectoryPluginDeployerResolver' },
  deployerName: 'PluginVsCodeFileHandler' }
root INFO unzipping the plugin ProxyPluginDeployerEntry {
  deployer:
   PluginVsCodeFileHandler {
     unpackedFolder: 'C:\\Users\\Ryan\\AppData\\Local\\Temp\\vscode-unpacked' },
  delegate:
   PluginDeployerEntryImpl {
     originId: 'local-dir:../../plugins',
     pluginId: 'MS-vsliveshare.vsliveshare-pack-0.2.9.vsix',
     map: Map {},
     changes: [],
     acceptedTypes: [],
     currentPath: 'S:\\src\\theia\\plugins\\MS-vsliveshare.vsliveshare-pack-0.2.9.vsix',
     initPath: 'S:\\src\\theia\\plugins\\MS-vsliveshare.vsliveshare-pack-0.2.9.vsix',
     resolved: true,
     resolvedByName: 'LocalDirectoryPluginDeployerResolver' },
  deployerName: 'PluginVsCodeFileHandler' }
root INFO Theia app listening on http://localhost:3000.
Received message which is neither a response nor a notification message:
"3000"
root INFO PluginTheiaDirectoryHandler: accepting plugin with path C:\Users\Ryan\AppData\Local\Temp\vscode-unpacked\MS-vsliveshare.vsliveshare-0.3.1256.vsix
root INFO Resolved "MS-vsliveshare.vsliveshare-0.3.1256.vsix" to a VS Code extension "vsliveshare@0.3.1256" with engines: { vscode: '^1.19.1' }
root INFO PluginTheiaDirectoryHandler: accepting plugin with path C:\Users\Ryan\AppData\Local\Temp\vscode-unpacked\MS-vsliveshare.vsliveshare-pack-0.2.9.vsix
root INFO Resolved "MS-vsliveshare.vsliveshare-pack-0.2.9.vsix" to a VS Code extension "vsliveshare-pack@0.2.9" with engines: { vscode: '^1.19.1' }
root INFO Deploying backend plugin "vsliveshare@0.3.1256" from "C:\Users\Ryan\AppData\Local\Temp\vscode-unpacked\MS-vsliveshare.vsliveshare-0.3.1256.vsix\extension\out\prod\extension-prod"
root INFO Deploying backend plugin "vsliveshare-pack@0.2.9" from "C:\Users\Ryan\AppData\Local\Temp\vscode-unpacked\MS-vsliveshare.vsliveshare-pack-0.2.9.vsix\extension"
root INFO [hosted-plugin: 11860] PLUGIN_HOST(11860) starting instance
root INFO [hosted-plugin: 12976] PLUGIN_HOST(12976) starting instance
root INFO [hosted-plugin: 11584] PLUGIN_HOST(11584) starting instance

root WARN EditorNavigationContribution.onStart is slow, took: 625.0750001054257 ms
root WARN Plugin contributes items to a menu with invalid identifier: view/title
root WARN Plugin contributes items to a menu with invalid identifier: scm/resourceGroup/context
root WARN Plugin contributes items to a menu with invalid identifier: scm/resourceState/context
root WARN Plugin contributes items to a menu with invalid identifier: scm/change/title
root WARN Collided keybinding is ignored;  {"command":"liveshare.unfollow","keybinding":"ctrl+alt+f"}  collided with  {"command":"liveshare.follow","keybinding":"ctrl+alt+f"}
root WARN Could not register keybinding:
  {"command":"liveshare.unfollow","keybinding":"ctrl+alt+f"}
Error: "ctrl+alt+f" is in collision with something else [scope:1]
root INFO [hosted-plugin: 11584] PLUGIN_HOST(11584): PluginManagerExtImpl/init()
PLUGIN_HOST(11584): initializing(S:\src\theia\packages\plugin-ext-vscode\lib\node/plugin-vscode-init.js)

root INFO [hosted-plugin: 11584] Debugger contribution has been registered: vslsJoin

root INFO [hosted-plugin: 11584] Debugger contribution has been registered: vslsShare
Debugger contribution has been registered: vslsRemoteJoin

root INFO [hosted-plugin: 11584] PLUGIN_HOST(11584): PluginManagerExtImpl/loadPlugin(C:\Users\Ryan\AppData\Local\Temp\vscode-unpacked\MS-vsliveshare.vsliveshare-0.3.1256.vsix\extension\out\prod\extension-prod)

root ERROR [hosted-plugin: 11584] Could not identify plugin for 'Theia' require call from C:\Users\Ryan\AppData\Local\Temp\vscode-unpacked\MS-vsliveshare.vsliveshare-0.3.1256.vsix\extension\out\prod\extension-prod.js

root ERROR Request keyValueStorageSet failed with error: ENOENT: no such file or directory, mkdir 'c:\Users\Ryan\AppData\Roaming\.theia\plugin-storage' Error: ENOENT: no such file or directory, mkdir 'c:\Users\Ryan\AppData\Roaming\.theia\plugin-storage'
    at Object.fs.mkdirSync (fs.js:885:18)
    at PluginsKeyValueStorage.writeToFile (S:\src\theia\packages\plugin-ext\lib\main\node\plugins-key-value-storage.js:198:16)
at PluginsKeyValueStorage.<anonymous> (S:\src\theia\packages\plugin-ext\lib\main\node\plugins-key-value-storage.js:119:30)
at step (S:\src\theia\packages\plugin-ext\lib\main\node\plugins-key-value-storage.js:59:23)
at Object.next (S:\src\theia\packages\plugin-ext\lib\main\node\plugins-key-value-storage.js:40:53)
at fulfilled (S:\src\theia\packages\plugin-ext\lib\main\node\plugins-key-value-storage.js:31:58)
at <anonymous>

[original thread by Ryan Dunn]

[Sun Seng David TAN]

Hello Ryan. We have plans to work on it (as part of Eclipse Che) for the next GSoC. You are very welcome to join the effort :slight_smile:

[Sun Seng David TAN]

https://wiki.eclipse.org/Google_Summer_of_Code_2019_Ideas#Topic_1:_Co_Editing

[Ryan Dunn]

This looks pretty interesting. I think I will follow it closely then. I suspect that I have a rather steep TypeScript learning curve to be productive here.

[BradDC]

Hi There, wondering if there was any feedback on the GSoC project https://wiki.eclipse.org/Google_Summer_of_Code_2019_Ideas#Topic_1:_Co_Editing