Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.12.2009, 12:22
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Мой javascript-редактор
Опишите, пожалуйста, свой javascript-редактор/IDE для разработки. Пусть читатели этой темы знают, какой редактор на что способен и смогут выбрать подходящий для себя.

Для описания предлагается такая схема (по мотивам топика "что для вас важно в javascript-редакторе"):

--- автокомплит ---
Уровни поддержки:
1) по символам в файле
2) учет прототипа/структуры объекта
3) учет других javascript-файлов проекта
4) получение информации о типе из специальных комментариев (ScriptDoc, Intellisense и т.п.))
5) поддержка основных javascript-фреймворков

Например:
function MyClass() {
this.method = function() {}
}
MyClass.prototype.protoMethod = function() {}

function blabla() {}

myVar = new MyClass()

myVar.... автокомплит
1) редактор предложит все символы из файла, включая blabla
2) редактор предложит method и protoMethod, но не blabla
3) редактор также рассмотрит другие файлы проекта
4,5) self-descriptive

Возможно несколько уровней, например: 2+3+4 (Intellij IDEA)

--- фолдинг(сворачивание участков кода) ---
Уровни поддержки:
1) на уровне функций
2) ур. 1 + на уровне блоков
3) ур. 2 + на уровне комментариев

--- подсветка и проверка синтаксиса --
Уровни поддержки:
1) Есть в файлах .js
2) Правильно интегрировано с HTML/шаблонами
3) Есть проверка синтаксиса

--- быстрота ---
Уровень оценивается субъективно, оценкой от 1(медленнее некуда) до 10 (летает).
1) Скорость запуска
2) Дальнейшая работа

--- структура кода ---
Уровни поддержки:
1) Возможность перейти к определению переменной/функции(go to definition)
2) Возможность переименовать везде (рефакторинг)
3) Возможность просмотра и навигации по коду, используя структуру (outline)

--- сниппеты ---
Уровни поддержки:
1) Вставка куска кода по хоткею
2) Вставка сниппета на основе выделенного блока кода.
Например: обрамление комментариями, окружение if, try..catch
3) Вставка сниппетов по шаблону, например: f( разворачивается в function()


--- кастомизация ---
Уровни поддержки:
1) Можно добавить (заскриптовать) какие-то действия с выделенным кодом,
более умные, чем шаблон, например, с использованием внешних программ

--- отладка ---
Уровни поддержки:
1) Есть некий отладчик (подробнее?)
2) Интеграция с браузерами (Firefox, Internet Explorer)

--- операционные системы ---
Windows, Linux, Mac support ?

--- стоимость ---
Сколько стоит?

Пожалуйста, указывайте не только что возможность есть, но и КАК ее задействовать. Многие пользуются редакторами и IDE, не зная всех их возможностей.

Спасибо!

Последний раз редактировалось Илья Кантор, 17.12.2009 в 14:36.
Ответить с цитированием
  #2 (permalink)  
Старый 16.12.2009, 17:12
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

EmEditor.

Всё, что я описывал:

* подстветка (с возможностью своих конфигов);
* автокомплит (с возможностью своих конфигов + текущие слова в документе);
* сниппеты;
* прямоугольные выделения;
* обрамление текста (коммент, блоки);
* передача выделения внешней программе;
* макросы (фактически, любая дополнительная автоматизация);
* легковестный;
* хорошо работает с большими файлами;
* фолдинг/outline (не пользуюсь);

Price: $39.99.
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 16.12.2009 в 17:24.
Ответить с цитированием
  #3 (permalink)  
Старый 16.12.2009, 17:24
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Редактор WebIDE (Intellij IDEA)

--- автокомплит ---
Уровни поддержки:
1) по символам в файле
да

2) учет прототипа/структуры объекта
да

3) учет других javascript-файлов проекта
да

4) получение информации о типе из специальных
комментариев (ScriptDoc, Intellisense и т.п.))
да, jsdoc

5) поддержка основных javascript-фреймворков
Да, для тех, у которых есть jsdoc.
Например, для jquery - нужно скачать jsdoc: http://code.google.com/p/jquery-jsdoc/downloads/list .


