Javascript 淘汰版js intellisense(自动建议)不适用于Webstorm和Visual Studio

Javascript 淘汰版js intellisense(自动建议)不适用于Webstorm和Visual Studio,javascript,visual-studio,knockout.js,webstorm,jetbrains-ide,Javascript,Visual Studio,Knockout.js,Webstorm,Jetbrains Ide,我在我的简单应用程序中使用knockoutjs击倒js在我的应用程序中运行良好。我的问题是为什么VS2013或WebStorm没有显示任何击倒的智能感知?它还显示了jQuery的智能感知 目前我的代码是: <!DOCTYPE html> <html> <head> <title></title> <script src="Scripts/jquery-1.9.0.js"></script>

我在我的简单应用程序中使用knockoutjs击倒js在我的应用程序中运行良好。我的问题是为什么
VS2013
WebStorm
没有显示任何击倒的智能感知?它还显示了
jQuery
的智能感知

目前我的代码是:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="Scripts/jquery-1.9.0.js"></script>
    <script type="text/javascript" src="Scripts/knockout-3.0.0.js"></script>
    <script type="text/javascript">
        $(function() {
            $("#jqueryTestId").html("Hello world, From jquery.");
        });
    </script>
</head>
<body>
    <div>
        name: <input type="text" data-bind="value: name"/> <br/>
        You've clicked <span data-bind="text: numberOfClicks"></span> times
        <button data-bind="click: incrementClickCounter">Click me</button>

    </div>
    <div id="jqueryTestId">

    </div>

<script type="text/javascript">
    var viewModel = {
        numberOfClicks : ko.observable(0),
        name : ko.observable(""),
        incrementClickCounter : function() {
            var previousCount = this.numberOfClicks();
            alert(this.name("TestName"));
            this.numberOfClicks(previousCount + 1);
        }
    };

    ko.applyBindings(viewModel);
</script>
</body>
</html>

如何启用intellisense?

使用knockout.d.ts在Settings/libraries/javascript中配置为javascript库,正如@RP Niemeyer所建议的,是WebStorm的最佳解决方案。使用minified knockout-3.0.0.js作为库目前不起作用-请参见

您只需使用我使用过的KnockoutJS调试版本,它自动完成得非常好:

<script type="text/javascript" src="js/knockout-3.2.0.debug.js"/>

希望这能解决您的问题:)


这同样适用于“数据绑定”标记:

可能与jQuery的@PWKad i test VS重复,但它的intellisense在WebStorm中运行良好,您最好将Knockout配置为如下库:。在Libraries对话框中,单击Download…,然后将下拉列表切换到“TypeScript社区存根”,并选择淘汰的一个。这将给你最好的intellisense。这也解决了RubyMine的intellisense问题。虽然这确实解决了这个问题,但我并不100%满意你在knockout官方网站上看到的注释(请检查粗体部分):也可用:调试构建。注意:这只是为了帮助您了解击倒的工作原理。不要将其用于正常的应用程序开发,因为它会暴露其他不受支持的私有API。如果knockout是以intellisense更容易的方式编写的,或者其他IDE适应knockout声明其代码的方式,那就太好了。我同意你的观点,因为调试脚本也更大,但是如果你只是为了intellisense的自动完成而使用它,我认为从缩小版到调试版来回切换是公平的。我认为可以将调试脚本保留在主源代码目录之外,并且仍然可以获得代码完成的好处。实际上,我并没有在任何脚本标记中使用调试脚本,但Webstorm仍然会选择该库进行索引。
<script type="text/javascript" src="js/knockout-3.2.0.debug.js"/>