在 VSCode 中,如何为没有 package.json 的项目启用 Angular/Backbone/jQuery 智能感知?

Posted

技术标签:

【中文标题】在 VSCode 中,如何为没有 package.json 的项目启用 Angular/Backbone/jQuery 智能感知?【英文标题】:In VSCode, How can I enable Angular/Backbone/jQuery intellisense for a project without a package.json? 【发布时间】:2018-07-06 08:42:18 【问题描述】:

现在我一直在尝试为一些流行的库(如 BackboneJS、Angular 和 jQuery)获取代码自动完成功能。问题是我无法使用 VS Code 官方文档启用此支持的首选方法(使用 package.json)

https://code.visualstudio.com/docs/languages/javascript

我按照信中的步骤创建了一个jsconfig.json 文件,如下所示;


    "typeAcquisition": 
        "include": [
            "lodash",
            "angular",
            "jquery",
            "underscore"
        ]
    ,
    "include": [
        "content/**/*.js"
    ],
    "exclude": [
        "**/node_modules/*",
        "node_modules",
        "**/tmp/*",
        "tmp",
        "**/temp/*",
        "temp",
        "**/bin/*",
        "bin",
        "**/build/*",
        "build"
    ]

但是,我仍然无法看到 Angular 或骨干 js 自动完成功能。此外,我不使用 commonjs 模块(不使用 require('angular')import 'backbone')可能无济于事,因为当前项目是使用 AMD 模块系统构建的,使用 require js (require(['modulename], function(module) ...))

有什么想法可以让我以某种方式使其工作吗?

【问题讨论】:

【参考方案1】:

这会很困难,因为 VS Code 的智能感知 does not understand AMD style modules。

您可以使用 /// <reference ...> 导入,然后使用正确的类型注释每个 require 函数:

///<reference types="jquery" />
///<reference types="react" />

require(['jquery', 'react'], function (
    /** @type $ */jq,
    /** @type React */react
) 
   ...
)

This feature request 如果实现了也会对你有所帮助

【讨论】:

以上是关于在 VSCode 中,如何为没有 package.json 的项目启用 Angular/Backbone/jQuery 智能感知?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 GTK3 配置 VSCode 以进行智能感知/构建/调试和 g++

如何为使用 sbt native packager 构建的应用程序指定 java.library.path?

SBT - 如何为特定任务禁用插件(例如“包”)

如何为 sbt-native-package 指定 RPM_BUILD_ROOT

如何为绝对类型设置 TSLint

如何为 sbt native packager 的 DockerPlugin 设置基础镜像?