Sembunyikan file .js.map dalam Visual Studio Code


320

Saya sedang mengerjakan proyek naskah dalam kode Visual Studio dan ingin menyembunyikan file .js.map(dan bahkan mungkin .js) muncul di file explorer.

Apakah mungkin hanya menampilkan .tsfile dalam file explorer?

Jawaban:


641

Di pengaturan Anda (baik pengguna atau ruang kerja) ada pengaturan yang dapat Anda tweak untuk menyembunyikan apa pun yang Anda inginkan:

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

Jadi, Anda dapat menambahkan yang berikut ini untuk disembunyikan .jsdan .js.mapfile

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

Seperti yang dijelaskan oleh jawaban lain ini , kebanyakan orang mungkin hanya ingin menyembunyikan .jsfile ketika ada .tsfile yang cocok .

Jadi alih-alih melakukan:

"**/*.js": true

Anda mungkin ingin melakukan:

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

10
Solusi sempurna. Untuk menambahkan, saya curiga banyak pengguna yang tertarik pada ini juga akan tertarik menyembunyikan direktori node_modules. Itu bisa dilakukan seperti ini:"**/node_modules/": true
Josh1billion

adakah jalan pintas untuk menonaktifkan / mengaktifkan opsi files.exclude config? kadang-kadang saya ingin memeriksa sesuatu yang disembunyikan
aaalsubaie

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

1
@aaalsubaie Untuk mengaktifkan / menonaktifkan filter kecualikan file, ada ekstensi yang tersedia di MarketPlace di marketplace.visualstudio.com/items?itemName=nwallace.peep
AJ Qarshi

2
Apakah "**/*.map": {"when": "$(basename).map"}sama dengan "**/*.map": true?
gdbj

190

Saya menemukan ini, Jika Anda memiliki file JS standar maka ini akan disembunyikan juga yang mungkin tidak selalu seperti yang Anda inginkan. Mungkin ini lebih baik karena hanya menyembunyikan file JS yang cocok dengan file TS ...

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

5
Bisakah Anda memposting tautan ke tempat ini didokumentasikan? Saya ingin menggunakan bentuk "kapan" yang lebih kompleks, tetapi tidak dapat menemukan di mana itu didokumentasikan.
masimplo

1
Menyembunyikan file JS yang diturunkan didokumentasikan di sini: code.visualstudio.com/docs/languages/…
Stuart Hallows

4
Bagaimana Anda melakukan pencocokan pola "kapan" yang sama untuk file .js.map, atau ".min.css" setelah mengkompilasi dan memperkecil scss? Mereka tidak cocok dengan $ (basename)
nickspoon

Ini cerdas, tetapi tidak bekerja dengan sesuatu seperti sudut 2. Semuanya bernama file.component.ts atau file.module.ts
BentOnCoding

bagaimana dengan ketika file ts ada di folder yang berbeda?
Th3B0Y

98

Saya benar-benar tidak tahu bagaimana ini diterapkan tetapi untuk menyembunyikan .jsfile berfungsi:

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

Untuk menyembunyikan .js.mapfile berfungsi:

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

6
Solusi ini juga menangani .js.map, karena Visual Studio Code tampaknya menafsirkan $(basename)segalanya sebelum final .. Bisa disederhanakan "**/*.map: {"when": "$(basename)"}, tetapi ini akan mengecualikan setiap .map file yang memiliki sesuai non .mapberkas.
Njål Nordmark

44

Ketika Anda bekerja dengan TypeScript, Anda sering tidak ingin melihat file JavaScript yang dihasilkan di explorer atau dalam hasil pencarian. Kode VS menawarkan kemampuan pemfilteran dengan files.excludepengaturan ( File> Preferensi> Pengaturan Workspace ) dan Anda dapat dengan mudah membuat ekspresi untuk menyembunyikan file-file yang diturunkan:

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

Demikian pula menyembunyikan .mapfile yang dihasilkan oleh:

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

Jadi Anda akan memiliki konfigurasi seperti di:

settings.json

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

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


22

John Papa Twitter LINK mengatakan gunakan yang berikut ini:

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

15

Dari dokumen resmi :

untuk mengecualikan file JavaScript yang dihasilkan dari file sumber .ts dan .tsx, gunakan ungkapan ini:

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

Ini sedikit trik. Pola gumpalan pencarian digunakan sebagai kunci. Pengaturan di atas menggunakan dua pola glob berbeda untuk memberikan dua kunci unik tetapi pencarian tetap akan cocok dengan file yang sama.

UPDATE 10/3/2017: dengan trik ini kami memiliki masalah dengan "pencarian di folder". Silakan lihat masalahnya


1
Ada solusi lain untuk ini. Saya mempostingnya sebagai jawaban di bawah ini.
Zach Posten

8

1. Buka preferensi> pengaturan

masukkan deskripsi gambar di sini

2. Klik pada "Edit pada pengaturan.json" (Ada di bagian bawah gambar)

masukkan deskripsi gambar di sini

3. Perbarui objek json seperti yang Anda lihat pada gambar. Kemudian simpan perubahan Anda Ctrl + Sdan itu saja.

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

masukkan deskripsi gambar di sini


6

Tambahkan pengaturan ini ke pengaturan Anda. Json di folder .vscode Anda

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

    }
}

Jika pengaturan.json tidak tersedia klik pada File ---> Preferences -> Pengaturan Workspace.


Di mana File ini ---> Preferensi -> Pengaturan Workspace? Ketika saya masuk ke File, saya tidak memiliki apa pun yang terkait dengan Preferensi dan ruang kerja jadi saya harus berada di tempat yang salah. Untuk informasi Anda, saya menggunakan Visual Studio 2017 Enterprise.
MHOOS

5

Harap tambahkan baris berikut di panel "Pengaturan Pengguna" untuk mengganti "Pengaturan Default". Anda dapat menyembunyikan file {basename} .js dan {basename} .js.map ketika Anda membuat file sebagai {basename} .ts.

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

Yang ini berfungsi untuk saya untuk file-file sourcemap. @Mutlugokhan terima kasih. Sagolasin.
Seregwethrin

4

Mungkin lebih baik menyembunyikan .mapdan .jsfile ketika mereka cocok dengan .tsfile yang sesuai .
Anda dapat melakukannya dengan menyalin baris berikut di Pengaturan Pengguna VS (Preferensi> Pengaturan Pengguna):

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

Ini akan menyembunyikan semua file dengan nama yang diakhiri .map.
Roy Tinker

3

Dalam Kode VS, buka Kode (atau File untuk pengguna Windows)> Preferensi> Pengaturan Workspace dan tambahkan potongan kode ini:

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

0

Masih belum ada solusi resmi untuk mengecualikan file glob berdasarkan dua kondisi berbeda. Lihat masalah ini .

Namun ada solusi untuk menentukan dua pola glob berbeda yang menargetkan file yang sama:

{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*?.js": { "when": "$(basename).tsx"}
    }
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.