O AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. Saiba mais
Definir um compilador ou executor
Este tópico mostra como você pode definir um compilador ou executor. Antes de definir um compilador ou executor, você deve criar um compilador ou executor.
Na guia do compilador ou executor exibida, use o JSON para definir o executor ou compilador. Comece com o seguinte código como um modelo.
Para um compilador, comece com esse código.
{ "cmd": [], "info": "", "env": {}, "selector": "" }
Para um executor, comece com esse código.
{ "cmd": [], "script": "", "working_dir": "", "info": "", "env": {}, "selector": "", "debugger": "", "debugport": "" }
No código anterior:
-
cmd
: representa uma lista de strings separadas por vírgulas para que o AWS Cloud9 execute como um único comando.Quando o AWS Cloud9 executa esse comando, cada string na lista será separada por um único espaço. Por exemplo, o AWS Cloud9 executará
"cmd": [ "ls", "$file", "$args"]
comols $file $args
, onde o AWS Cloud9 substituirá$file
pelo caminho completo para o arquivo atual e$args
pelos argumentos inseridos após o nome do arquivo. Para obter mais informações, consulte a lista de variáveis compatíveis posteriormente nesta seção. -
script
: representa um script bash (que também pode ser especificado como uma matriz de linhas conforme necessário para legibilidade) executado pelo executor no terminal. -
working_dir
: representa o diretório onde o executor será executado. -
info
: representa qualquer string de texto que deseje exibir ao usuário no início da execução. Essa string pode conter variáveis, por exemploRunning $project_path$file_name...
, onde o AWS Cloud9 substituirá$project_path
pelo caminho do diretório do arquivo atual e$file_name
pela parte do nome do arquivo atual. Consulte a lista de variáveis compatíveis posteriormente nesta seção. -
env
: representa qualquer conjunto de argumentos da linha de comando para uso do AWS Cloud9, por exemplo:"env": { "LANG": "en_US.UTF-8", "SHLVL": "1" }
-
selector
: representa qualquer expressão regular que deseje que o AWS Cloud9 use para identificar os nomes de arquivos que se aplicam a esse executor. Por exemplo, especifiquesource.py
para arquivos Python. -
debugger
: representa o nome de qualquer depurador disponível que deseja que o AWS Cloud9 use e que é compatível com esse executor. Por exemplo, especifiquev8
para o depurador V8. -
debugport
: representa o número da porta que deseja que o AWS Cloud9 use durante a depuração. Por exemplo, especifique15454
para o número da porta a ser usada.
A tabela a seguir mostra as variáveis que podem ser utilizadas.
Variável | Descrição |
---|---|
|
O diretório do arquivo atual, por exemplo, |
|
O caminho completo para o arquivo atual, por exemplo, |
|
Todos os argumentos inseridos após o nome do arquivo, por exemplo, |
|
A parte do nome do arquivo atual, por exemplo, |
|
A extensão do arquivo atual, por exemplo, |
|
O nome do arquivo atual sem a extensão de arquivo, por exemplo, |
|
O caminho completo para a pasta de pacotes. |
|
O caminho completo para a pasta do projeto atual. |
|
O diretório do arquivo de projeto atual, por exemplo, |
|
O nome do arquivo de projeto atual sem a extensão de arquivo, por exemplo, |
|
A extensão do arquivo de projeto atual. |
|
O nome do arquivo de projeto atual sem a extensão. |
|
O nome de host do ambiente, por exemplo, |
|
O nome de host do ambiente com o caminho relativo para o arquivo de projeto, por exemplo, |
|
O URL completo para acessar o ambiente, por exemplo, |
|
A porta atribuída ao ambiente, por exemplo, |
|
Os endereços IP para executar um processo no ambiente, por exemplo, |
Como exemplo, o arquivo de compilador chamado G++.build
define um compilador para GCC que executa o comando g++
com a opção -o
para compilar o arquivo atual (por exemplo, hello.cpp
) em um módulo de objeto. Em seguida, ele vincula o módulo de objeto em um programa com o mesmo nome que o arquivo atual (por exemplo, hello
). Aqui o comando equivalente é 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 outro exemplo, o arquivo de executor a seguir chamado Python.run
define um executor que usa Python para executar o arquivo atual com todos os argumentos fornecidos. Por exemplo, se o arquivo atual se chama hello.py
e os argumentos 5
e 9
foram fornecidos, o comando equivalente é python hello.py 5 9
.
{ "cmd": [ "python", "$file_name", "$args" ], "info": "Running $file_name...", "selector": "source.py" }
Finalmente, o arquivo de executor a seguir chamado Print Run Variables.run
define um executor simplesmente gera o valor de cada variável disponível e, em seguida, é encerrado.
{ "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" }