diff --git a/src/Main/Base/Project/Src/Commands/FileTabStripCommands.cs b/src/Main/Base/Project/Src/Commands/FileTabStripCommands.cs index 4b0f265aae..c8d4d5575f 100644 --- a/src/Main/Base/Project/Src/Commands/FileTabStripCommands.cs +++ b/src/Main/Base/Project/Src/Commands/FileTabStripCommands.cs @@ -84,10 +84,8 @@ namespace ICSharpCode.SharpDevelop.Commands.TabStrip public override void Run() { IWorkbenchWindow window = Owner as IWorkbenchWindow; - if (File.Exists(window.ActiveViewContent.PrimaryFileName)) { - string folder = Path.GetDirectoryName(window.ActiveViewContent.PrimaryFileName); - Process.Start(folder); - } + ICSharpCode.SharpDevelop.Project.Commands.OpenFolderContainingFile.OpenContainingFolderInExplorer( + window.ActiveViewContent.PrimaryFileName); } } } diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs index 5b49b59a91..6310067b2e 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs @@ -109,11 +109,10 @@ namespace ICSharpCode.SharpDevelop.Project.Commands } } - void OpenContainingFolderInExplorer(string fileName) + public static void OpenContainingFolderInExplorer(string fileName) { if (File.Exists(fileName)) { - string folder = Path.GetDirectoryName(fileName); - Process.Start(folder); + Process.Start("explorer", "/select,\"" + fileName + "\""); } } } diff --git a/src/Main/StartUp/Project/SharpDevelopMain.cs b/src/Main/StartUp/Project/SharpDevelopMain.cs index addb4fd526..5cdb275419 100644 --- a/src/Main/StartUp/Project/SharpDevelopMain.cs +++ b/src/Main/StartUp/Project/SharpDevelopMain.cs @@ -135,6 +135,13 @@ namespace ICSharpCode.SharpDevelop startup.AddAddInsFromDirectory(Path.Combine(startup.ApplicationRootPath, "AddIns")); + // allows testing addins without having to install them + foreach (string parameter in SplashScreenForm.GetParameterList()) { + if (parameter.StartsWith("addindir:", StringComparison.OrdinalIgnoreCase)) { + startup.AddAddInsFromDirectory(parameter.Substring(9)); + } + } + SharpDevelopHost host = new SharpDevelopHost(AppDomain.CurrentDomain, startup); string[] fileList = SplashScreenForm.GetRequestedFileList();