Ocultar arquivos .js.map no código do Visual Studio


320

Estou trabalhando em um projeto datilografado no código do Visual Studio e gostaria de ocultar os arquivos .js.map(e talvez até os .js) de aparecerem no explorador de arquivos.

É possível exibir apenas os .tsarquivos no explorador de arquivos?

Respostas:


641

Nas suas configurações (usuário ou espaço de trabalho), há uma configuração que você pode ajustar para ocultar o que quiser:

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

Então você pode adicionar o seguinte para ocultar .jse .js.maparquivos

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

Como essa outra resposta explica , a maioria das pessoas provavelmente só deseja ocultar .jsarquivos quando houver um .tsarquivo correspondente .

Então, ao invés de fazer:

"**/*.js": true

você pode querer fazer:

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

10
Solução perfeita. Para adicionar, suspeito que muitos usuários interessados ​​também estejam interessados ​​em ocultar o diretório node_modules. Isso pode ser feito da seguinte maneira:"**/node_modules/": true
Josh1billion 8/16

existe um atalho para desativar / ativar a opção de configuração files.exclude? em algum momento eu quero verificar algumas coisas escondidas
aaalsubaie

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

1
@aaalsubaie para ativar / desativar o arquivo de filtro de exclusão, existe uma extensão disponível no mercado em marketplace.visualstudio.com/items?itemName=nwallace.peep
AJ Qarshi

2
É "**/*.map": {"when": "$(basename).map"}o mesmo que "**/*.map": true?
Gdbj 06/11

190

Descobri isso: se você tiver arquivos JS padrão, eles também serão ocultados, o que nem sempre pode ser o que você deseja. Talvez isso seja melhor, pois apenas oculta arquivos JS que correspondem aos arquivos TS ...

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

5
Você pode postar um link para onde isso está documentado? Eu gostaria de usar formas mais complexas de "quando", mas não consigo encontrar onde está documentado.
masimplo

1
A ocultação de arquivos JS derivados está documentada aqui: code.visualstudio.com/docs/languages/…
Stuart Hallows

4
Como você faz a mesma correspondência de padrão "quando" para os arquivos .js.map ou ".min.css" após compilar e minificar o scss? Eles não são correspondidos por $ (basename)
nickspoon

Isto é inteligente, mas não funciona com algo como file.component.ts ou file.module.ts angulares 2. Tudo é nomeado
BentOnCoding

e quando os arquivos ts estão em uma pasta diferente?
Th3B0Y

98

Realmente não sei como isso é implementado, mas para ocultar .jsarquivos funciona:

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

Para ocultar .js.maparquivos funciona:

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

6
Essa solução também lida .js.map, pois o Visual Studio Code parece interpretar $(basename)tudo antes da final .. Pode ser simplificado "**/*.map: {"when": "$(basename)"}, mas isso excluiria todos os .map arquivos que tenham um não- .maparquivo correspondente .
Njål Nordmark

44

Quando você trabalha com TypeScript, geralmente não deseja ver arquivos JavaScript gerados no explorer ou nos resultados da pesquisa. O VS Code oferece recursos de filtragem com uma files.excludeconfiguração ( Arquivo> Preferências> Configurações da área de trabalho ) e você pode criar facilmente uma expressão para ocultar os arquivos derivados:

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

Da mesma forma, oculte os .maparquivos gerados por:

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

Então você terá uma configuração como em:

settings.json

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

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


22

John Papa Twitter LINK diz que use o seguinte:

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

15

Do documento oficial :

para excluir arquivos JavaScript gerados a partir dos arquivos de origem .ts e .tsx, use esta expressão:

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

Isso é um pouco de truque. O padrão glob de pesquisa é usado como uma chave. As configurações acima usam dois padrões glob diferentes para fornecer duas chaves exclusivas, mas a pesquisa ainda corresponderá aos mesmos arquivos.

ATUALIZAÇÃO 10/3/2017: com esse truque, temos um problema com "pesquisar na pasta". Por favor, veja o problema


1
outra solução alternativa para isso. Eu postei como resposta abaixo.
Zach Posten

8

1. Vá para preferências> configurações

insira a descrição da imagem aqui

2. Clique em "Editar no settings.json" (fica na parte inferior da imagem)

insira a descrição da imagem aqui

3. Atualize o objeto json como você pode ver na imagem. Em seguida, salve suas alterações Ctrl + Se isso é tudo.

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

insira a descrição da imagem aqui


6

Adicione essas configurações ao seu settings.json na pasta .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

    }
}

Se o settings.json não estiver disponível, clique em Arquivo ---> Preferências -> Configurações da Área de Trabalho.


Onde está esse arquivo ---> Preferências -> Configurações da área de trabalho? Quando vou ao Arquivo, não tenho nada relacionado às Preferências e aos espaços de trabalho, portanto, devo estar no lugar errado. Para sua informação, estou usando o Visual Studio 2017 Enterprise.
MHOOS

5

Por favor, adicione as seguintes linhas no painel "Configurações do usuário" para substituir as "Configurações padrão". Você pode ocultar os arquivos {basename} .js e {basename} .js.map ao criar o arquivo como {basename} .ts.

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

Este funcionou para mim para os arquivos do mapa de origem. Obrigado @mutlugokhan. Sagolasin.
Seregwethrin 06/04/19

4

Talvez seja melhor para esconder .mape .jsarquivos quando eles correspondem a sua correspondente .tsarquivo.
Você pode fazer isso copiando as seguintes linhas em Configurações do usuário do VS (Preferências> Configurações do usuário):

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

Isso ocultará todos os arquivos com nomes terminados em .map.
Roy Tinker

3

No VS Code, vá para Code (ou File for Windows users)> Preferences> Workspace Settings e adicione este trecho de código:

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

0

Ainda não existe uma solução oficial para excluir um arquivo global com base em duas condições diferentes. Veja esta edição .

Existe uma solução alternativa , porém, para definir dois padrões glob diferentes que têm como alvo os mesmos arquivos:

{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*?.js": { "when": "$(basename).tsx"}
    }
}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.