Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4 5      [все]
 Ещё один редактор  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Часто сталкивался с необходимостью просмотреть большой текстовый файл и пока все знакомые редактор с проблемой не справлялись.
В общем в свободное время решил заняться этим недоразумением и вот что пока получилось.

Поделка ещё не законченна но базовый функционал вроде вполне работоспособен.
Если у кого есть желание, посмотрите, покритикуйте.
Скачать можно пока здесь
Буду рад конструктивным комментариям.
14 янв 17, 20:24    [20106308]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Eolt
Member

Откуда:
Сообщений: 1306
mikron
Часто сталкивался с необходимостью просмотреть большой текстовый файл и пока все знакомые редактор с проблемой не справлялись.


блокнотом чтоли открывал? остальные все прекрасно справляются
14 янв 17, 20:28    [20106317]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Dima T
Member

Откуда:
Сообщений: 13032
Far по F3 отлично смотрит логи гиг+ размером.
14 янв 17, 20:34    [20106337]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Eolt
остальные все прекрасно справляются

А конкретней можно, кто это - все?
14 янв 17, 20:35    [20106342]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Dima T,
Верю, и less показывает. А редактировать может?
14 янв 17, 20:36    [20106344]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mayton
Member

Откуда: loopback
Сообщений: 38359
В страшном сне может приснится редактировать руками файл в 1Гб+.

Даже Лев Толстой за всю жизнь накрапал не более нескольких мегабайт.
Поэтому сама постановка редактирования звучит как-то надуманно.

Что вы собираетесь редактировать в этом файле и зачем?

Готов спорить что это не исходник.
14 янв 17, 20:49    [20106366]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
mayton
В страшном сне может приснится редактировать руками файл в 1Гб+.

Даже Лев Толстой за всю жизнь накрапал не более нескольких мегабайт.
Поэтому сама постановка редактирования звучит как-то надуманно.

Что вы собираетесь редактировать в этом файле и зачем?

Готов спорить что это не исходник.

Я вижу, вы не сталкивались.

Я часто смотрю большие логи и мне нужно иногда выделить только интересные моменты, и скопировать их в отдельный файл.
Иногда нужно убрать всё лишнее. Сталкивался, приходилось искать в транслированном логе транзакций и менять небольшие фрагменты.

Собственно, то что источник данных - не люди а машины не менять суть дела: иногда приходится редактировать.
14 янв 17, 21:05    [20106399]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Диез
Member

Откуда: Столица Попозже.
Сообщений: 894
mikron,

http://www.flos-freeware.ch/notepad2.html

Работает именно так, как вы описываете
14 янв 17, 21:19    [20106431]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Диез,

Я не описывал. Во вторых многие пишут "легковесный" и т.д. Но на практике гигабайтные файлы очень мало кто может. Ву прогбовали редактировать гигабайтный файл в вашей ссылке, или это гугель вам шепнул?
14 янв 17, 21:38    [20106488]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
Диез
http://www.flos-freeware.ch/notepad2.html

Работает именно так, как вы описываете
Ваша ссылка привела вот к редактору для программистов /так акцентирует название редактора его автор/.
Исходники имеются.
Скорее всего а-ля notepad++.
Мне он интересен тем /совсем немножко/, что при разработке его использовалась WTL ...
Вообщем с github качнул исходники и *.exe /вроде ни чего/.
Но на 99% использую редактор FAR + редактор Visual Sttudio 2013 и Visual Assist /в повседневной работе/.

И на закуску:
+
http://www.pnotepad.org/                                   Programmer's Notepad

http://www.pnotepad.org/docs/dev/how_to_compile_pn/

git clone https://github.com/simonsteele/pn.git

http://www.pnotepad.org/                                  Programmer's Notepad is a text editor for Windows.

It is primarily written in C++ and extensible using Python, and is built on the following technologies:

 Scintilla]                                               https://www.scintilla.org/

 WTL                                                      http://sourceforge.net/projects/wtl/

 Boost                                                    http://www.boost.org/

https://github.com/simonsteele/pn                         Programmer's Notepad

14 янв 17, 21:57    [20106527]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mayton
Member

Откуда: loopback
Сообщений: 38359
mikron
Я вижу, вы не сталкивались.

Я часто смотрю большие логи и мне нужно иногда выделить только интересные моменты, и скопировать их в отдельный файл.
Иногда нужно убрать всё лишнее. Сталкивался, приходилось искать в транслированном логе транзакций и менять небольшие фрагменты.

Собственно, то что источник данных - не люди а машины не менять суть дела: иногда приходится редактировать.

Возможно мой месседж был неверно понят.

Ладно забей.
14 янв 17, 23:02    [20106679]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Диез
Member

Откуда: Столица Попозже.
Сообщений: 894
mikron
Диез,

Я не описывал. Во вторых многие пишут "легковесный" и т.д. Но на практике гигабайтные файлы очень мало кто может. Ву прогбовали редактировать гигабайтный файл в вашей ссылке, или это гугель вам шепнул?


Конечно, вы ни словом не промолвились, зачем вам нужен такой редактор. Ни про большие файлы, ни про логи ))) Не описывали, да...

Про редактирование 1GB+ файлов в данном треде упомянули не вы, а коллега mayton.
А логи в ~100 mb нотепад2 обрабатывает без проблем. Это моя повседневная работа, безо всякого гугления.
14 янв 17, 23:13    [20106714]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Диез
Member

Откуда: Столица Попозже.
Сообщений: 894
Владимир2012
Диез
http://www.flos-freeware.ch/notepad2.html

Работает именно так, как вы описываете
Ваша ссылка привела вот к редактору для программистов /так акцентирует название редактора его автор/.
Исходники имеются.
Скорее всего а-ля notepad++.
Мне он интересен тем /совсем немножко/, что при разработке его использовалась WTL ...
Вообщем с github качнул исходники и *.exe /вроде ни чего/.
Но на 99% использую редактор FAR + редактор Visual Sttudio 2013 и Visual Assist /в повседневной работе/.

И на закуску:
+
http://www.pnotepad.org/                                   Programmer's Notepad

http://www.pnotepad.org/docs/dev/how_to_compile_pn/

git clone https://github.com/simonsteele/pn.git

http://www.pnotepad.org/                                  Programmer's Notepad is a text editor for Windows.

It is primarily written in C++ and extensible using Python, and is built on the following technologies:

 Scintilla]                                               https://www.scintilla.org/

 WTL                                                      http://sourceforge.net/projects/wtl/

 Boost                                                    http://www.boost.org/

https://github.com/simonsteele/pn                         Programmer's Notepad



Замечательно.
14 янв 17, 23:16    [20106723]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Диез,

Если выражатся точно я описал что было моей мотивацией, но совсем не способ работы. Ну да не каждый увидит разницу. И понятие большие файлы тоже относительное.
Я не утверждаю, что это всем нужно, но надеюсь некором может пригодится.
Да и с обычными файлами он тоже не плохо справляется.
Неконструктив "ненужен" можно опустить.
15 янв 17, 00:30    [20106839]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34387
mikron
.

