[Qt-creator] Show all project files in stocked CMake plugin in Hackers way

Alexander Drozdov adrozdoff at gmail.com
Fri Jan 20 04:09:04 CET 2017


Hi,

IMHO:
*Pros:*
1) Tree view more comfortable for project navigation. File system view not
allow it.
2) Right globbing pattern can be used for tree filtering as end-user want.
File system view allows only hidden files ignoring.
3) This files will be shown in Locator search using filter "Files in
Current Project". "Files in File System" good filter too, but you must
strongly known where needed file located.

*Cons:*
1) UI freeze on a big projects (LLVM one of them) for a 2-10 sec when cmake
completed and project tree rebuilded.
2) Using this solution all files will be passed to the code model too. And
it can be broken. https://bugreports.qt.io/browse/QTCREATORBUG-17607 should
help (but it should help in most other cases too).
3) File system view simple to keep synchronized with FS using
FileSystemWatcher. This solution requires cmake restart.

2017-01-19 17:15 GMT+10:00 Mathias Hasselmann <mathias at taschenorakel.de>:

> Interesting hack. How about just using the built-in file system view?
>
> Ciao,
> Mathias
>
> Am 18.01.2017 um 13:02 schrieb Alexander Drozdov:
>
>> Hi,
>>
>> Not a question, just a life-hack :-)
>>
>> Changes, that allows showing all project files in project view is
>> discarded <https://codereview.qt-project.org/#/c/180827/>. Clarification
>> that Project View is not a Project View but Build System View is added
>> <https://github.com/qtproject/qt-creator/commit/f1456d3fd408
>> 183cd0cbd9a559ce7e1018e014bc>
>> to the documentation. So, now there is no way to propagate
>> CMakeProjectManager2 <https://github.com/h4tr3d/cmakeprojectmanager2>
>> changes to the upstream at all.
>>
>> But we can still display all files using stock plugin and existing
>> functionality. Just hack it using fake CMAKE_TOOLCHAIN_FILE...
>>
>> *Idea: *
>> - using `file(GLOB_RECURSE ...)` scan project tree for files
>> - create fake target ALL_PROJECT_FILES with this files
>> - put it to the fake toolchain file to avoid modification of the
>> original CMakeLists.txt
>> - pass fake toolchain file to the cmake executable via Kit CMake
>> properties...
>>
>> *Solution:*
>> https://gist.github.com/h4tr3d/0b610a507ed42faeb3c32e2700fab
>> b13#file-qtc-scan-all-cmake
>>
>> Solution allows to configure globbing expression for scanner per build
>> configuration. Via Kit CMake configuration it can be configured per-kit.
>> Look into Gist for complete instruction.
>>
>> *Screen shot:*
>> https://htrd.su/wiki/_media/zhurnal/2017/01/18/qtc-all-files-wa.png
>>
>> It can be extended to allow passing exclude globbing expression.
>>
>> --
>> WBR, Alexander Drozdov
>> http://htrd.su
>>
>>
>> _______________________________________________
>> Qt-creator mailing list
>> Qt-creator at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/qt-creator
>>
>> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator
>



-- 
WBR, Alexander Drozdov
http://htrd.su
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20170120/e464639d/attachment.html>


More information about the Qt-creator mailing list