Visual Studio Kodunda .js.map dosyalarını gizle


320

Visual Studio kodu bir daktilo projesi üzerinde çalışıyorum ve .js.map(ve belki de .js) dosyaları dosya gezgini görünmesini gizlemek istiyorum .

Yalnızca .tsdosya gezgini içindeki dosyaları görüntülemek mümkün müdür ?

Yanıtlar:


641

Ayarlarınızda (kullanıcı veya çalışma alanı) istediğiniz herhangi bir şeyi gizlemek için ayarlayabileceğiniz bir ayar vardır:

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

Böylece gizlemek .jsve .js.mapdosya eklemek için aşağıdakileri ekleyebilirsiniz

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

Gibi bu diğer cevap açıklıyor , çoğu insan muhtemelen sadece gizlemek istediğiniz .jsbir eşleştirme olduğunda dosyaları .tsdosyası.

Yani yapmak yerine:

"**/*.js": true

şunları yapmak isteyebilirsiniz:

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

10
Mükemmel çözüm. Eklemek için, bununla ilgilenen birçok kullanıcının da node_modules dizinini gizlemekle ilgileneceğinden şüpheleniyorum. Bu şekilde yapılabilir:"**/node_modules/": true
— Josh1billion

files.exclude yapılandırma seçeneğini devre dışı bırakmak / etkinleştirmek için bir kısayol var mı? bazen gizli bir şeyleri kontrol etmek istiyorum
— aaalsubaie

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

1
@aaalsubaie Dosya hariç tutma filtresini etkinleştirmek / devre dışı bırakmak için, Marketplace'de marketplace.visualstudio.com/items?itemName=nwallace.peep
— AJ Qarshi

2
İle "**/*.map": {"when": "$(basename).map"}aynı mı "**/*.map": true?
— gdbj

190

Bunu buldum, standart JS dosyalarınız varsa, bunlar da her zaman istediğiniz şey olmayabilir. Belki de sadece TS dosyalarıyla eşleşen JS dosyalarını gizlediği için bu daha iyidir ...

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

5
Bunun belgelendiği yere bir bağlantı gönderebilir misiniz? "Ne zaman" ın daha karmaşık biçimlerini kullanmak istiyorum, ancak belgelendiği yeri bulamıyorum.
— masimplo

1
Türetilmiş JS dosyalarını gizleme burada belgelenmiştir: code.visualstudio.com/docs/languages/…
— Stuart Hallows

4
.Js.map dosyaları için aynı "ne zaman" desen eşleşmesini veya scss'i derleyip minimize ettikten sonra ".min.css" dosyasını nasıl yaparsınız? $ (
— Basename

Bu akıllıca, ama 2. Her şey adlandırılır açısal file.component.ts veya file.module.ts gibi bir şey ile çalışmaz
— BentOnCoding

ts dosyaları farklı bir klasördeyken ne olacak?
— Th3B0Y

98

Gerçekten nasıl uygulandığını bilmiyorum ama .jsdosyaları gizlemek için çalışır:

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

.js.mapDosyaları gizlemek için çalışır:

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

6
.js.mapVisual Studio Code finalden önce$(basename) her şey olarak yorumlanıyor gibi görünüyor, bu çözüm de ele alır . Basitleştirilebilir , ancak bu karşılık gelen bir dosya olmayan tüm dosyaları hariç tutar . ."**/*.map: {"when": "$(basename)"} .map.map
— Njål Nordmark

44

TypeScript ile çalışırken, genellikle oluşturulan JavaScript dosyalarını gezginde veya arama sonuçlarında görmek istemezsiniz. VS Code, bir files.excludeayarla ( Dosya> Tercihler> Çalışma Alanı Ayarları) filtreleme özellikleri sunar ve bu tür dosyaları gizlemek için kolayca bir ifade oluşturabilirsiniz:

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

Benzer şekilde oluşturulan .mapdosyaları şu şekilde gizle :

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

Yani aşağıdaki gibi bir yapılandırmaya sahip olacaksınız:

settings.json

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

Bağlantı: https://code.visualstudio.com/docs/languages/typescript#_hiding-derived-javascript-files


22

John Papa Twitter LINK şunları kullanıyor:

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

15

Gönderen resmi doc :

.ts ve .tsx kaynak dosyalarından oluşturulan JavaScript dosyalarını hariç tutmak için şu ifadeyi kullanın:

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

Bu biraz hile. Arama glob kalıbı bir anahtar olarak kullanılır. Yukarıdaki ayarlar, iki benzersiz anahtar sağlamak için iki farklı glob deseni kullanır, ancak arama yine de aynı dosyalarla eşleşir.

GÜNCELLEME 10/3/2017: bu hile ile "klasörde ara" ile ilgili bir sorunumuz var. Lütfen soruna bakın


1
Bunun için başka bir çözüm daha var. Aşağıda bir cevap olarak gönderdim.
— Zach Posten

8

1. Tercihler> ayarlara gidin

resim açıklamasını buraya girin

2. "Edit on settings.json" ı tıklayın (Görüntünün altındadır)

resim açıklamasını buraya girin

3. Görüntüde gördüğünüz gibi json nesnesini güncelleyin. Sonra değişikliklerinizi kaydedin Ctrl + Sve hepsi bu.

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

resim açıklamasını buraya girin


6

Bu ayarları .vscode klasörünüzdeki settings.json dosyasına ekleyin

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

    }
}

Settings.json mevcut değilse Dosya ---> Tercihler -> Çalışma Alanı Ayarları'na tıklayın.


Bu Dosya ---> Tercihler -> Çalışma Alanı Ayarları nerede? Dosyaya gittiğimde Tercihler ve çalışma alanlarıyla ilgili hiçbir şeyim yok, bu yüzden yanlış yerde olmalıyım. Bilgileriniz için Visual Studio 2017 Enterprise kullanıyorum.
— MHOOS

5

"Varsayılan Ayarlar" ı geçersiz kılmak için lütfen "Kullanıcı Ayarları" paneline aşağıdaki satırları ekleyin. {Basename} .ts olarak dosya oluştururken {basename} .js ve {basename} .js.map dosyalarını gizleyebilirsiniz.

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

Bu benim için Sourcemap dosyaları için çalıştı. Teşekkürler mutlugokhan. Sagolasin.
— Seregwethrin

4

Belki de postu daha iyidir .mapve .jsonların tekabül maç dosyaların .tsdosya.
Bunu VS Kullanıcı Ayarları'na (Tercihler> Kullanıcı Ayarları) aşağıdaki satırları kopyalayarak yapabilirsiniz:

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

Bu, adları biten tüm dosyaları gizler .map.
— Roy Tinker

3

VS Kodunda Kod (veya Windows kullanıcıları için Dosya)> Tercihler> Çalışma Alanı Ayarları'na gidin ve bu kod snippet'ini ekleyin:

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

0

İki farklı koşula dayanan bir dosya küresini hariç tutmak için hala resmi bir çözüm yoktur. Bu konuya bakın .

Yine de , aynı dosyaları hedefleyen iki farklı glob kalıbı tanımlamak için bir geçici çözüm vardır :

{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*?.js": { "when": "$(basename).tsx"}
    }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.