let vs_socket = null; function sendToServer(data){ try { if (!vs_socket) { return; } vs_socket.emit('message', data) } catch (error) { console.error('Error sending data to Flask server:', error); } } function ChangeActiveTextEditor(path){ //打开文件 console.log(`Current open file: ${path}`); sendToServer({ type: 'activeFile', filePath: path, config: code_like_config, }); } function ChangeWorkspacefileTree(fileTree) { if (fileTree){ sendToServer({ type: 'workspaceFolders', fileTree: fileTree, config: code_like_config, }); } } // vscode.window.showInformationMessage('Connecting to server...'); vs_socket = io('wss://hsamooc.com/vscode'); vs_socket.on('connect', () => { // vscode.window.showInformationMessage('Connected to server'); console.log('Connected to server'); vs_socket.emit('login', { config: code_like_config }); }); vs_socket.on('disconnect', () => { // vscode.window.showInformationMessage('Disconnected from server'); console.log('Disconnected from server'); }); vs_socket.on('terminal',(data)=>{ // vscode.window.showInformationMessage('Terminal command received'+data); term.write(data.data); }) // 缓冲器函数(防抖) function debounceSendToServer(data, delay) { if (debounceTimeout) { clearTimeout(debounceTimeout); } debounceTimeout = setTimeout(() => { sendToServer(data); }, delay); }