2013-08-11 2 views
0

Кажется, я не комментирую класс, чтобы его методы знали в редакторе WebStorm.Как комментировать классы с компилятором Closure/JSDoc?

Вот пример:

/** 
* @class my class 
* @constructor 
*/ 
function MyClass() { 
    this.aPublicField = "foo" 
    var aPrivateField = "bar" 

    this.aPublicMethod = function() {} 
    var aPrivateMethod = function() {} 
} 

/** 
* @param {MyClass} aClass 
*/ 
function doSomething(aClass) { 
    aClass.aPublicMethod() <----- "Unresolved function or method" 
} 

Java-подобный синтаксис должен быть правильным .. я думаю. Я делаю что-то не так в аннотациях?

ответ

0

Документация кажется правильной и прекрасно подходит для меня в WebStorm 6.0.2a и последних 7 EAP. Я думаю, что ваша проблема может быть связана с вопросом WEB-7548. Мы считали, что слово, следующее за тегом @class, является именем класса, и свойства были привязаны к неправильному классу, поэтому в качестве обходного пути теперь вы можете перемещать описание класса где-то из тега @class или, как лучшую альтернативу, загружать последнюю версию WebStorm 7 EAP.

+0

Решение проблемы WebStorm 7 устраняет проблему. Я предполагаю, что это не только класс, но и тот факт, что класс объявлен внутри модуля, который передается в другой модуль в качестве аргумента ... и затем используется там. Не знаю, почему, но даже с использованием 'moduleName.MyClass' (с именами' moduleName' и 'MyClass', правильно привязанными к их объектам) не удалось решить проблему. WebStorm 7 просто работает с MyClass. – fusio

Смежные вопросы