How use Qt in Visual Studio Code? How use Qt in Visual Studio Code? linux linux

How use Qt in Visual Studio Code?


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


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.