定義建置器或執行器 - AWS Cloud9

AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可以繼續正常使用服務。進一步了解

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

定義建置器或執行器

本主題說明如何定義建置器或執行器。在定義建置器或執行器之前,請確定您已建立建置器或執行器。

在顯示的建置器或執行器索引標籤上,使用 JSON定義執行器或建置器。開始使用下列程式碼做為範本。

針對建置器,請使用此程式碼。

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

針對執行器,請使用此程式碼。

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

在上述程式碼中:

  • cmd:代表以逗號分隔的字串清單 AWS Cloud9 ,讓 以單一命令方式執行。

    AWS Cloud9 執行此命令時,清單中的每個字串都會以單一空格分隔。例如, AWS Cloud9 會以 "cmd": [ "ls", "$file", "$args"] 執行ls $file $args,其中 AWS Cloud9 會$file取代為目前檔案的完整路徑,並在檔案名稱後輸入$args任何引數。如需詳細資訊,請參閱本節後文所述之支援的變數清單。

  • script:代表終端機中執行器執行的 bash 指令碼 (如需可讀性,也可以指定為行陣列)。

  • working_dir:代表執行器將在其中執行的目錄。

  • info:代表您希望在執行開始時向使用者顯示的任何文字字串。此字串可包含變數,例如 Running $project_path$file_name...,其中 AWS Cloud9 將取代$project_path為目前檔案的目錄路徑,並$file_name取代為目前檔案的名稱部分。請參閱本節後文所述之支援的變數清單。

  • env:表示 AWS Cloud9 要使用的任何命令列引數陣列,例如:

    "env": { "LANG": "en_US.UTF-8", "SHLVL": "1" }
  • selector:表示 AWS Cloud9 您要用來識別套用至此執行器之檔案名稱的任何規則運算式。例如,您可以指定 source.py 用於 Python 檔案。

  • debugger:表示 AWS Cloud9 您要使用此執行器相容之任何可用偵錯器的名稱。例如,您可以指定 v8 用於 V8 除錯器。

  • debugport:表示 AWS Cloud9 您要在偵錯期間使用的連接埠號碼。例如,您可以指定 15454 用於連接埠號碼。

下列資料表顯示您可以使用的變數。

變數 Description

$file_path

目前檔案的目錄,例如 /home/ec2-user/environment/home/ubuntu/environment

$file

目前檔案的完整路徑,例如 /home/ec2-user/environment/hello.py/home/ubuntu/environment/hello.py

$args

在檔案名稱後輸入的任何引數,例如 "5" "9"

$file_name

目前檔案的名稱部分,例如 hello.py

$file_extension

目前檔案的副檔名,例如 py

$file_base_name

不含檔案副檔名的目前檔案名稱,例如 hello

$packages

套件資料夾的完整路徑。

$project

目前專案資料夾的完整路徑。

$project_path

目前專案檔案的目錄,例如 /home/ec2-user/environment//home/ubuntu/environment/

$project_name

不含檔案副檔名的目前專案檔案名稱,例如 my-demo-environment

$project_extension

目前專案檔案的副檔名。

$project_base_name

不含副檔名的目前專案檔案名稱。

$hostname

環境的主機名稱,例如 192.0.2.0

$hostname_path

含專案檔案相關路徑的環境主機名稱,例如 https://192.0.2.0/hello.js

$url

URL 存取環境的完整 ,例如 https://192.0.2.0.

$port

指派給環境的連接埠,例如 8080

$ip

對環境執行程序的 IP 地址,例如 0.0.0.0

例如,下列名為 的建置器檔案會G++.build定義 的建置器GCC,該建置器會使用 -o選項執行 g++命令,以將目前檔案 (例如,hello.cpp) 編譯至物件模組。然後會將物件模組以與目前檔案相同的名稱 (例如 hello) 連結至程式。在此處,相同的命令為 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" }

再舉另一個例子,下列名為 Python.run 的執行器檔案會定義一個執行器,該執行器會使用所提供的任何引數來使用 Python 執行目前檔案。例如,如果目前檔案名為 hello.py,且己提供 59 引數,則相同的命令為 python hello.py 5 9

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

最後,下列名為 Print Run Variables.run 的執行器檔案會定義一個執行器,該執行器在輸出每個可用變數的值之後即停止。

{ "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" }