2017-12-20 6 views
0

Ich arbeite an einer VSCode-Erweiterung, die einige Eingaben vom Entwickler erhält und einige yarn/npm-Befehle in einem benutzerdefinierten geöffneten Terminal aufruft, um einen Ordner und einige darin enthaltene Dateien zu erzeugen.Wie kann ich VS-Code-Explorer von einer Erweiterung aktualisieren?

Alles läuft gut, außer dass wir manuell auf den Aktualisieren-Knopf im Explorer klicken müssen, um den resultierenden Ordner zu sehen.

Ich möchte eine Methode aus der Erweiterung aufrufen, um das für uns zu tun, sobald die Ausführung abgeschlossen wurde. ich im Internet etwas Forschung tat und fand diesen Befehl ein:

terminal.sendText(command); 
vscode.commands.executeCommand(
        "workbench.files.action.refreshFilesExplorer" 
       ); 

Aber leider ist es nicht funktioniert, wie ich erwartet hatte.

Fehle ich etwas?

Antwort

0

Sie müssen wahrscheinlich warten, bis der Befehl abgeschlossen ist, bevor Sie refresh ausführen.

Muss der Befehl im Terminal ausgeführt werden? Kann es stattdessen mit dem Knoten child_process ausgeführt werden, mit dem Sie dann vscode.commands.executeCommand("workbench.files.action.refreshFilesExplorer") ausführen, nachdem der Prozess beendet wird?

+0

Nun, ich glaube nicht, dass ich "yarn/npm/ng" basierte Befehle mit child_process ausführen kann. kann ich ? – Cristiano

+0

Ja, Sie können beliebige Befehle/ausführbare Dateien mit [child_process.exec] ausführen (https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback) –

Verwandte Themen