Тема для обсуждения программистских редакторов (И ПЛАГИНОВ К НИМ) и выбора лучшего.
Обсуждение фич текстовых редакторов для проф. программистов
Какие фичи должны в нём быть (список ниже можно редактировать и расширять: Вы мне говорите что исправить и что добавить - и я это делаю).
Список фич (фичи упорядочены не по значимости и популярности этих фич а случайным образом):
1. Можно настроить редактор так, чтобы русские буквы визуально (напр. цветом) отличались от похожих на них английских (например русская Р ("Рэ") отличалась от английской P ("Пэ))
2. Мультикурсор. Можно создать несколько курсоров и делать ввод сразу в несколько мест
3. Подсветка синтаксиса языков.
3.1. Должна быть встроенная поддержка подсветки синтаксических конструкций для самых популярных языков программирования.
3.2. Стили отображения всех синтаксических конструкций (цвет текста, цвет фона, стиль текста и т.п.) должны быть настраиваемыми
3.3. Для тех языков, поддержка которых не встроена, пользователю должна быть возможность самому определить синтаксические конструкции языка и их подсветку. В т.ч. должна быть возможность задавать контекстно-зависимую подсветку. Когда одно и то же слово подсвечивается в зависимости от контекста, в котором оно употреблено
4. Поддержка работы со столбцами (колонками):
4.1. Можно выделять текст "по вертикали" и двигать/смещать выделенный кусок по горизонтали
5. Поддержка работы с текстовыми контейнерами.
Т.е. можно выделить некоторый фрагмент текста и объявить его текстовым контейнером. Это значит, что теперь текст фрагмента нельзя редактировать обычным образом, а можно только клонировать (создавать его копии), удалять его копии или перемещать фрагмент КАК ЕДИНОЕ ЦЕЛОЕ вверх/вниз по тексту
6.Средства поиска и замены
6.1.Средства поиска
6.1.1.Средства мгновенного поиска (поиска по мере набора)
6.1.1.1 Поиска по порядку совпадения букв. Например чтобы найти "пастеризованный" я ввожу "прй", т.е. 1-ю, 6-ю и 15-ю букву слова
7. Средства анализа текста
7.1. Средства сравнения 2-х и более выделенных фрагментов текста одного файла. Подсветка совпадающих и отличающихся цепочек символов:
Например:
мама мыла раму
папа видел маму
[more=Фича 20140419181630 (Сохранение и восстановление настроек)]Сохранение индивидуальных настроек редактора в виде конфигурационного файла под некоторым именем и последующее их восстановление путём выбора соответствующего конфигурационного файла[/more]
[more=Фича 20140419182013(использование грамматик для задания поисковых запросов)]
Чтобы поиск можно было задавать не только в виде REGEX-ов, но и в виде задания правил-продукций грамматик, т.е. чтобы можно было найти не только конструкцию, относящуюся к типа 3 иерархии Хомского, но и других типов
Например чтобы можно было написать:
@машина = (@жигули, @запорожец)
@жигули = жигул(и,ей,ям,ями)
@запорожец = запор[(,орож(ец,ца,це))]
И нужно найти конструкцию "@машина" в тексте.
Пример простейший.
И более того, здесь можно было обойтись и REGEXP-ом.
Но ...
Во-первых, представление искомой конструкции в такой форме более наглядно. А значит меньше вероятность ошибиться
А во-вторых, можно описать в достаточно простой форме очень сложные поисковые запросы[/more]
Обсуждение фич текстовых редакторов для проф. программистов
Какие фичи должны в нём быть (список ниже можно редактировать и расширять: Вы мне говорите что исправить и что добавить - и я это делаю).
Список фич (фичи упорядочены не по значимости и популярности этих фич а случайным образом):
1. Можно настроить редактор так, чтобы русские буквы визуально (напр. цветом) отличались от похожих на них английских (например русская Р ("Рэ") отличалась от английской P ("Пэ))
2. Мультикурсор. Можно создать несколько курсоров и делать ввод сразу в несколько мест
3. Подсветка синтаксиса языков.
3.1. Должна быть встроенная поддержка подсветки синтаксических конструкций для самых популярных языков программирования.
3.2. Стили отображения всех синтаксических конструкций (цвет текста, цвет фона, стиль текста и т.п.) должны быть настраиваемыми
3.3. Для тех языков, поддержка которых не встроена, пользователю должна быть возможность самому определить синтаксические конструкции языка и их подсветку. В т.ч. должна быть возможность задавать контекстно-зависимую подсветку. Когда одно и то же слово подсвечивается в зависимости от контекста, в котором оно употреблено
4. Поддержка работы со столбцами (колонками):
4.1. Можно выделять текст "по вертикали" и двигать/смещать выделенный кусок по горизонтали
5. Поддержка работы с текстовыми контейнерами.
Т.е. можно выделить некоторый фрагмент текста и объявить его текстовым контейнером. Это значит, что теперь текст фрагмента нельзя редактировать обычным образом, а можно только клонировать (создавать его копии), удалять его копии или перемещать фрагмент КАК ЕДИНОЕ ЦЕЛОЕ вверх/вниз по тексту
6.Средства поиска и замены
6.1.Средства поиска
6.1.1.Средства мгновенного поиска (поиска по мере набора)
6.1.1.1 Поиска по порядку совпадения букв. Например чтобы найти "пастеризованный" я ввожу "прй", т.е. 1-ю, 6-ю и 15-ю букву слова
7. Средства анализа текста
7.1. Средства сравнения 2-х и более выделенных фрагментов текста одного файла. Подсветка совпадающих и отличающихся цепочек символов:
Например:
мама мыла раму
папа видел маму
[more=Фича 20140419181630 (Сохранение и восстановление настроек)]Сохранение индивидуальных настроек редактора в виде конфигурационного файла под некоторым именем и последующее их восстановление путём выбора соответствующего конфигурационного файла[/more]
[more=Фича 20140419182013(использование грамматик для задания поисковых запросов)]
Чтобы поиск можно было задавать не только в виде REGEX-ов, но и в виде задания правил-продукций грамматик, т.е. чтобы можно было найти не только конструкцию, относящуюся к типа 3 иерархии Хомского, но и других типов
Например чтобы можно было написать:
@машина = (@жигули, @запорожец)
@жигули = жигул(и,ей,ям,ями)
@запорожец = запор[(,орож(ец,ца,це))]
И нужно найти конструкцию "@машина" в тексте.
Пример простейший.
И более того, здесь можно было обойтись и REGEXP-ом.
Но ...
Во-первых, представление искомой конструкции в такой форме более наглядно. А значит меньше вероятность ошибиться
А во-вторых, можно описать в достаточно простой форме очень сложные поисковые запросы[/more]