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?

Tyler
fuente

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"}
Brocco
fuente
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"}
    }
}
Siempre aprendiendo
fuente
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)"}
Luka
fuente
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

Asim KT
fuente
22

John Papa Twitter LINK dice usar lo siguiente:

"files.exclude": {
        "**/.git": true,
        "**/.DS_Store": true,
        "**/*.js" : {
            "when": "$(basename).ts"
        },
        "**/*.js.map": {
            "when": "$(basename)"
        }
}
YourAboutMeIsBlank
fuente
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

duodvk
fuente
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í

Daniel Eduardo Delgado Diaz
fuente
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.

Aravind
fuente
¿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)"
        }        
    }
mutlugokhan
fuente
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
 }
mvecchione
fuente
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"}
   }
}
reza.cse08
fuente
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"}
    }
}
Zach Posten
fuente