--- фолдинг(сворачивание участков кода) ---
Уровни поддержки:
1) на уровне функций
2) ур. 1 + на уровне блоков
3) ур. 2 + на уровне комментариев

Да, ур. 3

--- подсветка и анализ синтаксического дерева --
Уровни поддержки:
1) Есть в файлах .js + проверка синтаксиса
2) Правильно интегрировано с HTML/шаблонами, учтена проверка синтаксиса

Да

--- быстрота ---
Уровень оценивается субъективно, оценкой от 1 до 10

1) Скорость запуска 3
2) Дальнейшая работа 7


--- структура кода ---
Уровни поддержки:
1) Возможность перейти к определению переменной/функции(go to definition)
да, ctrl+b

2) Возможность переименовать везде (рефакторинг)
да, shift+f6 на названии

3) Возможность просмотра и навигации по коду, используя структуру (outline)
да, режим проекта Structure

--- сниппеты ---
Уровни поддержки:
1) Вставка куска кода по хоткею
2) Вставка сниппета на основе выделенного блока кода.
Например: обрамление комментариями, окружение if, try..catch
3) Вставка сниппетов по шаблону, например: f( разворачивается в function()

1,2,3) да
Для сниппетов - live templates


--- кастомизация ---
Уровни поддержки:
1) Можно добавить (заскриптовать) какие-то действия с выделенным кодом,
в том числе с использованием внешних программ

Не знаю, как это сделать. Плагин?

--- отладка ---
Уровни поддержки:
1) Есть некий отладчик (подробнее?)
2) Интеграция с браузерами (Firefox, Internet Explorer)
Да, Run Configuration->Javascript debugging, ставит расширение для Firefox

--- операционные системы ---
Кроссплатформенный, Java

--- стоимость ---
WebIDE пока что в pre-alpha, но люди его используют.
Intellij IDEA платная, 599$

Последний раз редактировалось Илья Кантор, 16.12.2009 в 18:07.
Ответить с цитированием
  #4 (permalink)  
Старый 16.12.2009, 17:27
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Dmitry A. Soshnikov,
можно попросить переделать пост под структуру? Я из этого таблицу сделаю потом..
Ответить с цитированием
  #5 (permalink)  
Старый 16.12.2009, 17:45
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Илья Кантор,
я вчера еще обнаружил, что WebIDE умеет синтаксическое дерево показывать.
Ответить с цитированием
  #6 (permalink)  
Старый 16.12.2009, 21:08
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от Илья Кантор
Dmitry A. Soshnikov,
можно попросить переделать пост под структуру? Я из этого таблицу сделаю потом..
Редактор EmEditor (Emurasoft)

http://emeditor.com

--- автокомплит ---
Уровни поддержки:
1) по символам в файле
да

2) учет прототипа/структуры объекта
да (просто в автокомплите выводит все символы в файле, включая свойство из прототипа)

3) учет других javascript-файлов проекта
нет

4) получение информации о типе из специальных
комментариев (ScriptDoc, Intellisense и т.п.))
нет/не знаю

5) поддержка основных javascript-фреймворков
по дефолту - нет (редактор общего пользования), кастом - да (можно добавить любые свои конфигурации автокомплита, слов подсветки, сниппетов по фреймворку и т.д.)

--- фолдинг(сворачивание участков кода) ---
Уровни поддержки:
1) на уровне функций
2) ур. 1 + на уровне блоков
3) ур. 2 + на уровне комментариев

Да, ур. 3

--- подсветка и анализ синтаксического дерева --
Уровни поддержки:
1) Есть в файлах .js + проверка синтаксиса
2) Правильно интегрировано с HTML/шаблонами, учтена проверка синтаксиса

Да (подсветка, правильно интегрированная с HTML; проверки синтаксиса нет, возможно, дополнительными плагинами - не знаю)

--- быстрота ---
Уровень оценивается субъективно, оценкой от 1 до 10

1) Скорость запуска 1
2) Дальнейшая работа 1


Очень легковесный, большие файлы открывает тоже быстро.

