1
0
mirror of synced 2025-12-20 02:19:14 -05:00
Files
docs/content/code-security/codeql-cli/using-the-codeql-cli/specifying-command-options-in-a-codeql-configuration-file.md

77 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Specifying command options in a CodeQL configuration file
intro: 'You can save default command options in a {% data variables.product.prodname_codeql %} configuration file.'
product: '{% data reusables.gated-features.codeql %}'
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
topics:
- Advanced Security
- Code scanning
- CodeQL
redirect_from:
- /code-security/codeql-cli/specifying-command-options-in-a-codeql-configuration-file
---
{% data reusables.codeql-cli.codeql-site-migration-note %}
## About specifying command options in a {% data variables.product.prodname_codeql %} configuration file
You can save default or frequently used options for your commands in a per-user configuration file.
You can specify {% data variables.product.prodname_codeql_cli %} command options in two ways:
- Directly in the command line, using the appropriate flag.
- In a configuration (or `config`) file that {% data variables.product.prodname_codeql %} scans for relevant options each time a command is executed.
For options that are likely to change each time you execute a command, specifying the value on the command line is the most convenient way of passing the information to {% data variables.product.prodname_codeql %}. Saving options in a `config` file is a good way to specify options you use frequently. Its also a good way to add custom {% data variables.product.prodname_codeql %} packs that you use regularly to your search path.
## Using a {% data variables.product.prodname_codeql %} configuration file
You need to save the `config` file under your home (Linux and macOS) or user profile (Windows) directory in the `.config/codeql/` subdirectory. For example, `$HOME/.config/codeql/config`.
The syntax for specifying options is as follows:
```
<command> <subcommand> <option> <value>
```
To apply the same options to more than one command you can:
- Omit the `<subcommand>`, which will specify the option for every `<subcommand>` to which its relevant.
- Omit both `<command>` and `<subcommand>`, which will globally specify the option for every `<command>` and `<subcommand>` to which its relevant.
{% note %}
**Notes:**
- `config` files only accept spaces between between option flags and values—{% data variables.product.prodname_codeql %} will throw an error if you use `=` to specify an option value.
- If you specify an option in the command line, this overrides the `config` value defined for that option.
- If you want to specify more than one option for a `<command>`, `<subcommand>` or globally, use one line per option.
{% endnote %}
### Examples
- To output all analysis results generated by `codeql database analyze` as CSV format, you would specify:
```
database analyze --format csv
```
Here, you have to specify the command and subcommand to prevent any of the low-level commands that are executed during `database analyze` being passed the same `--format` option.
- To define the RAM (4096 MB) and number of threads (4) to use when running {% data variables.product.prodname_codeql %} commands, specify the following, on separate lines:
```
--ram 4096
--threads 4
```
- To globally specify a directory for {% data variables.product.prodname_codeql %} to scan for {% data variables.product.prodname_codeql %} packs (which is not a sibling of the installation directory), use:
```
--search-path <path-to-directory>
```