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?

Tyler
fonte

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"}
Brocco
fonte
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"}
    }
}
Sempre aprendendo
fonte
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)"}
Luka
fonte
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

Asim KT
fonte
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)"
        }
}
YourAboutMeIsBlank
fonte
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

duodvk
fonte
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

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

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