แยกโฟลเดอร์ออกจากการค้นหา Eclipse


263

มีวิธีในการแยกโฟลเดอร์ (และโฟลเดอร์ย่อยทั้งหมด) ออกจากการค้นหาภายใน Eclipse หรือไม่?


1
ชาว Google: ดู (คำตอบของ atzz :) stackoverflow.com/a/6111002/1599699 - นี่คือคำตอบที่คุณกำลังค้นหาไม่ใช่คำตอบที่ยอมรับ
Andrew

@Andrew นี่เป็นคำตอบที่ได้รับการยอมรับแล้ว
Dónal

เพียงเพื่อมนุษยชาติทั้งหมด!
Andrew

คำตอบ:


241

นี่คือสิ่งที่ได้ผลสำหรับฉัน (ฉันใช้ Helios - บางทีวิธีนี้อาจไม่สามารถใช้ได้เมื่อมีการถามคำถามนี้ในตอนแรก)

  • ไปที่โครงการ -> คุณสมบัติ -> ตัวกรองทรัพยากร
  • คลิกAdd
  • เลือกประเภทตัวกรอง : ไม่รวมทั้งหมด
  • เลือกใช้กับ : โฟลเดอร์ ; ตรวจสอบเด็กทุกคน (recursive)
  • ในคุณสมบัติให้เลือกชื่อ , ตรงกัน , .svn(ตัวอย่าง)

(อันที่จริงฉันใช้.*เพื่อกรอง. svn, .hg ฯลฯ ในครั้งเดียว)

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


27
สำหรับ Eclipse รุ่นล่าสุดในปี 2011 (Helios & Indigo) นี่ควรเป็นคำตอบที่ยอมรับได้และเป็นวิธีที่ง่ายที่สุดในการทำ
AndrásSzepesházi

9
เนื่องจากสามารถใช้กับโครงการได้ครั้งละหนึ่งโครงการเท่านั้นจึงไม่ได้รับประโยชน์จากการทำเครื่องหมายโฟลเดอร์ที่ได้รับ ... และขึ้นอยู่กับจำนวนครั้งที่คุณต้องพิมพ์ในตัวกรองจึงอาจใช้เวลานานขึ้น
egid

เมื่อใช้วิธีนี้ให้แน่ใจว่าได้ล้างประวัติการค้นหาของคุณด้วย (โดยใช้ปุ่มลูกศรที่มีไฟฉายลงในแผงการค้นหา) หลังจากเพิ่มตัวกรองทรัพยากร มิฉะนั้นคุณจะไม่ประหยัดเวลาในการค้นหาและคุณจะได้รับ.git/.../filename.file doesn't existข้อผิดพลาดเนื่องจากแคชการค้นหา (ฉันคิดว่า?) ยังถือว่าโฟลเดอร์. git เป็นสถานที่ที่ถูกต้อง
coredumperror

18
ใช้งานได้ แต่ซ่อนไฟล์ใน package explorer เราอาจต้องการแก้ไขไฟล์ แต่ไม่สามารถดูได้ในผลการค้นหา
Aram Kocharyan

เมื่อฉันพยายามมันใช้งานได้สำหรับการกรองผลการค้นหา แต่ฉันเริ่มได้รับข้อผิดพลาด "ข้อผิดพลาดในการใช้ตัวสร้าง 'AspectJ Builder' ในโครงการ 'Mercadosa-webapp' มีทรัพยากรอยู่ในดิสก์อยู่แล้ว: '/MyProject/target/MyProject-1.0/WEB -INF / freemarker / site / file.ftl 'มีทรัพยากรอยู่ในดิสก์แล้ว:' /MyProject/target/MyProject-1.0/WEB-INF/freemarker/site/file.ftl '
Marc

292

วิธีที่รวดเร็วและสกปรก:

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

วิธีที่ปลอดภัย:

สร้างชุดการทำงานรวมถึงเอนทิตีที่คุณต้องการค้นหาและค้นหาภายในชุดการทำงานนั้นเท่านั้น ดูคำตอบของ Dave Rayสำหรับรายละเอียดเกี่ยวกับขั้นตอนนี้


2
เช่นเดียวกับเดฟที่ระบุไว้ในคำตอบของเขาการตั้งสิ่งต่าง ๆ ที่ไม่ได้มาจริง ๆ อาจทำให้เกิดปัญหาได้ เช่นเดียวกับเมื่อใช้ Maven เพื่อสร้างการกระจาย
Arjan

