Gruntfile.js 中的智能感知
intellisense in Gruntfile.js
是否可以在 Gruntfile 中使用智能感知?
因为 'grunt' 不是全局变量而是 Gruntfile 中的参数 VSCode 将假设它只是一个未知的函数参数 'any'.
module.exports = function(grunt) {...}
当我将类型添加到参数时,intellisense 工作正常,但 grunt 不会,因为它是 JS 而不是 TS。
module.exports = function(grunt: IGrunt) {...}
您可以创建 gruntfile.ts
并将 TypeScript 与智能感知结合使用。编译后的版本 (gruntfile.js
) 将被 GruntJs 使用。
初学者的步骤...
设置类型
为 Grunt 安装 Typings
npm install --save @types/grunt
找到类型化文件
确保您的 IDE 知道此类型文件的位置:
./node_modules/@types/grunt/index.d.ts
使用Auto-completion
这在 .ts 或 .js 中是可能的,无论你喜欢哪个...(我使用打字稿,因为编译器会做很多 type-safety 检查)
Auto-completion 打字稿
将您现有的 gruntfile.js 重命名为 gruntfile.ts。
添加 IGrunt 类型以启用 auto-completion:
module.exports = function (grunt: IGrunt) {
// auto-complete works for grunt-dot now
...
}
最后,记得编译你的 gruntfile.ts 以便它产生一个新的 gruntfile.js。
Auto-completion 在 Javascript
如果你更愿意避免打字稿....
使用jsdoc在javascript中启用auto-completion:
/**
*
* @param {IGrunt} grunt
*/
module.exports = function (grunt) {
// auto-complete works for grunt-dot now
...
}
如果您想坚持使用 JavaScript,这将 运行 与您的 JavaScript 一样好,但智能感知与 grunt: IGrunt
一样好:
/**
* @param {IGrunt} grunt
*/
module.exports = function (grunt) {...}
(为什么是的, 是 已经 建议这样做,但我想说清楚这可能是 all 你需要做的。)
在 Visual Studio 代码中,如果您将 typescript.disableAutomaticTypeAcquisition
设置为 true
(或该功能遇到某种障碍)并且没有 @types/grunt
在你的 package.json
中,但如果是这种情况,grunt: IGrunt
似乎也不起作用。
是否可以在 Gruntfile 中使用智能感知?
因为 'grunt' 不是全局变量而是 Gruntfile 中的参数 VSCode 将假设它只是一个未知的函数参数 'any'.
module.exports = function(grunt) {...}
当我将类型添加到参数时,intellisense 工作正常,但 grunt 不会,因为它是 JS 而不是 TS。
module.exports = function(grunt: IGrunt) {...}
您可以创建 gruntfile.ts
并将 TypeScript 与智能感知结合使用。编译后的版本 (gruntfile.js
) 将被 GruntJs 使用。
初学者的步骤...
设置类型
为 Grunt 安装 Typings
npm install --save @types/grunt
找到类型化文件
确保您的 IDE 知道此类型文件的位置:
./node_modules/@types/grunt/index.d.ts
使用Auto-completion
这在 .ts 或 .js 中是可能的,无论你喜欢哪个...(我使用打字稿,因为编译器会做很多 type-safety 检查)
Auto-completion 打字稿
将您现有的 gruntfile.js 重命名为 gruntfile.ts。
添加 IGrunt 类型以启用 auto-completion:
module.exports = function (grunt: IGrunt) {
// auto-complete works for grunt-dot now
...
}
最后,记得编译你的 gruntfile.ts 以便它产生一个新的 gruntfile.js。
Auto-completion 在 Javascript
如果你更愿意避免打字稿....
使用jsdoc在javascript中启用auto-completion:
/**
*
* @param {IGrunt} grunt
*/
module.exports = function (grunt) {
// auto-complete works for grunt-dot now
...
}
如果您想坚持使用 JavaScript,这将 运行 与您的 JavaScript 一样好,但智能感知与 grunt: IGrunt
一样好:
/**
* @param {IGrunt} grunt
*/
module.exports = function (grunt) {...}
(为什么是的, 是 已经
在 Visual Studio 代码中,如果您将 typescript.disableAutomaticTypeAcquisition
设置为 true
(或该功能遇到某种障碍)并且没有 @types/grunt
在你的 package.json
中,但如果是这种情况,grunt: IGrunt
似乎也不起作用。