2016-10-03 6 views
3

Ich habe gesehen, wie launch.json für Visual Studio Code hat Zugriff auf "$ {workspaceRoot}. Hat es auch Zugriff auf andere häufige Variablen? Ich hätte gerne Zugriff auf AppData-Ordner des aktuellen Benutzers, so kann ich tun:Gemeinsame Variablen für launch.json in Visual Studio Code

"program": "${appData}\\Roaming\\npm\\node_modules\\gulp\\bin\\gulp.js" 

statt Hartcodierung als:.

"program": "C:\\Users\\jdoe\\AppData\\Roaming\\npm\\node_modules\\gulp\\bin\\gulp.js" 
+0

Es stellt sich heraus, dass ich "Programm": "$ {workspaceRoot}/node_modules/gulp/bin/gulp.js" für mein spezifisches Problem verwenden kann, so brauche ich die Antwort nicht sofort. Es wäre jedoch schön zu wissen, welche anderen Variablen ich verwenden kann. –

Antwort

8

Variable Substitution in launch.json unterstützt Umgebungsvariablen für Ihren anwendungs~~POS=TRUNC können Sie verwenden ${env.AppData}.

VS-Code unterstützt die variable Ersetzung innerhalb von Strings in launch.json auf die gleiche Weise wie für tasks.json.

https://code.visualstudio.com/docs/editor/tasks#_variable-substitution

  • $ {workspaceRoot} der Pfad des Ordners geöffnet in VS-Code
  • $ {file} der aktuellen geöffnet
  • $ {relativeFile} die aktuelle geöffnete Datei relativ Datei zu workspaceRoot
  • $ {fileBasename} Name der aktuellen geöffneten Datei
  • $ {fileDirname} der Name der aktuell geöffneten Datei
  • $ {fileExtname} die aktuelle Erweiterung
  • $ {cwd} der geöffneten Datei im aktuellen Arbeitsverzeichnis Aufgabe Läufer beim Start

Sie auch Umgebungsvariablen durch $ {env.Name} verweisen kann (z $ {env.PATH}). Stellen Sie sicher, dass das Gehäuse der Umgebungsvariablen name beispielsweise env.Path unter Windows entspricht.

+0

Perfekt. Danke für die Antwort! –

+1

Ich habe versucht, '" Programm ":" $ {env: AppData}/npm/node_modules/Winkelmesser/bin/Winkelmesser ", aber es sieht aus wie AppData Variable kann nicht aufgelöst werden: ' Attribut 'Programm' existiert nicht ('/ npm/node_modules/winkelmesser/bin/winkelmesser') ' – algot

+0

@algot Es gibt einen kleinen Tippfehler in Ihrem Code. Es sollte 'env.AppData' nicht' env: AppData' sein. – Steffen

Verwandte Themen