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

Qt Creator:当我在项目的子目录中有一个文件时,它';不包括在项目范围的搜索中,qt,qt-creator,Qt,Qt Creator,假设我的项目名为foo。我使用Windows资源管理器在foo根目录中创建了一个名为subdir的子目录。我将我的main.qml文件放入subdir。然后我尝试在项目范围内搜索项目中的“文本”。为此,我按下了Ctrl+Shift+F,在Scope中选择了Project“foo”,在搜索中写入了“text”。未找到匹配项,但main.qml确实包含字符串“text”。当main.qml位于项目根目录中时,可以很好地找到字符串 这是Qt Creator中的一个bug,我可以在选项中修复吗? Qt

假设我的项目名为
foo
。我使用Windows资源管理器在
foo
根目录中创建了一个名为
subdir
的子目录。我将我的
main.qml
文件放入
subdir
。然后我尝试在项目范围内搜索项目中的“文本”。为此,我按下了
Ctrl+Shift+F
,在
Scope
中选择了
Project“foo”
,在
搜索中写入了“text”。未找到匹配项,但
main.qml
确实包含字符串“text”。当
main.qml
位于项目根目录中时,可以很好地找到字符串

这是Qt Creator中的一个bug,我可以在选项中修复吗?

Qt Creator版本:4.1.0

进一步说明 .pro文件不包括main.qml,但.pro文件包含
RESOURCES+=qml.qrc
,而qml.qrc包含
subdir/main.qml
。Creator中的项目查看器在树中显示main.qml,嵌套为“Resources->qml.qrc->/>subdir->main.qml”

如果“项目焦点”意味着它必须是通过右键单击项目并选择“将“myproj”设置为活动项目”设置的“活动项目”,那么我已经满足了该要求

我尝试在项目中包含一个驻留在项目根目录中的资源文件(称为“main2.qml”),以便查看它是否自动包含在.pro中。它确实被包括在内,就像这样:

DISTFILES += \
    main2.qml
奇怪的是,现在我包括了这个新文件,驻留在子目录中的旧文件也可以搜索

即使我从项目中删除main2.qml,子目录中的文件仍然可以搜索!它们甚至在我的另一个项目中成为可搜索的,在那里我什么也没做

很奇怪。我预计很快搜索将再次出现问题,因此我仍然希望了解导致问题的原因

  • 确保qml文件是项目的一部分

    项目范围搜索仅查找属于项目一部分的文件。它们在磁盘上的位置根本不相关。如果它们没有出现在项目树中,则它们不在probject期间

  • 确保搜索的文件模式包括qml文件

    文件模式元素以逗号分隔(例如,
    *.c*、*.h、*.qml
    )。使用其他分隔符是常见错误

  • 确保qml文件是项目的一部分

    项目范围搜索仅查找属于项目一部分的文件。它们在磁盘上的位置根本不相关。如果它们没有出现在项目树中,则它们不在probject期间

  • 确保搜索的文件模式包括qml文件

    文件模式元素以逗号分隔(例如,
    *.c*、*.h、*.qml
    )。使用其他分隔符是常见错误


  • 我认为在Qt创建者查看该文件以找到某些内容之前,该文件需要实际包含在项目中。。。那么,当您更改main.qml的位置时,您是否也更改了.pro文件以包含它?@H.G:请查看我的编辑。我认为该文件需要实际包含在项目中,然后Qt创建者才能查看它以找到某些内容。。。那么,当您更改main.qml的位置时,您是否也更改了.pro文件以包含它?@H.G:请查看我的编辑。