2
ใน Juno การทำเครื่องหมายโฟลเดอร์ตามที่ได้รับไม่ได้แยกออกจากการค้นหา ฉันกำลังทำงานบน Mac OS ดังนั้นจึงอาจจะเกี่ยวข้องกับการที่เป็นฉันเห็นจำนวนของคุณสมบัติที่ทำงานไม่ถูกต้องบน OS นี้
มาร์ค

ทำงานได้สำหรับฉันใน Juno SR2 ภายใต้ MS-Windows XP และโฟลเดอร์ที่สร้างความรำคาญให้ฉันนั้นจริง ๆ แล้วได้รับ (โฟลเดอร์สร้างโดยบางครั้งมีการแสดงรายชื่อไฟล์
starblue

@Instantsoup ทำไมการค้นหาจึงไม่สามารถแยกโฟลเดอร์ได้ ฉันหมายความว่ามันมี "!" ตัวละครเพียงแค่นี้ใช่ไหม ฉันไม่เข้าใจว่าทำไมมันไม่ทำงานสำหรับฉัน
นักพัฒนา android

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

81

ฉันนึกภาพได้ว่าการทำเครื่องหมายทรัพยากรที่ได้มาอาจทำให้เกิดปัญหาในด้านอื่น สร้างชุดการทำงานกับโฟลเดอร์ที่คุณต้องการรวมไว้ในการค้นหาแทน:

  • เปิดกล่องโต้ตอบค้นหา ( Ctrl+ H)
  • เปลี่ยนขอบเขตการค้นหาเป็นชุดการทำงาน
  • คลิกเลือก ...
  • คลิกใหม่เพื่อสร้างชุดการทำงานใหม่พร้อมสิ่งที่คุณต้องการค้นหา (หรือเพิ่มทั้งหมดแล้วลบชุดที่คุณต้องการกรองออก

5
มีปัญหาเช่นกัน ดูความคิดเห็นของฉันภายใต้คำตอบของ Instantsoup ด้านบน ในบางกรณีเมื่อคุณเพิ่มไฟล์หรือโฟลเดอร์คุณต้องจำไว้ว่าต้องรวมไฟล์เหล่านี้ในการค้นหาด้วย หากคุณลืมว่าคุณได้รับภาพยนตร์เชิงลบที่อันตราย ซึ่งไม่เหมาะ
เจดับบลิว

ใน Eclipse Kepler มีกล่องโต้ตอบ "เลือกประเภทชุดการทำงาน" ที่เกิดขึ้นหลังจากคลิกใหม่ (น่าสังเกตว่าการค้นหาไฟล์ทุกประเภทจำเป็นต้องเลือก "ทรัพยากร" ณ จุดนี้)
Steve Chambers

1

วิธีที่รวดเร็วและสกปรกที่สุดใน Eclipse Juno:

  1. คลิกขวาที่โฟลเดอร์
  2. ไปที่คุณสมบัติ
  3. ไปที่ C / C ++ Build
  4. ทำเครื่องหมายที่ "ยกเว้นทรัพยากรจากการสร้าง"
  5. คลิกที่ปุ่มตกลง
  6. คลิกขวาที่โครงการ
  7. ไปที่ดัชนี
  8. คลิกสร้างใหม่
  9. ผ่อนคลาย!

1
  • คลิกขวาที่โครงการของคุณ
  • เลือก Properties
  • เลือกResource->Resource filters
  • คลิก Add filter
  • เลือกการตั้งค่าต่อไปนี้:
    • ยกเว้นทั้งหมด
    • ไฟล์และโฟลเดอร์
    • เด็กทุกคน (เรียกซ้ำ)
  • เปลี่ยนแปลง NameสำหรับProject Relative Path
  • กรอกข้อความด้วย(bin$|bin/.*|build/.*|build$)(แทนที่binและbuildด้วยชื่อของโฟลเดอร์ที่คุณต้องการยกเว้น)
  • เห็บ Regular expression

กดตกลงแล้วนำไปใช้

คำปฏิเสธ

สิ่งนี้สร้างขึ้นจากคำตอบของ @ atzz ซึ่งช่วยให้ฉันเข้าใจสิ่งนี้ อย่างไรก็ตามในขณะที่มันตอบคำถามว่าจะแยกไฟล์บางไฟล์ได้อย่างไร แต่ก็ไม่ได้ตอบคำถามว่าจะแยกโฟลเดอร์บางไฟล์ออกได้อย่างไร


0

ไม่รวมโฟลเดอร์หรือไฟล์จากการค้นหาใน Eclipse

1 Right-click on the file/folder.
3 Click on the "Properties" option.
4 Select the "Resource" option.
5 Place a check next to the "Derived" attribute.

ความหวังคือความช่วยเหลือ

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