Wählen Sie Ordner aus, die bei der Suche in VS Code ignoriert werden sollen


364

Wenn ich jetzt + verwende O, um nach Dateien zu suchen, scheint der Fuzzy-Abgleich für alle Dateien im aktuellen Projekt zu funktionieren. Leider enthält dies eine Reihe von Dateien aus Build- und Herstellerverzeichnissen. Wenn ich zum Beispiel nach allen JavaScript-Dateien suchen und + tun Ound eingeben möchte .js, enthalten die Datei- und Symbolergebnisse ungefähr 1500 Treffer, und alle außer den beiden sind völliges Rauschen.

Gibt es eine Möglichkeit, bestimmte Verzeichnisse anzugeben, die zum Zwecke der Suche ignoriert werden sollen?


1
Hmm, Moment mal, 2019 bedeutet ⌘O "Datei öffnen ...", und ich bezweifle, dass VS Code viel Kontrolle über die (betriebssystemspezifischen) Suchfunktionen hat, die Sie dort möglicherweise sehen. Es könnte der Lage sein , die Dateien nur auf bestimmte Erweiterungen zu filtern?
SamB

Antworten:


689

Diese Einstellungen scheinen sich seit der Antwort von @ alex-dima geändert zu haben.

Einstellungen ändern

Wählen Sie im Menü: Datei -> Einstellungen -> Einstellungen -> Benutzer- / Arbeitsbereichseinstellungen. Filtern Sie die Standardeinstellungen nach search.

Sie können die search.excludeEinstellung ändern (von der Standardeinstellung in Ihre Benutzer- oder Arbeitsbereichseinstellungen kopieren). Dies gilt nur für Suchvorgänge. Beachten Sie, dass die Einstellungen von files.excludeautomatisch übernommen werden.

