Elija las carpetas que se ignorarán durante la búsqueda en VS Code

364

En este momento, cuando uso + Opara buscar archivos, la coincidencia difusa parece funcionar en todos los archivos del proyecto actual. Desafortunadamente, esto incluye varios archivos de los directorios de compilación y proveedores. Entonces, por ejemplo, si quiero buscar todos los archivos JavaScript y hacer + Oy escribir .js, los resultados del archivo y el símbolo incluyen alrededor de 1500 resultados y todos, excepto los dos, son un ruido completo.

¿Hay alguna manera de especificar ciertos directorios que se ignorarán para fines de búsqueda?

J. Abrahamson
fuente
1
Hmm, espera un minuto, en 2019 ⌘O significa "Abrir archivo ...", y dudo que VS Code tenga mucho control sobre las instalaciones de búsqueda (específicas del sistema operativo) que puedas ver allí. ¿ Podría filtrar los archivos solo a ciertas extensiones?
SamB

Respuestas:

689

Estas preferencias parecen haber cambiado desde la respuesta de @ alex-dima.

Cambio de configuraciones

Elija en el menú: Archivo -> Preferencias -> Configuración -> Configuración de usuario / área de trabajo. Filtra la configuración predeterminada a search.

Puede modificar la search.excludeconfiguración (copie de la configuración predeterminada a su usuario o la configuración del espacio de trabajo). Eso se aplicará solo a las búsquedas. Tenga en cuenta que la configuración de files.excludese aplicará automáticamente.

