Что я должен сделать, чтобы получить IntelliSense JavaScript для моей собственной библиотеки JS в Visual Studio - PullRequest
2 голосов
/ 23 июня 2011

У меня есть несколько файлов JavaScript, и у них есть свои функции.Если я сделаю ссылку на один из них внутри любого из них, он не увидит своих функций, если функция не является прототипом.Что такое логика внутри Intellisense?

Я хочу использовать функцию Splash с функцией Intellisense ниже, как я могу это сделать?

//My.js
/// <reference path="Test.js" />

.

//Test.js
NameSpace.prototype.UI = new function () {

    this.Splash = function (value) {
        try {
            if (value == 1) {
                $('#splash').css('height', $(document).height());
                $('#splashContent').css('top', $(window).height() / 2);
                $('#splash').fadeIn();
                $('#splashContent').fadeIn();
                setTimeout("SF.UI.Splash(0)", 3000);
            }
            else if (value == 0) {
                $('#splash').fadeOut(1000);
                $('#splashContent').fadeOut(1000);
            }
            else if (value == 3) {
                $('#splash').css('height', $(document).height());
                $('#splashContent').css('top', $(window).height() / 2);
                $('#splash').fadeIn();
                $('#splashContent').fadeIn();
            }
        } catch (e) {
            Splash(0);
        }
    }
}

Ответы [ 2 ]

3 голосов
/ 05 июля 2011

JS Intellisense является в лучшем случае облупленным. Несмотря на все эти статьи, по моему опыту, это не работает так, как рекламируется. Я бы предложил:

  • Убедитесь, что все ваши файлы JS находятся в одном проекте (сделать работу над проектами еще сложнее).
  • Убедитесь, что /// <reference path="Test.js" /> самая первая строка в JS.
  • Убедитесь, что в файле Test.js нет ошибок (для уверенности, запустите JSLint) или используйте подход vsdoc.
  • Посмотрите в окне инструмента Output, чтобы увидеть, нет ли в нем ошибок, связанных с обновлением intellisense. Это поможет вам устранить неполадки и устранить ошибки в указанном вами файле JS.

Альтернатива для создания файла Test-vsdoc.js (таким образом, даже если ваш основной файл JS содержит ошибки, это не приведет к сбою intellisense):

//Test-vsdoc.js
NameSpace.prototype.UI = new function () {

    this.Splash = function (value) {
    /// <summary>This is my function summary</summary>
    }
}

VS автоматически включит его при следующем перезапуске IDE (или попытается принудительно обновить Ctrl + Shift + J )

1 голос
/ 05 июля 2011

Предполагая, что это фактическое содержимое вашего js-файла, включая комментарий //My.js, тогда это ваша проблема.

/// <reference комментарии должны находиться в самом верху файла, долюбой другой контент, иначе он не будет работать.

Примечание: знаете ли вы, что для этой ссылки есть фрагмент кода?его ref, затем tab tab .Также вы можете перетащить файл и получить комментарий.

После того, как вы справитесь со своими ссылками, вы можете заставить VS2010 обновить комментарии js, нажав Ctrl + Shift + J при редактированиифайл .js

...