пятница, 31 июля 2009 г.

Тюнинг code completion в Spket IDE

Spket IDE — отличная среда для современной сложной JavaScript-разработки (подробнее по ссылкам ниже [^]), однако, по непонятным мне причинам, при работе на кастомном профайле (в настройках Эклипса Spket/JavaScript Profiles) в code completion отсутствуют некоторые свойства стандартных объектов (например, методы match, replace, search и split для String). Причем, добавить их через подключение js-файла в кастомный JavaScript-профайл тоже не получается.

Решить проблему можно следующим образом (на примере плагина под Эклипс):
  1. Выходим из Эклипса (если он запущен)
  2. Заходим в папку plugins Эклипса
  3. При помощи любого файлового менеджера (FAR, Total Commander) открываем архивный файл com.spket.js_Х.Х.Х.jar (где X.X.X — ваша версия плагина Spket IDE)
  4. Редактируем файл config/core.js, добавляя недостающие свойства
Синтаксис там очень простой:
...

class Number {
    static var MAX_VALUE:Number;
    static var MIN_VALUE:Number;
    ...
}

class String {
    var length:Number;

    static function fromCharCode(... chars):String;

    function String(string:String);
    function charAt(index:Number):String;
    ...

    function match(searchValue:RegExp_or_String):Array;
    function replace(searchValue:RegExp_or_String, replaceValue:String_or_Function):String;
    function search(searchValue:RegExp_or_String):Number;
    function split(separator:String, limit:Number):Array;
}

class RegExp {
    function RegExp(pattern:String, flags:String);
    ...
}

...
так что проблем особых возникнуть не должно. После перезаргузки Эклипса новые свойства (методы) станут доступны для code completion.


Ссылки по теме: