|
Мой 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, не зная всех их возможностей. Спасибо! |
EmEditor.
Всё, что я описывал: * подстветка (с возможностью своих конфигов); * автокомплит (с возможностью своих конфигов + текущие слова в документе); * сниппеты; * прямоугольные выделения; * обрамление текста (коммент, блоки); * передача выделения внешней программе; * макросы (фактически, любая дополнительная автоматизация); * легковестный; * хорошо работает с большими файлами; * фолдинг/outline (не пользуюсь); Price: $39.99. |
Редактор 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$ |
Dmitry A. Soshnikov,
можно попросить переделать пост под структуру? Я из этого таблицу сделаю потом.. |
Илья Кантор,
я вчера еще обнаружил, что WebIDE умеет синтаксическое дерево показывать. |
Цитата:
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; * линейка есть :D * Web Preview * HTML Bar (теги, формы, таблицы, выбор цвета и т.д.); * Diff * Explorer файлов * Расширенный search bar * Word Count * External Tools (IE, CMD, любая другая) * Вывод во встроенную консоль результатов внешней программы. |
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. Но это все фигня =) |
Цитата:
if (!условие) { return; } // обработка return какойТоОбъект; Так вот Komodo у коллег ругался на первый return, говоря, что он, якобы, не возвращает значение (ну, правильно, Komodo же (а вернее, тот, кто писал алгоритм этой проверки) не знал, что функция в JS всегда возвращает значение, даже если вообще нет return-a, либо же, ему невдомёк, что возвращается дефолтное undefined). В общем, коллегам не нравилась красная подчёркивающая линия, сигнализирующая об ошибке и решили поставить return null; ;) И невдомёк Komodo, что этот return - это просто "выход из анализа", т.е. значение вообще не интересует: код в самом начале не прошёл проверку - выходим, нет смысла анализировать дальше. Цитата:
В JS, например, набери func и нажми Ctrl+T. Вообще, Komodo - хороший редактор/IDE (UI написан на XUL-e, легко писать плагины, макросы скриптуются JS или Python-ом), но, по сравнению с EmEditor - тормозной. |
Еще по Komodo: у меня он не умеет автокомплит с учетом структуры, смотрите например пример
function MyClass() { this.method = function() {} } MyClass.prototype.protoMethod = function() {} function blabla() {} myVar = new MyClass() myVar.... автокомплит он, случаем, не предлагает blabla как вариант? |
Цитата:
Выдает протометод а вот метод не видит =( эт его недостаток. он видит ток прямые прототипы функций-переменных как я понял А что у вас видит другие при такой раскладке? F = function(){ this.c=1; } F.prototype.a = function(){} F.prototype.b = function(){} FF = function(){return new F();} FF... автокоплит что выдает? в комодо все a,b,c П.С. EmEditor не поддерживает проекты, а это никуда не годится. Ну хоть файловая система есть. Для меня это как блокнот не больше. |
Часовой пояс GMT +3, время: 04:09. |
|