ฉันจะแยกไดเรกทอรีออกจากแท็บ "สำรวจ" ของ Visual Studio ได้อย่างไร


269

ฉันกำลังพยายามยกเว้นหลายโฟลเดอร์ในแท็บ "สำรวจ" ใน Visual Studio Code ในการทำเช่นนั้นฉันได้เพิ่ม jsconfig.json ต่อไปนี้ลงในรูทของโครงการของฉัน:

{
    "compilerOptions": {
        "target": "ES6"
    },
    "exclude": [
        "node_modules"
    ]
}

แต่โฟลเดอร์ "node_modules" ยังคงมองเห็นได้ในแผนผังไดเรกทอรี ผมทำอะไรผิดหรือเปล่า? มีตัวเลือกอื่น ๆ อีกไหม?



ตอนนี้มี GUI! ดูคำตอบของฉัน
totymedli

คำตอบ:


486

ใช้files.exclude :

  • ไปที่ไฟล์ -> การตั้งค่า -> การตั้งค่า (หรือใน Mac Code -> การตั้งค่า -> การตั้งค่า )
  • เลือกworkspace settingsแท็บ
  • เพิ่มรหัสนี้ไปยังsettings.jsonไฟล์ที่แสดงทางด้านขวา:

    // Place your settings in this file to overwrite default and user settings.
    
    {
        "settings": {
            "files.exclude": {
                "**/.git": true,         // this is a default value
                "**/.DS_Store": true,    // this is a default value
    
                "**/node_modules": true, // this excludes all folders 
                                        // named "node_modules" from 
                                        // the explore tree
    
                // alternative version
                "node_modules": true    // this excludes the folder 
                                        // only from the root of
                                        // your workspace 
            }
        }
    }
    

หากคุณเลือกไฟล์ -> การตั้งค่า -> การตั้งค่าผู้ใช้คุณจะกำหนดค่าโฟลเดอร์ที่ไม่รวมสำหรับผู้ใช้ปัจจุบันของคุณ


8
ถ้ามีคนสงสัย: เครื่องหมายทับต่อท้ายไม่ได้ช่วย (หรือทำอันตราย) ในการ จำกัด การแยกไปยังโฟลเดอร์เท่านั้น ie "**/BACKUP/": trueดี / ไม่ดีเท่ากับไม่มีเครื่องหมายสแลชสุดท้าย
Frank Nocke

ค่าที่คุณระบุใน RHS ดูเหมือนจะถูกรวมเข้ากับค่าใน LHS สันนิษฐานได้ว่าคนหนึ่งจะต้องคัดลอกค่าจาก LHS และตั้งค่าเป็นfalseเพื่อเขียนทับค่าเริ่มต้น
roganartu

การแก้ไข: ควรเป็น "** / node_modules": จริง
Shekhar Kumar

การรับมรดกทำงานที่นี่ได้อย่างไร ฉันต้องแสดงรายการที่แยกทั้งหมดหรือเฉพาะรายการที่ไม่ได้ระบุไว้ในการตั้งค่าผู้ใช้หรือไม่
Robert Jeppesen

6
มันน่าสังเกตว่าในรุ่นปัจจุบันของรหัส (1.28.2) ที่files.excludeสำคัญเป็นภายในsettingsสำคัญของcode-workspaceไฟล์
Tom

81

ในเวอร์ชันใหม่ของรหัส VS คุณไปที่การตั้งค่า ( Ctrl+ ,) และตรวจสอบให้แน่ใจว่าได้เลือกการตั้งค่าพื้นที่ทำงานที่ด้านบนขวา

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

จากนั้นเพิ่มfiles.excludeตัวเลือกเพื่อระบุรูปแบบที่ต้องการยกเว้น

นอกจากนี้คุณยังสามารถเพิ่มได้search.excludeหากคุณต้องการแยกไฟล์ออกจากผลการค้นหาเท่านั้นและไม่ใช่จากตัวสำรวจโฟลเดอร์


7
ยกเว้นจากการค้นหาในขณะที่ยังสามารถเรียกดูไฟล์ใน explorer ได้ - สิ่งที่ฉันต้องการจริงๆขอบคุณ!
davnicwil

1
ขอบคุณที่ระบุWorkspace Settings
JJS

