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.