如何从Visual Studio代码的“浏览”选项卡中排除目录?


269

我试图在Visual Studio Code的“浏览”选项卡上排除几个文件夹。为此,我在项目的根目录中添加了以下jsconfig.json:

{
    "compilerOptions": {
        "target": "ES6"
    },
    "exclude": [
        "node_modules"
    ]
}

但是“ node_modules”文件夹在目录树中仍然可见。我究竟做错了什么?还有其他选择吗?



现在有了GUI!看我的答案。
totymedli

Answers:


486

使用files.exclude

  • 转到文件->首选项->设置(或在Mac Code->首选项->设置上
  • 选择workspace settings标签
  • 将此代码添加到settings.json右侧显示的文件中:

    // Place your settings in this file to overwrite default and user settings.
    
    {
        "settings": {
            "files.exclude": {
                "**/.git": true,         // this is a default value
                "**/.DS_Store": true,    // this is a default value
    
                "**/node_modules": true, // this excludes all folders 
                                        // named "node_modules" from 
                                        // the explore tree
    
                // alternative version
                "node_modules": true    // this excludes the folder 
                                        // only from the root of
                                        // your workspace 
            }
        }
    }
    

如果选择文件->首选项->用户设置,则为当前用户全局配置排除文件夹。


8
就像有人想知道的那样:尾部的斜杠没有帮助(也没有害处)将“排除”限制为“仅文件夹”。即"**/BACKUP/": true和没有最后一个斜杠一样好/坏。
Frank Nocke

您在RHS上提供的值似乎已与LHS上的值合并。大概必须从LHS复制该值并将其设置false为覆盖默认值。
roganartu

更正:应该为“ ** / node_modules”:正确
Shekhar Kumar

继承在这里如何工作?我是否必须列出所有排除项或仅列出用户设置中未列出的排除项?
罗伯特·杰普森

6
值得一提的是,在代码(1.28.2)的当前版本中,files.exclude密钥属于settings的关键code-workspace文件。
汤姆(Tom),

81

在较新版本的VS Code中,您导航到设置(Ctrl+ ,),并确保选择右上角的工作区设置

在此处输入图片说明

然后添加一个files.exclude选项以指定要排除的模式。

search.exclude如果您只想从搜索结果中排除文件,而不是从文件夹资源管理器中排除文件,则也可以添加。


7
从搜索中排除,同时仍然能够在资源管理器中浏览文件-正是我所需要的,谢谢!
davnicwil

1
感谢您指定Workspace Settings
JJS

3
将其应用于工作空间设置.code-workspace文件)时,我必须放置files.exclude在内部settings:{ ... },否则它会抱怨该属性的行未知。有一个第三个 “文件夹设置”选项卡(.vscode / settings.json),其中在最外面的大括号工作。
PAT

42

tl; dr

  1. 在Mac上按Ctrl+ Shift+ PCommand+ Shift+P
  2. 键入“工作空间设置”。
  3. 通过GUI或在中更改排除设置settings.json

GUI方式

  1. 在搜索栏中键入“排除”。
  2. 点击“添加模式”按钮。 在VS Code设置中添加排除模式

编码方式

  1. 点击右上角的小{}图标以打开settings.json单击方括号图标以打开settings.json
  2. 将排除的文件夹添加到中files.exclude。还要检查一下search.excludefiles.watcherExclude因为它们可能也很有用。此代码段包含其说明和默认值:

    {
      // Configure glob patterns for excluding files and folders. 
      // For example, the files explorer decides which files and folders to show 
      // or hide based on this setting. 
      // Read more about glob patterns [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).
      "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true
      },
      // Configure glob patterns for excluding files and folders in searches. 
      // Inherits all glob patterns from the `files.exclude` setting.   
      // Read more about glob patterns [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).
      "search.exclude": {
        "**/node_modules": true,
        "**/bower_components": true
      },
      // Configure glob patterns of file paths to exclude from file watching. 
      // Patterns must match on absolute paths 
      // (i.e. prefix with ** or the full path to match properly). 
      // Changing this setting requires a restart. 
      // When you experience Code consuming lots of cpu time on startup, 
      // you can exclude large folders to reduce the initial load.
      "files.watcherExclude": {
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true,
        "**/node_modules/*/**": true
      }
    }

有关其他设置的更多详细信息,请参见官方settings.json参考


6

在Visual Studio 1.28版中,"files.exclude"必须将Code 放置在settings节点内。

生成的工作空间文件如下所示:

{
    "settings": {
        "files.exclude": {
            "**/node_modules": true
        }
    }
}

1

在VSCode的较新版本中,它已移至特定于文件夹的配置块。

  • 转到文件->首选项->设置(或在Mac Code->首选项->设置上)
  • 选择文件夹设置选项卡

然后添加“ files.exclude”块,列出要排除的目录组:

{
    "files.exclude": {
        "**/bin": true,
        "**/obj": true
    },
}

在此处输入图片说明



-9

我设法通过禁用验证来消除错误:

{
    "javascript.validate.enable": false,
    "html.validate.styles": false,
    "html.validate.scripts": false,
    "css.validate": false,
    "scss.validate": false
}

观察:我的项目是使用StyledComponents,React,Flow,Eslint和Prettier的PWA。


9
这根本无法回答OP的问题。
JoeMoe1984
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.