如何在 Visual Studio 中的单个操作中打开多个文件

Posted

技术标签:

【中文标题】如何在 Visual Studio 中的单个操作中打开多个文件【英文标题】:How to open multiple files in a single action in Visual Studio 【发布时间】:2011-05-25 02:00:52 【问题描述】:

我经常使用 Visual Studio 中的“命令窗口”按名称快速打开文件,例如键入 open main.c

但似乎不起作用的是open *.xyz,其目的是打开解决方案中的任何文件,扩展名为xyz

是否有一种快速简便的方法可以从命令行窗口根据模式一次打开多个文件?

【问题讨论】:

“快速打开文件”插件(visualstudiogallery.msdn.microsoft.com/…) 可让您在搜索中使用通配符快速找到解决方案中的文件,但它不允许您一次打开多个文件。 【参考方案1】:

我无法让命令窗口工作。使用文本编辑器或脚本制作如下文件列表:

"full path 1" "full path 2"

Ctrl+o 并将字符串粘贴到打开文件对话框中。

【讨论】:

这似乎只适用于少数文件,因为打开的对话框只接受有限数量的字符。【参考方案2】:

这是一个使用 Visual Commander 的解决方案,它是一个 VS 插件。它使用剪贴板中的文件路径。我倾向于使用dir /s/b *.?? 或其他更复杂的解决方案使用命令行来生成这些文件路径。

using EnvDTE;
using EnvDTE80;
using System;
using System.Windows.Forms;
using System.IO;

public class C : VisualCommanderExt.ICommand

    public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) 
    
        if(Clipboard.ContainsText(TextDataFormat.Text))
        
            string[] files = Clipboard.GetText(TextDataFormat.Text).Replace("\r","").Split(new string[] "\n", StringSplitOptions.RemoveEmptyEntries);
            foreach(string f in files)
            
                try 
                
                    FileInfo fileInfo = new FileInfo(f);
                    if(fileInfo.Exists)
                    
                        DTE.ItemOperations.OpenFile(f, EnvDTE.Constants.vsViewKindPrimary);
                    
                
                catch 
            
        
    

【讨论】:

【参考方案3】:

你可以使用 find 命令来做到这一点:

$find . -name "*.xyz" -exec open  \;

【讨论】:

linux 命令行如何帮助在 Visual Studio 中打开文件(在 Linux 上不可用)? open 命令到底是什么?我的 linux 终端无法识别它。

以上是关于如何在 Visual Studio 中的单个操作中打开多个文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Visual Studio 中的 C# 项目保存到单个 .cs 文件而不是整个项目文件夹中?

如何根据开发人员的操作系统架构在 Visual Studio 中复制文件?

如何摆脱 Visual Studio 中的错误?

如何在 Visual Studio 2005 中抑制单个 BizTalk 警告

如何在 Visual Studio 2008 中创建单个可执行文件?

Visual Studio 2015 如何分析单个单元测试