ไม่รวมโฟลเดอร์จากการค้นหา แต่ไม่รวมอยู่ในรายการโปรเจ็กต์


100

coreผมมีโครงการที่แตกต่างกันไม่กี่ด้วยเหมือนกัน

สิ่งที่ฉันต้องการคือทำเครื่องหมายโครงการที่ไม่ใช่ปัจจุบันทั้งหมดexcludedเพื่อหลีกเลี่ยงการค้นหาผ่าน (ค้นหาง่าย shift + cmd + n เป็นต้น)

ในคำอื่น ๆ ที่ฉันต้องการที่จะมีผลการค้นหาจาก+corecurrent project

มีวิธีใดบ้างที่ทำcloseบางโครงการ แต่มีให้ใช้งานprojects listและopenทำได้ง่ายเหมือนปิดไปแล้วหรือไม่? หรือคุณอาจมีประสบการณ์อื่น?

ป้อนคำอธิบายภาพที่นี่


7
แยกออกจากการค้นหาข้อความปกติ - ง่ายเพียงกำหนดขอบเขตที่กำหนดเอง (ค่ากำหนด | ขอบเขต) และใช้ใน "ค้นหา / แทนที่ในเส้นทาง" และกล่องโต้ตอบที่คล้ายกัน แต่จะใช้ไม่ได้กับ "Navigate | File / Class / Symbol" เนื่องจากใช้ได้กับทั้งโปรเจ็กต์เสมอ แทนที่จะเป็นอย่างนั้น - จัดโครงสร้างโฟลเดอร์ของคุณใหม่ดีกว่า ("ซ่อนโฟลเดอร์นี้เพราะฉันทำงานกับโฟลเดอร์อื่น" ไม่ใช่แนวทางที่ถูกต้อง)
LazyOne

ใช่ฉันวิธีหนึ่งในการทำสิ่งที่ฉันต้องการคือการสร้างสำหรับแต่ละโฟลเดอร์แยกโครงการและสร้าง symlink ไปยังcoreโฟลเดอร์ แต่ฉันกำลังมองหาวิธีอื่น
Vitalii Petrychuk

1
ไม่จำเป็น symlink (แม้ว่าฉันจะใช้มันเช่นกัน - ใช้ได้ดีสำหรับฉัน) คุณสามารถแนบเป็นรูทเนื้อหาเพิ่มเติมแทน (การตั้งค่า | ไดเรกทอรี)
LazyOne

เยี่ยมมาก! กรุณาโพสต์คำตอบของคุณเป็นคำตอบและฉันจะยอมรับมัน
Vitalii Petrychuk

คำตอบ:


69

เพื่อนำไปใช้ใช้ค้นหาที่กำหนดเองขอบเขตSetting> Project Settings> Scopesจะใช้สำหรับการหรือFind in Path ฉันขอแนะนำให้จัดระเบียบโฟลเดอร์ของคุณใหม่เพื่อไม่ให้ไฟล์ที่ไม่จำเป็นเหลืออยู่ในไดเรกทอรีโครงการ นอกจากนี้คุณยังสามารถระบุแหล่งที่มาของรากโดยไป> > และการเพิ่มไดเรกทอรีเพิ่มเติมReplace in Path
SettingsProject SettingsDirectories


