Ocultar archivos .js.map en Visual Studio Code


320

Estoy trabajando en un proyecto mecanografiado en código de Visual Studio y me gustaría ocultar los archivos .js.map(y tal vez incluso .js) para que no aparezcan en el explorador de archivos.

¿Es posible mostrar solo los .tsarchivos en el explorador de archivos?

Respuestas:


641

En su configuración (usuario o espacio de trabajo) hay una configuración que puede ajustar para ocultar cualquier cosa que desee:

{
    "files.exclude": {
        "**/.git": true,
        "**/.DS_Store": true
    }
}

Para que pueda agregar lo siguiente para ocultar .jsy .js.maparchivos

"**/*.js": true,
"**/*.js.map": true

Como explica esta otra respuesta , la mayoría de las personas probablemente solo quieren ocultar .jsarchivos cuando hay un .tsarchivo coincidente .

Entonces, en lugar de hacer:

"**/*.js": true

es posible que desee hacer:

"**/*.js": {"when": "$(basename).ts"}

10
Solución perfecta. Para agregar, sospecho que muchos usuarios interesados ​​en esto también estarán interesados ​​en ocultar el directorio node_modules. Eso se puede hacer así:"**/node_modules/": true
Josh1billion

¿hay un acceso directo para desactivar / activar la opción de configuración files.exclude? alguna vez quiero comprobar
algunas cosas

103
"**/*.js": {"when": "$(basename).ts"},"**/*.map": {"when": "$(basename).map"}
iuristona

1
@aaalsubaie Para activar / desactivar el filtro de exclusión de archivos, hay una extensión disponible en MarketPlace en marketplace.visualstudio.com/items?itemName=nwallace.peep
AJ Qarshi

2
¿Es "**/*.map": {"when": "$(basename).map"}lo mismo que "**/*.map": true?
gdbj

190

Encontré esto, si tiene archivos JS estándar, estos también estarán ocultos, lo que puede no ser siempre lo que desea. Quizás esto sea mejor ya que solo oculta los archivos JS que coinciden con los archivos TS ...

{
    "files.exclude": {
        "**/.git": true,
        "**/.DS_Store": true,
        "**/*.js.map": true,
        "**/*.js": {"when": "$(basename).ts"}
    }
}

55
¿Puedes publicar un enlace donde esté documentado? Me gustaría usar formas más complejas de "cuándo", pero no puedo encontrar dónde está documentado.
masimplo

1
La ocultación de archivos JS derivados se documenta aquí: code.visualstudio.com/docs/languages/…
Stuart Hallows

44
¿Cómo se hace la misma coincidencia de patrón "cuando" para los archivos .js.map o ".min.css" después de compilar y minificar scss? No son igualados por $ (nombre base)
nickspoon

Esto es inteligente, pero no funciona con algo como angular 2. Todo se llama file.component.ts o file.module.ts
BentOnCoding

¿Qué pasa cuando los archivos ts están en una carpeta diferente?
Th3B0Y

98

Realmente no sé cómo se implementa, pero para ocultar .jsarchivos funciona:

"**/*.js": {"when": "$(basename).ts"}

Para ocultar .js.maparchivos funciona:

"**/*.js.map": {"when": "$(basename)"}

66
Esta solución también se maneja .js.map, ya que Visual Studio Code parece interpretar $(basename)que es todo antes de la final .. Podría simplificarse "**/*.map: {"when": "$(basename)"}, pero esto excluiría cualquier .map archivo que tenga un .maparchivo que no corresponda .
Njål Nordmark

44

Cuando trabaja con TypeScript, a menudo no desea ver los archivos JavaScript generados en el explorador o en los resultados de búsqueda. VS Code ofrece capacidades de filtrado con una files.excludeconfiguración ( Archivo> Preferencias> Configuración del espacio de trabajo ) y puede crear fácilmente una expresión para ocultar esos archivos derivados:

"**/*.js": { "when": "$(basename).ts"}

Del mismo modo, oculta los .maparchivos generados por:

 "**/*.js.map": { "when": "$(basename)"}