3
ฉันต้องวางไว้files.excludeข้างในsettings:{ ... }เมื่อนำไปใช้กับการตั้งค่าพื้นที่ทำงาน ( ไฟล์ .code-workspace ) มิฉะนั้นมันจะบ่นในบรรทัดของคุณสมบัติที่ไม่เป็นที่รู้จัก มีแท็บ "การตั้งค่าโฟลเดอร์" อันที่สาม (.vscode / settings.json) ซึ่งทำงานในวงเล็บปีกกาสุดอยู่
PAT

42

TL; DR

  1. กดCtrl+ Shift+ PหรือCommand+ Shift+ Pบน mac
  2. พิมพ์ "การตั้งค่าพื้นที่ทำงาน"
  3. เปลี่ยนการตั้งค่าไม่รวมทั้งผ่านทาง GUI หรือในsettings.json:

วิธี GUI

  1. พิมพ์ "แยก" ไปที่แถบค้นหา
  2. คลิกปุ่ม "เพิ่มรูปแบบ" เพิ่มรูปแบบยกเว้นในการตั้งค่ารหัส VS

วิธีการรหัส

  1. คลิกที่{}ไอคอนเล็ก ๆที่มุมขวาบนเพื่อเปิดsettings.json: คลิกที่ไอคอนวงเล็บเพื่อเปิด settings.json
  2. files.excludeเพิ่มโฟลเดอร์ที่จะได้รับการยกเว้น ตรวจสอบsearch.excludeและfiles.watcherExcludeอาจมีประโยชน์เช่นกัน ตัวอย่างนี้มีคำอธิบายและค่าเริ่มต้น:

    {
      // Configure glob patterns for excluding files and folders. 
      // For example, the files explorer decides which files and folders to show 
      // or hide based on this setting. 
      // Read more about glob patterns [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).
      "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true
      },
      // Configure glob patterns for excluding files and folders in searches. 
      // Inherits all glob patterns from the `files.exclude` setting.   
      // Read more about glob patterns [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).
      "search.exclude": {
        "**/node_modules": true,
        "**/bower_components": true
      },
      // Configure glob patterns of file paths to exclude from file watching. 
      // Patterns must match on absolute paths 
      // (i.e. prefix with ** or the full path to match properly). 
      // Changing this setting requires a restart. 
      // When you experience Code consuming lots of cpu time on startup, 
      // you can exclude large folders to reduce the initial load.
      "files.watcherExclude": {
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true,
        "**/node_modules/*/**": true
      }
    }
    

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการตั้งค่าอื่น ๆ ให้ดูเป็นทางการsettings.jsonอ้างอิง


6

ในเวอร์ชั่น 1.28 ของ Visual Studio Code "files.exclude"จะต้องอยู่ภายในsettingsโหนด

ส่งผลให้ไฟล์พื้นที่ทำงานที่มีลักษณะ:

{
    "settings": {
        "files.exclude": {
            "**/node_modules": true
        }
    }
}

1

ในเวอร์ชันที่ใหม่กว่าของ VSCode นี้ย้ายไปยังบล็อกการกำหนดค่าเฉพาะโฟลเดอร์

  • ไปที่ไฟล์ -> การตั้งค่า -> การตั้งค่า (หรือใน Mac Code -> การตั้งค่า -> การตั้งค่า)
  • เลือกแท็บการตั้งค่าโฟลเดอร์

จากนั้นเพิ่มบล็อก "files.exclude" แสดงรายชื่อไดเรกทอรีที่คุณต้องการแยก:

{
    "files.exclude": {
        "**/bin": true,
        "**/obj": true
    },
}

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


1

มีExplorer ยกเว้นส่วนขยายที่เป็นเช่นนี้ https://marketplace.visualstudio.com/items?itemName=RedVanWorkshop.explorer-exclude-vscode-extension

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


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


-9

ฉันจัดการเพื่อลบข้อผิดพลาดโดยการปิดการใช้งานการตรวจสอบ:

{
    "javascript.validate.enable": false,
    "html.validate.styles": false,
    "html.validate.scripts": false,
    "css.validate": false,
    "scss.validate": false
}

Obs: โครงการของฉันคือ PWA โดยใช้ StyledComponents, React, Flow, Eslint และ Prettier


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