Si la configuración no funciona :

  1. Asegúrese de no desactivar la exclusión de búsqueda. En el área de búsqueda, expanda el cuadro de entrada "archivos para excluir" y asegúrese de que esté seleccionado el ícono de ajustes.

  2. También es posible que deba borrar el historial del editor (consulte: https://github.com/Microsoft/vscode/issues/6502 ).

Configuraciones de ejemplo

Por ejemplo, estoy desarrollando una aplicación EmberJS que guarda miles de archivos en el directorio tmp .

Si selecciona WORKSPACE SETTINGSen el lado derecho del campo de búsqueda, la exclusión de búsqueda solo se aplicará a este proyecto en particular. Y .vscodese agregará una carpeta correspondiente a la carpeta raíz que contiene settings.json.

Esta es mi configuración de ejemplo:

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

Nota : Incluya un ** al comienzo de cualquier exclusión de búsqueda para cubrir el término de búsqueda en cualquier carpeta y subcarpeta.

Imagen de búsqueda antes de actualizar la configuración :

Antes de actualizar la configuración, los resultados de búsqueda son un desastre.

Imagen de búsqueda antes de actualizar la configuración

Imagen de búsqueda después de actualizar la configuración:

Después de actualizar la configuración, los resultados de búsqueda son exactamente lo que quiero.

Imagen de búsqueda después de actualizar la configuración.

Shotty
fuente
16
esto ha dejado de funcionar para mí en la versión reciente ... ¿alguna idea de por qué?
NSjonas
3
¿Hay alguna manera de hacer que esto se aplique a la función "Apertura rápida"? Ctrl + P en PC y Cmd + P en Mac. Cuando busco archivos con esta función, todavía aparecen.
glandrum101
77
Asegúrese de borrar el historial de su editor para que esto funcione. github.com/Microsoft/vscode/issues/6502
Jaydeep Solanki
55
Tuve que ejecutar el comando "borrar el historial del editor" (ver aquí: github.com/Microsoft/vscode/issues/6502#issuecomment-273697138 ) y reiniciar VS Code para que esto funcione para mí.
Isaac Gregson
19
Tenga en cuenta que es posible desactivar la exclusión de búsqueda al buscar archivos. En el área de búsqueda, expanda el cuadro de entrada "archivos para excluir" y asegúrese de que esté seleccionado el ícono de ajustes. Esto garantizará que se respete la configuración de exclusión de búsqueda.
Robert Waddell
167

Asegúrese de que esté seleccionado el engranaje 'Usar configuración de exclusión e ignorar archivos' ingrese la descripción de la imagen aquí

atreeon
fuente
55
¿Cómo se excluirían varias carpetas?
Wouter Vanherck
23
@WouterVanherck simplemente agregaría una coma para separar cada archivo o carpeta que desea excluir. Ejemplo:./src/public/,src/components/
Sgnl
44

Actualización de abril de 2018

Puede hacer esto en la sección de búsqueda de vscode pre-fijando un signo de exclamación en cada carpeta o archivo que desea excluir.

ingrese la descripción de la imagen aquí

Christopher Grigg
fuente
¡Exactamente! perfecto
Taffarel Xavier
25

Esta respuesta está desactualizada

Si estas son carpetas que desea ignorar en un determinado espacio de trabajo, puede ir a:

AppMenu > Preferences > Workspace Settings

De lo contrario, si desea que estas carpetas se ignoren en todos sus espacios de trabajo, vaya a:

AppMenu > Preferences > User Settings

y agregue lo siguiente a su configuración:

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

La diferencia entre el espacio de trabajo y la configuración del usuario se explica en los documentos de personalización

Alex Dima
fuente
99
Si está desactualizado, actualícelo o elimínelo para evitar confusiones y posibles votos negativos.
user3413723
1
seroiusly, haz una edición. la respuesta aceptada anteriormente FUNCIONA en el último código VS en macOS. así que abandona tu BS para votos positivos y haz una contribución útil a la respuesta real.
heisian
18

Si entiendo correctamente, desea excluir archivos del buscador difuso vscode. Si ese es el caso, supongo que las respuestas anteriores son para versiones anteriores de vscode. Lo que funcionó para mí es agregar:

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

a mi settings.json. Este archivo se puede abrir a través File> Preferences>Settings

Nahush Farkande
fuente
15

Soy un idiota, así que me llevó un tiempo darme cuenta de esto, pero asegúrese de hacer clic en el icono de engranaje en la búsqueda global para que se pueda aplicar su configuración.

Se hizo clic en el icono de Visual Studio Code Gear en la búsqueda

Pantalones
fuente
1
no eres un idiota porque esta es la respuesta que me solucionó, debo haber hecho clic accidentalmente en ese ícono en el pasado, no es tan obvio que este pequeño ícono controla esto y apenas se nota cuando está habilitado o deshabilitado
vesperknight
Ciertamente no eres un idiota por perderte esa maravillosa pieza de UX, pero ¿puedes decirme cómo la tuya es diferente a esta respuesta anterior , si es así, bueno, más allá de que esta respuesta esté en modo oscuro? ; ^ D
ruffin
3

Quería excluir por completo 1 de las carpetas de Workspace, pero encontré que esto era difícil, ya que independientemente de los patrones de exclusión, siempre ejecuta la búsqueda en cada una de las carpetas de Workspace.

Al final, la solución fue agregar **a los patrones de exclusión de búsqueda de Configuración de carpeta .

ingrese la descripción de la imagen aquí

LStarky
fuente
2

Después de configurar search.exclude y file.exclude mencionados en las respuestas anteriores, ejecute el comando "Borrar historial del editor" (use la paleta de comandos para hacer eso: CTRL + MAYÚS + P).

Solo después de eso, los archivos excluidos no aparecerán en su menú de apertura rápida.

Actualización: también puede ejecutar el comando "Borrar historial de comandos". Me olvide de eso.

Bruno Gimenes
fuente
1

Olvídese de lo anterior para vscode excluir el patrón de búsqueda, intente a continuación el patrón que está funcionando para cualquier carpeta en la última versión de vscode.

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

por ejemplo, he buscado como abajo vscode ejemplo configuración de clude

archivos para incluir: * .js

archivos a excluir: ** / node_modules,! ../../../ locales / ,! ../../../ theme / ,! ../../ admin / client / *

Hamit YILDIRIM
fuente
1

Si tiene varias carpetas en su espacio de trabajo, configure el search.excludeen cada carpeta. Hay un menú desplegable al lado de WORKSPACE SETTINGS.

Ficha Configuración de carpeta

Michael David Gieson
fuente
0

La respuesta corta es separar por comas las carpetas que desea ignorar en "archivos para excluir".

  1. Iniciar búsqueda amplia en el espacio de trabajo: CTRL + MAYÚS + f
  2. Expande la búsqueda global con el botón de tres puntos
  3. Ingrese su término de búsqueda
  4. Como ejemplo, en los archivos para excluir el campo de entrada, escriba babel,concatpara excluir la carpeta "babel" y la carpeta "concat" en la búsqueda (asegúrese de que el botón de exclusión esté habilitado).
  5. Presione enter para obtener los resultados.
domih
fuente
0

Excluir todo de subcarpetas funciona así (versión 2019)

incluir

./db

excluir

./db/*
Walter A. Jablonowski
fuente
-1

Cree un archivo con .gitignore y coloque la carpeta o el nombre del archivo que desea ignorar.

ignorar todo lo que se encuentra debajo de la carpeta node_modules

echo node_modules/ > .gitignore 
reza.cse08
fuente
3
la pregunta no es sobre git
Saman Shafigh
-1

Quería buscar el término "Stripe" en todos los archivos excepto aquellos dentro de un plugin (carpeta "plugin") o dentro de los archivos que terminan en ".bak", ".bak2" o ".log" (esto está dentro del wp -contenidos estructura de carpetas de una instalación de WordPress).

Solo quería hacer esta búsqueda una vez y muy rápido, así que no quería alterar la configuración de búsqueda de mi entorno. Así es como lo hice (tenga en cuenta los dobles asteriscos para la carpeta):

  • Término de búsqueda: Stripe
  • Incluir archivos: {blank}
  • Excluir archivos: * .bak *, * .log, ** / plugins / **

Así es como se veía

Adán
fuente