我正试图摆脱WebStorm
并尝试配置VS Code
以获得WebStorm
的一些功能。我正在尝试在VS Code中实现File Watcher
功能。
我曾经在WebStorm中拥有Jade和Stylus的File Watchers。我已经为他们完成了gulp任务,并将它们添加到tasks.json
中。我甚至为他们提供了键绑定。但我必须手动运行它们。我想要的是,无论何时保存文件,它都会检查它是Jade
文件还是Stylus
文件,然后运行相应的任务来生成HTML或CSS文件。
是否可以在VS Code中执行此操作?如果是,那我该怎么做?
答案 0 :(得分:4)
您必须创建扩展才能完成您的方案。您说自己已经拥有gulp
和task.json
,因此我认为将其转换为扩展程序相对容易。
创建扩展程序时,您应该注意这些要点
您的扩展程序应该适用于Jade
或Stylus
,因此package.json
文件应该包含:
"activationEvents": [
"onLanguage:Jade",
"onLanguage:Stylus"
]
您可以使用两个事件来检测文件保存:onDidSaveTextDocument
或onWillSaveTextDocument
,具体取决于您的需求。
VSCode内置FileWatcher
,您只需通过vscode.workspace.createFileSystemWatcher
创建它。关键是它只是监视打开的文件夹/项目中的文件。
如果您需要检测外部的更改,则应使用fs.watchFile
或chokidar
。
如果您认为您的扩展仅适用于您或您无法在市场上发布,请不要担心,因为您可以创建自己的扩展程序,打包它们并install locally。