เลือกโฟลเดอร์ที่จะถูกละเว้นระหว่างการค้นหาใน VS Code


364

ตอนนี้เมื่อฉันใช้+ Oเพื่อค้นหาไฟล์การจับคู่แบบคลุมเครือจะปรากฏขึ้นเพื่อทำงานกับไฟล์ทั้งหมดในโครงการปัจจุบัน น่าเสียดายที่สิ่งนี้มีไฟล์จำนวนมากจากไดเร็กทอรี build และผู้ขาย ตัวอย่างเช่นถ้าฉันต้องการค้นหาไฟล์ JavaScript ทั้งหมดและทำ+ Oและพิมพ์.jsผลลัพธ์ของไฟล์และสัญลักษณ์จะมีประมาณ 1,500 ครั้งและทั้งหมดนั้นยกเว้นทั้งสองเสียงที่สมบูรณ์

มีวิธีการระบุไดเรกทอรีบางอย่างที่จะถูกละเว้นเพื่อวัตถุประสงค์ในการค้นหาหรือไม่?


1
อืมรอสักครู่ในปี 2019 ⌘Oหมายถึง "Open File ... " และฉันสงสัยว่า VS Code มีการควบคุมสิ่งอำนวยความสะดวกการค้นหาใด ๆ (เฉพาะระบบปฏิบัติการ) ที่คุณอาจเห็นที่นั่น มันอาจจะสามารถกรองไฟล์ไปยังนามสกุลเท่านั้น?
SamB

คำตอบ:


689

การตั้งค่าเหล่านี้มีการเปลี่ยนแปลงตั้งแต่คำตอบของ @ alex-dima

การเปลี่ยนการตั้งค่า

จากเมนูเลือก: ไฟล์ -> การตั้งค่า -> การตั้งค่า -> การตั้งค่าผู้ใช้ / พื้นที่ทำงาน searchตั้งค่าตัวกรองที่จะเริ่มต้น

คุณสามารถแก้ไขการsearch.excludeตั้งค่า (คัดลอกจากการตั้งค่าเริ่มต้นไปยังการตั้งค่าผู้ใช้หรือพื้นที่ทำงานของคุณ) ที่จะใช้กับการค้นหาเท่านั้น โปรดทราบว่าการตั้งค่าจากfiles.excludeจะถูกนำไปใช้โดยอัตโนมัติ

