# Resolve context

Syntax highlighting, as well as other code insight features like [find usages](find-highlight-usages.html), [refactorings](refactoring-source-code.html), [code generation](generating-code.html), and [code analysis](code-inspection.html) may depend on the set of preprocessor definitions which determine the rules of parsing and resolving your code. These rules are also known as resolve context.

> **Note:**
> Switching resolve context is available for [CMake](quick-cmake-tutorial.html) projects only. For [compilation database](compilation-database.html) and [Makefile](makefiles-support.html) projects, resolve context is defined for each source file.

Procedure: Switch resolve context for the currently opened file (CMake projects)

In the case of CMake projects, the resolve context is defined by the corresponding [CMake profile](cmake-profile.html).

Select the desired configuration or profile in the switcher. Resolve context will switch automatically.

![CMake profiles switcher](https://resources.jetbrains.com/help/img/idea/2026.2/cl_resolvecontext_configswitcher.png)

## See also

### How tos

[Quick CMake tutorial](quick-cmake-tutorial.html) [CMake Profiles](cmake-profile.html)

