AWS Cloud9 ya no está disponible para los nuevos clientes. Los clientes existentes de AWS Cloud9 pueden seguir utilizando el servicio con normalidad. Más información
Definir un compilador o ejecutor
En este tema se muestra cómo definir un compilador o un ejecutor. Antes de definir un compilador o un ejecutor, asegúrese de haber creado un compilador o un ejecutor.
En la pestaña del compilador o ejecutor que se muestra, utilice JSON para definir el ejecutor o compilador. Comience con el siguiente código como plantilla.
Para un compilador, comience con este código.
{ "cmd": [], "info": "", "env": {}, "selector": "" }
Para un ejecutor, comience con este código.
{ "cmd": [], "script": "", "working_dir": "", "info": "", "env": {}, "selector": "", "debugger": "", "debugport": "" }
En el código anterior:
-
cmd
: representa una lista separada por comas de cadenas para AWS Cloud9 que se ejecutan como un único comando.Cuando AWS Cloud9 ejecuta este comando, cada cadena de la lista se separará por un solo espacio. Por ejemplo, AWS Cloud9 ejecutará
"cmd": [ "ls", "$file", "$args"]
comols $file $args
, donde AWS Cloud9 reemplazará a$file
por la ruta completa del archivo actual y$args
por cualquier argumento introducido después del nombre de archivo. Para obtener más información, consulte la lista de variables admitidas más adelante en esta sección. -
script
: representa un script bash (que también puede especificarse como una matriz de líneas si es necesario para facilitar la lectura) que ejecuta el ejecutor en el terminal. -
working_dir
: representa el directorio desde el que se ejecutará el ejecutor. -
info
: representa cualquier cadena de texto que desee mostrar al usuario al principio de la ejecución. Esta cadena puede contener variables, por ejemploRunning $project_path$file_name...
, donde AWS Cloud9 reemplazará$project_path
por la ruta del directorio del archivo actual y$file_name
por la parte del nombre del archivo actual. Consulte la lista de variables admitidas más adelante en esta sección. -
env
: representa cualquier matriz de argumentos de línea de comandos que utiliza AWS Cloud9, por ejemplo:"env": { "LANG": "en_US.UTF-8", "SHLVL": "1" }
-
selector
: representa cualquier expresión regular que desea que use AWS Cloud9 para identificar los nombres de archivo que se aplican a este ejecutor. Por ejemplo, puede especificarsource.py
para los archivos de Python. -
debugger
: representa el nombre de cualquier depurador disponible que desea que utilice AWS Cloud9 que sea compatible con este ejecutor. Por ejemplo, podría especificarv8
para el depurador de V8. -
debugport
: representa el número de puerto que desea que utilice AWS Cloud9 durante la depuración. Por ejemplo, podría especificar15454
para el número de puerto que se va a utilizar.
En la siguiente tabla, se muestran las variables que se pueden utilizar.
Variable | Descripción |
---|---|
|
El directorio del archivo actual, por ejemplo, |
|
La ruta completa al archivo actual, por ejemplo, |
|
Cualquier argumento introducido después el nombre de archivo, por ejemplo, |
|
La parte del nombre del archivo actual, por ejemplo, |
|
La extensión del archivo actual, por ejemplo, |
|
El nombre del archivo actual sin la extensión de archivo, por ejemplo, |
|
La ruta completa a la carpeta de los paquetes. |
|
La ruta completa a la carpeta del proyecto actual. |
|
El directorio del archivo del proyecto actual, por ejemplo, |
|
El nombre del archivo del proyecto actual sin la extensión de archivo, por ejemplo, |
|
La extensión del archivo del proyecto actual. |
|
El nombre del archivo del proyecto actual sin la extensión. |
|
El nombre de anfitrión del entorno, como, por ejemplo, |
|
El nombre de anfitrión del entorno con la ruta relativa al archivo del proyecto, como, por ejemplo, |
|
La URL completa para acceder al entorno, como, por ejemplo, |
|
El puerto asignado al entorno, como, por ejemplo, |
|
La dirección IP para ejecutar un proceso en el entorno, como, por ejemplo, |
Por ejemplo, el siguiente archivo del compilador denominado G++.build
define un compilador de GCC que ejecuta el comando g++
con la opción -o
para compilar el archivo actual (por ejemplo, hello.cpp
) en un módulo de objetos. A continuación, vincula el módulo de objetos a un programa con el mismo nombre que el archivo actual (por ejemplo, hello
). Aquí, el comando equivalente es 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" }
Como otro ejemplo, el siguiente archivo del ejecutor denominado Python.run
define un ejecutor que utiliza Python para ejecutar el archivo actual con los argumentos que se han proporcionado. Por ejemplo, si el nombre del archivo actual es hello.py
y se han proporcionado los argumentos 5
y 9
, el comando equivalente es python hello.py 5 9
.
{ "cmd": [ "python", "$file_name", "$args" ], "info": "Running $file_name...", "selector": "source.py" }
Por último, el siguiente archivo del ejecutor denominado Print Run Variables.run
define un ejecutor que simplemente genera el valor de cada variable disponible y, a continuación, se detiene.
{ "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" }