--- структура кода ---
Уровни поддержки:
1) Возможность перейти к определению переменной/функции(go to definition)
да (при использовании проекта и его таблицы символов, либо при включённом outline-е и его таблицы; отдельно, либо по shorcut-у - нет, хотя, возможно, легко скриптуется макросами).

2) Возможность переименовать везде (рефакторинг)
нет (не выделено специальной функции, но - Ctrl-H, "заменить всё" + "заменить всё во всех файлах")

3) Возможность просмотра и навигации по коду, используя структуру (outline)
да

--- сниппеты ---


Уровни поддержки:
1) Вставка куска кода по хоткею
2) Вставка сниппета на основе выделенного блока кода.
Например: обрамление комментариями, окружение if, try..catch
3) Вставка сниппетов по шаблону, например: f( разворачивается в function()

1,2,3) да

--- кастомизация ---
Уровни поддержки:
1) Можно добавить (заскриптовать) какие-то действия с выделенным кодом,
в том числе с использованием внешних программ

Да (хорошая поддержка макросов: скриптуется либо JS, либо VB + автоматическая генерация кода по записи действий). Кастомные сниппеты/макросы, скриптование выделенного текста (например, обрамление, сортировка и т.д.), передача его внешней программе.

--- отладка ---
Уровни поддержки:
1) Есть некий отладчик (подробнее?)
2) Интеграция с браузерами (Firefox, Internet Explorer)
Нет (возможно, дополнительным плагином). Есть встроенный браузер (Web Preview - панель в которой можно смотреть результат; не пользуюсь).

--- операционные системы ---
Windows

--- стоимость ---
$39.99

Также (не пользуюсь этим):

* понимает CSV, TSV, User defined DSV;
* линейка есть
* Web Preview
* HTML Bar (теги, формы, таблицы, выбор цвета и т.д.);
* Diff
* Explorer файлов
* Расширенный search bar
* Word Count
* External Tools (IE, CMD, любая другая)
* Вывод во встроенную консоль результатов внешней программы.
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 16.12.2009 в 21:26.
Ответить с цитированием
  #7 (permalink)  
Старый 16.12.2009, 22:28
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Komodo IDE

--- автокомплит ---
Уровни поддержки:
1) по символам в файле
Да

2) учет прототипа/структуры объекта
Да

3) учет других javascript-файлов проекта
Да

4) получение информации о типе из специальных комментариев (ScriptDoc, Intellisense и т.п.))
Да, но не знаю как заюзать, точнее как написать свое.

5) поддержка основных javascript-фреймворков
Да


--- фолдинг(сворачивание участков кода) ---
Уровни поддержки:
1) на уровне функций
Да

2) ур. 1 + на уровне блоков
Да

3) ур. 2 + на уровне комментариев
Нет

--- подсветка и анализ синтаксического дерева --
Уровни поддержки:
1) Есть в файлах .js + проверка синтаксиса
Да, причем даже строгая, типа функция не возвращает данные.

2) Правильно интегрировано с HTML/шаблонами, учтена проверка синтаксиса
Да

--- быстрота ---
Уровень оценивается субъективно, оценкой от 1(медленнее некуда) до 10 (летает).
1) Скорость запуска
3 5-10 сек. Nuspere PHP гдето 3-6сек

2) Дальнейшая работа
5

--- структура кода ---
Уровни поддержки:
1) Возможность перейти к определению переменной/функции(go to definition)
Да, ctrl+click

2) Возможность переименовать везде (рефакторинг)
Быстрого способа нет, поиск по файлам.

3) Возможность просмотра и навигации по коду, используя структуру (outline)
Да, структура, DOM

--- сниппеты ---
Уровни поддержки:
1) Вставка куска кода по хоткею
2) Вставка сниппета на основе выделенного блока кода.
Например: обрамление комментариями, окружение if, try..catch
3) Вставка сниппетов по шаблону, например: f( разворачивается в function()
Есть


--- кастомизация ---
Уровни поддержки:
1) Можно добавить (заскриптовать) какие-то действия с выделенным кодом,
более умные, чем шаблон, например, с использованием внешних программ
Незнаю

