How use Qt in Visual Studio Code?

You can use CMake with CMake tools extension.

Just create a CMake project in vscode and add qt framework to your project in CMakeLists.txt.

Link to the extension - https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools

Use CMake with qt - https://doc.qt.io/qt-5/cmake-get-started.html


The methods for adding Qt headers to the cpptools extension have changed since the last answer. Options for doing so now include:

  1. Automatically adding a found Qt header path by clicking on the light bulb above an IntelliSense error and selecting Add to "includePaths"...

  2. Manually adding the Qt header paths to the settings UI, from the command palette, via C/Cpp: Edit Configurations (UI)

  3. Manually adding the Qt header paths to the settings JSON file, from the command palette, via C/Cpp: Edit Configurations (JSON)

More info in this page of the new documentation.


You should give a chance for this extension: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools

With this, you can configure include paths for better IntelliSense results.

Configuring includePath

One way to configure e.g the QtCore module.

  1. Ctrl + Shift + p to open command palette
  2. Search for: C/Cpp: Edit Configurations
  3. You should have a new tab called: c_cpp_properties.json
  4. In configurations array you should edit the Linux section
  5. Add your paths in the includePath setting e.g: /usr/include/x86_64-linux-gnu/qt5/QtCore

For more check this: https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/Getting%20started.md

IntelliSense engines

We recommend using the "Default" engine for the best IntelliSense experience. However, it is possible to explicitly choose the IntelliSense engine by editing your user or workspace settings. The setting you should modify is C_Cpp.intelliSenseEngine

  • Default - Visual Studio's IntelliSense engine, which is the default engine that provides semantic-aware IntelliSense features
  • Tag Parser - the "fuzzy" IntelliSense engine that provides quick but "fuzzy" results, is used to provide the fallback experience if the default engine is

More details about it: https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/IntelliSense%20engine.md