Entonces tendrá una configuración como en:

settings.json

// Place your settings in this file to overwrite default and user settings.
{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*.js.map": { "when": "$(basename)"}
    }
}

Enlace: https://code.visualstudio.com/docs/languages/typescript#_hiding-derived-javascript-files


22

John Papa Twitter LINK dice usar lo siguiente:

"files.exclude": {
        "**/.git": true,
        "**/.DS_Store": true,
        "**/*.js" : {
            "when": "$(basename).ts"
        },
        "**/*.js.map": {
            "when": "$(basename)"
        }
}

15

Del documento oficial :

para excluir archivos JavaScript generados a partir de archivos fuente .ts y .tsx, use esta expresión:

"**/*.js": { "when": "$(basename).ts" },
"**/**.js": { "when": "$(basename).tsx" }

Esto es un poco un truco. El patrón de búsqueda global se usa como clave. La configuración anterior utiliza dos patrones globales diferentes para proporcionar dos claves únicas, pero la búsqueda aún coincidirá con los mismos archivos.

ACTUALIZACIÓN 10/3/2017: con este truco tenemos un problema con "buscar en la carpeta". Por favor vea el problema


1
Hay otra solución para esto. Lo publiqué como respuesta a continuación.
Zach Posten

8

1. Vaya a preferencias> configuración

ingrese la descripción de la imagen aquí

2. Haga clic en "Editar en settings.json" (está en la parte inferior de la imagen)

ingrese la descripción de la imagen aquí

3. Actualice el objeto json como puede ver en la imagen. Luego guarde sus cambios Ctrl + Sy eso es todo.

"files.exclude": {
    "**/*.js": {"when": "$(basename).ts"}
}

ingrese la descripción de la imagen aquí


6

Agregue estas configuraciones a su settings.json en su carpeta .vscode

// Place your settings in this file to overwrite default and user settings.
{
    "files.exclude" :{
    "**/.git":true,
    "**/.DS_Store":true,
    "**/*.map":true,
    "**/app/**/*.js":true

    }
}

Si settings.json no está disponible, haga clic en Archivo ---> Preferencias -> Configuración del espacio de trabajo.


¿Dónde está este archivo ---> Preferencias -> Configuración del espacio de trabajo? Cuando voy a Archivo, no tengo nada relacionado con las Preferencias y los espacios de trabajo, así que debo estar en el lugar equivocado. Para su información, estoy usando Visual Studio 2017 Enterprise.
MHOOS

5

Agregue las siguientes líneas en el panel "Configuración de usuario" para anular "Configuración predeterminada". Puede ocultar archivos {basename} .js y {basename} .js.map cuando crea un archivo como {basename} .ts.

"files.exclude": {
        "**/*.js": {
            "when": "$(basename).ts"
        },
        "**/*.js.map": {
            "when": "$(basename)"
        }        
    }

Este funcionó para mí para los archivos de mapa de origen. Gracias @mutlugokhan. Sagolasina
Seregwethrin

4

Tal vez es mejor esconderse .mapy .jsarchivos cuando coinciden con su .tsarchivo correspondiente .
Puede hacerlo copiando las siguientes líneas en la Configuración de usuario de VS (Preferencias> Configuración de usuario):

// Workspace settings
"files.exclude": {
        "**/*.js":  {"when": "$(basename).ts"},
        "**/*.map": true
 }

Esto ocultará todos los archivos con nombres que terminen en .map.
Roy Tinker

3

En VS Code, vaya a Código (o Archivo para usuarios de Windows)> Preferencias> Configuración del espacio de trabajo y agregue este fragmento de código:

{
   "files.exclude": {
      "**/*.js": {"when": "$(basename).ts"},
      "**/*.map": {"when": "$(basename).map"}
   }
}

0

Todavía no existe una solución oficial para excluir un archivo glob basado en dos condiciones diferentes. Ver este número .

Sin embargo, existe una solución alternativa para definir dos patrones globales diferentes que se dirigen a los mismos archivos:

{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*?.js": { "when": "$(basename).tsx"}
    }
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.