Я часто смотрю большие логи и мне нужно иногда выделить только интересные моменты, и скопировать их в отдельный файл.



это не называется "редактировать"...
15 янв 17, 02:17    [20106960]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6020
Немного отвлечения.

У меня есть задачка, в связи с которой пришлось перерыть всевозможные редакторы исходного кода.
https://en.wikipedia.org/wiki/List_of_text_editors

В итоге у меня сложилось впечатление, что 90% редакторов происходят от vi/emacs/scintilla

Остальные 10% обычно не требуют повторного взгляда.
15 янв 17, 03:43    [20107006]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
azsx
Member

Откуда:
Сообщений: 710
автор
Буду рад конструктивным комментариям.

1. Не работает в убунту под wine. Запустил окно, нажал принять - сдохла программа.
2. При сохранении большого файла (50 гб) не отображает процесс бара сохранить. Соответственно я не понимаю завис он или борется.
3. Нелогичное редактирование. Например, shift end (внезапно) не выделяет.
4. Всё таки подобный класс программ должен иметь удобный простой понятный поиск в том числе и нескольких строк одновременно. Для Вашего вариант поиска логично переделывать программу в hex редактор.
зы
Сам раньше пользовался для сео таким классом программ. Редакторов действительно мало, работающих с файлами более 2 гб, но они есть. Ничего особенного в Вашем редакторе я не увидел, вот декоратор - это вещь, если его развивать.
15 янв 17, 05:52    [20107068]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
azsx
Member

Откуда:
Сообщений: 710
Лень смотреть, но... Программа активно юзает всю оперативку или в том числе активно лезет в файл подкачки? То есть taskmgr быстродействие, пока ваш редактор сохранял было 5.7 гб занято, когда завершил процесс - ушел на 900 мб занятой оперативной.
15 янв 17, 06:00    [20107075]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
azsx
Member

Откуда:
Сообщений: 710
5. После какой-то сроки нумерация строк у вас работать перестаёт. прикольно так, в начале тхт файла номера есть, а в конце нету.
15 янв 17, 10:08    [20107226]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
_Sheraton
Guest
Если программа не работает (нативно) под Linux, то эта программа г**но.
15 янв 17, 10:08    [20107227]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
Владимир2012
Но на 99% использую редактор FAR + редактор Visual Studio 2013 и Visual Assist /в повседневной работе/.
Почему так?

В редакторе Visual Sttudio 2013 мне нравятся его очень многие фичи:
- нажал "." и видим список полей ...;
- возможность выделения блока текста и возможность замены сразу во всех строках текстового значения ...
Да вообще набор функционала для работы с блоками текста супер ...
- ...
- ...
- и в том же духе.

Я уж молчу об возможностях Visual Assist - СУПЕР.

Конечно имеются и много замечаний /но не хочу портить позитив этих продуктов/.

PS: "Так какой же батенька текстовый редактор вы хотели бы иметь?"
Который бы совместил в одном флаконе все фичи редактора Visual Studio и Visual Assist ... /для начала/.
15 янв 17, 10:53    [20107271]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
azsx,

Спасибо за коментарии.
1. Написан под .net и интенсивно пользует нативные методы gdi32.dll под wine не ожидал что он вобще запустится.
2. В точку, в планах.
3. Тоже валидный пункт. Тут я незню ещё как правильно выйти из дилемы. Проблема в том что Windows стандарт на выделение завершает операцию после перемещения курсора. Работает хорошо на маленьких регионах и как одна операция. Если нужно отметить начало региона а потом найти поиском его завершение то это не реализуемо. В тоже время emacs метод очень удобен: поставил маркер начала, нашёл что нужно, или прыгнул к закладке и поставил конечный маркер.
Вобщем пока в раздумьях.
4. Интересно, покажите что вы имеете в виду.
5. Фесь файл в память не грузится. Поэтому 5гб меня удивляют. Всевозможные кэши столько памяти тоже не требуют. Максимум сотню мб. Может .net не собилал мусор? Посмотрю, может ошибки в коде. И да, нумерация строк проподает если не весь файл просматривался до того места. Как-то быстрое перемещение к определённой позиции в файле.
15 янв 17, 11:08    [20107278]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Владимир2012,

Названые продукты совершенно другой категории. Они интегрированны в редактор но для их работы ныжна компиляция текстов программ и работа с проектом. Это специализированные редакторы кода. Обычный многофунциональный редактор никогда не сможет таких-же финтов сделать.
15 янв 17, 11:23    [20107297]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
mikron
Названые продукты совершенно другой категории. Они интегрированны в редактор но для их работы ныжна компиляция текстов программ и работа с проектом. Это специализированные редакторы кода. Обычный многофунциональный редактор никогда не сможет таких-же финтов сделать.
Вы правы.
Не много расширил тему потому как функции вашего редактора безусловно востребованы для некоторого узкого круга задач /это не к тому чтобы сказать, что ваш редактор не нужен/.

Расскажу не много о своей поделке.
С кодом notepad++ знаком "плотно".
Так вот то как многие редакторы организуют буферы, структуры ... ... ... предопределяет зачастую их "узкие" места /в частности работу с big texts/.

Теперь ближе к делу.
В моем текстовом редакторе текст с которым производится работа находится в tree, которое используется большей частью как двух связный список, но при этом обеспечен эффективный direct доступ к данным как в array.
На самом деле tree мной используется и для других целей в редакторе, но не хочу распинаться много на эту тему.
Так вот проверял его работу с big texts.
Все летает!

PS: Так что вы не одиноки.
Кстати редактирование текста не основная фича редактора.
15 янв 17, 12:07    [20107357]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Изопропил
Member

Откуда:
Сообщений: 30896
Владимир2012,

хранение редактируемого текста в B-дереве - это ж классика жанра.
(в EDT времён PDP-11 размер файла ограничивался размером диска под дерево -памяти на всё было 64Кбайт)
15 янв 17, 12:52    [20107403]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
Изопропил
хранение редактируемого текста в B-дереве - это ж классика жанра.
(в EDT времён PDP-11 размер файла ограничивался размером диска под дерево -памяти на всё было 64Кбайт)
32KB.
Вы меня вывели на "чистую воду".
Когда программировал под PDP-11, то все исходные тексты у меня хранились не в flat files, а в libraries, которое
было не чем иным как tree.

PS: Хорошее не забывается ... /думаю вы намек поняли/.
15 янв 17, 13:07    [20107423]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
[quote Владимир2012]
Изопропил
хранение редактируемого текста в B-дереве - это ж классика жанра.
А с чего это классика жанра?
На M6000, CM-1, CM-2, CM-2M ... что-то не наблюдал этой "классики".
А заодно и обеспечение одновременной работы в разделе нескольких программ.
А вот это вспоминается с теплотой.
Разработал свой linker, загрузчик ..., которые обеспечивали функционирование многозадачности не на уровне разделов, а и в разделах в т.ч.

PS: "Мои года - мое богатство ..."
15 янв 17, 13:16    [20107434]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Изопропил
Member

Откуда:
Сообщений: 30896
Владимир2012
А с чего это классика жанра?

