Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Para informar ao Visual Studio como criar seu código-fonte em um projeto Open Folder, adicione um arquivo tasks.vs.json . Você pode definir qualquer tarefa arbitrária aqui e, em seguida, invocá-la no menu de contexto do Gerenciador de Soluções . Os projetos CMake não usam esse arquivo porque todos os comandos de compilação são especificados em CMakeLists.txt. Para sistemas de compilação diferentes do CMake, tasks.vs.json é onde você pode especificar comandos de compilação e invocar scripts de construção. Para obter informações gerais sobre como usar tasks.vs.json, consulte Personalizar tarefas de compilação e de debugging para o desenvolvimento de "Abrir pasta".
Uma tarefa tem uma type propriedade que pode ter um dos quatro valores: default, launch, remote, ou msbuild. A maioria das tarefas deve ser usada launch , a menos que uma conexão remota seja necessária.
Propriedades padrão
As propriedades padrão estão disponíveis em todos os tipos de tarefas:
| Propriedade | Tipo | Descrição |
|---|---|---|
taskLabel |
corda | (Obrigatório.) Especifica o rótulo da tarefa usada na interface do usuário. |
appliesTo |
corda | (Obrigatório.) Especifica em quais arquivos o comando pode ser executado. O uso de curingas é suportado, por exemplo: "", ".cpp", "/*.txt" |
contextType |
corda | Valores permitidos: "personalizado", "construir", "limpar", "reconstruir". Determina onde no menu de contexto a tarefa aparecerá. Predefinido para "personalizado". |
output |
corda | Especifica uma tag de saída para sua tarefa. |
inheritEnvironments |
conjunto | Especifica um conjunto de variáveis de ambiente herdadas de várias fontes. Você pode definir variáveis em arquivos como CMakeSettings.json ou CppProperties.json e disponibilizá-las para o contexto da tarefa.
Visual Studio 16.4:: Especifique variáveis de ambiente por tarefa usando a env.VARIABLE_NAME sintaxe. Para desdefinir uma variável, defina-a como "null". |
passEnvVars |
Booleano | Especifica se devem ou não ser incluídas variáveis de ambiente adicionais ao contexto da tarefa. Essas variáveis são diferentes daquelas definidas usando a envVars propriedade. O padrão é "true". |
Abrir propriedades
Quando o tipo de tarefa é launch, estas propriedades estão disponíveis:
| Propriedade | Tipo | Descrição |
|---|---|---|
command |
corda | Especifica o caminho completo do processo ou script a ser iniciado. |
args |
conjunto | Especifica uma lista separada por vírgulas de argumentos passados para o comando. |
launchOption |
corda | Valores permitidos: "None", "ContinueOnError","IgnoreError". Especifica como prosseguir com o comando quando houver erros. |
workingDirectory |
corda | Especifica o diretório no qual o comando será executado. O valor predefinido é o diretório de trabalho atual do projeto. |
customLaunchCommand |
corda | Especifica uma personalização de escopo global a ser aplicada antes de executar o comando. Útil para definir variáveis de ambiente como %PATH%. |
customLaunchCommandArgs |
corda | Especifica argumentos para customLaunchCommand. (Requer customLaunchCommand.) |
env |
Especifica uma lista chave-valor de variáveis de ambiente personalizadas. Por exemplo, "myEnv": "myVal" | |
commands |
conjunto | Especifica uma lista de comandos a serem invocados na ordem. |
Exemplo
As tarefas a seguir invocam make.exe quando um makefile é fornecido na pasta e o Mingw64 ambiente foi definido em CppProperties.json, conforme mostrado em CppProperties.json referência de esquema:
{
"version": "0.2.1",
"tasks": [
{
"taskLabel": "gcc make",
"appliesTo": "*.cpp",
"type": "launch",
"contextType": "custom",
"inheritEnvironments": [
"Mingw64"
],
"command": "make"
},
{
"taskLabel": "gcc clean",
"appliesTo": "*.cpp",
"type": "launch",
"contextType": "custom",
"inheritEnvironments": [
"Mingw64"
],
"command": "make",
"args": ["clean"]
}
]
}
Essas tarefas podem ser invocadas no menu de contexto quando você clica com o botão direito do mouse em um arquivo .cpp no Gerenciador de Soluções.
Propriedades remotas
As tarefas remotas são habilitadas quando você instala o desenvolvimento Linux com carga de trabalho C++ e adiciona uma conexão a uma máquina remota usando o Gerenciador de Conexões do Visual Studio. Uma tarefa remota executa comandos em um sistema remoto e também pode copiar arquivos para ele.
Quando o tipo de tarefa é remote, estas propriedades estão disponíveis:
| Propriedade | Tipo | Descrição |
|---|---|---|
remoteMachineName |
corda | O nome da máquina remota. Deve corresponder a um nome de máquina no Connection Manager. |
command |
corda | O comando a ser enviado para a máquina remota. Por padrão, os comandos são executados no diretório $HOME no sistema remoto. |
remoteWorkingDirectory |
corda | O diretório de trabalho atual na máquina remota. |
localCopyDirectory |
corda | O diretório local a ser copiado para a máquina remota. O padrão é o diretório de trabalho atual. |
remoteCopyDirectory |
corda | O diretório na máquina remota em que localCopyDirectory é copiado. |
remoteCopyMethod |
corda | O método a ser usado para copiar. Valores permitidos: "none", "sftp", "rsync". O rsync é recomendado para projetos grandes. |
remoteCopySourcesOutputVerbosity |
corda | Valores permitidos: "Normal","Verbose","Diagnóstico". |
rsyncCommandArgs |
corda | O padrão é "-t --delete". |
remoteCopyExclusionList |
conjunto | Lista de ficheiros separados por vírgulas em localCopyDirectory a excluir das operações de cópia. |
Exemplo
A tarefa a seguir aparecerá no menu de contexto quando você clicar com o botão direito do mouse em main.cpp no Gerenciador de Soluções. Depende de uma máquina remota chamada ubuntu no Connection Manager. A tarefa copia a pasta aberta atual no Visual Studio para o sample diretório na máquina remota e, em seguida, invoca g++ para criar o programa.
{
"version": "0.2.1",
"tasks": [
{
"taskLabel": "Build",
"appliesTo": "main.cpp",
"type": "remote",
"contextType": "build",
"command": "g++ main.cpp",
"remoteMachineName": "ubuntu",
"remoteCopyDirectory": "~/sample",
"remoteCopyMethod": "sftp",
"remoteWorkingDirectory": "~/sample/hello",
"remoteCopySourcesOutputVerbosity": "Verbose"
}
]
}
Propriedades do MSBuild
Quando o tipo de tarefa é msbuild, estas propriedades estão disponíveis:
| Propriedade | Tipo | Descrição |
|---|---|---|
verbosity |
corda | Especifica a verbosidade de saída do processo de compilação do projeto MSBuild. Valores permitidos: "Quiet", "Minimal", "Normal", "Detailed", "Diagnostic". |
toolsVersion |
corda | Especifica a versão do conjunto de ferramentas para criar o projeto, por exemplo "2.0", "3.5", "4.0", "Atual". O padrão é "Atual". |
globalProperties |
objeto | Especifica uma lista de chave-valor das propriedades globais a serem passadas para o projeto, por exemplo, "Configuration":"Release" |
properties |
objeto | Especifica uma lista chave-valor de propriedades adicionais somente do projeto. |
targets |
conjunto | Especifica, na ordem, a lista de destinos a serem invocados no projeto. O destino padrão do projeto é usado se nenhum for especificado. |