问题标签 [javascript-intellisense]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
812 浏览

typescript - Visual Studio 2015 隐藏错误列表中的 Javascript 错误

我最近开始在 Visual Studio 2015 中使用 mvc6 和 knockoutJS。当我在我的打字稿文件中使用敲除时,我在所有与 jquery 或敲除(或任何库)相关的内容上都出现红色下划线,并且它Cannot find name 'ko'在我的错误列表中显示。我知道 IDE 无法确定这些 javascript 对象确实存在,但这肯定是每个人都会遇到的问题吗?

如何从我的 javascript/typescript 文件中删除智能感知?

0 投票
1 回答
2273 浏览

javascript - 如何在 Visual Studio Intellisense 中记录 JavaScript 配置对象

我使用 Visual Studio 的 JavaScript Intellisense 功能已经有一段时间了,并且对它为标准 API 提供建议的能力非常满意,但我发现我无法让 Visual Studio 理解配置对象(即具有多个可选的单个对象或所需的属性作为函数的参数)。

官方的JSDoc 语法建议,如果一个参数应该有属性,你可以@param为每个参数创建一个单独的行并使用点表示法:

但是,Visual Studio 无法识别这一点 - 它会将 、 和 呈现configconfig.name三个config.gold单独的顶级参数。

do_it() 注册三个单独的参数

更糟糕的是,方法主体中的 AutoComplete 功能也不识别参数,更不用说它们的类型了:

尝试访问 config.name 的方法会产生黄色三角形并且没有帮助。

在 Visual Studio 中似乎更接近的唯一解决方案是使用适当的文档(@constructor@property标签)编写从未调用的构造函数,这使我编写了很多死代码,也违背了 JavaScript 的无类心态(这是我首先使用配置对象的原因)。它甚至不让我写配置对象!

不仅如此,我还知道 Visual Studio 不需要它。例如,当我写出对这个库函数的调用时,它能够收集到参数对象需要名为idsource和的属性,并target在我为函数的参数创建对象文字时建议这些名称 - 并且没有一行的文档。据推测,它来自一个简单的事实,即它们被使用

Visual Studio 自动建议这三个属性,根本没有文档注释

当然,如果这些属性不在对象上并且不是正确的类型,则该方法确实会引发异常,但仍然如此。 编辑:我最近能够在我自己的代码中使用对象字面量参数来复制效果——我用一个定义明确的对象调用了一个函数,当我在代码的其他地方再次调用该函数时,它给了我 Intellisense 建议。但是我仍然没有函数体内的类型信息或语义访问。

Visual Studio 显然理解配置对象的概念,并且正在做一些逻辑来提供建议的属性。那个算法是什么?以及如何在不破坏代码的情况下利用它?

0 投票
1 回答
122 浏览

node.js - WebStorm 智能感知节点包

我已经 npm 安装了两个包(q,async)。对于第一个,智能感知效果很好,而第二个则不是。

你知道我能做些什么来让智能感知适用于任何节点包,就像它适用于 Q 包一样吗?

谢谢!

问

异步

0 投票
1 回答
491 浏览

javascript - 在 Visual Studio 2013-2015 中制作 requireJS 智能感知

这似乎是一个简单的问题,但我在网上找不到任何关于它的信息,在 Stack Overflow 也没有。

我在使用 RequireJS(客户端)在 Visual Studio 2013/2015 下使 Intellisense 工作时遇到问题。

理论上你只需要在 _references.js 文件中添加一个引用,像这样:

但我一直通过有关“JavaScript 语言服务”的输出窗口收到此消息:

VS 中有关 RequireJS 路径的错误

似乎该功能试图从 VS JavaScript 引用文件夹而不是我的真实文件夹加载我的“main.js”文件,该文件夹添加了很多“../”并且无法解决。事实上,除了所有的“../”之外,无法加载的建议路径都可以。

我尝试了多种相对路径组合来编写属性,但没有运气。

这很烦人,我在网上找不到任何关于这个特定问题的可靠信息。我发现的唯一参考是这个:

