Einen Builder oder Runner definieren - AWS Cloud9

AWS Cloud9 ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS Cloud9 können den Service weiterhin wie gewohnt nutzen. Weitere Informationen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einen Builder oder Runner definieren

In diesem Thema wird gezeigt, wie Sie einen Builder oder Runner definieren können. Bevor Sie einen Builder oder Runner definieren, stellen Sie sicher, dass Sie einen Builder oder Runner erstellt haben.

Verwenden Sie auf der angezeigten Registerkarte Builder oder Runner, JSON um den Runner oder Builder zu definieren. Beginnen Sie mit dem folgenden Code als Vorlage.

Für einen Builder beginnen Sie mit diesem Code.

{ "cmd": [], "info": "", "env": {}, "selector": "" }

Für einen Runner beginnen Sie mit diesem Code.

{ "cmd": [], "script": "", "working_dir": "", "info": "", "env": {}, "selector": "", "debugger": "", "debugport": "" }

Im vorhergehenden Code:

  • cmd: Stellt eine durch Kommas getrennte Liste von Zeichenketten dar AWS Cloud9 , die als ein einziger Befehl ausgeführt werden sollen.

    Wenn dieser Befehl AWS Cloud9 ausgeführt wird, wird jede Zeichenfolge in der Liste durch ein einzelnes Leerzeichen getrennt. AWS Cloud9 Wird beispielsweise "cmd": [ "ls", "$file", "$args"] als ausgeführtls $file $args, wobei durch den vollständigen Pfad zur aktuellen Datei und $args durch alle Argumente ersetzt AWS Cloud9 $file wird, die nach dem Dateinamen eingegeben werden. Weitere Informationen finden Sie in der Liste der unterstützten Variablen weiter unten in diesem Abschnitt.

  • script: Stellt ein Bash-Skript dar (das auch als ein Array von Zeilen angegeben werden darf, je nach Bedarf für Lesbarkeit), das der Runner im Terminal ausführt.

  • working_dir: Stellt das Verzeichnis dar, von dem der Runner ausgeführt wird.

  • info: Stellt eine beliebige Text-Zeichenfolge dar, die Sie dem Benutzer zu Beginn der Ausführung anzeigen möchten. Diese Zeichenfolge kann Variablen enthalten, z. B. Running $project_path$file_name... where AWS Cloud9 wird $project_path durch den Verzeichnispfad der aktuellen Datei und $file_name durch den Namensteil der aktuellen Datei ersetzt. Eine Liste der unterstützten Variablen finden Sie weiter unten in diesem Abschnitt.

  • env: Stellt ein beliebiges Array von Befehlszeilenargumenten dar, AWS Cloud9 die verwendet werden können, zum Beispiel:

    "env": { "LANG": "en_US.UTF-8", "SHLVL": "1" }
  • selector: Stellt einen beliebigen regulären Ausdruck dar, AWS Cloud9 den Sie verwenden möchten, um die Dateinamen zu identifizieren, die für diesen Runner gelten. Sie können beispielweise source.py für Python-Dateien angeben.

  • debugger: Stellt den Namen jedes verfügbaren Debuggers dar, den Sie verwenden AWS Cloud9 möchten und der mit diesem Runner kompatibel ist. Sie können beispielweise v8 für den V8-Dubugger angeben.

  • debugport: Stellt die Portnummer dar, die Sie beim Debuggen verwenden AWS Cloud9 möchten. Sie können beispielweise 15454 als zu verwendende Portnummer verwenden.

Die folgende Tabelle zeigt die Variablen an, die Sie verwenden können.

Variable Beschreibung

$file_path

Das Verzeichnis der aktuellen Datei, z. B. /home/ec2-user/environment oder /home/ubuntu/environment.

$file

Der vollständige Pfad zur aktuellen Datei, z. B. /home/ec2-user/environment/hello.py oder /home/ubuntu/environment/hello.py.

$args

Alle Argumente, die nach dem Dateinamen eingegeben wurden, z. B. "5" "9".

$file_name

Der Namensteil des aktuellen Datei, z. B. hello.py.

$file_extension

Die Erweiterung der aktuellen Datei, z. B. py.

$file_base_name

Der Name der aktuellen Datei ohne die Dateierweiterung, z. B. hello.

$packages

Der vollständige Pfad zum Paketordner.

$project

Der vollständige Pfad zum aktuellen Projektordner.

$project_path

Das Verzeichnis der aktuellen Projektdatei, z. B. /home/ec2-user/environment/ oder /home/ubuntu/environment/.

$project_name

Der Name der aktuellen Projektdatei ohne die Dateierweiterung, z. B. my-demo-environment.

$project_extension

Die Erweiterung der aktuellen Projektdatei.

$project_base_name

Der Name der aktuellen Projektdatei ohne die Erweiterung.

$hostname

Der Hostname der Umgebung, z. B. 192.0.2.0.

$hostname_path

Der Hostname der Umgebung mit dem relativen Pfad zur Projektdatei, z. B. https://192.0.2.0/hello.js.

$url

Die vollständige Angabe für den URL Zugriff auf die Umgebung, zum Beispiel. https://192.0.2.0.

$port

Der Port, der der Umgebung zugewiesen ist, z. B. 8080.

$ip

Die IP-Adresse zum Ausführen eines Prozesses gegen die Umgebung, z. B. 0.0.0.0.

Beispielsweise G++.build definiert die folgende Builder-Datei mit dem Namen einen Builder fürGCC, der den g++Befehl mit der -o Option ausführt, die aktuelle Datei (z. B.hello.cpp) in ein Objektmodul zu kompilieren. Anschließend wird das Objektmodul in ein Programm mit demselben Namen wie die aktuelle Datei (z. B. hello) verlinkt. Hier ist der entsprechende Befehl g++ -o hello hello.cpp.

{ "cmd": [ "g++", "-o", "$file_base_name", "$file_name" ], "info": "Compiling $file_name and linking to $file_base_name...", "selector": "source.cpp" }

In diesem weiteren Beispiel definiert die folgende Runner-Datei mit der Bezeichnung Python.run einen Runner, der Python verwendet, um die aktuelle Datei mit allen Argumenten auszuführen, die angegeben wurden. Wenn beispielsweise die aktuelle Datei hello.py und die Argumente 5 und 9 angegeben wurden, lautet der entsprechende Befehl python hello.py 5 9.

{ "cmd": [ "python", "$file_name", "$args" ], "info": "Running $file_name...", "selector": "source.py" }

Schließlich definiert die folgende Runner-Datei mit dem Namen Print Run Variables.run einen Runner, der einfach den Wert jeder verfügbaren Variable ausgibt und dann stoppt.

{ "info": "file_path = $file_path, file = $file, args = $args, file_name = $file_name, file_extension = $file_extension, file_base_name = $file_base_name, packages = $packages, project = $project, project_path = $project_path, project_name = $project_name, project_extension = $project_extension, project_base_name = $project_base_name, hostname = $hostname, hostname_path = $hostname_path, url = $url, port = $port, ip = $ip" }