Visual Studio 2015中的AngularJS Intellisense
最近我开始使用Visual Studio 2015社区而不是括号。就像在网站上说的那样,它对Angular有一些支持,但是,我甚至没有看到它在任何地方,而不是HTML文件。 即使变量“角”,而盘旋其上,打印Visual Studio 2015中的AngularJS Intellisense
angular <type unknown>
我添加了一个图像来解释我的意思。
我试图改变JavaScript的文本编辑引用隐式的(网络),但是,重启后,就又回到了隐式(Windows)中。
我使用Web Essentials,我知道它具有创建Intellisense JS和TS文件的功能,但是,此功能始终处于禁用状态。我打开了我的项目中的每个目录并检查了它,此功能始终关闭。
此外,我尝试手动创建带有_references.js的脚本目录,但它的工作原理非常... baaad,我需要将它移动到另一个目录并将其返回到之前,以使诸如自动同步的选项可用。同样的事情是关于_references.js
为了使这种情况更清洁: 我创建_references.js manualy。现在它有它的Anto-Sync和Update References选项。 - >重新启动Visual Studio 2015 - > _references.js不再有这样的选项。 但是,即使在重新启动之前,如果我更新它,它将跳过根文件夹中除app.js之外的所有内容。
P.S. AngularJS IntelliSense在HTML文件中工作,即我可以放置ng- *属性。所以......我想,这在VS 2015中不起作用。 P.S.S.我使用NodeJS作为WebApp的服务器部分。
好吧,我知道你正在寻找一个解决方案,与Instellisense和Visual Studio的工作,不管是什么。
我也使用Visual Studio,但我搬到TypeScript工作。它实际上是在编写一种扩展强类型的JavaScript。这意味着你可以声明你的变量的类型。例如:var x:string = 'test';
有课程的优点和缺点。我喜欢这些优点,这就是我使用它的原因。
- 你必须编译你的代码。理解解析你的Javascript进行错误检查和从
*.ts
文件到*.js
文件的转换过程。 -
您可以添加标头文件。你有没有开发过C/C++应用程序?那么,在TypeScript中,你可以添加定义或
*.d
文件,这些文件实际上只是用于检查JavaScript函数定义的头文件。 - Visual Studio上的TypeScript使用Intellisense。这就是我们正在谈论的!
#2的优势非常好。它可以防止你执行错误的代码,如:
setTimeout(myFunc, 'abc');
这不适用于第二个参数应该是一个数字,而不是字符串。 但正如我所说的,您必须将定义文件添加到TypeScript解决方案才能正常工作。
如果你喜欢尝试的是(你会不会后悔),请按照下列步骤操作:
- 下载并为Visual Studio安装打字稿 - 按照链接https://www.typescriptlang.org/
- 创建打字稿谟 - 非常简单,在安装Visual Studio的TypeScript之后已经有了一个模板;
- 添加的角度,使用的NuGet
- jQuery的包安装下面的定义包 - angularjs.TypeScript.DefinitelyTyped - https://www.nuget.org/packages/angularjs.TypeScript.DefinitelyTyped/
我相信这不仅仅是普通的智能感知一个更好的解决方案,因为它也可以防止你发送错误的参数给角度函数。由于JavaScript允许任何类型的变量,当JS中的任何内容中断时,真的很难做代码审查。对于TS,这不应该发生。如果你这样做,编译将失败。
您是否尝试过在您想要智能感知的js文件的开始处使用此操作?
/// <reference path="pathToAngular.js" />
感谢您的建议,我我会尝试 – ShiiRochi
谢谢你,它的工作原理,我想使用JS,只有在克服了TS之后,但我想我会比我计划的更早做到这一点。我会检查你的答案作为解决方案。 – ShiiRochi