EnvDTE-如何从项目中的文件中获取文本

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

我将要求您解释您的答案,因为我不熟悉此库

所以我要尝试的是获取所有项目项的文本并计算所有行。解决此问题的最佳方法是什么?

c# visual-studio envdte
1个回答
0
投票

为了获得所有行的计数,您需要递归地遍历每个文件夹并获取其中的每个文件的长度。

1。首先获取文件中的行数。

    public static int ProcessFile(string path)
    {
        return File.ReadAllLines(path).Length;
    }

2。然后递归处理目录。对所有文件调用上述方法,递归调用自身以获取更多目录

    public static int ProcessDirectory(string targetDirectory)
    {
        int totalLines = 0;

        // Process the list of files found in the directory.
        foreach (string fileName in Directory.GetFiles(targetDirectory))
            totalLines += ProcessFile(fileName);

        // Recurse into subdirectories of this directory.
        foreach (string subdirectory in Directory.GetDirectories(targetDirectory))
            totalLines += ProcessDirectory(subdirectory);

        return totalLines;
    }

在主功能中,您可以通过]发起呼叫>

    ProcessDirectory(Environment.CurrentDirectory);
© www.soinside.com 2019 - 2024. All rights reserved.