如何计算netbeans项目中的行数

me *_* me 33 netbeans lines-of-code

您好我有netbeans 7,我想知道如何计算项目的总行数.我查看了谷歌,但每次我这样做,我只发现死角或非工作插件.有谁知道如何计算线?

ala*_*inm 31

您可以使用与7.1 nb-wordcount 一起使用的wordcount .

要配置wordcount,请进入Tools- > Options- > Miscellaneous. 如果您想要除Java和Groovy之外的其他文件,则必须进行更改Accept filename.

要显示计数窗口,请进入Window- > Open WordCount Window.

要显示统计数据,请单击WordCounting(第二个按钮).我将显示所选目录的统计信息Projects (window)(它必须是包或类似源包或网页,如果您选择项目它将无法工作).

此外,如果你在Linux上,你可以简单地执行:

 find . -name '*.java' | xargs wc -l
Run Code Online (Sandbox Code Playgroud)


Dan*_*Dan 21

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

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

注意:在NetBeans中,搜索在5000个结果后停止,因此如果您的项目比这长,那么此方法将不起作用

  • 仅限5000场比赛 (2认同)

Jon*_*han 12

我希望得到一个剪切和粘贴的答案.所以我写了一个.

编辑:支持数百万行代码.无需外部库.

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");
}
Run Code Online (Sandbox Code Playgroud)

结果显示类似于以下内容:

   (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
Run Code Online (Sandbox Code Playgroud)

如果它丢失了什么,请告诉我,我会尽力纠正它.谢谢!