วิธีการนับจำนวนบรรทัดของรหัส Java โดยใช้ IntelliJ IDEA


คำตอบ:


382

สถิติปลั๊กอินทำงานสำหรับฉัน

วิธีติดตั้งจาก Intellij:

ไฟล์ - การตั้งค่า - ปลั๊กอิน - เลือกดูที่เก็บ ... ค้นหาในรายการและดับเบิลคลิกที่มัน

เปิดหน้าต่างสถิติจาก:

ดู -> เครื่องมือ Windows -> สถิติ


12
ปลั๊กอินสถิติทำงานร่วมกับ IntelliJ IDEA 12 และยังแสดงจำนวนและเปอร์เซ็นต์สำหรับบรรทัดความคิดเห็นและบรรทัดว่างเทียบกับบรรทัดทั้งหมด อาจใช้เอกสารอีกเล็กน้อย เปิดใช้งานผ่านปุ่มใหม่ที่ติดตั้งที่มุมซ้ายล่างของหน้าต่าง IntelliJ IDEA มันมีการตั้งค่าเพิ่มเติม: ไฟล์ - การตั้งค่า - (การตั้งค่าโครงการ) สถิติ
RenniePet

1
ปลั๊กอินสถิติให้การนับไฟล์เพิ่มเติมจากการนับบรรทัด ฉันไม่พบจำนวนไฟล์ที่มีปลั๊กอิน Metrics Reloaded
Benjamin

4
ใช้งานได้กับ IDEA 2017.2.5 โครงการ> 150 kLOC แต่ไม่นับกลุ่มไม่มีต่อโมดูล / ต่อโฟลเดอร์แหล่งที่มา -> ไร้ประโยชน์ส่วนใหญ่: - /
barfuin

1
ปลั๊กอินนี้ไม่ทำงานเลยในปี 2018.1 The View -> Tool windows -> Stastistic แสดงหน้าต่างว่างเปล่า
Yngvar Kristiansen

4
@YngvarKristiansen คุณต้องรีเฟรชเริ่มต้น (มุมบนซ้าย)
Alexandru Tomuta

109

'\n'วิธีที่รวดเร็วและสกปรกคือการทำค้นหาทั่วโลกสำหรับ คุณสามารถกรองมันในแบบที่คุณชอบในไฟล์นามสกุล ฯลฯ

Ctrl-Shift-F-> ข้อความที่จะหา = '\n'-> ค้นหา

แก้ไข: และต้องตรวจสอบ 'นิพจน์ปกติ'


3
ใช่ แต่มันจะทำการค้นหาไฟล์ทั้งหมดที่อยู่ในไลบรารีของคุณ (เช่น: หากคุณกำลังสร้างเว็บแอปพลิเคชันมันจะตรวจสอบทุกบรรทัดของ JQuery)
somid3

9
แฮ็คที่ยอดเยี่ยม!
damienix

แนวคิดที่ดี แต่ถ้าคุณตัดบรรทัดว่างทั้งหมดก่อนหรือต้องการให้นับอย่างชัดเจน
Marcel Stör

2
@ MarcelStörลองด้วย "(. +) \ n"
algorhythm

1
กำลังค้นหา regex ". +" ทำงานได้ดีขึ้น มันจะไม่พลาดบรรทัดสุดท้ายในไฟล์หากไม่มีบรรทัดใหม่ต่อท้ายเช่น "\ n" หรือ ". + \ n" จะ นอกจากนี้ยังตรงกับความหมายของการค้นหาของคุณที่ดีกว่านั่นคือเส้นที่มีอักขระ
Buttons840

47

ในอดีตที่ผ่านมาฉันใช้ปลั๊กอินชื่อMetricsReloadedเพื่อรับข้อมูลนี้

คุณสามารถติดตั้งได้จากที่เก็บ JetBrains

เมื่อติดตั้งแล้วเข้าถึงผ่าน: วิเคราะห์ -> คำนวณตัวชี้วัด ...


เห็นด้วยจำเป็นต้องมีเอกสารประกอบ หนึ่งจะเปิดใช้งานปลั๊กอินเมื่อติดตั้งได้อย่างไร
Jeremy Brooks

4
หากต้องการตอบคำถามของฉัน: วิเคราะห์ -> คำนวณตัวชี้วัด
Jeremy Brooks

