[Development] [Windows] State of the Qt6 natvis file

Nicolas Arnaud-Cormos nicolas.arnaud-cormos at kdab.com
Sat Feb 22 10:12:01 CET 2025


On 21/02/2025 19:00, Philippe wrote:
> /You can't just copy and use the file because of the "##NAMESPACE##:: 
> everywhere/
> You can find/replace this token all over the file. Easy and it works 
> (using Visual Studio).

You and I both know what needs to be done to make it works... this is 
not necessary the case for everyone.

My mail was two-fold:
1) Find a better way to make the natvis file available to *everyone* 
(not me, I know what to do)
2) Ease external contributions

The obvious answer for 1) is "integrate into the pdb".
For 2), it's a bit more complex, but having it hidden inside the 
QtVsTool extension is not the best way IMO.

Regards,
Nicolas

> Philippe
> On Fri, 21 Feb 2025 16:40:40 +0100
> Nicolas Arnaud-Cormos via Development <development at qt-project.org> wrote:
>
>     Hi everyone,
>
>     On Windows, for those using Visual Studio or VS Code with MSVC
>     compiler, the only way to see anything sensible when debugging is
>     to use a natvis file.
>
>     This natvis file is currently embedded into the VsTools extension
>     for Visual Studio, here:
>     https://github.com/qt-labs/vstools/blob/dev/QtVsTools.Package/qt6.natvis.xml
>
>     If you use Visual Studio, and use the extension, you normally have
>     nothing to do as it will be deployed for you.
>
>     Unfortunately, I see some issues here:
>     1) The file is really behind (the Qt5 one was better IMO), and
>     there's no real contributions to it, but rather external ones like:
>     https://github.com/aleksey-nikolaev/natvis-collection/blob/master/QJson.natvis
>     2) You can't just copy and use the file because of the
>     "##NAMESPACE##:: everywhere
>     3) If you use VSCode, you have to embed it in the project
>
>     As a VSCode user, I'm doing 3), but it's not really any better as
>     I'm missing any updates on it.
>     I know there's now a Qt VSCode extension, with the natvis file
>     integrated too, but I couldn't get it to work properly.
>
>     I think a better solution would be to have the natvis files
>     embedded into the pdb on Windows, for multiple reasons:
>     - no need to set a natvis file on VSCode or VS for those not using
>     the extension,
>     - in case of internal changes for the Qt classes, we could adapt
>     the file and ty it to a specific Qt version,
>     - slightly more visible place for people to contribute.
>
>     Another solution, at least better than right now, would be to have
>     a repo for the natvis, that could be used by both the VsTools
>     extension and the VSCode extension.
>     Not my best choice, but at least it will give a better visibility
>     to it and reduce the pain to contributions.
>
>     Thoughts?
>
>     Thanks,
>     Nicolas
>
>     -- 
>     Nicolas Arnaud-Cormos | Senior Software Engineer & Teamlead
>     KDAB (France) S.A.S., a KDAB Group company
>     Tel: France +33 (0)4 90 84 08 53,https://www.kdab.com
>     KDAB - Trusted Software Excellence
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20250222/ab2ab475/attachment-0001.htm>


More information about the Development mailing list