문제

안녕하세요 저는 netbeans 7을 가지고 있는데 프로젝트의 총 라인을 계산하는 방법이 궁금합니다.Google을 통해 살펴봤지만 검색할 때마다 막다른 골목이나 작동하지 않는 플러그인만 발견했습니다.줄 세는 법 아시는 분 계신가요?

도움이 되었습니까?

해결책

WordCount> 와 함께 작동하는 relinching/nofollow noreferrrer"> nb-wordcount 8.2에서 작동합니다

도구 -> 옵션 -> 를 구성합니다. Java와 Groovy가 일치하도록 다른 파일을 원한다면 Accept filename를 변경해야합니다.

윈도우 -> open wordCount 창 를 엽니 다. 로 이동하십시오.

통계를 표시하려면 워드 카운트 (두 번째 버튼)를 클릭하십시오. 프로젝트 (창) 에서 선택한 디렉토리의 통계를 표시합니다 (패키지 또는 소스 패키지 또는 웹 페이지와 같은 프로젝트를 선택하면 작동하지 않습니다).).

또한 Linux에있는 경우 간단히 실행할 수 있습니다 :

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

다른 팁

나는 이것이 매우 오래된 질문이라는 것을 알고 있지만 플러그인 설치를 포함하지 않는 netbeans 프로젝트에서 줄 수를 찾는 더 간단한 방법이 있습니다.

  1. 폴더 또는 패키지를 마우스 오른쪽 버튼으로 클릭하여 라인의 양을 찾으려고합니다.
    메모:프로젝트 자체를 마우스 오른쪽 버튼으로 클릭하지 마십시오. 그러면 생성된 모든 파일의 행 수도 계산됩니다.
  2. 클릭 Find 또는 Find in Files 또는 Ctrl 키에프.
  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
.

누락 된 경우 알려 주시기 바랍니다. 올바르게 해결하기 위해 최선을 다할 것입니다.감사합니다!

Source Code Metrics 를 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top