Qt Creator:当我在项目的子目录中有一个文件时,它不包含在项目范围的搜索中

时间:2016-11-04 18:25:12

标签: qt qt-creator

假设我的项目名为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,子目录中的文件仍然是可搜索的!他们甚至在我的其他项目中变得可以搜索,在那里我什么都没改变!

非常奇怪。我希望很快搜索会再次开始出现问题,所以我仍然喜欢可能导致问题的提示

1 个答案:

答案 0 :(得分:0)

  1. 确保qml文件是项目的一部分。

    项目范围搜索仅查找作为项目一部分的文件。他们的磁盘位置根本不相关。如果他们没有出现在项目树中,他们就不在项目期间。

  2. 确保搜索的文件模式包含qml文件。

    文件模式元素以逗号分隔(例如screen wine myapp.exe & )。使用其他分隔符是一个常见的错误。