Сховати файли .js.map у коді Visual Studio


320

Я працюю над проектом машинопису в коді Visual Studio і хотів би приховати .js.map(а може, навіть і .js) файли від появи в провіднику файлів.

Чи можна відображати лише ті .tsфайли в провіднику файлів?

Відповіді:


641

У ваших налаштуваннях (або користувачеві, або робочій області) є налаштування, яке можна налаштувати, щоб приховати все, що завгодно:

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

Таким чином, ви можете додати в наступне, щоб сховати .jsі .js.mapфайли

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

Як пояснюється ця інша відповідь , більшість людей, ймовірно, хочуть приховати .jsфайли лише тоді, коли є відповідний .tsфайл.

Тож замість того, щоб робити:

"**/*.js": true

ви можете зробити:

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

10
Ідеальне рішення. Щоб додати, я підозрюю, що багато користувачів, зацікавлених у цьому, також будуть зацікавлені приховувати каталог node_modules. Це можна зробити так:"**/node_modules/": true
Josh1billion

чи є ярлик для деактивації / активації параметра config.exclude config? колись я хочу перевірити щось приховане
aaalsubaie

103
"**/*.js": {"when": "$(basename).ts"},"**/*.map": {"when": "$(basename).map"}
Іурістона

1
@aaalsubaie Щоб активувати / дезактивувати фільтр виключення файлів, у MarketPlace можна ознайомитись розширення на Marketplace.visualstudio.com/items?itemName=nwallace.peep
AJ Qarshi

2
Це "**/*.map": {"when": "$(basename).map"}те саме, що "**/*.map": true?
gdbj

190

Я виявив це: Якщо у вас є стандартні файли JS, вони також будуть приховані, що не завжди може бути тим, що ви хочете. Можливо, це краще, оскільки він приховує лише файли JS, які відповідають файлам TS ...

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

5
Чи можете ви розмістити посилання на те, де це задокументовано? Я хотів би використовувати більш складні форми "коли", але не можу знайти, де це зафіксовано.
masimplo

1
Приховування похідних файлів JS задокументовано тут: code.visualstudio.com/docs/languages/…
Стюарт

4
Як зробити те саме "при" відповідність шаблонів для файлів .js.map або ".min.css" після компіляції та мінімізації scss? Вони не порівнюються з $ (базове ім'я)
nickspoon

Це розумно, але не працює з чимось на зразок кутового 2. Все називається file.component.ts або file.module.ts
BentOnCoding

що робити, коли файли ts знаходяться в іншій папці?
Th3B0Y

98

Я дійсно не знаю, як це реалізовано, але для приховування .jsфайлів працює:

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

Для приховування .js.mapфайлів працює:

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

6
Це рішення також справляється .js.map, оскільки Visual Studio Code, здається, тлумачить $(basename)все до фіналу .. Можна спростити "**/*.map: {"when": "$(basename)"}, але це виключає будь-які .map файли, у яких є відповідний нефайл .map.
Njål Nordmark

44

Під час роботи з TypeScript ви часто не хочете бачити згенеровані файли JavaScript в провіднику або в результатах пошуку. Код VS пропонує можливості фільтрації з files.excludeналаштуванням ( Файл> Налаштування> Налаштування робочої області ), і ви можете легко створити вираз, щоб приховати ці похідні файли:

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

Аналогічно приховати генеровані .mapфайли за допомогою:

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

Таким чином, у вас буде конфігурація, як у:

settings.json

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

Посилання: https://code.visualstudio.com/docs/languages/typescript#_hiding-derived-javascript-files



15

Від офіційного документа :

щоб виключити файли JavaScript, згенеровані з вихідних .ts та .tsx-файлів, використовуйте цей вираз:

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

Це трохи хитрість. Шаблон пошукового глобуса використовується як ключ. Наведені вище параметри використовують два різних шаблони, щоб забезпечити дві унікальні клавіші, але пошук все одно буде відповідати тим самим файлам.

ОНОВЛЕННЯ 3.10.2017: з цим фокусом у нас виникає проблема з "пошуком у папці". Будь ласка, дивіться проблему


1
Для цього є ще одне рішення . Я розмістив це як відповідь нижче.
Zach Posten

8

1. Перейдіть до налаштувань> налаштувань

введіть тут опис зображення

2. Клацніть на "Редагувати в налаштуваннях.json" (Це внизу зображення)

введіть тут опис зображення

3. Оновіть об’єкт json, як ви бачите на зображенні. Потім збережіть свої зміни, Ctrl + Sі це все.

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

введіть тут опис зображення


6

Додайте ці налаштування до свого settings.json у папці .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

    }
}

Якщо settings.json недоступний, натисніть на Файл ---> Налаштування -> Налаштування робочої області.


Де цей файл ---> Налаштування -> Налаштування робочої області? Коли я переходжу до файлу, у мене немає нічого, що стосується налаштувань та робочих просторів, тому я повинен знаходитись у неправильному місці. Для вашої інформації я використовую Visual Studio 2017 Enterprise.
MHOOS

5

Будь ласка, додайте наступні рядки на панелі "Налаштування користувача", щоб змінити "Налаштування за замовчуванням". Ви можете приховати файли {basename} .js та {basename} .js.map під час створення файлу як {basename} .ts.

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

Цей працював на мене для файлів вихідної карти. Дякую @mutlugokhan Саголасин.
Seregwethrin

4

Можливо, краще сховати .mapта .jsфайли, коли вони відповідають їхньому відповідному .tsфайлу.
Це можна зробити, скопіювавши наступні рядки у Налаштуваннях користувача VS (Налаштування> Налаштування користувача):

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

Це дозволить приховати всі файли, на яких закінчуються імена .map.
Рой Тінкер

3

У коді VS перейдіть до Код (або Файл для користувачів Windows)> Налаштування> Налаштування робочої області та додайте цей фрагмент коду:

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

0

Досі не існує офіційного рішення щодо виключення файлового шару на основі двох різних умов. Дивіться це питання .

Однак існує рішення щодо визначення двох різних шаблонів, які орієнтуються на одні і ті ж файли:

{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*?.js": { "when": "$(basename).tsx"}
    }
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.