Wenn die Einstellungen nicht funktionieren :

  1. Stellen Sie sicher, dass Sie den Suchausschluss nicht deaktivieren. Erweitern Sie im Suchbereich das Eingabefeld "Auszuschließende Dateien" und stellen Sie sicher, dass das Zahnradsymbol ausgewählt ist.

  2. Möglicherweise müssen Sie auch den Editorverlauf löschen (siehe: https://github.com/Microsoft/vscode/issues/6502 ).

Beispieleinstellungen

Zum Beispiel entwickle ich eine EmberJS-Anwendung, die Tausende von Dateien im tmp- Verzeichnis speichert .

Wenn Sie WORKSPACE SETTINGSauf der rechten Seite des Suchfelds auswählen , wird der Suchausschluss nur auf dieses bestimmte Projekt angewendet. Ein entsprechender .vscodeOrdner wird dem Stammordner hinzugefügt, der enthält settings.json.

Dies sind meine Beispieleinstellungen:

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

Hinweis : Fügen Sie am Anfang eines Suchausschlusses ein ** ein, um den Suchbegriff für alle Ordner und Unterordner abzudecken.

Bild der Suche vor dem Aktualisieren der Einstellungen :

Vor dem Aktualisieren der Einstellungen sind die Suchergebnisse ein Chaos.

Bild der Suche vor dem Aktualisieren der Einstellungen

Bild der Suche nach dem Aktualisieren der Einstellungen:

Nach dem Aktualisieren der Einstellungen sind die Suchergebnisse genau das, was ich will.

Bild der Suche nach dem Aktualisieren der Einstellungen.


16
Das hat in der letzten Version für mich aufgehört zu funktionieren ... eine Idee warum?
NSjonas

3
Gibt es eine Möglichkeit, dies auf die Funktion "Schnellöffnung" anzuwenden? Strg + P auf dem PC und Cmd + P auf dem Mac. Wenn ich mit dieser Funktion nach Dateien suche, werden sie immer noch angezeigt.
glandrum101

7
Stellen Sie sicher, dass Sie Ihren Editorverlauf löschen, damit dies funktioniert. github.com/Microsoft/vscode/issues/6502
Jaydeep Solanki

5
Ich musste den Befehl " Editorverlauf löschen" ausführen (siehe hier: github.com/Microsoft/vscode/issues/6502#issuecomment-273697138 ) und VS Code neu starten, damit dies für mich funktioniert.
Isaac Gregson

19
Beachten Sie, dass es möglich ist, den Suchausschluss beim Durchsuchen von Dateien zu deaktivieren. Erweitern Sie im Suchbereich das Eingabefeld "Auszuschließende Dateien" und stellen Sie sicher, dass das Zahnradsymbol ausgewählt ist. Dadurch wird sichergestellt, dass Ihre Einstellungen für den Suchausschluss berücksichtigt werden.
Robert Waddell

167

Stellen Sie sicher, dass das Zahnrad "Einstellungen ausschließen und Dateien ignorieren" ausgewählt ist Geben Sie hier die Bildbeschreibung ein


5
Wie würde man mehrere Ordner ausschließen?
Wouter Vanherck

23
@WouterVanherck Sie würden einfach ein Komma hinzufügen, um jede Datei oder jeden Ordner, die Sie ausschließen möchten, zu trennen. Beispiel:./src/public/,src/components/
Sgnl

44

Update April 2018

Sie können dies im Suchbereich von vscode tun, indem Sie jedem Ordner oder jeder Datei, die Sie ausschließen möchten, ein Ausrufezeichen voranstellen.

Geben Sie hier die Bildbeschreibung ein


Genau! perfekt
Taffarel Xavier

25

Diese Antwort ist veraltet

Wenn dies Ordner sind, die Sie in einem bestimmten Arbeitsbereich ignorieren möchten, können Sie zu folgenden Elementen wechseln:

AppMenu > Preferences > Workspace Settings

Wenn Sie andernfalls möchten, dass diese Ordner in allen Arbeitsbereichen ignoriert werden, gehen Sie zu:

AppMenu > Preferences > User Settings

und fügen Sie Ihrer Konfiguration Folgendes hinzu:

//-------- 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"
],

Der Unterschied zwischen Arbeitsbereich und Benutzereinstellungen wird in den Anpassungsdokumenten erläutert


9
Wenn es veraltet ist, aktualisieren Sie es entweder oder löschen Sie es, um Verwirrung und mögliche Abstimmungen zu vermeiden!
user3413723

1
seroiusly, mach eine Bearbeitung. Die oben akzeptierte Antwort FUNKTIONIERT im neuesten VS-Code unter macOS. Lassen Sie also Ihre BS für Upvotes fallen und leisten Sie einen nützlichen Beitrag zur eigentlichen Antwort.
Heisian

18

Wenn ich das richtig verstehe, möchten Sie Dateien vom vscode-Fuzzy-Finder ausschließen. Wenn dies der Fall ist, sind die obigen Antworten vermutlich für ältere Versionen von vscode. Was für mich funktioniert hat, ist hinzuzufügen:

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

zu meinem settings.json. Diese Datei kann geöffnet werden durch File> Preferences>Settings


15

Ich bin ein Idiot , so dass es mir dauerte eine Weile , dies zu realisieren, aber stellen Sie sicher , dass das Zahnrad - Symbol auf der globalen Suche geklickt wird , so können Sie Ihre Einstellungen angewendet werden.

Visual Studio Code Gear-Symbol bei der Suche angeklickt


1
du bist kein Idiot, weil dies die Antwort ist, die es für mich behoben hat. Ich muss in der Vergangenheit versehentlich auf dieses Symbol geklickt haben. Es ist so offensichtlich, dass dieses kleine Symbol dies steuert und es kaum wahrnehmbar ist, wenn es aktiviert oder deaktiviert ist
vesperknight

Sie sind sicherlich kein Idiot, weil Sie dieses wundervolle Stück UX verpasst haben, aber können Sie mir sagen, wie sich Ihre Antwort von dieser früheren Antwort unterscheidet , wenn dies der Fall ist - nun, jenseits dieser Antwort im dunklen Modus? ; ^ D
Ruffin

3

Ich wollte einen der Workspace-Ordner vollständig ausschließen, fand dies jedoch schwierig, da unabhängig von den Ausschlussmustern immer die Suche in jedem der Workspace-Ordner ausgeführt wird.

Am Ende bestand die Lösung darin **, den Sucheinstellungen Ausschlussmuster für die Ordnereinstellungen hinzuzufügen .

Geben Sie hier die Bildbeschreibung ein


2

Führen Sie nach dem Einrichten von search.exclude und file.exclude, die in den vorherigen Antworten erwähnt wurden, den Befehl "Editorverlauf löschen" aus (Verwenden Sie dazu die Befehlspalette - STRG + UMSCHALT + P).

Erst danach werden die ausgeschlossenen Dateien nicht in Ihrem Schnellöffnungsmenü angezeigt.

Update: Sie können auch den Befehl "Befehlsverlauf löschen" ausführen. Ich habe das vergessen.


1

Vergessen Sie oben für vscode Suchmuster ausschließen, versuchen Sie, unter Muster zu arbeiten, es funktioniert für jeden Ordner in vscode letzte Version!

! ../../../ locales / *

Zum Beispiel habe ich wie unten gesucht vscode Beispiel Clude Einstellungen

Zu enthaltende Dateien: * .js

auszuschließende Dateien: ** / node_modules ,! ../../../ locales / ,! ../../../ theme / ,! ../../ admin / client / *



0

Die kurze Antwort besteht darin, die Ordner, die Sie in "Auszuschließende Dateien" ignorieren möchten, durch Kommas zu trennen .

  1. Starten Sie die Suche im gesamten Arbeitsbereich: STRG + UMSCHALT + f
  2. Erweitern Sie die globale Suche mit der Dreipunktschaltfläche
  3. Geben Sie Ihren Suchbegriff ein
  4. Als Beispiel in die Dateien zum Ausschließen des Feldes -input schreibenbabel,concat in das zum Ausschließen von um den Ordner "babel" und den Ordner "concat" bei der Suche auszuschließen (stellen Sie sicher, dass die Schaltfläche "Ausschließen" aktiviert ist).
  5. Drücken Sie die Eingabetaste, um die Ergebnisse zu erhalten.


-1

Erstellen Sie eine Datei mit .gitignore und geben Sie den Ordner- oder Dateinamen ein, den Sie ignorieren möchten.

um alles unter dem Ordner node_modules zu ignorieren

echo node_modules/ > .gitignore 

3
Die Frage ist nicht über Git
Saman Shafigh

-1

Ich wollte in allen Dateien nach dem Begriff "Stripe" suchen, mit Ausnahme derjenigen in einem Plugin ("Plugin" -Ordner) oder in den Dateien, die mit ".bak", ".bak2" oder ".log" enden (dies befindet sich im wp -contents Ordnerstruktur einer WordPress-Installation).

Ich wollte diese Suche nur einmal und sehr schnell durchführen, damit ich die Sucheinstellungen meiner Umgebung nicht ändern konnte. So habe ich es gemacht (beachten Sie die doppelten Sternchen für den Ordner):

  • Suchbegriff: Streifen
  • Dateien einschließen: {leer}
  • Dateien ausschließen: * .bak *, * .log, ** / plugins / **

So sah es aus

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.