Skip to content

Tarefas

As tarefas de terminal no Visual Studio Code, também conhecidas como "tasks", são uma maneira poderosa de automatizar comandos recorrentes e simplificar seu fluxo de trabalho de desenvolvimento. Isso pode ser particularmente útil, permitindo automatizar a compilação de código, a execução de testes ou qualquer outro comando que você utilize frequentemente.

Configurando uma Tarefa de Terminal no Visual Studio Code

  1. Arquivo de Configuração: As tarefas são definidas em um arquivo chamado tasks.json dentro da pasta .vscode do seu projeto. Caso a pasta ou o arquivo não existam, o VS Code pode gerá-los para você.

  2. Criando uma Tarefa: Para criar uma tarefa, vá para o menu "Terminal" e selecione "Configurar Tarefas...". Então, escolha "Criar arquivo tasks.json do modelo" e selecione um template que se aproxime do que você precisa.

  3. Personalização da Tarefa:

    • Label: Um nome para a sua tarefa, que será utilizado para identificá-la no VS Code.
    • Type: O tipo de executor da tarefa, como shell para comandos de shell.
    • Command: O comando específico que você deseja executar.
    • Args: Argumentos adicionais para o comando.
    • Group: Agrupa tarefas em 'build', 'test', ou outros grupos personalizados para acesso rápido.

Exemplo de Tarefa de Terminal

Está é uma tarefa para copiar um modelo de componente que definimos anteriormente. Seu tasks.json pode parecer algo assim:

json
{
  "version": "2.0.0",
  "inputs": [
    {
      "id": "componentName",
      "type": "promptString",
      "description": "Insira o nome do componente:"
    },
    {
      "id": "componentPath",
      "type": "promptString",
      "description": "Insira o caminho de destino do componente:"
    }
  ],
  "tasks": [
    {
      "label": "Criar componente",
      "type": "shell",
      "command": "node",
      "args": [
        "${workspaceFolder}/tasks/copiarComponente.js",
        "${input:componentName}",
        "${input:componentPath}"
      ],
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "panel": "new"
      }
    }
  ]
}

Inputs

Os Inputs são uma funcionalidade que permite parametrizar as tarefas com informações dinâmicas. Essa capacidade é extremamente útil quando você precisa que a execução de uma tarefa dependa de valores que podem mudar de acordo com o contexto, como diferentes ambientes de desenvolvimento, nomes de arquivos específicos ou configurações personalizadas.

Como Funcionam os Inputs em Tarefas no VS Code

Os Inputs são definidos no arquivo tasks.json e podem ser referenciados nas tarefas por meio de variáveis. Existem três tipos principais de inputs:

  1. PromptString: Solicita ao usuário que insira um texto livre.
  2. PickString: Permite que o usuário escolha uma opção de uma lista predefinida.
  3. Command: Executa um comando e usa o resultado como entrada.

Configurando Inputs

Vamos detalhar como você pode configurar cada tipo de input no seu tasks.json.

1. PromptString

Este input pede ao usuário para fornecer uma string. É útil quando você precisa de um valor textual genérico, como um nome de arquivo ou um parâmetro específico.

json
{
  "version": "2.0.0",
  "inputs": [
    {
      "id": "nomeArquivo",
      "type": "promptString",
      "description": "Digite o nome do arquivo:"
    }
  ],
  "tasks": [
    {
      "label": "Processar Arquivo",
      "type": "shell",
      "command": "node",
      "args": ["${input:nomeArquivo}"]
    }
  ]
}

2. PickString

Este input oferece uma lista de opções das quais o usuário pode escolher. Isso é ideal para selecionar configurações de ambiente, versões de frameworks ou qualquer outro conjunto limitado de opções.

json
{
  "inputs": [
    {
      "id": "environment",
      "type": "pickString",
      "description": "Selecione o ambiente:",
      "options": ["desenvolvimento", "produção"],
      "default": "desenvolvimento"
    }
  ],
  "tasks": [
    {
      "label": "Deploy",
      "type": "shell",
      "command": "npm",
      "args": ["run", "deploy:${input:environment}"]
    }
  ]
}

3. Command

Este input executa um comando e usa o resultado como entrada. Isso pode ser útil para coletar informações de um script ou ferramenta de linha de comando antes de executar uma tarefa.

json
{
  "inputs": [
    {
      "id": "gitBranch",
      "type": "command",
      "command": "git rev-parse --abbrev-ref HEAD"
    }
  ],
  "tasks": [
    {
      "label": "Git Push",
      "type": "shell",
      "command": "git",
      "args": ["push", "origin", "${input:gitBranch}"]
    }
  ]
}

Utilização Prática dos Inputs

Usando os inputs, você pode facilmente adaptar suas tarefas para se ajustarem a diferentes situações sem alterar o arquivo de configuração manualmente. Por exemplo, ao fazer um deploy, você pode escolher o ambiente de destino diretamente através de uma interação simples, ou você pode automatizar tarefas com base no branch atual do Git em que você está trabalhando.

Esses inputs tornam as tarefas de terminal no VS Code ainda mais poderosas e flexíveis, permitindo que você personalize seu ambiente de desenvolvimento de maneira eficaz e eficiente, adaptando-se perfeitamente ao seu fluxo de trabalho.

Executando a Tarefa

Para executar uma tarefa configurada, você pode abrir a paleta de comandos com Ctrl+Shift+P, digitar "Run Task", e então selecionar a tarefa que deseja executar. Também é possível configurar atalhos de teclado para tarefas específicas, o que pode acelerar ainda mais seu trabalho.