редактор текстовых файлов по размеру многократно превышающих размер ОЗУ

а ностальгии - никакой. ресурс человеческий вместо решения конечных задач уходил на борьбу с инструментом.
в конкурентной борьбе - гарантированное поражение
15 янв 17, 13:57    [20107482]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
Изопропил
редактор текстовых файлов по размеру многократно превышающих размер ОЗУ
Теперь понял о чем вы /но использование tree в программах СМ линии не наблюдал/.

Кстати автору топика сообщили, что у него в big text пропадает номер строки.
Любопытно как же он тогда обеспечивает правильное позиционирование на заданный номер строки?

PS: На счет ностальгии.
"Мои года - мое богатство" /надеюсь вы правильно и позитивно истолкуете эти слова/.
Знаете ли ни когда не фантазирую и говорю лишь о том, что уже сделано или делается.
15 янв 17, 14:13    [20107499]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
Изопропил
в конкурентной борьбе - гарантированное поражение
"Улыбнуло" меня ...
Не было у меня ни когда ни каких конкурентов и не будет.
Все что не делаю не для "победы" над конкурентами ... /и в том же духе/.

PS: Впрочем - "Каждому свое".
Конкуренты ... - "Чужая душа - потемки".
М-да.
15 янв 17, 14:22    [20107515]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
azsx
Member

Откуда:
Сообщений: 710
mikron под mono ваша программа также не работает. Пофиг.
4. Например в frontpage был многострочный поиск. То есть можно искать не так: галка на спец символы

div>\r\n<div

а так, без галок

div>
<div

зы
Раз у вас программа ещё и под нет - то можете на мои комментарии совсем забить, не нужна она мне.
15 янв 17, 17:50    [20107773]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Изопропил
Member

Откуда:
Сообщений: 30896
Владимир2012
Не было у меня ни когда ни каких конкурентов и не будет.

это только кажется - в этом мире есть глобальная конкуренция,
в контексте обсуждения - я о глобальной конкуренции, а не местечковой
15 янв 17, 18:29    [20107855]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Пётр Седов
Member

Откуда: Санкт-Петербург
Сообщений: 674
_Sheraton
Если программа не работает (нативно) под Linux, то эта программа г**но.
Сурово.

Владимир2012
Кстати редактирование текста не основная фича редактора.
Какая же основная?
23 янв 17, 05:09    [20133248]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
azsx
автор
Буду рад конструктивным комментариям.

2. При сохранении большого файла (50 гб) не отображает процесс бара сохранить. Соответственно я не понимаю завис он или борется.
3. Нелогичное редактирование. Например, shift end (внезапно) не выделяет.

Fixed
29 янв 17, 23:07    [20159640]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Буду тут вести небольшой блог иземенени.
Может некоторым пригодится ну и расчитываю на конструктивный feedback.

Во первых пересмотрел некототрые аспекты дизайна лога изменений.
Так как Redo/Undo по логам в старой версии не всегда работал
пришлось его пересмотреть. Появилась возможность отката изменений после записи файла. Одно из ограничений, с которым пока приходится мирится — медленный undo для «древних» изменений, но это вопрос не концептуальный.

Во вторых добавил возможность замены.
Вопрос пока открытый, нужно ли записывать все изменеия по отдельности в лог или добавить только одну запись на всю операцию? Вопрос не такой уж простой, так как от ответа на него сразу многое зависит. Например undo каждой замены или целиком.

В третьх кеш результатов поиска. Работает прозрачно и основной плюс поиск в большом файле и последующее возвращение к найденым результатам. Просто повторяем поиск.

В дальнейших планах добавления макросов,
поддержка больших кусков текста в буфере обмена и оптимизация.
18 янв 18, 20:52    [21118048]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
mikron
Dima T,
Верю, и less показывает. А редактировать может?


Может. Только надо отключить colorer.
18 янв 18, 22:15    [21118151]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
hVostt,

Не может.
18 янв 18, 23:22    [21118327]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
FAR не может.
19 янв 18, 00:13    [21118394]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3007
Я не знаю, чем вы там смотрите, но с Far'ом не было проблем ни разу при любых разумных объемах. Гигабайты - запросто.
19 янв 18, 00:44    [21118418]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3007
mikron,

с редактированием, конечно, сложнее. можно 64х для начала попробовать.
19 янв 18, 00:50    [21118421]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
mikron
FAR не может.


FAR может там, где не могут другие.
Ставь последнюю стабильную x64 версию, отключай colorer и редактируй свои гигабайтные файлы.
19 янв 18, 08:32    [21118645]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
hVostt
mikron
FAR не может.


FAR может там, где не могут другие.
Ставь последнюю стабильную x64 версию, отключай colorer и редактируй свои гигабайтные файлы.

Трололо, смотри видео. FAR издох после 20 секунд загрузки файла,
на ~ 20% от 120 МБ и при этом сожрал всю память.
Что тебе на видео непонятно?
19 янв 18, 10:02    [21118927]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Видео на "гогучий" ФАР на dropbox-е.

Реально могут только некототорые редакторы.

EditPadLite
EmEditor скорее в принципе смог но работать с ним ИМХО - наказание
Вторая попытка с EmEditor на SQL файле. Позитив - подсветка синтаксиса

И для сравнения BssEditor
19 янв 18, 11:16    [21119311]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
mikron
Трололо, смотри видео. FAR издох после 20 секунд загрузки файла,
на ~ 20% от 120 МБ и при этом сожрал всю память.
Что тебе на видео непонятно?


хз, недавно полугиговый XML редактировал в фаре
да и не помню, чтобы у меня когда-то в фаре проблемы были
ещё из многогиговых логов копировал ключ для экстренного входа в приложение, когда пароль от админа теряли...
19 янв 18, 11:40    [21119443]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
mikron,

Notepad++ также жуёт всё
19 янв 18, 11:41    [21119451]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
hVostt
mikron,

Notepad++ также жуёт всё


Нет, он так-же не может как и ФАР.
Сделай нам видео из твоей паралелной реалности как ты редактируеш FAR или Notepad++ файл на 120МБ.
19 янв 18, 11:53    [21119531]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1910
hVostt
mikron,

Notepad++ также жуёт всё


чисто из вредности, 14G выгрузку из базы попытался открыть.
gvim вис. нотепад++ сказал что файл слишком велик. фар у меня с колорером и не новый, F3 - открыл, F4 - задумался и я нажал искейп.

но, по честному, я с файлами такого объема в режиме редактирования не работаю. если что - в оракл построчно и поиск лайком
19 янв 18, 12:18    [21119678]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1910
.... ну или перлом построчно .... отфильтровать что интересно. чтобы весь огромный файл именно редактировать - такого не было пока.
19 янв 18, 12:29    [21119720]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
mikron
Нет, он так-же не может как и ФАР.
Сделай нам видео из твоей паралелной реалности как ты редактируеш FAR или Notepad++ файл на 120МБ.


