Ẩn các tệp .js.map trong Visual Studio Code


320

Tôi đang làm việc với một dự án bản thảo trong mã Visual Studio và muốn ẩn các tệp .js.map(và thậm chí có thể .js) xuất hiện trong trình duyệt tệp.

Có thể chỉ hiển thị các .tstệp trong trình thám hiểm tệp?

Câu trả lời:


641

Trong cài đặt của bạn (người dùng hoặc không gian làm việc), có một cài đặt mà bạn có thể điều chỉnh để ẩn mọi thứ bạn muốn:

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

Vì vậy, bạn có thể thêm vào sau đây để ẩn .js.js.maptập tin

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

Như câu trả lời khác này giải thích , hầu hết mọi người có lẽ chỉ muốn ẩn .jstệp khi có .tstệp phù hợp .

Vì vậy, thay vì làm:

"**/*.js": true

bạn có thể muốn làm:

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

10
Giải pháp hoàn hảo. Để thêm vào, tôi nghi ngờ nhiều người dùng quan tâm đến điều này cũng sẽ quan tâm đến việc ẩn thư mục node_modules. Điều đó có thể được thực hiện như vậy:"**/node_modules/": true
Josh1billion

Có một phím tắt để hủy kích hoạt / kích hoạt tùy chọn cấu hình files.exclude không? đôi khi tôi muốn kiểm tra một số thứ bị ẩn
aaalsubaie

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

1
@aaalsubaie Để kích hoạt / hủy kích hoạt bộ lọc loại trừ tệp, có một tiện ích mở rộng có sẵn trong MarketPlace tại marketplace.visualstudio.com/items?itemName=nwallace.peep
AJ Qarshi

2
"**/*.map": {"when": "$(basename).map"}giống như "**/*.map": true?
gdbj

190

Tôi đã tìm thấy điều này, Nếu bạn có các tệp JS tiêu chuẩn thì chúng cũng sẽ bị ẩn đi, điều này có thể không phải lúc nào cũng là điều bạn muốn. Có lẽ điều này tốt hơn vì nó chỉ ẩn các tệp JS khớp với các tệp TS ...

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

5
Bạn có thể gửi một liên kết đến nơi này được ghi lại? Tôi muốn sử dụng các hình thức "khi" phức tạp hơn, nhưng không thể tìm thấy nơi nó được ghi lại.
masimplo

1
Ẩn các tệp JS có nguồn gốc được ghi lại ở đây: code.visualstudio.com/docs/lacular/iêu
Stuart Hallows

4
Làm thế nào để bạn thực hiện cùng một mẫu "khi" khớp với các tệp .js.map hoặc ".min.css" sau khi biên dịch và thu nhỏ scss? Họ không được khớp với $ (tên cơ sở)
nickspoon 7/03/2016

Điều này thật thông minh, nhưng không hoạt động với thứ gì đó như góc 2. Mọi thứ đều được đặt tên là file.component.ts hoặc file.module.ts
BentOnCoding

Còn khi các tập tin ts nằm trong một thư mục khác thì sao?
Th3B0Y

98

Tôi thực sự không biết làm thế nào điều này được thực hiện nhưng để ẩn .jscác tập tin hoạt động:

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

Để ẩn .js.maptập tin hoạt động:

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

6
Giải pháp này cũng xử lý .js.map, vì Visual Studio Code dường như diễn giải $(basename)mọi thứ trước trận chung kết .. Có thể được đơn giản hóa "**/*.map: {"when": "$(basename)"}, nhưng điều này sẽ loại trừ bất kỳ .map tệp nào có .maptệp không tương ứng .
Njål Nordmark

44

Khi bạn đang làm việc với TypeScript, bạn thường không muốn xem các tệp JavaScript được tạo trong trình thám hiểm hoặc trong kết quả tìm kiếm. Mã VS cung cấp khả năng lọc với một files.excludecài đặt ( Tệp> Tùy chọn> Cài đặt không gian làm việc ) và bạn có thể dễ dàng tạo biểu thức để ẩn các tệp dẫn xuất đó:

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

Tương tự ẩn .mapcác tệp được tạo bằng cách:

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

Vì vậy, bạn sẽ có một cấu hình như trong:

settings.json

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

Liên kết: https://code.visualstudio.com/docs/lacular/typescript#_hiding-deriving-javascript-files


22

John Papa Twitter LINK cho biết sử dụng như sau:

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

15

Từ tài liệu chính thức :

để loại trừ các tệp JavaScript được tạo từ cả hai tệp nguồn .ts và .tsx, hãy sử dụng biểu thức này:

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

Đây là một chút mẹo. Mẫu toàn cầu tìm kiếm được sử dụng làm chìa khóa. Các cài đặt ở trên sử dụng hai mẫu hình cầu khác nhau để cung cấp hai khóa duy nhất nhưng tìm kiếm vẫn khớp với cùng một tệp.

CẬP NHẬT 10/3/2017: với thủ thuật này, chúng tôi gặp vấn đề với "tìm kiếm trong thư mục". Xin vui lòng xem vấn đề


1
một cách giải quyết khác cho việc này. Tôi đăng nó như một câu trả lời dưới đây.
Zach Posten

8

1. Chuyển đến tùy chọn> cài đặt

nhập mô tả hình ảnh ở đây

2. Nhấp vào "Chỉnh sửa trên settings.json" (Nó ở dưới cùng của hình ảnh)

nhập mô tả hình ảnh ở đây

3. Cập nhật đối tượng json như bạn có thể thấy trong hình. Sau đó lưu các thay đổi của bạn Ctrl + Svà đó là tất cả.

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

nhập mô tả hình ảnh ở đây


6

Thêm các cài đặt này vào settings.json trong thư mục .vscode của bạn

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

    }
}

Nếu settings.json không khả dụng, hãy nhấp vào Tệp ---> Tùy chọn -> Cài đặt không gian làm việc.


Tệp này ở đâu ---> Tùy chọn -> Cài đặt không gian làm việc? Khi tôi vào Tệp, tôi không có bất cứ điều gì liên quan đến Tùy chọn và không gian làm việc vì vậy tôi phải ở sai vị trí. Để biết thông tin của bạn, tôi đang sử dụng Visual Studio 2017 Enterprise.
MHOOS

5

Vui lòng thêm các dòng sau vào bảng "Cài đặt người dùng" để ghi đè "Cài đặt mặc định". Bạn có thể ẩn các tệp {basename} .js và {basename} .js.map khi bạn tạo tệp dưới dạng {basename} .ts.

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

Cái này làm việc cho tôi cho các tập tin sourcemap. Cảm ơn bạn @mutlugokhan. Sagolasin.
Seregwethrin

4

Có lẽ tốt hơn là ẩn .map.jscác tệp khi chúng khớp với .tstệp tương ứng của chúng .
Bạn có thể làm điều đó bằng cách sao chép các dòng sau trong Cài đặt người dùng VS (Tùy chọn> Cài đặt người dùng):

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

Điều này sẽ ẩn tất cả các tập tin với tên kết thúc bằng .map.
Roy Tinker

3

Trong Mã VS, đi tới Mã (hoặc Tệp cho người dùng Windows)> Tùy chọn> Cài đặt không gian làm việc và thêm đoạn mã này:

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

0

Hiện vẫn chưa có giải pháp chính thức để loại trừ một tập tin toàn cầu dựa trên hai điều kiện khác nhau. Xem vấn đề này .

Mặc dù vậy, có một cách giải quyết để xác định hai mẫu hình cầu khác nhau nhắm vào cùng một tệp:

{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*?.js": { "when": "$(basename).tsx"}
    }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.