ฉันจะบอก“ ค้นหาในไฟล์” ของ IntelliJ ให้ละเว้นไฟล์ที่สร้างขึ้นได้อย่างไร


103

ฉันต้องการค้นหาในไฟล์ ฉันต้องการละเว้นหรือแยกไฟล์ที่สร้างขึ้นเช่นสิ่งประดิษฐ์ JAX-WS หรือคลาสในโฟลเดอร์เป้าหมาย ฉันจะบอก IDEA ให้แยกไฟล์เหล่านี้ออกจากการค้นหาได้อย่างไร


3
ใช่ และพวกเขามักจะวางผลลัพธ์ที่สร้างไว้ด้านบน! Sheesh!
SMBiggs

คำตอบ:


102

สร้างขอบเขตที่กำหนดเองเพื่อกำหนดชุดไฟล์ที่จะรวม / ไม่รวมจากการค้นหาของคุณ

  1. CTRL+ SHIFT+ Fสำหรับกล่องโต้ตอบFind in Path (ผู้ใช้ Mac กดcommand+ shift+ F)
  2. ภายใต้ขอบเขตการเลือกกำหนดเอง

    ค้นหาใน Path

  3. เลือกขอบเขตจากรายการแบบเลื่อนลงหรือสร้างขอบเขตที่กำหนดเองโดยคลิกที่...ปุ่มทางด้านขวาของเมนูแบบเลื่อนลง

  4. ในกล่องโต้ตอบที่ปรากฏขึ้นให้คลิกที่+ปุ่มแล้วเลือกLocal
  5. ในบานหน้าต่างด้านขวาคุณสามารถรวมและไม่รวมไฟล์แต่ละไฟล์และรวมหรือไม่รวมไฟล์ทั้งหมดที่อยู่ภายใต้โฟลเดอร์ซ้ำได้

ตอนนี้เมื่อคุณใช้Find in Pathให้ใช้ขอบเขตที่กำหนดเองเพื่อ จำกัด ไฟล์ที่จะค้นหา

ฉันสงสัยจากการอ้างอิงถึงFind in Filesในคำถามของคุณว่าคำแนะนำเหล่านี้อาจใช้ไม่ได้กับเวอร์ชันของคุณ แต่จะมีประโยชน์ที่จะทราบว่ามีฟังก์ชันนี้อยู่และมีเวอร์ชันประเมินผล 30 วันเสมอ


2
ที่ได้ผล ขอบคุณ. ฉันหวังว่าจะมีการตั้งค่าหรือช่องทำเครื่องหมายบางอย่างที่ฉันมองข้ามไปเพื่อผลของ "ละเว้นไฟล์ที่สร้างขึ้น"
Freiheit

1
@Freiheit คุณอาจสามารถให้โครงการของคุณละเว้นไฟล์ที่สร้างขึ้นได้เช่นกันซึ่งจะแยกพวกเขาออกจากการค้นหาและสิ่งที่ชอบโดยค่าเริ่มต้นทุกที่ (เว้นแต่คุณจะชอบดูหรือต้องการไฟล์ที่สร้างขึ้นใน IntelliJ แน่นอน)
ajp15243

3
@ ajp15243 ซึ่งสามารถทำได้ในการตั้งค่า -> ขอบเขตโครงการ
:)

1
สำหรับการอ้างอิงขั้นตอนเหล่านี้จะทำงานเหมือนกันใน IntelliJ Ultimate 13
kurtzbot

1
คำตอบที่ดี @RobKielty :) คุณช่วยฉันจากชั่วโมงแห่งความผิดหวังทุกวัน
Shanimal

51

ฉันรู้ว่านี่เป็นงานปาร์ตี้สายและคำตอบของร็อบก็เป็นคำตอบที่ดี ฉันแค่ต้องการเพิ่มทางเลือกต่อไปนี้: ถ้าคุณเลือกCustomขอบเขต (ตามคำตอบของ Rob) จากนั้นปล่อยการเลือกไว้ที่Project Filesสิ่งนี้จะทำให้การค้นหา IntelliJ มีการเลือกมากกว่าโดยค่าเริ่มต้นเล็กน้อย ผมไม่ทราบว่าสิ่งที่แตกต่างที่แน่นอนมี แต่ความสนใจเป็นพิเศษก็คือว่าถ้าคุณทำเครื่องหมายไดเรกทอรีเป็นExcludedทั้งการใช้Modulesแท็บในProject Structureการตั้งค่าหรือโดยการคลิกขวาที่ไดเรกทอรีและเลือก->Mark Directory AsExcluded

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

ฉันทดสอบสิ่งนี้ใน IntelliJ Ultimate 14.1.4 ฉันไม่รู้ว่ามันทำงานอย่างไรในเวอร์ชันอื่น ๆ แต่ฉันสงสัยว่า v14 ส่วนใหญ่อย่างน้อยก็จะทำงานเหมือนกัน


ฉันทำเครื่องหมายไดเรกทอรีที่ถูกยกเว้นโดยไม่ได้ตั้งใจวิธีการรวมอีกครั้ง ตัวเลือกบริบท "ทำเครื่องหมายไดเรกทอรีเป็น" จะไม่ปรากฏสำหรับไดเรกทอรีนั้นอีกต่อไป
coding_idiot

2
@coding_idiot Mark Directory Asยังคงปรากฏให้ฉันเห็นเมื่อฉันทำเช่นนั้น (ตัวเลือกให้เลือกคือตอนนั้นCancel Exclusion) หากเหตุผลบางประการไม่ได้ผลสำหรับคุณคุณควรจะทำสิ่งเดียวกันได้โดยเปิดการModuleตั้งค่า ( Project Settings-> Modules-> <your module>) ในกล่องโต้ตอบนั้นโฟลเดอร์ที่ถูกยกเว้นทั้งหมดควรอยู่ทางด้านขวาพร้อมกับxถัดจากโฟลเดอร์นั้นเพื่อหยุดการยกเว้น
Thor84no


16

คุณยังสามารถใส่ตัวกรองไฟล์ค้นหาโดยเริ่มต้นด้วย!เครื่องหมายเพื่อยกเว้น ตัวอย่างรหัสค้นหาที่ไม่อยู่ในไฟล์ Test Java: !*Test.java

หากคุณมีไฟล์สองสามประเภทคุณสามารถแยกด้วย,เครื่องหมาย ตัวอย่างการค้นหาในไฟล์ Kotlin และ Groovy เท่านั้น: *.kt,*.groovy

สิ่งนี้อาจเป็นประโยชน์เช่นกัน


นั่นเป็นประโยชน์
javadba

4

ฉันใช้รูปแบบถัดไปเพื่อยกเว้นไฟล์ที่สร้างขึ้น

!file:*intermediates*/&&!file:*generated*/&&!lib:*..*

วิธีเพิ่มรูปแบบนี้ทำตาม

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