Browse Source

You can now "Open containing folder in explorer" from the Project pad.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3242 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Justin Dearing 18 years ago
parent
commit
c98197cf2f
  1. 7
      AddIns/ICSharpCode.SharpDevelop.addin
  2. 2
      src/Main/Base/Project/Src/Commands/FileTabStripCommands.cs
  3. 41
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs

7
AddIns/ICSharpCode.SharpDevelop.addin

@ -366,6 +366,9 @@ @@ -366,6 +366,9 @@
<MenuItem id = "OpenFileWith"
label = "${res:Gui.ProjectBrowser.OpenWith}"
class = "ICSharpCode.SharpDevelop.Project.Commands.OpenFileFromProjectBrowserWith"/>
<MenuItem id = "OpenFolderContainingFile"
label = "${res:OpenFileTabEventHandler.FileContainingFolderInExplorer}"
class = "ICSharpCode.SharpDevelop.Project.Commands.OpenFolderContainingFile"/>
</ComplexCondition>
<Condition name = "Ownerstate" ownerstate = "Missing">
<MenuItem id = "Remove"
@ -996,9 +999,9 @@ @@ -996,9 +999,9 @@
<MenuItem id = "CopyPathName"
label = "${res:OpenFileTabEventHandler.CopyPathName}"
class = "ICSharpCode.SharpDevelop.Commands.TabStrip.CopyPathName"/>
<MenuItem id = "FileContainingFolderInExplorer"
<MenuItem id = "OpenFolderContainingFileFromTab"
label = "${res:OpenFileTabEventHandler.FileContainingFolderInExplorer}"
class = "ICSharpCode.SharpDevelop.Commands.TabStrip.FileContainingFolderInExplorer"/>
class = "ICSharpCode.SharpDevelop.Commands.TabStrip.OpenFolderContainingFile"/>
</ComplexCondition>
</Path>

2
src/Main/Base/Project/Src/Commands/FileTabStripCommands.cs

@ -80,7 +80,7 @@ namespace ICSharpCode.SharpDevelop.Commands.TabStrip @@ -80,7 +80,7 @@ namespace ICSharpCode.SharpDevelop.Commands.TabStrip
/// <summary>
/// Opens the containing folder in the clipboard.
/// </summary>
public class FileContainingFolderInExplorer : AbstractMenuCommand
public class OpenFolderContainingFile : AbstractMenuCommand
{
public override void Run()
{

41
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
@ -50,23 +51,26 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -50,23 +51,26 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
SolutionItemNode solutionItemNode = ProjectBrowserPad.Instance.SelectedNode as SolutionItemNode;
if (solutionItemNode != null) {
OpenWith(solutionItemNode.FileName);
return;
}
FileNode fileNode = ProjectBrowserPad.Instance.SelectedNode as FileNode;
if (fileNode != null) {
OpenWith(fileNode.FileName);
return;
}
ProjectNode projectNode = ProjectBrowserPad.Instance.SelectedNode as ProjectNode;
if (projectNode != null) {
OpenWith(projectNode.Project.FileName);
return;
}
}
/// <summary>
/// Shows the OpenWith dialog for the specified file.
/// </summary>
public static void OpenWith(string fileName)
static void OpenWith(string fileName)
{
var codons = DisplayBindingService.GetCodonsPerFileName(fileName);
int defaultCodonIndex = codons.IndexOf(DisplayBindingService.GetDefaultCodonPerFileName(fileName));
@ -78,6 +82,41 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -78,6 +82,41 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
}
}
/// <summary>
/// Opens the containing folder in the clipboard.
/// </summary>
public class OpenFolderContainingFile : AbstractMenuCommand
{
public override void Run()
{
SolutionItemNode solutionItemNode = ProjectBrowserPad.Instance.SelectedNode as SolutionItemNode;
if (solutionItemNode != null) {
OpenContainingFolderInExplorer(solutionItemNode.FileName);
return;
}
FileNode fileNode = ProjectBrowserPad.Instance.SelectedNode as FileNode;
if (fileNode != null) {
OpenContainingFolderInExplorer(fileNode.FileName);
return;
}
ProjectNode projectNode = ProjectBrowserPad.Instance.SelectedNode as ProjectNode;
if (projectNode != null) {
OpenContainingFolderInExplorer(projectNode.Project.FileName);
return;
}
}
void OpenContainingFolderInExplorer(string fileName)
{
if (File.Exists(fileName)) {
string folder = Path.GetDirectoryName(fileName);
Process.Start(folder);
}
}
}
public class ExcludeFileFromProject : AbstractMenuCommand
{
public static void ExcludeFileNode(FileNode fileNode)

Loading…
Cancel
Save