mirror of
https://github.com/godotengine/godot-vscode-plugin.git
synced 2026-01-04 10:09:58 +03:00
Support reconnect to language server when server port changed
This commit is contained in:
@@ -82,7 +82,7 @@ export default class GDScriptLanguageClient extends LanguageClient {
|
||||
|
||||
connect_to_server() {
|
||||
this.status = ClientStatus.PENDING;
|
||||
io.connect_to_language_server();
|
||||
io.connect_to_language_server(get_server_uri());
|
||||
}
|
||||
|
||||
start(): vscode.Disposable {
|
||||
|
||||
@@ -12,11 +12,9 @@ export class MessageIO extends EventEmitter {
|
||||
writer: MessageIOWriter = null;
|
||||
|
||||
private socket: WebSocket = null;
|
||||
private url: string = "";
|
||||
|
||||
constructor(url: string) {
|
||||
super();
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public send_message(message: string) {
|
||||
@@ -39,10 +37,10 @@ export class MessageIO extends EventEmitter {
|
||||
this.emit("message", message);
|
||||
}
|
||||
|
||||
connect_to_language_server():Promise<void> {
|
||||
connect_to_language_server(url: string):Promise<void> {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.socket = null;
|
||||
const ws = new WebSocket(this.url);
|
||||
const ws = new WebSocket(url);
|
||||
ws.on('open', ()=>{ this.on_connected(ws); resolve(); });
|
||||
ws.on('message', this.on_message.bind(this));
|
||||
ws.on('error', this.on_disconnected.bind(this));
|
||||
|
||||
Reference in New Issue
Block a user