瀏覽代碼

add action godot.updateWorkspaceSymbols

Geequlim 8 年之前
父節點
當前提交
b75178f500
共有 3 個文件被更改,包括 16 次插入4 次删除
  1. 6 0
      package.json
  2. 1 0
      src/extension.ts
  3. 9 4
      src/tool_manager.ts

+ 6 - 0
package.json

@@ -15,6 +15,12 @@
   ],
   "main": "./out/src/extension",
   "contributes": {
+    "commands":[
+      {
+        "command": "godot.updateWorkspaceSymbols",
+        "title": "GodotTools: Update Workspace Symbols"
+      }
+    ],
     "configuration": {
       "type": "object",
       "title": "Godot tools configuration",

+ 1 - 0
src/extension.ts

@@ -9,5 +9,6 @@ export function activate(context: ExtensionContext) {
 	tool = new ToolManager(context);
 	// context.subscriptions.push(tool);
 	context.subscriptions.push(new WindowWatch());
+	context.subscriptions.push(tool);
 	console.log("[GodotTools]: Extension Activated");
 }

+ 9 - 4
src/tool_manager.ts

@@ -12,6 +12,7 @@ class ToolManager {
   private docs: DocDataManager = null;
   private symbolprovider: GDScriptSymbolProvider = null;
   private workspacesymbolprovider: GDScriptWorkspaceSymbolProvider = null;
+  private _disposable: vscode.Disposable;
 
   constructor(context: vscode.ExtensionContext) {
     this.workspaceDir = vscode.workspace.rootPath.replace(/\\/g, "/");
@@ -22,7 +23,11 @@ class ToolManager {
     vscode.languages.registerDocumentSymbolProvider('gdscript', this.symbolprovider);
     this.workspacesymbolprovider = new GDScriptWorkspaceSymbolProvider();
     vscode.languages.registerWorkspaceSymbolProvider(this.workspacesymbolprovider);
-    
+
+    // Commands
+    this._disposable = vscode.Disposable.from(
+      vscode.commands.registerCommand('godot.updateWorkspaceSymbols', this.loadWorkspaceSymbols.bind(this))
+    );
   }
 
   validate() {
@@ -59,15 +64,15 @@ class ToolManager {
 
   loadWorkspaceSymbols() {
     this.loadAllSymbols().then(symbols=>{
-        // vscode.window.showInformationMessage("GDScript symbols done");
+        vscode.window.showInformationMessage("Update GDScript symbols done");
         config.setAllSymbols(symbols);
     }).catch(e=>{
-        // vscode.window.showWarningMessage("GDScript symbols parse failed");
+        vscode.window.showWarningMessage("Update GDScript symbols failed");
     });
   }
 
   dispose() {
-
+    this._disposable.dispose();
   }
 };