http://blog.nansen.com/2015/09/getting-visual-studio-intellisense-to.html

他们建议将 baseUrl 配置代码添加到 _references.js 文件中,这对我来说根本不起作用。

关于如何解决这个问题的任何想法?

顺便说一句:关于如何在 VS Code 下进行这项工作的任何参考资料?

0 投票
2 回答
5044 浏览

javascript - 在 VS Intellisense 的 JSDoc 类型定义中记录数组

在我的 VS2015 JavaScript 应用程序中,我有一个从 REST API 获得的 JSON 对象,我使用 JSDoc@typedef注释记录了该对象:

当我在使用这些 JSON 对象的方法的 JSDoc 注释中引用此类型时,我可以很好地获得 Intellisense 文档:

但是,我根本无法让它与数组一起使用 - 当我尝试索引数组时,我会得到“黄色三角形”菜单,当 VS 无法为您获取 Intellisense 上下文时会发生这种情况:

JSDoc 的其他推荐方法 using{Array.<JSON_Response>}通知 VS 这response是一个数组,但不提供 Intellisense 下的任何内容。Microsoft 自己的 XML 注释确实提供了这种功能,但仅限于函数参数 - 我无法进入对象内部,我也不想这样做,因为每次调用函数时我都必须添加此文档。

有没有办法在 JavaScript 的 VS Intellisense 中记录数组及其底层类型?

如果我必须编写代码,我想尽量减少副作用/能够将其排除在发布之外。

0 投票
1 回答
1765 浏览

visual-studio-2015 - Visual Studio 2015 Angular Intellisense(角度材料设计)

我正在尝试使用 NuGet 包控制台为 VS 2015 获取 Intellisense 以进行 Angular Material Design。

我收到以下错误:

有什么建议么?

0 投票
0 回答
227 浏览

node.js - 如何让智能感知在带有 node.js 的 Visual Studio 代码中工作?

我正在为我的 node.js 项目使用 VS Code,但我的模块上没有智能感知。转到定义查找所有引用也不起作用。如何让智能感知和所有这些功能(如Go to definition等)在 node.js 项目的 VS 代码中工作?

0 投票
1 回答
359 浏览

javascript - 强制 Intellisense 识别分配的变量类型

我有一个异步函数,它返回一个包含 4 个子数组的数组。然后我将该数组拆分为变量。我试图让智能感知来识别这些新变量,但它并没有真正起作用:

如您所见,我尝试使用标准 XML 智能感知文档记录变量,但我没有得到任何智能感知arrayOfAarrayOfD.

但是,如果我保留文档和变量初始化,但没有为变量分配任何东西,我会得到适当的智能感知。

例如

arrayOfA将在那里获得智能感知,但显然此时不会分配实际结果。

0 投票
2 回答
1809 浏览

javascript - 导入包的 Visual Studio 代码 JS Intellisense 不起作用

我很难在 Visual Studio Code(在 Windows 上)中查看导入的 JS 包的 Intellisense。例如,如果我import有一个节点包,例如:

然后我尝试使用它,没有智能感知弹出 在此处输入图像描述

我的朋友有和我一样的插件,并且可以在他的机器上运行。我究竟做错了什么?

0 投票
0 回答
1368 浏览

javascript - 如何修复 JavaScript 中的“IntelliSense 无法确定此表达式的准确完成列表”消息?

我想使用 Visual Studio 进行一些 JS 编码,但我不确定如何修复 IS 以正确获取变量类型。

即使我添加了所有必需的引用,我也会收到此消息。在文件$gameMessage中声明。rpg_managers.js

我的猜测是,这是因为在声明时,null变量被赋值(见这里)。如何在不干扰rpg_managers.js文件的情况下修复它?不幸的是,它不像 C# 那样简单,因为 JS 中没有硬编码类型。

我可以轻松解决这个问题,还是应该为 js 使用其他一些 IDE?因为我想我曾经看到有人使用其他编辑器并且没有出现这个问题。