58 lines
1.5 KiB
JavaScript
58 lines
1.5 KiB
JavaScript
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);
|
|
}
|