Visual studio code 文件被VS代码(Visual Studio代码)锁定

Visual studio code 文件被VS代码(Visual Studio代码)锁定,visual-studio-code,electron-builder,Visual Studio Code,Electron Builder,当我使用electron builderpackage构建我的electron应用程序时,vs code抛出错误: ⨯ remove D:\project\Shorthands_PC\build\win-unpacked\resources\app.asar: The process cannot access the file because it is being used by another process. github.com/develar/go-fs-util.EnsureEm

当我使用
electron builder
package构建我的electron应用程序时,vs code抛出错误:

 ⨯ remove D:\project\Shorthands_PC\build\win-unpacked\resources\app.asar: The process cannot access the file because it is being used by another process.
github.com/develar/go-fs-util.EnsureEmptyDir
        /Volumes/data/go/pkg/mod/github.com/develar/go-fs-util@v2.0.1-0.20181113101504-f6630ccc0e93+incompatible/fs.go:101
github.com/develar/app-builder/pkg/electron.unpackElectron.func1.1
        /Volumes/data/Documents/app-builder/pkg/electron/electronUnpack.go:39
github.com/develar/app-builder/pkg/util.MapAsyncConcurrency.func2
        /Volumes/data/Documents/app-builder/pkg/util/async.go:67
runtime.goexit
        /usr/local/Cellar/go/1.12/libexec/src/runtime/asm_amd64.s:1337

Error: D:\project\Shorthands_PC\node_modules\app-builder-bin\win\x64\app-builder.exe exited with code 1
    at ChildProcess.childProcess.once.code (D:\project\Shorthands_PC\node_modules\builder-util\src\util.ts:244:14)
    at Object.onceWrapper (events.js:273:13)
    at ChildProcess.emit (events.js:182:13)
    at maybeClose (internal/child_process.js:961:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)
From previous event:
    at _unpack (D:\project\Shorthands_PC\node_modules\app-builder-lib\out\electron\ElectronFramework.js:298:18)
    at unpack (D:\project\Shorthands_PC\node_modules\app-builder-lib\out\electron\ElectronFramework.js:257:18)
    at ElectronFramework.prepareApplicationStageDirectory (D:\project\Shorthands_PC\node_modules\app-builder-lib\src\electron\ElectronFramework.ts:125:12)
    at D:\project\Shorthands_PC\node_modules\app-builder-lib\src\platformPackager.ts:180:21
    at Generator.next (<anonymous>)
From previous event:
    at WinPackager.doPack (D:\project\Shorthands_PC\node_modules\app-builder-lib\src\platformPackager.ts:167:165)
    at D:\project\Shorthands_PC\node_modules\app-builder-lib\src\platformPackager.ts:113:16
    at Generator.next (<anonymous>)
From previous event:
    at WinPackager.pack (D:\project\Shorthands_PC\node_modules\app-builder-lib\src\platformPackager.ts:111:95)
    at D:\project\Shorthands_PC\node_modules\app-builder-lib\src\packager.ts:430:24
    at Generator.next (<anonymous>)
    at xfs.stat (D:\project\Shorthands_PC\node_modules\fs-extra-p\node_modules\fs-extra\lib\mkdirs\mkdirs.js:56:16)
    at D:\project\Shorthands_PC\node_modules\graceful-fs\polyfills.js:285:20
    at FSReqWrap.oncomplete (fs.js:159:5)
From previous event:
    at Packager.doBuild (D:\project\Shorthands_PC\node_modules\app-builder-lib\src\packager.ts:396:24)
    at D:\project\Shorthands_PC\node_modules\app-builder-lib\src\packager.ts:366:57
    at Generator.next (<anonymous>)
    at D:\project\Shorthands_PC\node_modules\graceful-fs\graceful-fs.js:111:16
    at D:\project\Shorthands_PC\node_modules\graceful-fs\graceful-fs.js:45:10
    at FSReqWrap.oncomplete (fs.js:145:20)
From previous event:
    at Packager._build (D:\project\Shorthands_PC\node_modules\app-builder-lib\src\packager.ts:335:133)
    at D:\project\Shorthands_PC\node_modules\app-builder-lib\src\packager.ts:331:23
    at Generator.next (<anonymous>)
    at runCallback (timers.js:696:18)
    at tryOnImmediate (timers.js:667:5)
    at processImmediate (timers.js:649:5)
From previous event:
    at Packager.build (D:\project\Shorthands_PC\node_modules\app-builder-lib\src\packager.ts:288:14)
    at build (D:\project\Shorthands_PC\node_modules\app-builder-lib\src\index.ts:59:28)
    at build (D:\project\Shorthands_PC\node_modules\electron-builder\src\builder.ts:228:10)
    at then (D:\project\Shorthands_PC\node_modules\electron-builder\src\cli\cli.ts:46:19)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Shorthands_PC@1.0.0 build: `node .Shorthands_PC/build.js && electron-builder`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the Shorthands_PC@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\guoxiaoshen\AppData\Roaming\npm-cache\_logs\2019-04-20T13_14_41_734Z-debug.log
