如何计算Visual Studio 2017中选定(或找到)的字符和行?

问题描述 投票:2回答:1

我正在开发一个组合的Embedded + Desktop应用程序。嵌入式平台上的内存限制使得了解将要发送和接收的项目的大小和数量变得很重要。当我在一个系统上进行大小或元素计数更改时,我需要将这些更改与另一个系统进行协调。

为了获得这些信息,我目前在visual studio中选择并复制感兴趣的元素,并将它们粘贴到外部文本编辑器中,该编辑器可以为我提供字符数和行数。

我想找到一种在Visual Studio(2017)中查看相同信息(所选行数和所选字符数)的方法。

到目前为止,我找到的唯一方法是在选择中执行查找和替换,这会报告替换次数。如果我使用正则表达式进行匹配,我可以得到任何匹配的计数,所以通过两次传递我可以得到字符和行的计数 - 但是我必须按Ctrl-Z来撤消损坏,这只是看起来像个坏主意。肯定有更好的办法。

除了使用“查找和替换”然后取消损坏之外,有没有办法获取已发现或选定元素的数量?

实际上我见过的每个其他编辑都允许在选择中进行“查找”并告诉你匹配的数量,但是我没有找到任何方法让Visual Studio显示匹配的数量,即使所有找到的元素都是颜色标记。我必须做“全部替换”以获得计数。

我看到有相同功能的定期功能请求可以追溯到几年前,但到目前为止他们因缺乏选票而被关闭。我发现VS2010的宏可以做到这一点,但我没有发现任何证据表明VS2017中存在宏。我没有找到任何市场扩展,它给出了所选行和所选字符的计数。

请注意,我不打算在文件,项目或解决方案中计算代码行数。我只是想在Visual Studio IDE中选择“动态”计算字符和行。我搜索过,但没有发现任何看似与此问题重复的问题。

visual-studio visual-studio-2017 visual-studio-extensions visual-studio-macros
1个回答
1
投票

您可以使用以下命令(C#语言)和我的Visual Commander扩展名来计算所选字符和行:

public class C : VisualCommanderExt.ICommand
{
    public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) 
    {
        EnvDTE.TextSelection ts = DTE.ActiveDocument.Selection as EnvDTE.TextSelection;
        System.Windows.MessageBox.Show("Lines=" + (1 + ts.BottomLine - ts.TopLine) + " Characters=" + ts.Text.Length);
    }
}

(顺便说一句,Visual Commander也可以运行VS 2010宏。)

© www.soinside.com 2019 - 2024. All rights reserved.