ไม่ทำงานกับ IntelliJ IDEA 12: github.com/BasLeijdekkers/MetricsReloaded/issues/19
RenniePet

ใช้งานได้ใน IDEA 12 ตอนนี้ไม่พบในที่เก็บที่คุณต้องติดตั้งผ่านการดาวน์โหลดด้วยตนเอง
sjakubowski

ปลั๊กอินทำงานอย่างถูกต้องกับ IDEA 13 เมื่อติดตั้งผ่านที่เก็บ
Benjamin

24

เหมือนนีลพูดว่า:

Ctrl-Shift-F-> ข้อความที่จะหา = '\n'-> ค้นหา

ด้วยการปรับปรุงเพียงครั้งเดียวถ้าคุณป้อน"\n+"คุณสามารถค้นหาบรรทัดที่ไม่ว่างเปล่าได้

หากบรรทัดที่มีพื้นที่ว่างเท่านั้นสามารถถูกพิจารณาว่าว่างเปล่าได้เช่นกันคุณสามารถใช้ regex "(\s*\n\s*)+"เพื่อไม่นับ


1
นี่ช้าจริงๆใช้เฉพาะในกรณีที่ไม่มีวิธีที่ดีกว่า ผมขอแนะนำให้ติดตั้ง GitBash findและการใช้
Ondra Žižka

20

แม้ว่าจะไม่ใช่ตัวเลือก IntelliJ คุณสามารถใช้คำสั่ง Bash แบบง่าย ๆ ( หากระบบปฏิบัติการของคุณคือ Linux / Unix) ไปที่ไดเรกทอรีแหล่งที่มาของคุณและพิมพ์:

find . -type f -name '*.java' | xargs cat | wc -l

1
ฉันจะทำfind . -type f -name '*.java' | xargs cat | wc -l(อ้างอิง*.javaส่วน) มิฉะนั้นสภาพแวดล้อมของเชลล์อาจขยาย*.javaเร็วเกินไปและคำสั่งจะทำงานไม่ถูกต้อง
cdmckay

1
นี่จะส่งคืนบรรทัดมากเกินไป ไม่ควรนับบรรทัดว่างเปล่า
BullyWiiPlaza

1
ละเว้นบรรทัดว่าง:find . -type f -name '*.java' | xargs cat | grep -ve '^\s*$' | wc -l
SimpleSam5

10

ปลั๊กอินสถิติทำงานได้ดี!

นี่เป็นกรณีด่วน:

  1. Ctrl+ Shift+ Aและ serach สำหรับ "สถิติ" เพื่อเปิดแผง
  2. คุณจะเห็นพาเนลเป็นภาพหน้าจอจากนั้นคลิกRefreshสำหรับโครงการทั้งหมดหรือเลือกโครงการหรือไฟล์ของคุณและ Refresh on selectionสำหรับการเลือกเท่านั้น

สถิติ



3

คุณสามารถใช้ Count Lines of Code ( CLOC )

เปิดSettings-> External Toolsเพิ่มเครื่องมือใหม่

  • ชื่อ: นับจำนวนบรรทัดของรหัส
  • กลุ่ม: สถิติ
  • โปรแกรม: path / to / cloc
  • พารามิเตอร์: $ ProjectFileDir $ หรือ $ FileParentDir $

1

ในการค้นหาทั้งหมดรวมถึงบรรทัดว่างของรหัสลองวิธีแก้ปัญหาของ @ Neil:

เปิดค้นหาในเส้นทาง ( )Ctrl+Shift+F

ค้นหานิพจน์ทั่วไปต่อไปนี้: \n'

สำหรับบรรทัดที่มีอักขระอย่างน้อยหนึ่งตัวให้ใช้นิพจน์ต่อไปนี้:

(.+)\n

สำหรับบรรทัดที่มีตัวอักษรหรือตัวเลขอย่างน้อยหนึ่งตัวให้ใช้นิพจน์ต่อไปนี้:

`(.*)([\w\d]+)(.*)\n`

แจ้งให้ทราบล่วงหน้า: แต่บรรทัดสุดท้ายของไฟล์จะถูกนับหากคุณมีตัวแบ่งบรรทัดหลังจากนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.