bin/gbuild-to-ide        |    3 +++
 solenv/vs/.natstepfilter |   23 +++++++++++++++++++++++
 2 files changed, 26 insertions(+)

New commits:
commit 1be5adecafd1ba0aa6bc278ce3221646193030a2
Author:     Mike Kaganski <[email protected]>
AuthorDate: Fri Jan 19 17:10:43 2024 +0600
Commit:     Mike Kaganski <[email protected]>
CommitDate: Fri Jan 19 14:22:17 2024 +0100

    Add a natstepfilter file to Visual Studio solution
    
    Allows to avoid stepping into some functions, like smart pointer's
    operator->(), when debugging.
    
    Change-Id: Ia930ad6b0c94c9caefad8ac026252fced1265fb4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162304
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <[email protected]>

diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index ce89a979a1d0..8989a31c57cf 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -1015,6 +1015,9 @@ class 
VisualStudioIntegrationGenerator(IdeIntegrationGenerator):
             # The natvis file gives pretty-printed variable values when 
debugging
             natvis_path = os.path.join(gbuildparser.srcdir, 
'solenv/vs/LibreOffice.natvis')
             f.write('          %(natvis)s = %(natvis)s
' % {'natvis': natvis_path})
+            # The natstepfilter file allows to skip specific functions when 
stepping into in debugging
+            natstepfilter_path = os.path.join(gbuildparser.srcdir, 
'solenv/vs/.natstepfilter')
+            f.write('          %(natstepfilter)s = %(natstepfilter)s
' % {'natstepfilter': natstepfilter_path})
             f.write('  EndProjectSection
')
             f.write('EndProject
')
             # Folders to group tests/libraries/executables
diff --git a/solenv/vs/.natstepfilter b/solenv/vs/.natstepfilter
new file mode 100644
index 000000000000..601c98121054
--- /dev/null
+++ b/solenv/vs/.natstepfilter
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<StepFilter 
xmlns="http://schemas.microsoft.com/vstudio/debugger/natstepfilter/2010";>
+    <Function>
+        <Name>std::unique_ptr&lt;.*&gt;::operator-&gt;</Name>
+        <Action>NoStepInto</Action>
+    </Function>
+    <Function>
+        <Name>std::shared_ptr&lt;.*&gt;::operator-&gt;</Name>
+        <Action>NoStepInto</Action>
+    </Function>
+    <Function>
+        <Name>tools::SvRef&lt;.*&gt;::operator-&gt;</Name>
+        <Action>NoStepInto</Action>
+    </Function>
+    <Function>
+        <Name>com::sun::star::uno::Reference&lt;.*&gt;::operator-&gt;</Name>
+        <Action>NoStepInto</Action>
+    </Function>
+    <Function>
+        <Name>rtl::Reference&lt;.*&gt;::operator-&gt;</Name>
+        <Action>NoStepInto</Action>
+    </Function>
+</StepFilter>
\ No newline at end of file

Reply via email to