мне чёт лень )
можешь не верить, по ходу у тебя комп доисторический, ну или руки..
19 янв 18, 12:41    [21119782]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6020
hVostt
mikron
Нет, он так-же не может как и ФАР.
Сделай нам видео из твоей паралелной реалности как ты редактируеш FAR или Notepad++ файл на 120МБ.


мне чёт лень )
можешь не верить, по ходу у тебя комп доисторический, ну или руки..

Надо чтобы размер файла превышал размер оперативки, тогда не может. Проверь =)
19 янв 18, 15:12    [21120628]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Тестовые данные кстати брал здесь. 20289767
И заметно, что потребление памяти растёт с ростом (строк / байт).
19 янв 18, 16:57    [21121100]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
Siemargl
Надо чтобы размер файла превышал размер оперативки, тогда не может. Проверь =)


Так чё проверять, это очевидно. Текстовый редактор должен разбить весь текстовый файл на строки, это можно сделать загрузив в память.
20 янв 18, 13:01    [21122407]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mayton
Member

Откуда: loopback
Сообщений: 38359
Когда-то уже отвечал по треду. Добавлю.

Из best practices что мы используем на проекте.

По логам. Мы конфигурим appenders или logrotate таким образом чтобы логи были не больше 1Гб.
На проде и на дев-серверах и на QA. Логи имеют хронологию в виде суффикса который дописывается
в виде даты. Например.

catalina.out
catalina.2018-01-18.log
catalina.2018-01-19.log


Если возникает необходимость по быстрому посмотреть какой-то баг - то на сервере в консоли делаем
grep -r -F"OutOfMemory" $CAT_HOME/logs/
less -p "OutOfMemory" $CAT_HOME/logs/catalina.out

И прямо в less можно делать навигацию вверх-вниз по ключевым тегам.

Если все таки есть необходимость работать с клипбордом или с подсветкой синтаксиса (json, xml)
то мы качаем лог с сервера на свой десктоп и открываем в notepad++. Он довольно мощный
и не падает от толстых тестовых файлов. Ну по крайней мере я не встречал таких ситуаций.

Вообще в самой изначальной постановке - лог это не текстовый файл. Это sequence из независимых
строк (событий) где каждая имеет свой набор атрибутов типа метку времени, источник, ThreadID, и собственно месседж
и подходить к нему с позиции того что это некий неизменяемый замороженный снимок событий в прошлом.

Поэтому текстовый редактор для лога - это некая натяжка.

До кучи есть еще интересные программные продукты для анализа больших логов. Я к сожалению
не использовал ElasticSearch, но мы планируем внедрить в проект. Если у кого-то есть опыт - прошу
поделиться. Буду признателен.
20 янв 18, 13:20    [21122434]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
mayton
Если у кого-то есть опыт - прошу
поделиться. Буду признателен.


graylog2, работает на ElasticSearch, для логов просто незаменим. особенно удобен тем, что ведёт структурный лог, очень быстрый поиск с агрегацией, и на любую запись лога можно дать прямой линк, чтобы прикрепить к тикету. мастхев очень давно.

текстовые логи только для совершенно крайних и тяжёлых случаев, но они тоже должны быть.
20 янв 18, 13:35    [21122471]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
mayton,

ещё кроме логов, полезно вести также метрику. кто-то для этого использует тот же лог, мы метрику ведём в clickhouse.
20 янв 18, 13:35    [21122473]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
mayton
Поэтому текстовый редактор для лога - это некая натяжка.


натяжка здесь в слове «редактор», тот же FAR по F3 открывает файлы любого размера без давления на память.

только что открыл 15 гиговый файл фаром по F3, сделал поиск, нашёл в середине файла, фар при этом сожрал 12.5 мб оперативки.
20 янв 18, 13:38    [21122483]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mayton
Member

Откуда: loopback
Сообщений: 38359
+1 я Far Ом пользуюсь уже более 15 лет. В нем ещё можно настроить цветовые схемы для подсветки синтаксиса.
20 янв 18, 15:17    [21122715]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6020
hVostt
Siemargl
Надо чтобы размер файла превышал размер оперативки, тогда не может. Проверь =)


Так чё проверять, это очевидно. Текстовый редактор должен разбить весь текстовый файл на строки, это можно сделать загрузив в память.
Ты ляпнул чушь, не подумав.

Довольно просто обойтись без полной загрузки.
20 янв 18, 19:55    [21123288]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
Siemargl
Ты ляпнул чушь, не подумав.

Довольно просто обойтись без полной загрузки.


какие интересные сказки ты нам рассказываешь
20 янв 18, 22:51    [21123629]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 8975
hVostt
какие интересные сказки ты нам рассказываешь
Широко известный в узких кругах MultiEdit (DOS) редактировал файлы размером более доступных ему ~500Kb.
Подтормаживал на загрузке фрагментов, но работал.
20 янв 18, 23:03    [21123668]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
Basil A. Sidorov
hVostt
какие интересные сказки ты нам рассказываешь
Широко известный в узких кругах MultiEdit (DOS) редактировал файлы размером более доступных ему ~500Kb.
Подтормаживал на загрузке фрагментов, но работал.


лично мне известны проблемы при реализации текстовых редакторов, я этой задачей занимался в академических целях, изучал код других редакторов.

тот, кто говорит, что это «довольно просто», видимо считает, что разработка это какой-то вид магии, и надо просто скастовать парочку простых заклинаний.

ну и надо бы сходить к разработчикам ФАР-а и многих популярных редакторов и сказать, какие же они там тупицы, не смогли сделать то, что сделать «довольно просто».
20 янв 18, 23:56    [21123778]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 8975
hVostt
тот, кто говорит, что это «довольно просто»
В моём сообщении слова "довольно" и "просто" не употребляются ни по отдельности, ни в словосочетаниях.
21 янв 18, 00:07    [21123788]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
mayton,

Есть ещё много других способов. Но удобнее всё-таки не перебирать 10 разных программ а взять один нормальный инструмент.
Разбивать логи по размеру не всегда удобно.
OutOfMemory это наивно просто. Обычно ищем сесию и смотрим что происходит паралельно в соседних. А если соседная заинтересовала, смотрим дальше на историю соседней. Тут нельзя включить grep. Но можно конечно метатся: less, блокнотик, grep, блокнотик, less ..., sed, sed, cat.
По крайней мере у меня такой опыт.
21 янв 18, 00:36    [21123839]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mayton
Member

Откуда: loopback
Сообщений: 38359
Какая сессия? Вы о чем? Я tomcat привел в качестве примера просто. И аут-оф мемори придумал на ходу.
21 янв 18, 01:12    [21123887]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 6136
mayton
В нем ещё можно настроить цветовые схемы для подсветки синтаксиса.

Раскраска синтаксиса работает только в редакторе и при полной загрузке файла в память - синтаксис всегда надо раскрашивать с начала файла. Для больших файлов (от 1-2м) уже начинает заметно тормозить. Фаровский вьювер - тот да, влет. Но без синтаксиса.
21 янв 18, 15:00    [21124377]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
Basil A. Sidorov
hVostt
тот, кто говорит, что это «довольно просто»
В моём сообщении слова "довольно" и "просто" не употребляются ни по отдельности, ни в словосочетаниях.


