diff options
author | Miguel Costa <miguel.costa@qt.io> | 2019-01-08 10:40:21 +0100 |
---|---|---|
committer | Miguel Costa <miguel.costa@qt.io> | 2019-01-08 15:49:44 +0000 |
commit | 82a8164b6572578d125fa52d8474e7af40454fc6 (patch) | |
tree | 2aeca00883b5f0cb99560e9ea72271b0ebd64fe9 | |
parent | f826db692bbc682ca90e736977ccb2d82f2216fa (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.cs | 16 |
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); |