จะดูข้อผิดพลาดในการคอมไพล์ในแผนผังโครงการของ IntelliJ Idea ได้อย่างไร?


125

ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะกำหนดค่า IntelliJ Idea ให้แสดงข้อผิดพลาดในการคอมไพล์ในไฟล์คลาสในแผนผังโครงการทันที ขณะนี้ฉันต้องการทริกเกอร์การคอมไพล์ใหม่ด้วยตนเองเพื่อดูเครื่องหมายข้อผิดพลาดในคลาสของฉันหากไม่สามารถคอมไพล์คลาสได้


1
ในทางกลับกันคุณไม่จำเป็นต้องบันทึกไฟล์ของคุณสำหรับ IntelliJ เพื่ออัปเดตแถบรางสำหรับชั้นเรียนที่คุณเปิดไว้ :-) มันไม่ได้อัปเดตโครงสร้างโครงการ
leedm777

คุณช่วยขยายฟีเจอร์นี้หน่อยได้ไหมเพราะฉันเห็นข้อผิดพลาดทันทีในมุมมองโครงการใน IDEA ฉันจึงไม่แน่ใจว่ามีอยู่หรือไม่หรือคุณกำลังขออย่างอื่น
Yishai

7
เมื่อไม่นานมานี้ฉันเปลี่ยนจาก Eclipse และมีคุณสมบัติที่คุณเห็นข้อผิดพลาดในการคอมไพล์ทันทีในแผนผังโครงการ (ไฟล์มีขีดเส้นใต้สีแดง) - ตัวอย่างเช่นหากคุณเปลี่ยนลายเซ็นของวิธีการคุณจะทำเครื่องหมายคลาสทั้งหมดที่ใช้วิธีนี้ด้วย เส้นสีแดง ดังที่คุณ joekutner อธิบายว่ามีปลั๊กอินที่จะเพิ่มลักษณะการทำงานนี้ แต่ตามที่ bert ตอบปลั๊กอินนี้ดูเหมือนจะไม่ทำงานตามที่คาดไว้ ถึงตอนนี้ฉันคิดว่าฉันจะอยู่กับคุณสมบัติพื้นฐานของ IDEA และจะเปลี่ยนแนวทางในการทำงานกับ IDE ;-)
magomi

1
สำหรับไฟล์เก็บถาวร ฉันทำงานกับ IDEA ตั้งแต่นั้นมา (เกือบ 2 ปี) หลังจากนั้นไม่กี่วันฉันก็ชินกับการทำงานโดยไม่มีคุณสมบัตินี้และตั้งแต่นั้นมาฉันก็ไม่เคยพลาดเลย
magomi

1
ไม่ข้อผิดพลาดจะไม่ปรากฏขึ้นโดยอัตโนมัติในมุมมองโครงการ
IgorGanapolsky

คำตอบ:


116

ตั้งแต่ IntelliJ 12 มีตัวเลือกในการสร้างโครงการของคุณโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงแหล่งที่มา ใน "การตั้งค่า" -> สร้าง, การดำเนินการ, การปรับใช้ -> "คอมไพเลอร์" เลือกช่องทำเครื่องหมาย "สร้างโครงการโดยอัตโนมัติ" สิ่งนี้จะแสดงข้อผิดพลาดในการคอมไพล์ทันทีในโครงสร้างโครงการ


1
การปรับปรุงที่ดีสำหรับ v12 ขอขอบคุณที่เพิ่มสิ่งนี้ในคำตอบ
keyboardurfer

8
+1 สำหรับการเรียกตัวเลือก (ซึ่งไม่ได้เปิดใช้งานโดยค่าเริ่มต้น!) แต่ดูเหมือนว่าจะไม่แสดงข้อผิดพลาดในไฟล์ในโครงสร้างโครงการตามที่ OP ขอ มีมุมมองของข้อผิดพลาดของคอมไพเลอร์ทั้งหมดที่สามารถดูได้อย่างรวดเร็วหรือไม่?
Brent Faust

5
@ MadsMobækขอบคุณ แต่ไม่มีมุมมอง "ปัญหา" ที่ระบุไว้ใน IntelliJ 12.1.4:! สกรีนช็อต
Brent Faust

2
สิ่งที่คล้ายกันนี้เป็นไปได้สำหรับคำเตือนหรือไม่?
Steven Roose

1
ไม่ทำงานเมื่อการเปลี่ยนแปลงสร้างข้อผิดพลาดในการคอมไพล์ ตัวอย่างเช่นเมื่อเมธอดสาธารณะเปลี่ยนเป็นไพรเวตฉันต้องเปิดไฟล์ที่เรียกเมธอดนี้ฉันจึงเห็นข้อผิดพลาดในการคอมไพล์สำหรับไฟล์นั้น มิฉะนั้นจะแสดงข้อผิดพลาดเมื่อฉันสร้างโครงการใหม่เท่านั้น อย่างไรก็ตามมันใช้งานได้เมื่อมีปัญหาการคอมไพล์ในไฟล์จากนั้นฉันจะแก้ไขปัญหาในไฟล์อื่น ตัวอย่าง: คลาส A ใช้เมธอดส่วนตัวของ B จากนั้นเปลี่ยนเมธอด B เป็นสาธารณะ
Jordan Silva

19

ฉันได้ทำการค้นหาเพิ่มเติมในเว็บเกี่ยวกับคุณลักษณะนี้ ในตอนท้ายดูเหมือนว่าคุณลักษณะนี้จะไม่สามารถใช้ได้ มีการอภิปรายเกี่ยวกับหัวข้อนี้ซึ่งมีการกล่าวถึงวิธีแก้ปัญหาบางอย่าง (ในมุมมองของฉัน) ส่วนใหญ่อภิปรายเป็นประโยชน์ผมพบว่าที่นี่


2
ลิงค์เสีย
slovit

1
@slovit ฉันแก้ไขลิงก์เพื่ออ้างถึงสำเนาจาก archive.org
Matt Ball

17

คุณสามารถเข้าถึงปัญหาการคอมไพล์ทั้งหมดดังนี้:

  • เปิดตัวสำรวจ "โครงการ" (โดยปกติจะเชื่อมต่อทางด้านซ้าย)
  • คลิกเมนูแบบเลื่อนลง "โครงการ" ที่มุมบนซ้าย
  • เลือก "ปัญหา" ภายใต้ "ขอบเขต"

คุณจะเห็นโครงสร้างของไฟล์และปัญหา นอกจากนี้ที่แถบเครื่องมือด้านล่างคุณจะเห็นแท็บที่เรียกว่า "ปัญหา" ซึ่งแสดงรายการทุกอย่างด้วยเช่นกัน มันไม่ง่ายที่จะใช้เหมือนมุมมอง "ปัญหา" ของ Eclipse แต่มันใกล้เคียง

ฉันใช้เวอร์ชัน 12.1.4 ไม่แน่ใจว่าฟีเจอร์นี้มีมาก่อนเวอร์ชันใด


2
สำหรับฉันขอบเขต 'ปัญหา' ไม่แสดงอะไรเลยแม้ว่าจะมีข้อความแสดงข้อผิดพลาดของคอมไพเลอร์ Java จำนวนมากในแท็บ 'ข้อความ'
Tarmo

0

คุณอาจลองใช้ปลั๊กอิน Eclipse Mode สำหรับ IntelliJ ช่วยให้คุณทำการคอมไพล์ส่วนเพิ่มเมื่อบันทึกไฟล์:

http://plugins.intellij.net/plugin/?id=3822


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