你好,我有netbeans7,我想知道如何计算项目的总行数。我已经看过谷歌,但每次我这样做,我只发现死胡同或非工作插件。有谁知道如何数线?

有帮助吗?

解决方案

您可以使用 单词数 这适用于7.1 nb-字数 这适用于8.2。

要配置wordcount,请进入 工具->选项->杂项条文. 你必须改变 Accept filename 如果您希望Java和Groovy以外的其他文件匹配。

要显示计数窗口,请进入 窗户->打开WordCount窗口.

要显示统计信息,请单击 文字计算 (第二个按钮)。我将显示在选择的目录的统计数据 项目(窗口)(它必须是一个包或类似源包或网页的东西, 如果您选择项目,它将不起作用).

另外,如果你在linux上,你可以简单地执行 :

 find . -name '*.java' | xargs wc -l

其他提示

我知道这是一个非常古老的问题,但是有一种更简单的方法可以在不涉及安装插件的netbeans项目中查找行数:

  1. 右键单击要查找的文件夹或包的数量 排队
    注:不要右键单击项目本身,因为这也会导致它计算所有生成文件中的行。
  2. 点击 FindFind in Files 或按 按CtrlF.
  3. 确保 Match 下拉设置为 Regular Expression.
  4. 输入 \n 进入搜索框。
  5. 按查找,项目的行数将显示在
    Search Results 标签。

注:在NetBeans中,搜索在5000个结果后停止,因此如果您的项目长于该结果,则此方法将不起作用

我希望粘贴粘贴答案。所以我写了一个。

编辑:支持数百万的代码行。不需要外部库。

public static void main(String[] args) throws FileNotFoundException {

    final String folderPath = "D:\\Dev\\MYPROJECT\\src";

    long totalLineCount = 0;
    final List<File> folderList = new LinkedList<>();
    folderList.add(new File(folderPath));
    while (!folderList.isEmpty()) {
        final File folder = folderList.remove(0);
        if (folder.isDirectory() && folder.exists()) {
            System.out.println("Scanning " + folder.getName());
            final File[] fileList = folder.listFiles();
            for (final File file : fileList) {
                if (file.isDirectory()) {
                    folderList.add(file);
                } else if (file.getName().endsWith(".java")
                        || file.getName().endsWith(".sql")) {
                    long lineCount = 0;
                    final Scanner scanner = new Scanner(file);
                    while (scanner.hasNextLine()) {
                        scanner.nextLine();
                        lineCount++;
                    }
                    totalLineCount += lineCount;
                    final String lineCountString;
                    if (lineCount > 99999) {
                        lineCountString = "" + lineCount;
                    } else {
                        final String temp = ("     " + lineCount);
                        lineCountString = temp.substring(temp.length() - 5);
                    }
                    System.out.println(lineCountString + " lines in " + file.getName());
                }
            }
        }
    }
    System.out.println("Scan Complete: " + totalLineCount + " lines total");
}
.

结果类似于以下内容:

   (truncated)
   47 lines in WarningLevel.java
Scanning design
 1367 lines in ProcessResultsFrame.java
   83 lines in TableSettingPanel.java
Scanning images
Scanning settingspanel
   67 lines in AbstractSettingPanel.java
  215 lines in AdvancedSettingsPanel.java
   84 lines in BaseSettingsPanel.java
  451 lines in DatabasePanel.java
  488 lines in EmailPanel.java
  458 lines in FTPGUIPanel.java
  482 lines in FTPScheduledTaskPanel.java
  229 lines in GUISettingPanel.java
   87 lines in RootSettingJPanel.java
  722 lines in ServerVisualIdentificationSettingPanel.java
Scan Complete: 123685 lines total
.

如果它缺少一些东西,请告诉我,我会尽力纠正它。谢谢!

您可以使用源代码指标用于Java项目。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top