VS Code:如何从 npm 任务自动检测中排除文件夹?

Con*_*Fan 8 visual-studio-code

Visual Studio Code 在其Run Tasks菜单中显示已配置和自动检测的任务。我想bin从 npm 任务自动检测中排除该文件夹及其所有子文件夹。该npm.exclude设置似乎是为此目的设计的,但我还没有找到如何使用它。

我尝试了以下变体,但没有成功:

"npm.exclude": "**/bin"
"npm.exclude": "**/bin/"
"npm.exclude": "./bin"
"npm.exclude": "./bin/"
"npm.exclude": "**/bin/*.*"
"npm.exclude": "./bin/*.*"
"npm.exclude": ["**/bin"]
"npm.exclude": ["**/bin/"]
"npm.exclude": ["./bin"]
"npm.exclude": ["./bin/"]
"npm.exclude": ["**/bin/*.*"]
"npm.exclude": ["./bin/*.*"]
Run Code Online (Sandbox Code Playgroud)

用于files.exclude和的语法search.exclude似乎不被允许:

"files.exclude": {
     "**/.git": true,
     "**/.svn": true,
     "**/.hg": true
 }
Run Code Online (Sandbox Code Playgroud)

npm.exclude设置的适当语法是什么?

小智 6

npm.exclude ”需要一个“字符串并使用glob。所以,我对 npm.exclude 的设置,有多个规则:

"npm.exclude": "**/@(vendor|node_modules|bower_components|dist|static)/**"
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用,但是它可以处理隐藏文件夹吗?我的项目有一个文件夹“.cache”,其根目录中有一个“package.json”。即使我在字符串中包含“.cache”,例如“**/@(vendor|node_modules|bower_components|dist|static|.cache)/**”,这也会显示在我的 NPM 脚本中。 (2认同)

Mar*_*ark 5

尝试

"npm.exclude": "**/bin/**"
Run Code Online (Sandbox Code Playgroud)

这对我有用以排除 workspaceFolder/bin/package.json 中的脚本

  • 看起来它正在将 glob 与目录的 _absolute_ 路径进行匹配。以下也适用于我: ```json "npm.exclude": [ "/Users/me/myproj/build", "/Users/me/myproj/build/**", ] ``` 第一个排除文件位于构建本身中,第二个文件位于子目录中。它不应该匹配相对路径而不是/以及绝对路径吗?VSCode 1.33.1 Mac。 (2认同)