⨯ 删除D:\project\Shorthands\u PC\build\win unpacket\resources\app.asar:该进程无法访问该文件,因为另一进程正在使用该文件。
github.com/develar/go-fs-util.EnsureEmptyDir
/Volumes/data/go/pkg/mod/github.com/develar/go-fs-util@v2.0.1-0.20181113101504-f6630ccc0e93+不兼容/fs.go:101
github.com/develar/app builder/pkg/electron.unpacelectron.func1.1
/卷/数据/文档/应用程序生成器/pkg/electron/electronUnpack.go:39
github.com/develar/app-builder/pkg/util.MapAsyncConcurrency.func2
/卷/数据/文档/应用程序生成器/pkg/util/async.go:67
runtime.goexit
/usr/local/cillar/go/1.12/libexec/src/runtime/asm_amd64.s:1337
错误:D:\project\Shorthands\U PC\node\U modules\app builder bin\win\x64\app-builder.exe已退出,代码为1
在ChildProcess.ChildProcess.once.code(D:\project\Shorthands\u PC\node\u modules\builder util\src\util.ts:244:14)
在Object.onceWrapper(events.js:273:13)
在ChildProcess.emit(events.js:182:13)
在maybeClose(内部/子进程js:961:16)
at Process.ChildProcess.\u handle.onexit(internal/child\u Process.js:248:5)
从以前的事件:
在解包时(D:\project\Shorthands\u PC\node\u modules\app builder lib\out\electron\ElectronFramework.js:298:18)
解包时(D:\project\Shorthands\u PC\node\u modules\app builder lib\out\electron\ElectronFramework.js:257:18)
在ElectronFramework.prepareApplicationStageDirectory(D:\project\Shorthands\U PC\node\U modules\app builder lib\src\electron\ElectronFramework.ts:125:12)
位于D:\project\Shorthands\u PC\node\u modules\app builder lib\src\platformPackager.ts:180:21
在Generator.next()处
从以前的事件:
在WinPackager.doPack(D:\project\Shorthands\u PC\node\u modules\app builder lib\src\platformPackager.ts:167:165)
位于D:\project\Shorthands\u PC\node\u modules\app builder lib\src\platformPackager.ts:113:16
在Generator.next()处
从以前的事件:
在WinPackager.pack(D:\project\Shorthands\u PC\node\u modules\app builder lib\src\platformPackager.ts:111:95)
位于D:\project\Shorthands\u PC\node\u modules\app builder lib\src\packager.ts:430:24
在Generator.next()处
在xfs.stat(D:\project\Shorthands\u PC\node\u modules\fs-extra-p\node\u modules\fs extra\lib\mkdirs\mkdirs.js:56:16)
位于D:\project\Shorthands\u PC\node\u modules\fs\polyfills.js:285:20
在FSReqWrap.oncomplete(fs.js:159:5)
从以前的事件:
位于Packager.doBuild(D:\project\Shorthands\u PC\node\u modules\app builder lib\src\Packager.ts:396:24)
位于D:\project\Shorthands\u PC\node\u modules\app builder lib\src\packager.ts:366:57
在Generator.next()处
位于D:\project\Shorthands\u PC\node\u modules\generable fs\generable fs.js:111:16
位于D:\project\Shorthands\u PC\node\u modules\generate fs\generate fs.js:45:10
在FSReqWrap.oncomplete(fs.js:145:20)
从以前的事件:
在Packager.u build(D:\project\Shorthands\u PC\node\u modules\app builder lib\src\Packager.ts:335:133)
位于D:\project\Shorthands\u PC\node\u modules\app builder lib\src\packager.ts:331:23
在Generator.next()处
运行回调时(timers.js:696:18)
在tryOnImmediate(timers.js:667:5)
在processImmediate(timers.js:649:5)
从以前的事件:
在Packager.build(D:\project\Shorthands\u PC\node\u modules\app builder lib\src\Packager.ts:288:14)
生成时(D:\project\Shorthands\U PC\node\U modules\app builder lib\src\index.ts:59:28)
构建时(D:\project\Shorthands\u PC\node\u modules\electron builder\src\builder.ts:228:10)
当时(D:\project\Shorthands\u PC\node\u modules\electron builder\src\cli\cli.ts:46:19)
npm错误!代码失效循环
npm错误!错误1
npm错误!速记_PC@1.0.0build:`node.Shorthands\u PC/build.js&&electron-builder`
npm错误!退出状态1
npm错误!
npm错误!速记失败_PC@1.0.0构建脚本。
npm错误!这可能不是npm的问题。上面可能还有其他日志输出。
npm错误!此运行的完整日志可在以下位置找到:
npm错误!C:\Users\guoxiaoshen\AppData\Roaming\npm cache\\u logs\2019-04-20T13\u 14\u 41\u 734Z-debug.log
除了关闭VS代码,我找不到任何解决方案。 我不知道是不是虫子

版本:

vs代码:1.33.1

os:Windows\u NT x64 10.0.17763

您可以使用中的“Lock Hunter”查看文件被哪个进程锁定

有时它可能是一些vs代码扩展

通过使用“Lock Hunter”,您可以通过在右上角勾选“More details”来查看哪个vs代码扩展名锁定了文件


对我来说,我发现它的“图像预览”扩展名会锁定文件。

解决方案包括使用此vscode
设置从vscode file watcher中排除win解包的子文件夹和文件。json
配置:

{
  "files.watcherExclude": {
    "**/build/win-unpacked/**": true
  }
}
可以使用以下菜单从vscode为每个项目配置, 不要忘记重新启动VScode:

/file/Preferences/Settings/Workspace/Text Editor/Files/Exclude/Add Pattern
它将更新当前vscode项目目录的./.vscode/settings.json,如上所述。 也有解释

。。。检查asar文件的有效位置: 在我的例子中,asar文件位于
/dist/win unpacket/resources/app.asar
因此,我将files.watcherExclude配置为

"**/dist/win-unpacked/**":true

从中猜出的解决方案(重复)。

您曾经解决过这个问题吗?真烦人!