# resolver extensões

[Experimental] [Conexão detalhada] Determine as extensões acessíveis. Isso inclui os modelos de machine learning e as extensões de dados.

> [!NOTE]
> Este conteúdo descreve a versão mais recente do CodeQL CLI. Para obter mais informações sobre essa versão, confira https://github.com/github/codeql-cli-binaries/releases.
>
> Para ver os detalhes das opções disponíveis para esse comando em uma versão anterior, execute o comando com a opção <span style="white-space: nowrap;">`--help`</span> no terminal.

## Sinopse

```shell copy
codeql resolve extensions <options>... -- <query|dir|suite|pack>...
```

## Description

              \[Conexão detalhada] Determinar as extensões de dados acessíveis.

Esse comando de conexão resolve o conjunto de extensões de dados que estão disponíveis para os especificadores de consulta transmitidos como argumentos de linha de comando.

## Opções

### Opções principais

#### `<query|dir|suite|pack>...`

              \[Obrigatório] Consultas a serem executadas. Cada argumento está no formato `scope/name@range:path`, sendo que:

* `scope/name` é o nome qualificado de um pacote CodeQL.
* `range` é um intervalo semver.
* `path` é um caminho do sistema de arquivos.

Se um `scope/name` for especificado, o `range` e `path` serão opcionais. Um `range` ausente implica a última versão do pacote especificado. Um `path` ausente implica o pacote de consultas padrão do pacote especificado.

O `path` pode ser: um arquivo de consulta `*.ql`, um diretório que contém uma ou mais consultas ou um arquivo de conjunto de consultas `.qls`. Se não houver nenhum nome de pacote especificado, um `path` precisará ser fornecido e será interpretado em relação ao diretório de trabalho atual do processo atual.

Para especificar um `path` que contenha um literal `@` ou `:`, use `path:` como um prefixo para o argumento, assim: `path:directory/with:and@/chars`.

Se você especificar as opções `scope/name` e `path`, o `path` não poderá ser absoluto. Ele é considerado relativo à raiz do pacote CodeQL.

#### `--search-path=<dir>[:<dir>...]`

Uma lista de diretórios nos quais os pacotes QL podem ser encontrados. Cada diretório pode ser um pacote QL (ou um conjunto de pacotes que contém um arquivo `.codeqlmanifest.json` na raiz) ou o pai imediato de um ou mais desses diretórios.

Se o caminho contiver mais de um diretório, a ordem deles definirá a precedência entre eles: quando for encontrada uma correspondência do nome de um pacote que precisa ser resolvido em mais de uma das árvores do diretório, a primeira fornecida vencerá.

Se você apontar isso para um check-out do repositório do CodeQL de código aberto, isso deverá funcionar durante a consulta de uma das linguagens que se encontram nele.

Se você tiver feito check-out do repositório do CodeQL como um irmão da cadeia de ferramentas CodeQL descompactada, não precisará fornecer essa opção. Nesses diretórios irmãos, sempre será feita a pesquisa por pacotes QL que não podem ser encontrados de outra forma. (Caso esse padrão não funcione, recomendamos fortemente configurar `--search-path` de uma vez por todas em um arquivo de configuração por usuário).

(Observação: no Windows, o separador de caminho é `;`).

#### `--additional-packs=<dir>[:<dir>...]`

Se essa lista de diretórios for fornecida, nesses diretórios, será feita a pesquisa de pacotes antes daqueles contidos em `--search-path`. A ordem entre eles não importa: será indicado um erro se o nome de um pacote for encontrado em dois locais diferentes nessa lista.

Isso será útil se você estiver desenvolvendo temporariamente uma nova versão de um pacote que também aparece no caminho padrão. Por outro lado, _não recomendamos_ substituir essa opção em um arquivo de configuração. Algumas ações internas adicionarão essa opção em tempo real, substituindo qualquer valor configurado.

(Observação: no Windows, o separador de caminho é `;`).

#### 
              `--model-packs=<`
              <name@range>>...

Uma lista de nomes de pacotes CodeQL, cada um com um intervalo de versões opcional, a serem usados como pacotes de modelo para personalizar as consultas que estão prestes a ser avaliadas.

#### `--threat-model=<name>...`

Uma lista de modelos de risco a serem habilitados ou desabilitados.

O argumento é o nome de um modelo de risco, opcionalmente precedido por um '!'. Se nenhum '!' estiver presente, o modelo de risco nomeado e todos os seus descendentes serão habilitados. Se houver um '!' presente, o modelo de risco nomeado e todos os seus descendentes serão desabilitados.

O modelo de risco 'padrão' é habilitado por padrão, mas pode ser desabilitado especificando-se '--threat-model !default'.

O modelo de risco "all" pode ser usado para habilitar ou desabilitar todos os modelos de ameaça.

As opções --threat model são processadas em ordem. Por exemplo, '--threat-model local --threat-model !environment' habilita todos os modelos de risco no grupo 'local', exceto o modelo de risco 'environment'.

Essa opção só tem efeito para idiomas que oferecem suporte a modelos de risco.

Disponível desde `v2.15.3`.

### Opções para configurar o gerenciador de pacotes CodeQL

#### `--registries-auth-stdin`

Autentique-se nos registros de contêiner do GitHub Enterprise Server transmitindo uma lista separada por vírgula de pares \<registry\_url>=\<token>.

Por exemplo, você pode transmitir `https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2`
para se autenticar em duas instâncias do GitHub Enterprise Server.

Isso substitui as variáveis de ambiente CODEQL\_REGISTRIES\_AUTH e GITHUB\_TOKEN. Se você só precisar se autenticar no registro de contêiner do github.com, poderá se autenticar usando a opção `--github-auth-stdin` mais simples.

#### `--github-auth-stdin`

Autentique-se no registro de contêiner do github.com transmitindo um token do GitHub Apps do github.com ou um token de acesso pessoal por meio da entrada padrão.

Para se autenticar nos registros de contêiner do GitHub Enterprise Server, transmita `--registries-auth-stdin` ou use a variável de ambiente CODEQL\_REGISTRIES\_AUTH.

Isso substitui a variável de ambiente GITHUB\_TOKEN.

### Opções comuns

#### `-h, --help`

Mostre este texto de ajuda.

#### `-J=<opt>`

              \[Avançado] Dê opções à JVM que executa o comando.

(Use-a com cautela, pois as opções que contêm espaços não serão tratadas corretamente.)

#### `-v, --verbose`

Aumente incrementalmente o número de mensagens de progresso impressas.

#### `-q, --quiet`

Diminua incrementalmente o número de mensagens de progresso impressas.

#### `--verbosity=<level>`

              \[Avançado] Defina explicitamente o nível de detalhamento para um dos seguintes: erros, avisos, progresso, progresso+, progresso++, progresso+++. Substitui `-v` e `-q`.

#### `--logdir=<dir>`

              \[Avançado] Grava registros detalhados em um ou mais arquivos no diretório especificado, com nomes gerados que incluem carimbos de data/hora e o nome do subcomando em execução.

(Para gravar um arquivo de log com um nome sobre o qual você tem controle completo, forneça `--log-to-stderr` e redirecione stderr conforme desejado.)

#### `--common-caches=<dir>`

              \[Avançado] Controla a localização dos dados em cache no disco que persistirão entre várias execuções da CLI, como pacotes QL baixados e planos de consulta compilados. Se não for definido explicitamente, o padrão corresponde a um diretório intitulado `.codeql` no diretório inicial do usuário; que será criado se ainda não existir.

Disponível desde `v2.15.2`.