VS Code 中的 jQuery 智能感知
Posted
技术标签:
【中文标题】VS Code 中的 jQuery 智能感知【英文标题】:jQuery intellisense in VS Code 【发布时间】:2017-06-06 05:59:36 【问题描述】:我试过这个:
JQuery intellisense in Visual Studio Code
还有这个:
http://shrekshao.github.io/2016/06/20/vscode-01/
但它什么也没做,VS Code 只是不会添加 jquery intellisense,我已经尝试解决这个问题好几个小时了,但它就是行不通
【问题讨论】:
您能否提供更多信息。 我已经尝试了链接上显示的所有内容,您还需要什么? JQuery intellisense in Visual Studio Code的可能重复 【参考方案1】:大多数博客帖子现在都已过时,因为我们终于在 1.8+ 版本中实现了自动类型获取 - 您不再需要自己安装类型。
我建议阅读官方文档,它始终是最新的:https://code.visualstudio.com/docs/languages/javascript
如果你使用 npm 并且在你的项目中有一个 package.json
并且 jQuery 列在那里,它应该已经可以工作了。
如果你不使用npm,你可以在项目根目录下创建jsconfig.json
文件,内容如下:
"typeAcquisition":
"include": [
"jquery"
]
【讨论】:
嗨 kwood,我可以在没有项目的情况下将 jquery intellisense 添加到 vs 代码吗?我在不同的环境中编辑了许多任意的 js 文件。 这在一台机器上对我有用,但在另一台机器上却不行。 (两者都相同。)如果像这样手动包含 jquery 支持,有什么可能会阻止它的洞察力吗? @anaval :刚刚测试过,它也适用于AngularJS
:"typeAcquisition": "include": [ "jquery", "angular" ]
【参考方案2】:
在您的项目根目录中键入此命令:
npm i --save @types/jquery
【讨论】:
我尝试在全球范围内安装它。它被添加到全局模块中,但在 vs 代码中没有生效。有任何想法吗 ? (是的,我在全局安装后尝试关闭和打开 vs 代码) @eranotzap 我相信这个命令必须在项目中运行,而不是全局运行。当你全局安装它时它不起作用。【参考方案3】:我认为主要原因是 Vscode 没有解析 Jquery.js 文件,因为原始 jquery 文件被缩小,导致 vscode 停止文件的标记化。 要解决此问题,请打开 jquery.js 文件,右键单击并选择格式。标记化过程将完成。
【讨论】:
【参考方案4】:我遇到了同样的问题,谷歌把我带到了这里。我添加了类型 jsconfig.json 和 "typeAcquisition" 仍然没有。
原来你必须安装 node 和 npm。即使您没有将它们用于包管理,而是从 CDN 导入 jquery。
来自文档
许多流行的库都附带了类型文件,因此您可以自动为它们获取 IntelliSense。对于不包含类型的库,VS Code 的自动类型获取将自动安装社区维护的类型文件
自动类型获取需要 npmjs,即 Node.js 包管理器,它包含在 Node.js 运行时中。在这张图片中,您可以看到 IntelliSense,包括方法签名、参数信息和流行 lodash 库的方法文档。
https://code.visualstudio.com/docs/nodejs/working-with-javascript
所以 vs code 使用 npm 进行自动类型获取。
可能是超级基本的,但它解决了我的问题,所以我希望它也可以帮助其他人。
我还使用了 kwood 描述的 jsconfig.json 中的配置。不确定我是否需要在安装 npm 后手动指定它,但它正在工作,所以我没有问问题
【讨论】:
【参考方案5】:帮助我的是使用非缩小版的 jQuery,然后使用
/// <reference path="./jquery-3.4.1.js" />
在我的 JS 文件的开头。
(我正在编写客户端代码,即直接使用<script>
标签添加到页面的 ES5 JavaScript。)
【讨论】:
以上是关于VS Code 中的 jQuery 智能感知的主要内容,如果未能解决你的问题,请参考以下文章
在 VS Code 中的 TypeScript 中使用 jQuery
Visual Studio 2017 Enterprise中的jQuery智能感知[重复]