This commit is contained in:
Sandeep Somavarapu
2018-02-09 18:54:42 +01:00
parent ac5ce55089
commit 26e441212e
4 changed files with 2258 additions and 18 deletions

2225
tree-view-sample/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
"version": "0.0.1",
"publisher": "ms-vscode",
"engines": {
"vscode": "^1.13.0"
"vscode": "^1.20.0"
},
"categories": [
"Other"
@ -54,6 +54,14 @@
"command": "nodeDependencies.deleteEntry",
"title": "Delete"
},
{
"command": "ftpExplorer.refresh",
"title": "Refresh",
"icon": {
"light": "resources/light/refresh.svg",
"dark": "resources/dark/refresh.svg"
}
},
{
"command": "openFtpResource",
"title": "Open FTP Resource"
@ -94,6 +102,11 @@
{
"command": "nodeDependencies.addEntry",
"when": "view == nodeDependencies"
},
{
"command": "ftpExplorer.refresh",
"when": "view == ftpExplorer",
"group": "navigation"
}
],
"view/item/context": [
@ -138,4 +151,4 @@
"jsonc-parser": "^0.4.2",
"ftp": "^0.3.10"
}
}
}

View File

@ -14,26 +14,24 @@ export function activate(context: vscode.ExtensionContext) {
const ftpExplorerProvider = new FtpTreeDataProvider();
vscode.window.registerTreeDataProvider('nodeDependencies', nodeDependenciesProvider);
vscode.commands.registerCommand('jsonOutline.refresh', () => jsonOutlineProvider.refresh());
vscode.commands.registerCommand('jsonOutline.refreshNode', offset => jsonOutlineProvider.refresh(offset));
vscode.commands.registerCommand('jsonOutline.renameNode', offset => jsonOutlineProvider.rename(offset));
vscode.window.registerTreeDataProvider('jsonOutline', jsonOutlineProvider);
vscode.window.registerTreeDataProvider('ftpExplorer', ftpExplorerProvider);
vscode.commands.registerCommand('extension.openPackageOnNpm', moduleName => {
vscode.commands.executeCommand('vscode.open', vscode.Uri.parse(`https://www.npmjs.com/package/${moduleName}`));
});
vscode.commands.registerCommand('nodeDependencies.refreshEntry', () => nodeDependenciesProvider.refresh());
vscode.commands.registerCommand('nodeDependencies.addEntry', node => vscode.window.showInformationMessage('Successfully called add entry'));
vscode.commands.registerCommand('nodeDependencies.deleteEntry', node => vscode.window.showInformationMessage('Successfully called delete entry'));
vscode.commands.registerCommand('extension.openPackageOnNpm', moduleName => vscode.commands.executeCommand('vscode.open', vscode.Uri.parse(`https://www.npmjs.com/package/${moduleName}`)));
vscode.commands.registerCommand('extension.openJsonSelection', range => {
jsonOutlineProvider.select(range);
});
vscode.window.registerTreeDataProvider('jsonOutline', jsonOutlineProvider);
vscode.commands.registerCommand('jsonOutline.refresh', () => jsonOutlineProvider.refresh());
vscode.commands.registerCommand('jsonOutline.refreshNode', offset => jsonOutlineProvider.refresh(offset));
vscode.commands.registerCommand('jsonOutline.renameNode', offset => jsonOutlineProvider.rename(offset));
vscode.commands.registerCommand('extension.openJsonSelection', range => jsonOutlineProvider.select(range));
vscode.commands.registerCommand('openFtpResource', (node: FtpNode) => {
vscode.workspace.openTextDocument(node.resource).then(document => {
vscode.window.showTextDocument(document);
vscode.window.registerTreeDataProvider('ftpExplorer', ftpExplorerProvider);
vscode.commands.registerCommand('ftpExplorer.refresh', () => ftpExplorerProvider.refresh());
vscode.commands.registerCommand('openFtpResource', (node: FtpNode) => {
vscode.workspace.openTextDocument(node.resource).then(document => {
vscode.window.showTextDocument(document);
});
});
});
}

View File

@ -134,6 +134,10 @@ export class FtpTreeDataProvider implements TreeDataProvider<FtpNode>, TextDocum
private model: FtpModel;
refresh(): any {
this._onDidChangeTreeData.fire();
}
public getTreeItem(element: FtpNode): TreeItem {
return {
resourceUri: element.resource,