Ukryj pliki .js.map w programie Visual Studio Code


320

Pracuję nad projektem maszynopisu w kodzie Visual Studio i chciałbym ukryć .js.map(a może nawet.js ) pliki przed pojawieniem się w eksploratorze plików.

Czy .tsw eksploratorze plików można wyświetlać tylko pliki?

Odpowiedzi:


641

W ustawieniach (użytkownika lub obszaru roboczego) istnieje ustawienie, które można dostosować, aby ukryć wszystko, co chcesz:

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

Więc można dodać w następującej się ukryć .jsi .js.mapplików

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

Jak wyjaśnia ta inna odpowiedź , większość ludzi prawdopodobnie chce ukryć .jspliki tylko wtedy, gdy istnieje pasujący .tsplik.

Zamiast robić:

"**/*.js": true

możesz zrobić:

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

10
Idealne rozwiązanie. Aby dodać, podejrzewam, że wielu użytkowników zainteresowanych tym będzie również zainteresowanych ukryciem katalogu node_modules. Można to zrobić w następujący sposób:"**/node_modules/": true
Josh1billion

czy istnieje skrót do dezaktywacji / aktywacji plików. wykluczyć opcję konfiguracji? kiedyś chcę sprawdzić coś ukrytego
aaalsubaie

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

1
@aaalsubaie Aby włączyć / wyłączyć filtr wykluczania plików, w MarketPlace dostępne jest rozszerzenie na marketplace.visualstudio.com/items?itemName=nwallace.peep
AJ Qarshi

2
Czy to "**/*.map": {"when": "$(basename).map"}to samo co "**/*.map": true?
gdbj

190

Znalazłem to, jeśli masz standardowe pliki JS, będą one również ukryte, co może nie zawsze być tym, czego chcesz. Być może jest to lepsze, ponieważ ukrywa tylko pliki JS pasujące do plików TS ...

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

5
Czy możesz opublikować link do miejsca, w którym jest to udokumentowane? Chciałbym użyć bardziej złożonych form „kiedy”, ale nie mogę znaleźć, gdzie jest to udokumentowane.
masimplo

1
Ukrywanie pochodnych plików JS jest udokumentowane tutaj: code.visualstudio.com/docs/languages/…
Stuart Hallows

4
Jak zrobić to samo dopasowanie wzorca „kiedy” dla plików .js.map lub „.min.css” po skompilowaniu i zminimalizowaniu scss? Nie pasują do nich $ (basename)
nickspoon

Jest to sprytne, ale nie działa z czymś takim jak kątowy 2. Wszystko nazywa się file.component.ts lub file.module.ts
BentOnCoding

co jeśli pliki ts są w innym folderze?
Th3B0Y,

98

Naprawdę nie wiem, jak to się dzieje, ale do ukrywania .jsplików działa:

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

Do ukrywania .js.mapplików działa:

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

6
To rozwiązanie również działa .js.map, ponieważ Visual Studio Code wydaje się interpretować $(basename)jako wszystko przed finałem .. Można to uprościć "**/*.map: {"when": "$(basename)"}, ale wykluczałoby to wszystkie .map pliki, które mają odpowiadające .mappliki niebędące plikami.
Njål Nordmark

44

Podczas pracy z TypeScript często nie chcesz widzieć wygenerowanych plików JavaScript w eksploratorze ani w wynikach wyszukiwania. VS Code oferuje możliwości filtrowania z files.excludeustawieniem ( Plik> Preferencje> Ustawienia obszaru roboczego ) i możesz łatwo utworzyć wyrażenie, aby ukryć te pochodne pliki:

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

Podobnie ukryj wygenerowane .mappliki przez:

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

Będziesz miał konfigurację jak w:

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 mówi:

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

15

Z oficjalnego dokumentu :

aby wykluczyć pliki JavaScript generowane zarówno z plików źródłowych .ts, jak i .tsx, użyj tego wyrażenia:

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

To trochę sztuczka. Wzorzec glob wyszukiwania jest używany jako klucz. Powyższe ustawienia używają dwóch różnych wzorców globów, aby zapewnić dwa unikalne klucze, ale wyszukiwanie będzie nadal pasować do tych samych plików.

AKTUALIZACJA 10/3/2017: przy tej sztuczce mamy problem z „wyszukiwaniem w folderze”. Zobacz problem


1
Istnieje inne obejście tego problemu . Opublikowałem to jako odpowiedź poniżej.
Zach Posten,

8

1. Przejdź do preferencji> ustawień

wprowadź opis zdjęcia tutaj

2. Kliknij „Edytuj w ustawieniach.json” (znajduje się na dole obrazu)

wprowadź opis zdjęcia tutaj

3. Zaktualizuj obiekt json, jak widać na obrazku. Następnie zapisz zmiany Ctrl + Si to wszystko.

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

wprowadź opis zdjęcia tutaj


6

Dodaj te ustawienia do pliku settings.json w folderze .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

    }
}

Jeśli plik settings.json nie jest dostępny, kliknij opcję Plik ---> Preferencje -> Ustawienia obszaru roboczego.


Gdzie jest ten plik ---> Preferencje -> Ustawienia obszaru roboczego? Kiedy przechodzę do pliku, nie mam nic związanego z preferencjami i miejscami pracy, więc muszę być w niewłaściwym miejscu. Dla twojej informacji używam Visual Studio 2017 Enterprise.
MHOOS

5

Dodaj następujące wiersze w panelu „Ustawienia użytkownika”, aby zastąpić „Ustawienia domyślne”. Możesz ukryć pliki {basename} .js i {basename} .js.map podczas tworzenia pliku jako {basename} .ts.

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

Ten działał dla mnie dla plików sourcemap. Dziękuję @mutlugokhan. Sagolasin.
Seregwethrin

4

Może lepiej ukryć .mapi .jspliki, gdy pasują do odpowiadającego im .tspliku.
Możesz to zrobić, kopiując następujące wiersze w VS User Settings (Preferencje> Ustawienia użytkownika):

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

Spowoduje to ukrycie wszystkich plików o nazwach kończących się na .map.
Roy Tinker,

3

W VS Code przejdź do Code (lub File dla użytkowników systemu Windows)> Preferencje> Ustawienia obszaru roboczego i dodaj ten fragment kodu:

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

0

Nadal nie ma oficjalnego rozwiązania dla wykluczenia globu plików na podstawie dwóch różnych warunków. Zobacz ten problem .

Istnieje jednak obejście polegające na zdefiniowaniu dwóch różnych wzorców globów, które są kierowane na te same pliki:

{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*?.js": { "when": "$(basename).tsx"}
    }
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.