а я и не говорил, что это невозможно. редактирование текстовых файлов без загрузки в память плохо дружит с рядовым функционалом: сохранение по требованию, undo, расчёт кол-ва строк, редактирование в середине, а не в начале или в конце, вставка/удаление строк, расставление переносов произвольным образом. и чтобы это быстро работало, и не портило файл.
21 янв 18, 22:18    [21124932]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 8975
hVostt
редактирование текстовых файлов без загрузки в память плохо дружит с рядовым функционалом
Редактирование пары гигабайт "наивными алгоритмами" плохо дружит с чем угодно. Загрузка в память не особо меняет ситуацию.
Надеюсь, вы не станете возражать, что возможность грузить в память гигабайтные наборы данных - вполне рядовая вещь по сегодняшним временам.
22 янв 18, 06:04    [21125166]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mayton
Member

Откуда: loopback
Сообщений: 38359
Автор в начале топика говорил про просмотр лога. Я думаю что тема топика - не редактор а viewer.
22 янв 18, 10:03    [21125493]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 8975
mayton
Автор в начале топика говорил про просмотр лога.
седьмое сообщение топика.
22 янв 18, 10:12    [21125521]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
Basil A. Sidorov
Редактирование пары гигабайт "наивными алгоритмами" плохо дружит с чем угодно. Загрузка в память не особо меняет ситуацию.


меняет не просто "особо", а категорическим образом меняет всё.
22 янв 18, 10:16    [21125532]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3560
hVostt
Siemargl
Надо чтобы размер файла превышал размер оперативки, тогда не может. Проверь =)


Так чё проверять, это очевидно. Текстовый редактор должен разбить весь текстовый файл на строки, это можно сделать загрузив в память.

Не совсем так. Файл можно отобразить в память, затем пробежаться по нему и построить индексы по строкам.
27 янв 18, 23:00    [21144345]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
Arm79
Не совсем так. Файл можно отобразить в память, затем пробежаться по нему и построить индексы по строкам.


Всё верно, но:

1. для построения индекса, надо всё равно прочитать весь файл
2. если файл сильно большой, то сам индекс может оказаться огромным и не влезть в память
3. сохранение файла требует свободного места на диске, не меньше размера файла

но и реализация в разы усложняется, требуется очень много различных оптимизаций.
28 янв 18, 21:28    [21145661]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3560
hVostt
1. для построения индекса, надо всё равно прочитать весь файл

с отображением сильно быстрее

hVostt
если файл сильно большой, то сам индекс может оказаться огромным и не влезть в память

если хранить только позиции начала строк и их окончаний - индекс очень компактный :-)

hVostt
сохранение файла требует свободного места на диске, не меньше размера файла

Тут не поспоришь. Оперативно можно менять что-то в огромных файлах только тогда, когда новые данные по размеру как раз как старые. Или строки строго определенного формата и размера (типизированные). В общем, это не вариант.
28 янв 18, 21:44    [21145696]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 8975
Arm79
если хранить только позиции начала строк и их окончаний - индекс очень компактный :-)
Самый компактный индекс хранит только смещения строк или только их длины.
Первый вариант предполагает четыре или восемь байт на строку, второй - два или четыре.
Для файлов, состоящих из коротких строк индекс займёт заметную долю от размера файла.
28 янв 18, 23:11    [21145821]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mayton
Member

Откуда: loopback
Сообщений: 38359
1) Не обязательно хранить смещения всех строк. Можно индексировать страницы (грубо - 25 строк)
2) Смещения тоже можно складывать в двоичный файл. Над ним - сверху построить LRU-кеш.
3) Если отказаться от мгновенной фиксации вставок строк или удалений - то можно логгировать
изменения.

Понятное дело. Тема текстовых редакторов которые правят гига-байтные файлы не раскрыта.
Но и не секретна. Есть исходники notepad++. Пускай автор смотрит. Изучает. Я не думаю что
там сверх-умные алгоритмы. Тут самое сложное - даже не алгоритм а уяснение того
что должен делать редактор и как. Должен ли править шапку гигбайтныех файлов? Или нет?

Как говорили древние - LABOR ET PATIENTIA OMNIA VINCUNT.

А вот сорцы ноутпада https://github.com/notepad-plus-plus/notepad-plus-plus
29 янв 18, 00:12    [21145863]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
Arm79
если хранить только позиции начала строк и их окончаний - индекс очень компактный :-)


А такой текст?

безумие.тхт
К
У
К
У
Б
Л
Э
Д
...


29 янв 18, 05:01    [21145926]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
hVostt
Member

Откуда:
Сообщений: 15089
mayton
1) Не обязательно хранить смещения всех строк. Можно индексировать страницы (грубо - 25 строк)
2) Смещения тоже можно складывать в двоичный файл. Над ним - сверху построить LRU-кеш.
3) Если отказаться от мгновенной фиксации вставок строк или удалений - то можно логгировать
изменения.


ну короч, мозги не колупать, и положить весь текстовый файл в базу данных
29 янв 18, 05:05    [21145927]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
Alibek B.
Member

Откуда:
Сообщений: 2937
EditPlus
29 янв 18, 08:36    [21146021]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Не надо гадать, можно просто посмотреть.

И учесть, что иногда там где стоит "Может"
на практике нужно читать "теории - может"
29 янв 18, 12:24    [21146795]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Неспеша вношу новые улучшения.
Добавил возможность вставлять контент других файлов.
Drag&Drop и ранше позволял открывать файл.
Теперь с нажатым Контролом вставляет контент.
Также и через меню.

Следующий пункт в плане: сделать полноценную поддержку буфера обмена.
Сейчас текст ограничен размером буфера и поместит в буфер
большой фрагмент текста не получится, да и работает не эффективно.
В плане привести это в порядок.
Ещё один момент заставляет призадуматься - постоянно возрастающая сложность
и как следсвие возрастающее время реакции на нажатие клавиш.
В немецкой прессе была статека об одном дядке, который замерил
время реакции на нажатие кнопки клавиатуры.
Результат был отрезвляющий - победил 20 летний древний Commodore:)
Ну а свременные копутеры на виндовсах - последние.
Вобщем, сложность растёт и время реакции тоже, но как с этим боротся пока непонятно.
2 мар 18, 10:39    [21231410]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mayton
Member

Откуда: loopback
Сообщений: 38359
mikron

Ещё один момент заставляет призадуматься - постоянно возрастающая сложность
и как следсвие возрастающее время реакции на нажатие клавиш.

Это проблему надо решать сразу. Никому из пользователей не понравится редактор
который замедляет свою работу.
14 мар 18, 23:26    [21257222]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
д0kХ
Guest
mikron
Dima T,
Верю, и less показывает. А редактировать может?


sed
15 мар 18, 10:41    [21257762]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
mayton
mikron

Ещё один момент заставляет призадуматься - постоянно возрастающая сложность
и как следсвие возрастающее время реакции на нажатие клавиш.

Это проблему надо решать сразу. Никому из пользователей не понравится редактор
который замедляет свою работу.

