as below,why use the WebSocketConnectionProvider to proxy?only use bind(CommandRegistry).toSelf().inSingletonScope() that can also call the method of CommandRegistry
bind(CommandRegistry).toSelf().inSingletonScope().onActivation(({ container }, registry) => {
WebSocketConnectionProvider.createProxy(container, commandServicePath, registry);
return registry;
});
[original thread by oyo]
It exposes CommandRegistry as remote proxy object for the backend, so on the backend one can inject CommandService
and execute commands
[oyo]
@anton-kosyakov thx,but how to achieve theia’s layout?just css or any Front-end development framework?
sorry, i cannot follow. What do you mean by achieve theia’s layout
? and how it is related to exposing CommanRegistry to the backend?
[oyo]
@anton-kosyakov I mean the way that you achieve page layout of theia
[oyo]
and if I want to develop a language server about verilog, what should i do?
[oyo]
@anton-kosyakov okay, thx, but what’s the way that you achieve page layout of theia?
Please elaborate on achieve? Do you mean have the custom page layout? You should implement FrontendAppliactionContribution.initializeLayout
. It’s called each time when there is no previously stored layout and you can use it to hide/open some widgets, reveal something in opened widgets and so on. https://github.com/eclipse-theia/theia/blob/5ea335c560573de3d176c64e37fa18b477434d81/packages/core/src/browser/frontend-application.ts#L66-L70
[oyo]
@anton-kosyakov only use css or other Front-end development framework like antd? because i don’t know how to change layout of theia
@oyosc Maybe we do it another way. Could you tell me concrete what you want to achieve, i.e. I want to have README file opened by default if it is repository or I don’t want to have the bottom panel at all.
You can use antd but only to create a custom widget, to customize shell layout you have to provide a custom extension and use Theia APIs.