在 Visual Studio 中隐藏 .js.map 个文件代码:文件嵌套
Hide .js.map files in Visual Studio Code: File Nesting
我正在使用 Visual Studio 代码开发一个 typescript 项目,并希望隐藏 .js.map
(甚至可能是 .js
)文件,使其不出现在文件资源管理器中。
是否可以在文件资源管理器中只显示 .ts
个文件?
在您的设置(用户或工作区)中有一个设置,您可以调整它以隐藏您想要的任何内容:
{
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true
}
}
因此您可以添加以下内容来隐藏 .js
和 .js.map
文件
"**/*.js": true,
"**/*.js.map": true
作为,大多数人可能只想在有匹配的.ts
文件时隐藏.js
文件。
所以不要这样做:
"**/*.js": true
你可能想做的事:
"**/*.js": {"when": "$(basename).ts"}
我发现了这一点,如果你有标准的 JS 文件,那么这些文件也会被隐藏,这可能并不总是你想要的。也许这样更好,因为它只隐藏匹配 TS 文件的 JS 文件...
{
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true,
"**/*.js.map": true,
"**/*.js": {"when": "$(basename).ts"}
}
}
我真的不知道这是如何实现的,但是隐藏 .js
文件是可行的:
"**/*.js": {"when": "$(basename).ts"}
隐藏 .js.map
个文件有效:
"**/*.js.map": {"when": "$(basename)"}
当 .map
和 .js
文件与对应的 .ts
文件匹配时,也许隐藏它们会更好。
您可以通过在 VS 用户设置(首选项 > 用户设置)中复制以下行来做到这一点:
// Workspace settings
"files.exclude": {
"**/*.js": {"when": "$(basename).ts"},
"**/*.map": true
}
当您使用 TypeScript 时,您通常不希望在资源管理器或搜索结果中看到生成的 JavaScript 文件。 VS Code 通过 files.exclude
设置(File > Preferences > Workspace Settings)提供过滤功能,您可以轻松创建表达式来隐藏那些派生文件:
"**/*.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)"}
}
}
Link: https://code.visualstudio.com/docs/languages/typescript#_hiding-derived-javascript-files
John Papa Twitter LINK 说使用以下内容:
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true,
"**/*.js" : {
"when": "$(basename).ts"
},
"**/*.js.map": {
"when": "$(basename)"
}
}
将这些设置添加到 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 不可用,请单击文件 ---> 首选项 --> 工作区设置。
来自official doc:
to exclude JavaScript files generated from both .ts and .tsx source
files, use this expression:
"**/*.js": { "when": "$(basename).ts" },
"**/**.js": { "when": "$(basename).tsx" }
This is a bit of a trick. The search glob pattern is used as a key.
The settings above use two different glob patterns to provide two
unique keys but the search will still match the same files.
2017 年 10 月 3 日更新: 使用这个技巧我们遇到了 "search in folder" 的问题。请参阅 issue
In VS Code go to Code (or File for Windows users) > Preferences > Workspace Settings and add this code snippet:
{
"files.exclude": {
"**/*.js": {"when": "$(basename).ts"},
"**/*.map": {"when": "$(basename).map"}
}
}
请在 "User Settings" 面板中添加以下行以覆盖 "Default Settings"。您可以隐藏文件 {basename}.js 和 {basename}.js.map 当您将文件创建为 {basename}.ts.
"files.exclude": {
"**/*.js": {
"when": "$(basename).ts"
},
"**/*.js.map": {
"when": "$(basename)"
}
}
1.转到首选项 > 设置
2。点击"Edit on settings.json"(在图片底部)
3。如图所示更新对象 json。然后保存您的更改 Ctrl + S
就这样。
"files.exclude": {
"**/*.js": {"when": "$(basename).ts"}
}
根据两种不同的条件排除文件glob,目前官方还没有解决方案。参见 this issue。
但是有 a workaround 来定义针对相同文件的两个不同的 glob 模式:
{
"files.exclude": {
"**/*.js": { "when": "$(basename).ts"},
"**/*?.js": { "when": "$(basename).tsx"}
}
}
在 v1.67 中(参见 https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_67.md):
Explorer 文件嵌套
资源管理器现在支持根据名称嵌套相关文件。有几个设置可以控制此行为:
explorer.fileNesting.enabled
:控制是否启用文件嵌套。它可以全局设置或为特定工作区设置。
explorer.fileNesting.expand
:控制嵌套文件是否默认展开。
explorer.fileNesting.patterns
:控制文件的嵌套方式。默认配置为 TypeScript 和 JavaScript 项目提供嵌套智能,但我们鼓励您修改它以适应您自己项目的结构。一些例子:
默认配置:
当文件与目录名称 ("index.ts": "${dirname}.ts"
) 匹配时嵌套在 index.ts
下:
嵌套与不同文件同名但添加了段的文件 ("*": "${basename}.*.${dirname}"
):
那些密切关注我的人记得这是几次迭代的实验设置。现在的行为基本没有变化,文件操作除外。实验设置 explorer.experimental.fileNesting.operateAsGroup
已被移除,以便在折叠时将巢视为一个整体,否则将其视为单个实体。这意味着如果您想要复制、剪切、拖动或删除整个嵌套的文件堆栈,您可以折叠嵌套,然后将其作为单个实体进行操作。未折叠时,选择将正常运行。
上一个回答:
Insiders Build v1.64 中有一个新的、目前处于试验阶段的功能,称为 文件嵌套,虽然它不会隐藏自动生成的文件,如果您希望在生成相关文件的父文件下,它将以折叠状态嵌套它们。如果可能,您应该立即在 Insiders Build 中测试您的案例。
因此对 File Nesting: Patterns
进行此修改:
"*.ts": "$(capture).js, $(capture).d.ts, $(capture).js.map"
你可以轻松实现OP的要求。演示:
文件嵌套不会在搜索中隐藏那些嵌套的文件。
我正在使用 Visual Studio 代码开发一个 typescript 项目,并希望隐藏 .js.map
(甚至可能是 .js
)文件,使其不出现在文件资源管理器中。
是否可以在文件资源管理器中只显示 .ts
个文件?
在您的设置(用户或工作区)中有一个设置,您可以调整它以隐藏您想要的任何内容:
{
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true
}
}
因此您可以添加以下内容来隐藏 .js
和 .js.map
文件
"**/*.js": true,
"**/*.js.map": true
作为.ts
文件时隐藏.js
文件。
所以不要这样做:
"**/*.js": true
你可能想做的事:
"**/*.js": {"when": "$(basename).ts"}
我发现了这一点,如果你有标准的 JS 文件,那么这些文件也会被隐藏,这可能并不总是你想要的。也许这样更好,因为它只隐藏匹配 TS 文件的 JS 文件...
{
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true,
"**/*.js.map": true,
"**/*.js": {"when": "$(basename).ts"}
}
}
我真的不知道这是如何实现的,但是隐藏 .js
文件是可行的:
"**/*.js": {"when": "$(basename).ts"}
隐藏 .js.map
个文件有效:
"**/*.js.map": {"when": "$(basename)"}
当 .map
和 .js
文件与对应的 .ts
文件匹配时,也许隐藏它们会更好。
您可以通过在 VS 用户设置(首选项 > 用户设置)中复制以下行来做到这一点:
// Workspace settings
"files.exclude": {
"**/*.js": {"when": "$(basename).ts"},
"**/*.map": true
}
当您使用 TypeScript 时,您通常不希望在资源管理器或搜索结果中看到生成的 JavaScript 文件。 VS Code 通过 files.exclude
设置(File > Preferences > Workspace Settings)提供过滤功能,您可以轻松创建表达式来隐藏那些派生文件:
"**/*.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)"}
}
}
Link: https://code.visualstudio.com/docs/languages/typescript#_hiding-derived-javascript-files
John Papa Twitter LINK 说使用以下内容:
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true,
"**/*.js" : {
"when": "$(basename).ts"
},
"**/*.js.map": {
"when": "$(basename)"
}
}
将这些设置添加到 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 不可用,请单击文件 ---> 首选项 --> 工作区设置。
来自official doc:
to exclude JavaScript files generated from both .ts and .tsx source files, use this expression:
"**/*.js": { "when": "$(basename).ts" },
"**/**.js": { "when": "$(basename).tsx" }
This is a bit of a trick. The search glob pattern is used as a key. The settings above use two different glob patterns to provide two unique keys but the search will still match the same files.
2017 年 10 月 3 日更新: 使用这个技巧我们遇到了 "search in folder" 的问题。请参阅 issue
In VS Code go to Code (or File for Windows users) > Preferences > Workspace Settings and add this code snippet:
{
"files.exclude": {
"**/*.js": {"when": "$(basename).ts"},
"**/*.map": {"when": "$(basename).map"}
}
}
请在 "User Settings" 面板中添加以下行以覆盖 "Default Settings"。您可以隐藏文件 {basename}.js 和 {basename}.js.map 当您将文件创建为 {basename}.ts.
"files.exclude": {
"**/*.js": {
"when": "$(basename).ts"
},
"**/*.js.map": {
"when": "$(basename)"
}
}
1.转到首选项 > 设置
2。点击"Edit on settings.json"(在图片底部)
3。如图所示更新对象 json。然后保存您的更改 Ctrl + S
就这样。
"files.exclude": {
"**/*.js": {"when": "$(basename).ts"}
}
根据两种不同的条件排除文件glob,目前官方还没有解决方案。参见 this issue。
但是有 a workaround 来定义针对相同文件的两个不同的 glob 模式:
{
"files.exclude": {
"**/*.js": { "when": "$(basename).ts"},
"**/*?.js": { "when": "$(basename).tsx"}
}
}
在 v1.67 中(参见 https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_67.md):
Explorer 文件嵌套
资源管理器现在支持根据名称嵌套相关文件。有几个设置可以控制此行为:
explorer.fileNesting.enabled
:控制是否启用文件嵌套。它可以全局设置或为特定工作区设置。explorer.fileNesting.expand
:控制嵌套文件是否默认展开。explorer.fileNesting.patterns
:控制文件的嵌套方式。默认配置为 TypeScript 和 JavaScript 项目提供嵌套智能,但我们鼓励您修改它以适应您自己项目的结构。一些例子:
默认配置:
当文件与目录名称 ("index.ts": "${dirname}.ts"
) 匹配时嵌套在 index.ts
下:
嵌套与不同文件同名但添加了段的文件 ("*": "${basename}.*.${dirname}"
):
那些密切关注我的人记得这是几次迭代的实验设置。现在的行为基本没有变化,文件操作除外。实验设置 explorer.experimental.fileNesting.operateAsGroup
已被移除,以便在折叠时将巢视为一个整体,否则将其视为单个实体。这意味着如果您想要复制、剪切、拖动或删除整个嵌套的文件堆栈,您可以折叠嵌套,然后将其作为单个实体进行操作。未折叠时,选择将正常运行。
上一个回答:
Insiders Build v1.64 中有一个新的、目前处于试验阶段的功能,称为 文件嵌套,虽然它不会隐藏自动生成的文件,如果您希望在生成相关文件的父文件下,它将以折叠状态嵌套它们。如果可能,您应该立即在 Insiders Build 中测试您的案例。
因此对 File Nesting: Patterns
进行此修改:
"*.ts": "$(capture).js, $(capture).d.ts, $(capture).js.map"
你可以轻松实现OP的要求。演示:
文件嵌套不会在搜索中隐藏那些嵌套的文件。