在Visual Studio解决方案中查找没有代码(例如空白或完全被注释掉)的文件。

3

我正在检查我的解决方案,发现有几个类已被完全注释掉。我想把它们从我的解决方案中移除,并将更改提交到源代码控制中。我认为随着时间的推移,有人已经重构了这些代码或删除了它最初提供的任何功能。

我只是想知道是否还有其他类文件在我的项目中像这样,以便我可以清除垃圾。


寻找包含超过一堆行的注释的文件。您正在寻找自动化此过程的方法吗? - Alessandro Da Rugna
我应该运行什么命令来查找在项目中留下完全注释的文件的开发人员,以便我可以将它们删除? - Dave
我认为另一个问题只找到了完全注释的文件(我想要空白或完全注释)。因此,它根本不是重复的。 - DermFrench
如果你想找到空文件,大多数操作系统都允许你按大小排列文件。你可以假设那些除了元数据外没有占用任何空间的文件可能是空的。 - derpface
3个回答

0

我不知道Visual Studio(非第三方)中是否有这样的工具,但您可以在整个项目中查找“//”,并手动选择大部分被注释的文件,否则编写一个扫描子目录中的所有文件并返回文件名的工具(Console App),如果文件中80%的行以“//”开头,则自动选择。


0
这是一个VS宏,可以查找以/*开头或长度为1或更少的文件。当然,您可以使用“包含//公共类”等语句来改进它,并添加类似的条件。
Public Sub AllFilesWhichAreEmptyOrCommentedOut()
        Dim solution As Solution = DTE.Solution
        For Each prj As Project In solution.Projects
            For Each file As ProjectItem In prj.ProjectItems

                If file.Name.EndsWith(".cs") OrElse file.Name.EndsWith(".vb") Then
                    file.Open()
                    Dim selection As EnvDTE.TextSelection = file.Document.Selection

                    If selection Is Nothing Then
                        Continue For
                    End If

                    selection.StartOfDocument()
                    selection.EndOfDocument(True)

                    Dim content As String = selection.Text
                    If content.StartsWith("/*") Then
                        Log("File " & file.Name & " starts with /*")
                    End If

                    If content.Length <= 1 Then
                        Log("File " & file.Name & " is empty.")
                    End If

                    ' Reset selection back to top
                    selection.StartOfDocument()

                End If

            Next
        Next

    End Sub

0

find . -type f -exec sh -c 'grep -vq "^//" {} || echo {}' \;

此处所答。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接