aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel Costa <miguel.costa@qt.io>2019-01-08 10:40:21 +0100
committerMiguel Costa <miguel.costa@qt.io>2019-01-08 15:49:44 +0000
commit82a8164b6572578d125fa52d8474e7af40454fc6 (patch)
tree2aeca00883b5f0cb99560e9ea72271b0ebd64fe9
parentf826db692bbc682ca90e736977ccb2d82f2216fa (diff)
Create visualizers folder if not found
Ensure the path to the visualizers folder exists before copying visualizer files. Previously, if this folder was not present, an error message would be displayed during initialization and visualization of Qt data types in debug would not be available. Task-number: QTVSADDINBUG-593 Change-Id: Ie4a552fab2fcc3c4b225858f0160fed1557e1a4a Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--src/qtvstools/Vsix.cs16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/qtvstools/Vsix.cs b/src/qtvstools/Vsix.cs
index 3d5aaec5..716280ee 100644
--- a/src/qtvstools/Vsix.cs
+++ b/src/qtvstools/Vsix.cs
@@ -362,18 +362,22 @@ namespace QtVsTools
natvisFile = string.Format("qt5_{0}.natvis", qtNamespace.Replace("::", "_"));
}
- File.WriteAllText(Path.Combine(
+ string visualizersPath = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
#if VS2019
- @"Visual Studio 2019\Visualizers\",
+ @"Visual Studio 2019\Visualizers\");
#elif VS2017
- @"Visual Studio 2017\Visualizers\",
+ @"Visual Studio 2017\Visualizers\");
#elif VS2015
- @"Visual Studio 2015\Visualizers\",
+ @"Visual Studio 2015\Visualizers\");
#elif VS2013
- @"Visual Studio 2013\Visualizers\",
+ @"Visual Studio 2013\Visualizers\");
#endif
- natvisFile), natvis, System.Text.Encoding.UTF8);
+ if (!Directory.Exists(visualizersPath))
+ Directory.CreateDirectory(visualizersPath);
+
+ File.WriteAllText(Path.Combine(visualizersPath, natvisFile),
+ natvis, System.Text.Encoding.UTF8);
} catch (Exception e) {
Messages.PaneMessageSafe(Dte,
e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace, 5000);