Он не замедляет работу, он работает константно относително "медленно".
Медленность расёт с ростом версии и сложности кода.

Посмотрим на примитывнй редактор:
Нажатие клавиши приводит к изменению в текстовом буффере и к инвалидации региона окна.
И если реализовать работы с текстовым буферм не самым дубовым методом то будет оочень быстро.

Сомтрю на то что имею:
Нажатие клавиши приводит к добавлению новой задачи на изменеие буфера в очередь.
Буфер не простой. И в следствии его изменения - инвалидация кешей, логирование, изменения в закладках. В конечном итоге перестроение отображаемой модели и на её основе определение региона окна для перерисовки.
И это ещё далеко не все детали.

Как с этим боротся - без понятия.
15 мар 18, 14:56    [21258960]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
tchingiz
Member

Откуда:
Сообщений: 31479
автор
большой текстовый файл и пока все знакомые редактор с проблемой не справлялись

sed справляется, кстати
16 мар 18, 08:46    [21260364]     Ответить | Цитировать Сообщить модератору
 Re: Ещё один редактор.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 755
Продолжая тему

добавил:

  • Поддержка вставки файлов через буфер обмена.
  • Поддержку передачи больших регионов через буфера обмена.
  • Также поддержка вставки больших регионов. Здесь ешё есть потенциал для оптимизации но только если источник данных - сам редактор.
  • Так-же поддежка колоночного режима работы для болчич регионов.

  • Удаление строк (не-)удовлетворяюших кретерию поиска.

    Скачать можно здесь.
    Ну и конечно буду рад замечаниям / предложениям / критике.
  • 11 июн 18, 11:37    [21484428]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    Добавил проверку на апдейты, исправил пару ошибок и внёс новые.
    Скачать здесь.
    Интересно, что ошибли вылезли только на ХП, на вин8 COM работа с буфером обмена очевидна реализована немного по другому.
    Теперь думаю какой функцинал внести после фазы стабилизации.
    Добавить многотабие, поддержку динамической подсветки "тэгов" пользователя или макросы. Или чего совершенно другого. Вопрос в зал, какой фукцинал наиболее востребован за пределами стандартного Notepad.
    Feedback is wellcome.
    15 июн 18, 13:49    [21493709]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    hVostt
    Member

    Откуда:
    Сообщений: 15089
    mikron,

    вертикальное выделение
    + мультиредактор на вертикальном выделении

    tab выделенного блока перемещает весь блок, shift-tab в обратную сторону

    ctrl-up/down скролит текст, оставляя курсор на месте

    поиск/замена с регулярными выражениями

    ну и т.д. ))
    15 июн 18, 14:15    [21493846]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    hVostt
    вертикальное выделение
    >> Уже есть.

    + мультиредактор на вертикальном выделении
    >> Что это и зачем это нужно?

    tab выделенного блока перемещает весь блок, shift-tab в обратную сторону
    >> Это можно, но предположительно только для программистов востребовано. Или есть другие случаи?

    ctrl-up/down скролит текст, оставляя курсор на месте
    >> Уже есть, толко с ALT+...

    поиск/замена с регулярными выражениями
    >> Уже.
    15 июн 18, 17:42    [21494681]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    hVostt
    Member

    Откуда:
    Сообщений: 15089
    hVostt
    + мультиредактор на вертикальном выделении
    >> Что это и зачем это нужно?

    tab выделенного блока перемещает весь блок, shift-tab в обратную сторону
    >> Это можно, но предположительно только для программистов востребовано. Или есть другие случаи?


    Наверное нет, это больше актуально для разработки. Но часто очень не хватает, мне кажется, что перемещение блоков по табу должно быть по умолчанию во всех редакторах.
    15 июн 18, 20:23    [21495148]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    Выложил очередную alpha-версию:
    — Добавил Auto indent,
    — улучшения в производительности некоторых операций,
    — переодическая проверка наличия новых версий (без автоматического update)

    Теперь думаю над добавлением табов / регистров. Собственно сама реализпция не сложна,
    а вот с usability одни неприятности:
    Однооконный интерфейс имеет однозночное и ожидаемое поведение.
    Одно окно - один файл. Хочешь ещё окно - команда ctl-n. Закрываеш окно - буфер удаляется.
    При открытии файла окно остаётся на месте и количество открытых файлов не меняется.
    и независимость процессов - убиваем процес и все остальные окна не страдают.
    И чёткое разделение обязанностей - виндовс управляет окнами и их переключением.
    Но есть и минусы: операции через буфер обмена не эффевны, просмотр одного буфера в двух окнах одновременно невозможен etc.

    С табами другие неприятности:
    Например просмотр нескольких регионов одного файла одновременно.для реализации этого всё равно потребутся создавать несколько окон.
    И тут начинаются неоднозначности - ctl-n открывает окно или таб? А что делает ctl-o если буфер уже открыт в соседнем окне?
    Вобшем полно неоднозначностей.
    14 авг 18, 09:45    [21641379]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    hVostt
    Member

    Откуда:
    Сообщений: 15089
    mikron
    Вобшем полно неоднозначностей.


    Можно пойти по принципу реализации табов в Chrome. Каждый таб -- отдельный процесс. Сам видимый браузер с табами, не более чем переключалка табов :)
    14 авг 18, 12:06    [21641643]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    hVostt
    mikron
    Вобшем полно неоднозначностей.


    Можно пойти по принципу реализации табов в Chrome. Каждый таб -- отдельный процесс. Сам видимый браузер с табами, не более чем переключалка табов :)


    Можно, не вижу как это можно "просто" реализовать.
    И главная проблема - usability не решается.

    Предположим у меня есть два окна
    Window1: fileA, fileB
    Window2: fileB, fileC

    И Window1 активно а Window2 свёрнуто.
    Ползователь открывает fileC (по закладке или просто через открыть файл).
    Что он ожидает:
    А) откроется ещё один таб с fileC в активном окне Window1
    Б) фокус переключится на fileC в Window2, которое развернётся из трея
    В) откроется ещё одно окно Window3 и в нём отобразится fileC
    Г) что то другое?

    Проблема в том что все варианты логичны.
    А) пользователь хочет просто увидеть буфер рабочем окне. (он не хочет других окон, по тому что расположение окон оптимально и возможно паралено он смотрит в другом приложении кино)
    Б1) ползователь просто забыл про буфер во втором окне. Возможно увидев его он получит то что хочет.
    Б2) ползователь знает про буфер во втором окне и перешёл по закладке (bookmark). Он ожидает иммено что фокус переключится но первое окно не изменится.
    В) что то по середине, но пользователь не хочет измененив текушем лайауте.

    Основная проблема как я её вижу в том что управление буфером и управление окном обединяются в одну операцию.

    В сингл документ - всё просто:
    Управление окном - (Control-N и Alt-F4)
    Всё осталное - управление буфером.


    У кого какие будут идеи?
    14 авг 18, 15:51    [21642062]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    hVostt
    Member

    Откуда:
    Сообщений: 15089
    mikron,

    Не-не. Либо окна, либо вкладки. А если хочется и того и другого, то вкладки должны быть открепляемыми.

    И вообще, для редактора вкладки не нужны, если нет в планах из него делать IDE.
    А разработка IDE это вообще отдельный разговор.
    14 авг 18, 15:54    [21642069]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    hVostt
    Member

    Откуда:
    Сообщений: 15089
    mikron
    У кого какие будут идеи?


    Сосредоточиться на главном. На редакторе одного файла в одном окне.
    Основная проблема большинства проектов -- распыление.
    И главное толком не сделали, и остальное пошло по п...е.
    14 авг 18, 15:56    [21642070]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    Новейшая версия здесь
    14 авг 18, 23:50    [21642463]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    Roman Mejtes
    Member

    Откуда: г. Пермь
    Сообщений: 3078
    лицензионный ключ для профессионала 0000-0000-0000-0000 :D
    15 авг 18, 13:39    [21643002]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    Roman Mejtes
    лицензионный ключ для профессионала 0000-0000-0000-0000 :D

    Да пожалуйста. :)
    15 авг 18, 14:20    [21643124]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    Areostar
    Member

    Откуда:
    Сообщений: 3284
    mikron,

    FAR к примеру хорошо справляется. Поднлку сейчас гляну.
    19 авг 18, 16:28    [21647249]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    Areostar
    Member

    Откуда:
    Сообщений: 3284
    mikron,


    Ссылка не работает.
    19 авг 18, 16:29    [21647251]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    mikron
    Новейшая версия здесь
    19 авг 18, 18:50    [21647304]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    mikron
    Теперь думаю над добавлением табов / регистров.
    Однооконный интерфейс имеет и минусы: операции через буфер обмена не эффевны, просмотр одного буфера в двух окнах одновременно невозможен etc.

    Очередной апдейт:
    Желание иметь несколько окон на один буфер победило. Ещё не всё детали обкатаны но общая картина складывается.
    По открытию файла (Ctl-N) открывается новый таб если его ещё нету в текущем окне.
    По открытию окна (Ctl-Shift-N) открывается новое окно с текущим буфером.

    Как обычно, будут конструктивной критике.
    6 сен 18, 19:00    [21667409]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    буду рад конструктивной критике.
    6 сен 18, 19:01    [21667410]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    love_bach
    Member

    Откуда:
    Сообщений: 418
    а где можно скачать?
    6 сен 18, 21:02    [21667483]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    love_bach
    а где можно скачать?

    Всё на том же месте.
    6 сен 18, 21:49    [21667511]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    love_bach
    Member

    Откуда:
    Сообщений: 418
    mikron
    love_bach
    а где можно скачать?

    Всё на том же месте.


    не запускается
    7 сен 18, 07:46    [21667635]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mayton
    Member

    Откуда: loopback
    Сообщений: 38359
    mikron
    буду рад конструктивной критике.

    Ссылка на скачивание смотрит на какой то левый ресурс. Заведи персонально хостинг под это приложение.

    Багтрекер тоже нужен.
    7 сен 18, 09:12    [21667680]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    mayton
    Ссылка на скачивание смотрит на какой то левый ресурс. Заведи персонально хостинг под это приложение.

    Он не "левый", это мой ресурс. Бесплатная версия должна хоть на рекламу работать.
    Ты прав конечно, нужна отдельная страница для продукта. Я сам не специалист в вебе и тем более в дизайне,
    а заказывать работу на стороне пока рано - основные задуманные функции ещё не все готовы, их ни показать ни описать.

    mayton
    Багтрекер тоже нужен.

    Нужно будет сделать. Но когда созреет. Пока ещё сыроват. (Хотя тот-же Notepad++ местами ещё недоделаней)
    7 сен 18, 09:37    [21667711]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    love_bach
    mikron
    пропущено...

    Всё на том же месте.


    не запускается

    Опиши пожалуйста подробней. Что не запускается? Что происходит?
    На всякий случай - по ссылке не сам редактор, а SFX - SelFeXtracted archive.
    7 сен 18, 09:41    [21667717]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    love_bach
    Member

    Откуда:
    Сообщений: 418
    mikron
    love_bach
    пропущено...


    не запускается

    Опиши пожалуйста подробней. Что не запускается? Что происходит?
    На всякий случай - по ссылке не сам редактор, а SFX - SelFeXtracted archive.


    ничего не происходит

    К сообщению приложен файл. Размер - 23Kb
    7 сен 18, 10:01    [21667739]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор.  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    love_bach
    mikron
    пропущено...

    Опиши пожалуйста подробней. Что не запускается? Что происходит?
    На всякий случай - по ссылке не сам редактор, а SFX - SelFeXtracted archive.


    ничего не происходит

    Посмотри пожалуйста, что у тебя в EventLoge записано и отправь пожалуйста майлом на bss_editor@bergstreiser.com
    7 сен 18, 14:08    [21668175]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mayton
    Member

    Откуда: loopback
    Сообщений: 38359
    mikron
    love_bach
    пропущено...


    ничего не происходит

    Посмотри пожалуйста, что у тебя в EventLoge записано и отправь пожалуйста майлом на bss_editor@bergstreiser.com

    На титульной странице твоего продукта (когда сделаешь) нужно опубликоваит разделы FAQ и контакты для поддержки.

    Все exceptions ты должен обрабатывать в приложении и формировать бланк с сообщением и стектрейсом и предлагать отправить на поддержку.

    Приложение должно перезапускатся.
    7 сен 18, 14:56    [21668242]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    Valentin Kolesnikov
    Member

    Откуда:
    Сообщений: 3104
    love_bach
    mikron
    пропущено...

    Опиши пожалуйста подробней. Что не запускается? Что происходит?
    На всякий случай - по ссылке не сам редактор, а SFX - SelFeXtracted archive.


    ничего не происходит


    У меня тоже не запускается.

    автор
    Faulting application name: BssEditor.exe, version: 0.6.2.614, time stamp: 0x5b9258e7
    Faulting module name: KERNELBASE.dll, version: 10.0.17134.165, time stamp: 0xfa43f4b2
    Exception code: 0xe0434352
    Fault offset: 0x0010ddc2
    Faulting process id: 0x472c
    Faulting application start time: 0x01d446ad871cd674
    Faulting application path: C:\Users\user\Documents\programs\bss\BssEditor.exe
    Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
    Report Id: 80dbcf9f-1a74-41f5-88ee-dc3edb4b1436
    Faulting package full name:


    С уважением, Валентин
    7 сен 18, 16:25    [21668366]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    интересная заметка.
    Мне пришлось писать работу с clipboard в обход библиотечных фукций .Net. С учётом того что вся обработка идёт в фоновом процессе а clipboard в STA и в GUI потоке проблемы предопределены.
    7 сен 18, 23:39    [21668706]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    love_bach, Valentin Kolesnikov,

    Спасибо, поправил.
    8 сен 18, 11:02    [21668814]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    mayton
    Все exceptions ты должен обрабатывать в приложении и формировать бланк с сообщением и стектрейсом и предлагать отправить на поддержку.

    Это было модно вчера. Но сам подход к проблеме идеологически ошибочный.
    Предположим каждое приложение будет включать свой код для диагностики.
    - на компьютере будет куча функционально идентичного софта.
    - качественный код диагностики далеко не тривиальный. По сложности вполне тянет на отдельный продукт.
    - полноценный диагностика приложения возможна только из вне. Возможна даже только на системном уровне.
    - как следствие на компутере будет куча сложного кода плохого качества и возможно код на уровне ядра.

    Такая ситуация уже полное дерьмо и этого никому не надо.

    Сегодня ситуация уже меняется. Диагностика и сбор информации - задача операционной системы. Так же как и передача диагностической информации разработчикам. Примеры тому AppleStore, Microsoft-Store или независимые дистрибьютеры.

    В моём случае Windows делает всё необходимое.

    К сообщению приложен файл. Размер - 86Kb
    8 сен 18, 12:17    [21668838]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mayton
    Member

    Откуда: loopback
    Сообщений: 38359
    mikron,

    А как Windows тебе что-то передаст для анализа?
    8 сен 18, 12:34    [21668847]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    mayton,

    Для корпоративных клиентов - задача администратора.
    Для частных клиентов - задача для Store.
    Тут для виндовса
    8 сен 18, 13:51    [21668877]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    Roman Mejtes
    Member

    Откуда: г. Пермь
    Сообщений: 3078
    Сделайте дамп процесса у клиента и посмотрите в отладчике на рабочем компе
    8 сен 18, 15:24    [21668903]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mayton
    Member

    Откуда: loopback
    Сообщений: 38359
    mikron
    mayton,

    Для корпоративных клиентов - задача администратора.
    Для частных клиентов - задача для Store.
    Тут для виндовса

    Вы рассказываете мне о том чего у вас нет.

    Сделайте нечто что бы дало вам возможность в полу автоматическом режиме собирать с пользователя сведенья о сбоях.
    8 сен 18, 16:10    [21668916]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    mayton
    mikron
    mayton,

    Для корпоративных клиентов - задача администратора.
    Для частных клиентов - задача для Store.
    Тут для виндовса

    Вы рассказываете мне о том чего у вас нет.

    Сделайте нечто что бы дало вам возможность в полу автоматическом режиме собирать с пользователя сведенья о сбоях.

    Я ценю ваше мнение, но здесь у меня другое представление. Я его уже высказал 21668838: Это всё задачи ОС. У меня этого нет, но я делаю редактор а не ОС. И поэтому делать не буду. Решение осмысленное.
    8 сен 18, 16:34    [21668922]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mayton
    Member

    Откуда: loopback
    Сообщений: 38359
    mikron
    mayton
    пропущено...

    Вы рассказываете мне о том чего у вас нет.

    Сделайте нечто что бы дало вам возможность в полу автоматическом режиме собирать с пользователя сведенья о сбоях.

    Я ценю ваше мнение, но здесь у меня другое представление. Я его уже высказал 21668838: Это всё задачи ОС. У меня этого нет, но я делаю редактор а не ОС. И поэтому делать не буду. Решение осмысленное.

    Да как будет угодно.
    8 сен 18, 17:07    [21668939]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    Столкнулся с интересной проблемой связанной с работой с буфером обмена.
    Но чтобы её понять нужно немного истории. Первоначальная версия работала с одним файлом, но все команды выполнялись в фоновом потоке. Более того, для команд работы с файлом существует отдельный конвейер команд и один task обслуживает конвейер когда в нём появляются команды. Зачем эта сложность? Для макросов, они тоже будут.
    Теперь рассмотрим, что происходит при наполнении конвейера командами работы с буфером обмена.
    Пусть пользователь наполнил конвейер:
    поиск; выделение; копирование в буфер обмена; поиск; вставка из буфера обмена;
    Я предполагаю здесь что операция поиска выполняется относительно долго.
    Первый интересный момент здесь - копирование в буфер обмена возможно только из ГУИ потока. Так же как и вставка из.
    Второй интересный момент - Что ожидается как содержание буфера обмена на момент выполнения последней операции вставки.
    Ответ далеко не тривиальный.

    1 возможный ответ: текст из предидущей в конвейере операции копирования в буфер.
    Не верно. После конвееризации команды "копирование в буфер обмена" но до "вставка из буфера обмена" пользователь мог переключится в другое приложение и сделать в нём "Ctrl-C".
    поиск; выделение; копирование в буфер обмена; поиск; смена приложения; "Ctrl-C"; смена приложения назад; вставка из буфера обмена;


    2 возможный ответ: текст из буфера обмена на момент выполнения.
    Не верно. Не работает.
    поиск; вставка из буфера обмена;смена приложения; "Ctrl-C"


    3 возможный ответ: текст из буфера обмена на момент вставки.
    Не верно. Не работает на первом приведённом сценарии

    и правильный ответ: зависит от ...
    11 сен 18, 14:33    [21670991]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    В последней версии улучшения в работа с буфером обмена связанные с поддержкой многобуферного режима:
    улутшения в передаче данных и её синхронизации.
    Следующая версия будет посвящена стабилизации и работе с длинными строками.
    14 сен 18, 15:30    [21674843]     Ответить | Цитировать Сообщить модератору
     Re: Ещё один редактор  [new]
    mikron
    Member

    Откуда: Germany / Stuttgart
    Сообщений: 755
    Изменения

    Очередное улучшение: добавил на закладки кнопки для закрытия.

    Вообще задумывал ранее доделать работу с длинными строками, но приоритеты определяются собственными потребностями.
    На первый взгляд это незначительное изменение: я знал что стандартный TabControl поддерживает пользовательскую отрисовку, но я ему посвятил в общей сложности 2 дня работы. Что я не учёл: при пользовательской отрисовке закладки все фиксированного размера. Это выглядело не красиво для коротких названий, и работало ужасно - отсекало имена длинных файлов.
    открывая одновременно файлы с длинными именами
    EngineServer_20181016_inctanceXXX_alert.log и
    EngineServer_20181016_inctanceXXX.log
    уже нельзя было с первого взгляда определить где какой.
    Возможное решение было бы самому вычислять место и сокращать названия но вызывало сомнения что для пользователей это было бы естественно и понятно. Таким образом пришлось браться за разработку собственного TabBar и в течении 3 вечеров он был готов и я заменил им TabControl в редакторе.
    Но первые же дни продуктивного использования сразу показали и недостатки: если названия файлов одинаковые но полные пути разные то необходим ToolTip.
    Вроде бы опять ничего не предвещало работы, ведь в стандартном наборе для этого уже есть компонент - ToolTip. Но к сожаления он позволяет задать только один tip text для всего control-а и не позволяет задавать отдельные регионы в Control-е, которые к тому же ещё и перемещаются. Похожая динамика есть у TreeViev и ListView но они сами предоставляют tooltext и обрабатываются специальным образом методами ToolTip. Пришлось ещё и собственный ToolWindow добавить, но теперь можно вернутся к длинным строкам.
    Очередная версия доступна всё там же.
    2 ноя 18, 11:23    [21722301]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: 1 2 3 4 5      [все]
    Все форумы / Программирование Ответить