macOS + Qt + Intellisense 上的 Visual Studio Code
Posted
技术标签:
【中文标题】macOS + Qt + Intellisense 上的 Visual Studio Code【英文标题】:Visual Studio Code on macOS + Qt + Intellisense 【发布时间】:2019-10-27 07:40:19 【问题描述】:Visual Studio Code 得到以下错误:
cannot open source file "QtWidgets/qtwidgetsglobal.h" (dependency of "QApplication")C/C++(1696)
我有一个编译构建成功的 CMake 项目,但是 Intellisense 似乎不起作用。
我在包含qtwidgetsglobal.h
的路径中有这个目录:
/usr/local/Cellar/qt/5.13.1/lib/QtWidgets.framework/Headers
还有一件事:
目录/usr/local/Cellar/qt/5.13.1/lib/QtWidgets.framework
包含目录Headers
和奇怪的可执行文件QtWidgets
我被认为包括-I/usr/local/Cellar/qt/5.13.1/lib/QtWidgets.framework
因为QtCreator 两者都有
/usr/local/Cellar/qt/5.13.1/lib/QtWidgets.framework
和
/usr/local/Cellar/qt/5.13.1/lib/QtWidgets.framework/Headers
但没有任何效果。
实际上 Visual Studio Code 似乎忽略了两个目录
/usr/local/Cellar/qt/5.13.1/lib/QtWidgets.framework
和
/usr/local/Cellar/qt/5.13.1/lib/QtWidgets.framework/Headers
指定。
关于如何启用 Intellisense 以使用 Visual Studio Code 的任何建议。
【问题讨论】:
你看过documentation 是的,所有需要的包含都应该取自 compiler-commands.json。除了 Qt,我的另一个部门工作正常。 【参考方案1】:您需要使用 compileCommands 而不是 cake-tools configurationProvider。
因此在您的c_cpp_properties.json
中添加该行
"compileCommands": "$workspaceFolder/build/compile_commands.json",
并删除
"configurationProvider": "ms-vscode.cmake-tools",
完整的配置文件应该是这样的
"configurations": [
"name": "Mac",
"compilerPath": "/usr/bin/clang",
"compileCommands": "$workspaceFolder/build/compile_commands.json",
"browse":
"limitSymbolsToIncludedHeaders": true
,
"macFrameworkPath": [
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"cStandard": "c11",
"intelliSenseMode": "clang-x64",
"cppStandard": "c++14"
],
"version": 4
【讨论】:
以上是关于macOS + Qt + Intellisense 上的 Visual Studio Code的主要内容,如果未能解决你的问题,请参考以下文章