Configure seu ambiente Bicep
O Bicep suporta um arquivo de configuração opcional chamado bicepconfig.json
. Dentro desse arquivo, você pode adicionar valores que personalizam sua experiência de desenvolvimento do Bicep. Esse arquivo é mesclado com o arquivo de configuração padrão. Para obter mais informações, consulte Compreender o processo de mesclagem. Para personalizar a configuração, crie um arquivo de configuração no mesmo diretório ou um diretório pai dos arquivos do Bicep. Se houver vários diretórios pai contendo bicepconfig.json
arquivos, o Bicep usará a configuração do diretório mais próximo. Para obter mais informações, consulte Compreender o processo de resolução de arquivos.
Para definir as configurações da extensão Bicep, consulte VS Code e Bicep extension.
Criar o arquivo de configuração no Visual Studio Code
Você pode usar qualquer editor de texto para criar o arquivo de configuração.
Para criar um bicepconfig.json
arquivo no Visual Studio Code, abra a Paleta de Comandos ([CTRL/CMD]+[SHIFT]+P) e selecione Bicep: Criar Arquivo de Configuração do Bicep. Para obter mais informações, consulte Criar arquivo de configuração do Bicep.
A extensão Bicep para Visual Studio Code suporta intellisense para seu bicepconfig.json
arquivo. Use o intellisense para descobrir propriedades e valores disponíveis.
Compreender o processo de fusão
O bicepconfig.json
arquivo passa por um processo de mesclagem recursivo de baixo para cima com o arquivo de configuração padrão. Durante o processo de fusão, o Bicep examina cada caminho em ambas as configurações. Se um caminho não estiver presente na configuração padrão, o caminho e seu valor associado serão adicionados no resultado final. Por outro lado, se existir um caminho na configuração padrão com um valor diferente, o valor de bicepconfig.json
terá precedência no resultado mesclado.
Considere um cenário em que a configuração padrão é definida da seguinte maneira:
{
"cloud": {
...
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
}
}
},
...
}
E o é definido da bicepconfig.json
seguinte forma:
{
"cloud": {
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
}
}
A configuração mesclada resultante seria:
{
"cloud": {
...
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
},
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
},
...
}
No exemplo anterior, o valor de cloud.credentialPrecedence
é substituído, enquanto o valor de e cloud.moduleAliases.CoreModules
são acrescentados cloud.moduleAliases.ContosoRegistry
na configuração mesclada.
Compreender o processo de resolução de ficheiros
O bicepconfig.json
arquivo pode ser colocado no mesmo diretório ou em um diretório pai de seus arquivos Bicep. Se houver vários diretórios pai contendo bicepconfig.json
arquivos, o Bicep usará o arquivo de configuração do diretório mais próximo. Por exemplo, na estrutura de pastas dada, onde cada pasta tem um bicepconfig.json
arquivo:
Se você compilar main.bicep
child
na pasta, o bicepconfig.json
arquivo na child
pasta será usado. Os arquivos de configuração na parent
pasta e na root
pasta são ignorados. Se a pasta não contiver um arquivo de configuração, o child
Bicep procurará uma configuração na parent
pasta e, em seguida, na root
pasta. Se nenhum arquivo de configuração for encontrado em qualquer uma das pastas, o Bicep usará como padrão os valores padrão.
No contexto de um arquivo Bicep invocando vários módulos, cada módulo passa por compilação usando o arquivo bicepconfig.json
. Em seguida, o arquivo Bicep principal é compilado com seu correspondente bicepconfig.json
. No cenário a seguir, modA.bicep
é compilado usando o bicepconfig.json
localizado na A
pasta, modB.bicep
é compilado com o na B
pasta e, finalmente, main.bicep
é compilado bicepconfig.json
usando o bicepconfig.json
na root
pasta.
Na ausência de um bicepconfig.json
arquivo nas A
pastas e B
, todos os três arquivos Bicep são compilados usando o bicepconfig.json
encontrado na root
pasta. Se bicepconfig.json
não estiver presente em nenhuma das pastas, o processo de compilação assume como padrão o uso dos valores padrão.
Configurar módulos Bicep
Ao trabalhar com módulos, você pode adicionar aliases para caminhos de módulo. Esses aliases simplificam seu arquivo Bicep porque você não precisa repetir caminhos complicados. Você também pode configurar o perfil de nuvem e a precedência de credenciais para autenticação no Azure a partir da CLI do Bicep e do Visual Studio Code. As credenciais são usadas para publicar módulos em registros e restaurar módulos externos para o cache local ao usar a função inserir recurso. Para obter mais informações, consulte Adicionar configurações de módulo à configuração do Bicep.
Configurar regras do Linter
O linter do Bicep verifica os arquivos do Bicep em busca de erros de sintaxe e violações de práticas recomendadas. Você pode substituir as configurações padrão para a validação do arquivo Bicep modificando bicepconfig.json
o . Para obter mais informações, consulte Adicionar configurações de linter à configuração do Bicep.
Ativar funcionalidades experimentais
Você pode habilitar recursos experimentais adicionando a seção a seguir ao seu bicepconfig.json
arquivo. O uso de recursos experimentais habilita automaticamente a geração de código da versão 2.0 do idioma.
Aqui está um exemplo de ativação dos recursos 'assertions' e 'testFramework'.
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
Para obter informações sobre o conjunto atual de recursos experimentais, consulte Recursos experimentais.