web-dev-qa-db-ja.com

NetBeansプロジェクトで行をカウントする方法

こんにちは、私はnetbeans 7を持っています。プロジェクトの合計行数を計算する方法を知りたいと思っていました。私はグーグルに目を通しましたが、それをするたびに行き止まりまたは機能しないプラグインしか見つけません。誰もが行を数える方法を知っていますか?

33
me me

使用できます wordcount 7.1で動作します nb-wordcount 8.2で動作します。

ワードカウントを設定するには Tools->Options->Miscellaneous変更する必要があります_Accept filename JavaとGroovyを一致させる以外のファイルが必要な場合。

カウントウィンドウを表示するには Window->Open WordCount Window

統計を表示するには、をクリックしてください WordCounting (2番目のボタン)。で選択したディレクトリの統計を表示します Projects (window)(パッケージまたはソースパッケージやWebページのようなものである必要があります。プロジェクトを選択すると機能しません)。

また、Linuxを使用している場合は、単に次を実行できます。

 find . -name '*.Java' | xargs wc -l
31
alain.janinm

これは非常に古い質問ですが、プラグインのインストールを必要としないnetbeansプロジェクトで行数を見つける簡単な方法があります。

  1. 行数を検索するフォルダーまたはパッケージを右クリックします
    注:プロジェクト自体を右クリックしないでください。プロジェクトが生成されたすべてのファイルの行もカウントすることになります。
  2. FindまたはFind in Filesをクリックするか、押します CtrlF
  3. MatchドロップダウンがRegular Expressionに設定されていることを確認してください。
  4. 検索ボックスに\nと入力します。
  5. [検索]を押すと、プロジェクトの行数が上部に表示されます
    Search Resultsタブ。

注:NetBeansでは、5000件の結果の後に検索が停止されるため、プロジェクトがそれよりも長い場合、このメソッドは機能しません

21
Dan

私は切り貼りの答えを望んでいました。だから私はそれを書いた。

編集:何百万行ものコードをサポートします。外部ライブラリは必要ありません。

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

何かが足りない場合はお知らせください。修正するために最善を尽くします。ありがとう!

12
Jonathan

Source Code Metrics for Java Projects。

3
ltin