假设我的项目名为foo
。我使用Windows资源管理器在subdir
根目录中创建了一个名为foo
的子目录。我将main.qml
文件放在subdir
中。然后我尝试在我的项目中进行项目范围内的“文本”搜索。为此,我在Ctrl+Shift+F
中按Project "foo"
,选中了Scope
,在Search for
中写了“文字”。虽然main.qml
确实包含字符串“text”,但未找到匹配项。当main.qml
在项目根目录中时,找到该字符串就好了。
这是Qt Creator中的一个错误,我可以在选项中解决这个问题吗?
Qt Creator版本:4.1.0。
.pro文件不包含main.qml,但.pro文件包含RESOURCES += qml.qrc
,qml.qrc包含<file>subdir/main.qml</file>
。 Creator中的项目查看器确实在树中显示main.qml,嵌套为“Resources - &gt; qml.qrc - &gt; / - &gt; subdir - &gt; main.qml”。
如果通过“项目焦点”表示它必须是通过右键单击项目并选择“将'myproj'设置为活动项目”而设置的“活动项目”,那么我已满足该要求。
我尝试在项目中包含一个驻留在项目根目录中的资源文件(名为“main2.qml”),这样我就可以看到它是否自动包含在.pro中。确实包括在内,如下:
DISTFILES += \
main2.qml
奇怪的是,既然我已经包含了这个新文件,那么驻留在子目录中的旧文件也是可搜索的。
即使我从项目中删除了main2.qml,子目录中的文件仍然是可搜索的!他们甚至在我的其他项目中变得可以搜索,在那里我什么都没改变!
非常奇怪。我希望很快搜索会再次开始出现问题,所以我仍然喜欢可能导致问题的提示。
答案 0 :(得分:0)
确保qml文件是项目的一部分。
项目范围搜索仅查找作为项目一部分的文件。他们的磁盘位置根本不相关。如果他们没有出现在项目树中,他们就不在项目期间。
确保搜索的文件模式包含qml文件。
文件模式元素以逗号分隔(例如screen wine myapp.exe &
)。使用其他分隔符是一个常见的错误。