Passo 5: Criar tarefa para executar programas
Normalmente, depois que você compila o programa você pode ir para o Prompt do Windows e simplesmente digitar o nome do programa na linha de comando para que ele seja executado.
Mas o VSCode também nos permite configurar uma tarefa especificamente para executar o programa que estamos editando, e isso agiliza muito o processo de programação, principalmente quando estamos fazendo testes unitários.
5.1. Crie a tarefa de execução
No menu Explorer do VSCode, procure pelo diretório .vscode, embaixo do workspace que criamos e clique no arquivo tasks.json:
As duas tarefas de compilação que criamos no passo anterior estão lá. Agora vamos criar uma terceira tarefa, especificamente para executar o programa compilado.
Posicione o cursor depois da última chave } que aparece na linha 45 da imagem acima. Insira uma vírgula depois dessa chave e copie o conteúdo abaixo da linha 46 em diante:
{ "label": "gnucobol (run)", "type": "shell", "command": "${fileBasenameNoExtension}", "detail": "tsc -p ./", "problemMatcher": [], "group": { "kind": "test", "isDefault": true } }
O arquivo deve ficar igual ao que aparece na imagem anterior.
Com isso estamos criando uma tarefa que se chama “gnucobol (run)”, que tambem é do tipo “shell”, e que quando executada vai enviar para a linha de comando o conteúdo da variável “${fileBasenameNoExtension).exe”, ou seja, o nome do programa que está sendo editado seguido da extensão “.exe”.
Como os programas executáveis serão gerados no diretório C:\Users\{seuNome}\cobolws\exe, e num passo anterior nós colocamos esse diretório na variável de ambiente PATH, o Windows conseguirá encontrá-lo.
A tarefa é do tipo “test” e o parâmetro “isDefault” está marcado como “true” porque essa é a tarefa que queremos executar sempre que precisarmos testar nossos programas.
Salve e feche o arquivo tasks.json.
5.2. Atribua uma combinação de teclas para chamar a tarefa de execução
Qualquer tarefa do VSCode – tanto as que a ferramenta já tem como as que criamos – pode ser chamada através da opção Run Task do menu Terminal…
O VSCode abre uma lista com todas as tarefas disponíveis. Você só precisa procurar a que quer e clicar em cima dela para executá-la:
Mas existe uma forma de otimizar isso, atribuindo uma sequência de teclas para chamar a tarefa que queremos.
Clique no botão de configurações. Ele é o último botão que aparece no canto inferior esquerdo da tela. Selecione a opção “Keyboard Shortcuts”:
O VSCode abrirá uma tela mostrando todos os atalhos disponíveis:
Nossa tarefa não aparecerá aqui, pois ela não é um comando nativo do VSCode nem um comando de extensão. Por isso teremos que editar o arquivo keybinds.json e inseri-la manualmente.
No canto superior direito dessa tela existem dois ícones. Se você posicionar o cursor sobre o primeiro, aparecerá a dica “Keyboard Shortcuts (JSON)”. Clique nesse ícone. O VSCode abrirá um arquivo chamado keybinds.json igual a esse:
Copie o conteúdo abaixo e substitua todas as linhas do arquivo por ele:
// Place your key bindings in this file to override the defaults [{ "key": "ctrl+alt+r", "command": "workbench.action.tasks.runTask", "args": "gnucobol (run)", "when": "editorFocus" }]
O arquivo deve ficar assim…
Estamos dizendo ao VSCode que quando pressionarmos as teclas control+ alt+r o programa que estiver aberto para edição (“editorFocus”) deve ser executado pela tarefa que criamos, “gnucobol (run)”.
Por que “control+ alt+r“? Porque se você observar quase todas as outras combinações já estão associadas a algum comando ou a alguma tarefa. Se você usar uma combinação de teclas que funciona no mesmo contexto de “editorFocus”, provavelmente o comando previamente associado a essa combinação é que será executado, e não a sua tarefa.
Salve e feche o arquivo keybinds.json.
5.3. Próximo passo
O ambiente está pronto. O que vamos fazer agora é testar a compilação e a execução.