81 lines
1.8 KiB
JavaScript
81 lines
1.8 KiB
JavaScript
![]() |
import * as utils from './utils';
|
||
|
|
||
|
import QuickAccessTreeProvider from './views/quick-access-tree';
|
||
|
import vscode from 'vscode';
|
||
|
|
||
|
class SuperIDEExtension {
|
||
|
constructor() {
|
||
|
this.siHome = undefined;
|
||
|
this.context = undefined;
|
||
|
this.subscriptions = [];
|
||
|
}
|
||
|
|
||
|
async activate(context) {
|
||
|
this.context = context;
|
||
|
|
||
|
this.subscriptions.push(
|
||
|
vscode.window.registerTreeDataProvider(
|
||
|
'superide.quickAccess',
|
||
|
new QuickAccessTreeProvider()
|
||
|
)
|
||
|
);
|
||
|
|
||
|
this.registerGlobalCommands();
|
||
|
|
||
|
this.startSuperIDEHome();
|
||
|
}
|
||
|
|
||
|
async startSuperIDEHome() {
|
||
|
vscode.commands.executeCommand('superide.showHome');
|
||
|
}
|
||
|
|
||
|
firstConnect(host, username, password, port, publicKey) {
|
||
|
const ssh = new NodeSSH();
|
||
|
ssh.connect({
|
||
|
host: host,
|
||
|
username: username,
|
||
|
password: password,
|
||
|
port: port
|
||
|
}).then(() => {
|
||
|
console.log('Connected successfully');
|
||
|
ssh.execCommand(`mkdir ~/.ssh &&
|
||
|
touch ~/.ssh/authorized_keys &&
|
||
|
echo ${publicKey} >> ~/.ssh/authorized_keys`, )
|
||
|
.then(result => {
|
||
|
if (result.stdout) console.log('STDOUT: ' + result.stdout);
|
||
|
if (result.stderr) console.log('STDERR: ' + result.stderr);
|
||
|
});
|
||
|
}).catch(error => {
|
||
|
console.log('Error: ', error);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
|
||
|
registerGlobalCommands() {
|
||
|
this.subscriptions.push(
|
||
|
vscode.commands.registerCommand('superide.showHome', (startUrl) =>
|
||
|
this.siHome.toggle(startUrl)
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
disposeSubscriptions() {
|
||
|
utils.disposeSubscriptions(this.subscriptions);
|
||
|
}
|
||
|
|
||
|
deactivate() {
|
||
|
this.disposeSubscriptions();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export const extension = new SuperIDEExtension();
|
||
|
|
||
|
export function activate(context) {
|
||
|
extension.activate(context);
|
||
|
return extension;
|
||
|
}
|
||
|
|
||
|
export function deactivate() {
|
||
|
extension.deactivate();
|
||
|
}
|