4
คุณสามารถสร้างขอบเขตด้วยสิ่งนี้:!file[*]:.idea/*&&!file[*]:.idea//*&&!file[*]:app/cache//*&&!file[*]:app/logs//*
Roukmoute

13
FYI สำหรับผู้ใช้ Mac คือPhpStorm > Preferences > Appearance & Behavior > Scopes
Wesley Smith

ฉันคิดว่าคำตอบนี้ล้าสมัยแล้ว การตั้งค่า> การตั้งค่าโครงการ> ขอบเขตดูเหมือนจะไม่มี
Andrew

3
@Andrew อยู่ภายใต้การตั้งค่า> ลักษณะที่ปรากฏและพฤติกรรม> ขอบเขตสำหรับ CE 2016.3
tex

ขอบคุณ tex ... นั่นคือสิ่งเดียว
แอนดรูว์

47

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

คลิกขวาที่โฟลเดอร์ใดก็ได้เพื่อเปิดตัวเลือกต่อไปนี้

ไม่รวมจากการค้นหา


ใช้ได้กับการพัฒนาแพ็คเกจ Laravel วิธีที่แนะนำในการสร้างโฟลเดอร์แพ็คเกจในรูทโปรเจ็กต์ของคุณ ตอนนี้มันจะใช้คลาสเดียวกับโปรเจ็กต์หลักของคุณดังนั้นคุณจะได้รับข้อผิดพลาดที่ซ้ำกันจำนวนมาก คลิกขวาและทำสิ่งนี้และทำงานได้เหมือนเวทมนตร์ แนวทางขอบเขตไม่ได้ผลสำหรับฉัน!
Juha Vehnia

40

ขณะที่รุ่น2016.3นี้จะอยู่ภายใต้ การตั้งค่า > ลักษณะและพฤติกรรม > ขอบเขต

หรือไม่ว่าจะเป็นเวอร์ชันใดก็ตามเพียงไปที่การตั้งค่าและพิมพ์ "ขอบเขต" ในช่องค้นหาที่ด้านบน

จากนั้นคลิกที่สัญลักษณ์ + เพื่อเพิ่มขอบเขตเลือกโฟลเดอร์ที่คุณต้องการยกเว้นจากนั้นคลิกไม่รวมซ้ำแล้วใช้

จากนั้นเมื่อคุณค้นหาโดยใช้ CTRL + SHIFT + F ภายใต้ตัวเลือก> ขอบเขตให้เลือกกำหนดเองและเลือกขอบเขตที่คุณเพิ่งสร้างขึ้น (ขอบคุณผู้แสดงความคิดเห็น)


4
เพียงแค่ต้องการเพิ่มหากคุณใช้ FIND เช่น cmd + shift + F จากนั้นในแท็บตัวเลือกคุณสามารถวิทยุกำหนดเองจากนั้นเลือกวงรีจากนั้นจะเปิดเครื่องมือขอบเขตและคุณสามารถเลือกหรือสร้างขอบเขตเพื่อแยกสิ่งที่คุณต้องการได้
daveferrara1

4
This automatically excludes this folder's contents from the searches...หลังจากที่ฉันสร้างขอบเขตที่กำหนดเองแล้วการค้นหา Ctrl + Shift + F ยังคงค้นหาทั่วโลกจนกว่าฉันจะเลือก "กำหนดเอง" อย่างชัดเจนและเลือกขอบเขตของฉันตามที่ @ daveferrara1 แนะนำ
Dimitry K

1
ในปี 2020: หลังจากคลิก + ตัวเลือกLocalvs Sharedหมายความว่าการยกเว้นจะเข้าสู่ VCS หรือไม่ แล้วคุณจะต้องตั้งชื่อมัน จากนั้นหลังจากขั้นตอนของ @ DimitryK (ตอนนี้เรียกว่าScopeแท็บ) คุณต้องเลือกชื่อเดียวกันนั้นในเมนูแบบเลื่อนลง (Jetbrains UX กำลังปรับเปลี่ยนคนอื่นให้กลายเป็นชายชราที่ไม่พอใจหรือไม่)
Bob Stein

2

เช่นเดียวกับ @Justinas และผู้แสดงความคิดเห็นกล่าวว่า: คุณสามารถสร้างขอบเขตที่กำหนดเองและรบกวนตัวเองทุกครั้งโดยเลือกขอบเขตที่กำหนดเองนั้นเมื่อใช้Find in Path (และคล้ายกัน) เนื่องจาก PhpStorm ไม่ได้ใช้ขอบเขตที่กำหนดเองตามค่าเริ่มต้น 🤦🏻‍♂️

การยกเว้นไดเร็กทอรีnode_modulesจะทำให้การเติมข้อความอัตโนมัติและฟังก์ชันการช่วยเหลือโค้ดอื่น ๆ ไม่สมบูรณ์ คุณไม่ต้องการทำเช่นนั้น

อย่างไรก็ตามฉันพบแฮ็คที่ไม่ต้องการการยกเว้นไดเร็กทอรีของnode_modulesหรือขอบเขตที่กำหนดเอง:

  1. ปิด PhpStorm ตรวจสอบให้แน่ใจว่ามันไม่ทำงาน
  2. เปิดname_of_your_project.imlในไดเร็กทอรี . ideaภายในไดเร็กทอรีโปรเจ็กต์ของคุณด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ ตราบใดที่ไม่ใช่ PhpStorm
  3. ลบบรรทัด <content url="file://$MODULE_DIR$/node_modules" />
  4. บันทึก
  5. สนุกกับชีวิตอีกครั้ง

ฉันพบว่า JetBrains เป็นมือสมัครเล่นที่จะรวมไดเร็กทอรีการจัดเก็บข้อมูลอ้างอิงเช่นnode_modulesของ JavaScript / TypeScript และผู้ขาย PHP ตามค่าเริ่มต้น แทบจะไม่มีกรณีการใช้งานใด ๆ เลยที่จะรวมไดเรกทอรีเหล่านั้นไว้ในฟังก์ชันการค้นหาและแทนที่ฟังก์ชันการทำงานของ refactor เพียงอย่างเดียว

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