--- отладка ---
Уровни поддержки:
1) Есть некий отладчик (подробнее?)
2) Интеграция с браузерами (Firefox, Internet Explorer)
Вроде есть, но я не пользуюсь

--- операционные системы ---
Windows, Linux, Mac support ?
Все перечисленные

--- стоимость ---
Komodo IDE is $295 USD for all the languages, platforms, and systems you use. Licenses include all point release updates (such as from Komodo IDE 5.2 to 5.3).

Komodo IDE team pricing: Get 5 licenses for the price of 4 when you buy a 5-pack for $1180 USD.
Но это все фигня =)

Последний раз редактировалось PeaceCoder, 17.12.2009 в 00:44.
Ответить с цитированием
  #8 (permalink)  
Старый 16.12.2009, 23:07
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от PeaceCoder
1) Есть в файлах .js + проверка синтаксиса
Да, причем даже строгая, типа функция не возвращает данные.
Я, вот когда говорил в соседней теме, что некоторые редакторы иногда не понимают, что они проверяют, как раз имел в виду Komodo. Коллеги на работе используют Komodo, и этот редактор ругался на мой код: было два return-a:

if (!условие) {
  return;
}

// обработка

return какойТоОбъект;


Так вот Komodo у коллег ругался на первый return, говоря, что он, якобы, не возвращает значение (ну, правильно, Komodo же (а вернее, тот, кто писал алгоритм этой проверки) не знал, что функция в JS всегда возвращает значение, даже если вообще нет return-a, либо же, ему невдомёк, что возвращается дефолтное undefined). В общем, коллегам не нравилась красная подчёркивающая линия, сигнализирующая об ошибке и решили поставить return null; И невдомёк Komodo, что этот return - это просто "выход из анализа", т.е. значение вообще не интересует: код в самом начале не прошёл проверку - выходим, нет смысла анализировать дальше.

Сообщение от PeaceCoder
--- сниппеты ---
Уровни поддержки:
1) Вставка куска кода по хоткею
2) Вставка сниппета на основе выделенного блока кода.
Например: обрамление комментариями, окружение if, try..catch
3) Вставка сниппетов по шаблону, например: f( разворачивается в function()

Всего вроде нет, я не нашел
Ctrl+T

В JS, например, набери func и нажми Ctrl+T.

Вообще, Komodo - хороший редактор/IDE (UI написан на XUL-e, легко писать плагины, макросы скриптуются JS или Python-ом), но, по сравнению с EmEditor - тормозной.
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 16.12.2009 в 23:37.
Ответить с цитированием
  #9 (permalink)  
Старый 16.12.2009, 23:21
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Еще по Komodo: у меня он не умеет автокомплит с учетом структуры, смотрите например пример
function MyClass() {
this.method = function() {}
}
MyClass.prototype.protoMethod = function() {}

function blabla() {}

myVar = new MyClass()

myVar.... автокомплит

он, случаем, не предлагает blabla как вариант?
Ответить с цитированием
  #10 (permalink)  
Старый 16.12.2009, 23:36
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Dmitry A. Soshnikov
то некоторые редакторы иногда не понимают, что они проверяют
это отключается.

Выдает протометод а вот метод не видит =( эт его недостаток. он видит ток прямые прототипы функций-переменных как я понял
А что у вас видит другие при такой раскладке?
F = function(){
this.c=1;
}

F.prototype.a = function(){}
F.prototype.b = function(){}

FF = function(){return new F();}


FF... автокоплит что выдает? в комодо все a,b,c

П.С. EmEditor не поддерживает проекты, а это никуда не годится. Ну хоть файловая система есть. Для меня это как блокнот не больше.

Последний раз редактировалось PeaceCoder, 16.12.2009 в 23:48.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Собрался силами, собираюсь освоить Javascript walker Общие вопросы Javascript 14 20.03.2012 15:17
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
WYSIWYG редактор текста HTML страницы на javascript Дмитри Чижиков Ваши сайты и скрипты 4 14.09.2009 17:05
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43
JavaScript Редактор WYSIWYG - редактирование текстов banyman Элементы интерфейса 23 26.05.2008 15:16