หากการตั้งค่าไม่ทำงาน :

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

  2. คุณอาจต้องล้างประวัติการแก้ไข (ดู: https://github.com/Microsoft/vscode/issues/6502 )

ตัวอย่างการตั้งค่า

ตัวอย่างเช่นฉันกำลังพัฒนาแอ็พพลิเคชัน EmberJS ซึ่งบันทึกไฟล์นับพันภายใต้ไดเร็กทอรีtmp

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

นี่คือตัวอย่างการตั้งค่าของฉัน:

{
    // ...
    "search.exclude": {
        "**/.git": true,
        "**/node_modules": true,
        "**/bower_components": true,
        "**/tmp": true
    },
    // ...
}

หมายเหตุ : รวม ** ที่จุดเริ่มต้นของการยกเว้นการค้นหาใด ๆ เพื่อให้ครอบคลุมคำค้นหาเหนือโฟลเดอร์และโฟลเดอร์ย่อยใด ๆ

รูปภาพของการค้นหาก่อนอัปเดตการตั้งค่า :

ก่อนที่จะอัพเดตการตั้งค่าผลลัพธ์การค้นหาจะยุ่งเหยิง

รูปภาพของการค้นหาก่อนอัปเดตการตั้งค่า

รูปภาพของการค้นหาหลังจากอัปเดตการตั้งค่า:

หลังจากอัปเดตการตั้งค่าผลลัพธ์การค้นหาเป็นสิ่งที่ฉันต้องการ

รูปภาพของการค้นหาหลังจากอัปเดตการตั้งค่า


16
สิ่งนี้หยุดทำงานกับฉันในเวอร์ชันล่าสุด ... ความคิดใด ๆ
NSjonas

3
มีวิธีที่จะทำให้สิ่งนี้ใช้กับคุณสมบัติ "เปิดอย่างรวดเร็ว" หรือไม่? Ctrl + P บนพีซีและ Cmd + P บน Mac เมื่อฉันค้นหาไฟล์โดยใช้คุณสมบัตินี้พวกเขายังคงปรากฏขึ้น
glandrum101

7
ตรวจสอบให้แน่ใจว่าได้ล้างประวัติการแก้ไขของคุณเพื่อให้สามารถใช้งานได้ github.com/Microsoft/vscode/issues/6502
Jaydeep Solanki

5
ฉันต้องเรียกใช้คำสั่ง "ประวัติการแก้ไขที่ชัดเจน" (ดูที่นี่: github.com/Microsoft/vscode/issues/6502#issuecomment-273697138 ) และรีสตาร์ทรหัส VS เพื่อให้ฉันทำงานได้
Isaac Gregson

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

167

ตรวจสอบให้แน่ใจว่าได้เลือก 'ใช้การตั้งค่าแยกและละเว้นไฟล์' ป้อนคำอธิบายรูปภาพที่นี่


5
เราจะแยกหลายโฟลเดอร์ได้อย่างไร?
Wouter Vanherck

23
@WouterVanherck คุณเพียงแค่เพิ่มเครื่องหมายจุลภาคเพื่อแยกแต่ละไฟล์หรือโฟลเดอร์ที่คุณต้องการยกเว้น ตัวอย่าง:./src/public/,src/components/
Sgnl

44

อัปเดตเมษายน 2018

คุณสามารถทำสิ่งนี้ได้ในส่วนการค้นหาของ vscode โดยการแก้ไขเครื่องหมายอัศเจรีย์ล่วงหน้าไว้ที่แต่ละโฟลเดอร์หรือไฟล์ที่คุณต้องการยกเว้น

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


แน่นอน! สมบูรณ์แบบ
Taffarel Xavier

25

คำตอบนี้ล้าสมัยแล้ว

หากโฟลเดอร์เหล่านี้เป็นโฟลเดอร์ที่คุณต้องการเพิกเฉยในบางพื้นที่คุณสามารถไปที่:

AppMenu > Preferences > Workspace Settings

มิฉะนั้นถ้าคุณต้องการให้โฟลเดอร์เหล่านี้ถูกเพิกเฉยในพื้นที่ทำงานทั้งหมดให้ไปที่:

AppMenu > Preferences > User Settings

และเพิ่มสิ่งต่อไปนี้ในการกำหนดค่าของคุณ:

//-------- Search configuration --------

// The folders to exclude when doing a full text search in the workspace.
"search.excludeFolders": [
    ".git",
    "node_modules",
    "bower_components",
    "path/to/other/folder/to/exclude"
],

ความแตกต่างระหว่างการตั้งค่าพื้นที่ทำงานและผู้ใช้อธิบายไว้ในเอกสารการปรับแต่ง


9
หากมันล้าสมัยโปรดอัปเดตหรือลบเพื่อหลีกเลี่ยงความสับสนและ downvotes ที่เป็นไปได้!
user3413723

1
อย่างชาญฉลาดทำการแก้ไข คำตอบที่ยอมรับใช้งานได้ในรหัส VS ล่าสุดบน macOS ดังนั้นให้ BS ของคุณลงทะเบียนและทำประโยชน์ให้กับคำตอบจริง
heisian

18

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

"files.exclude": {
    "**/directory-you-want-to-exclude": true,
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true
}

settings.jsonของฉัน ไฟล์นี้สามารถเปิดผ่านFile> Preferences>Settings


15

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

คลิกไอคอน Visual Studio Code Gear บนการค้นหาแล้ว


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

แน่นอนว่าคุณไม่ใช่คนโง่เพราะพลาดชิ้นส่วน UX ที่ยอดเยี่ยม แต่คุณสามารถบอกฉันได้หรือไม่ว่าคำตอบของคุณแตกต่างจากคำตอบก่อนหน้านี้ถ้าใช่ - ดีกว่าคำตอบนี้ในโหมดมืดหรือไม่? ; ^ D
ruffin

3

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

ในท้ายที่สุดการแก้ปัญหาคือการเพิ่ม**ไปที่การตั้งค่าโฟลเดอร์รูปแบบการยกเว้นการค้นหา

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


2

หลังจากคุณตั้งค่า search.exclude และ file.exclude ที่กล่าวถึงในคำตอบก่อนหน้าให้เรียกใช้คำสั่ง "Clear Editor History" (ใช้ Palette Command เพื่อทำเช่นนั้น - CTRL + SHIFT + P)

หลังจากนั้นไฟล์ที่ถูกแยกจะไม่ปรากฏในเมนูเปิดด่วนของคุณ

อัปเดต: คุณสามารถเรียกใช้คำสั่ง "ล้างประวัติคำสั่ง" ได้เช่นกัน ฉันลืมเรื่องนั้นไป


1

อย่าลืม vscode ที่ไม่รวมรูปแบบการค้นหาให้ลองรูปแบบด้านล่างมันใช้งานได้กับโฟลเดอร์ใด ๆ ใน vscode รุ่นล่าสุด!

! ../../../ สถานที่ / *

เช่นฉันได้ค้นหาเช่นด้านล่าง vscode ตัวอย่างการตั้งค่า clude

ไฟล์ที่จะรวม: * .js

ไฟล์ที่จะยกเว้น: ** / node_modules,! ../../../ locales /,! ../../../ ธีม / ,! ../../ admin / ไคลเอนต์ / *



0

คำตอบสั้น ๆ คือคั่นโฟลเดอร์ที่คุณต้องการละเว้นใน "files to แยก"

  1. เริ่มค้นหาเวิร์กสเปซกว้าง ๆ : CTRL + SHIFT + f
  2. ขยายการค้นหาทั่วโลกด้วยปุ่มสามจุด
  3. ป้อนคำค้นหาของคุณ
  4. เป็นตัวอย่างในไฟล์ที่จะไม่รวม - อินพุตฟิลด์เขียนbabel,concatเพื่อแยกโฟลเดอร์ "babel" และโฟลเดอร์ "concat" ในการค้นหา (ตรวจสอบให้แน่ใจว่าปุ่มยกเว้นถูกเปิดใช้งาน)
  5. กด Enter เพื่อรับผลลัพธ์

0

ไม่รวมโฟลเดอร์ย่อยทั้งหมดทำงานเช่นนี้ (เวอร์ชั่น 2019)

ประกอบด้วย

./db

ไม่รวม

./db/*

-1

สร้างไฟล์ด้วย. gitignore และใส่โฟลเดอร์หรือชื่อไฟล์ที่คุณต้องการละเว้น

เพื่อข้ามทุกสิ่งที่อยู่ด้านล่างโฟลเดอร์ node_modules

echo node_modules/ > .gitignore 

3
คำถามที่ไม่เกี่ยวกับคอมไพล์
สมาน Shafigh

-1

ฉันต้องการค้นหาคำว่า "Stripe" ในไฟล์ทั้งหมดยกเว้นที่อยู่ในโฟลเดอร์ plugin ("plugin") หรือในไฟล์ที่ลงท้ายด้วย ".bak", ".bak2" หรือ ".log" (นี่คือภายใน wp - โครงสร้างโฟลเดอร์เนื้อหาของ wordpress ติดตั้ง)

ฉันแค่ต้องการค้นหาครั้งเดียวอย่างรวดเร็วดังนั้นฉันจึงไม่ต้องการเปลี่ยนแปลงการตั้งค่าการค้นหาของสภาพแวดล้อมของฉัน นี่เป็นวิธีที่ฉันทำ (สังเกตเครื่องหมายดอกจันคู่สำหรับโฟลเดอร์):

  • คำค้นหา: แถบ
  • รวมไฟล์: {ว่าง}
  • ยกเว้นไฟล์: * .bak *, * .log, ** / plugins / **

นี่คือสิ่งที่ดูเหมือน

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