Jump to content
Korean Random
StranikS_Scan

XCPad - Мультифайловый текстовый редактор для XVM / PTC / PMOD / JSON / XML / INI конфигов (Версия: 1.2.0, Дата: 19.11.2023)

Пользуетесь ли вы XCPad  

352 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

Привык как то к AlkelPad.

Попробовал, что то не то :)

Конечно не то, это не AlkelPad. Это XCPad. Было бы большой глупостью думать что XCPad это AlkelPad или что он должен быть как AlkelPad.

Вообщем весьма "ценный" пост :))))

Share this post


Link to post

Short link
Share on other sites

Там по релизам новых версий как дела? Или хотя бы примерно когда выйдет обновление?

Share this post


Link to post

Short link
Share on other sites

Там по релизам новых версий как дела? Или хотя бы примерно когда выйдет обновление?

 

Сейчас 3 июля - время отпусков, ближайшее обновление через 2 недели. Отдыхайте товарищи!

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Скачал, плюсанул. Проверил - отлично! 

Вопрос - как насчет ловли откровенных ошибок?

При замене блоков текста основная ошибка - запятые - в одном месте не стоит, в конце, наоборот, лишняя. То же самое и со скобками. Это можно вычислять и показывать?

И второе - функция "сохранить как" не активна и не работает? Исправленные файлы всегда желательно сохранять под новым именем. Это очень важно для меня!

Share this post


Link to post

Short link
Share on other sites

Вопрос - как насчет ловли откровенных ошибок?

При замене блоков текста основная ошибка - запятые - в одном месте не стоит, в конце, наоборот, лишняя. То же самое и со скобками. Это можно вычислять и показывать?

Проверку валидности json-текста сделать можно, я уже вентилировал этот вопрос, в следующем билде наверно этой функции еще не будет, через билд сделаю.

 

И второе - функция "сохранить как" не активна и не работает? Исправленные файлы всегда желательно сохранять под новым именем. Это очень важно для меня!

Да, отключена, т.к. не совсем было ясно как ее делать, потому в первых билдах ее не трогал. Проблемы тут вот в чем - если один из открытых файлов, входящий в конфиг, вы сохраняете под другим именем, то что делать с ссылками на этот файл в других открытых файлах конфига?

Варианты:

- ничего с ними не делать

- или их все найти и заменить на новые

- или каждый раз выдавать запрос "Обновить ссылки в конфиге?"

 

Это была проблема №1. А вот проблема номер №2:

А если вы решили сохранить этот файл вне директории, в которой лежит конфиг, чего в этом случае делать с ссылками на него в конфиге?

 

А может еще какие идеи есть...

Share this post


Link to post

Short link
Share on other sites

А может еще какие идеи есть...

Если будет проверка, это будет просто здорово!

 

По поводу сохранения. Ясно, что в каталоге будут работать только оригинальные названия, которые заложены в головном файле @xvm.xc. Поэтому, сохраняя под другим именем или в другом месте, автор изменения сознательно делает этот файл временно нерабочим. Поэтому "с ссылками на этот файл в других открытых файлах конфига" ничего делать не надо, как и при сохранении в другом месте. Все просто и логично. Только функцию надо назвать поточнее - сохранить файл .хс как. Правда возникает небольшая коллизия - в окне редактированный файл имеет прежнее название. Тут наверное поможет индикатор - какая-нибудь звездочка возле названия,- что просматриваемый файл уже сохранен под другим названием. 

 

Таким образом, при закрытии редактора и повторном открытии будет всегда читаться "прежняя", но рабочая структура конфига, до тех пор пока автор не присвоит измененноиу файлу правильное название. Соответсвенно должна быть кнопка "Обновить конфигурацию" (струтуру, список файлов), или нет, лучше название -  "перезагрузить конфиг" по новой. Это в том случае, если произведено обратное переименование не выходя из редактора.

 

ps Появилась еще идея - автоматизировать сохранение версий. При нажатии Кнопки типа "сохранить с бекапом" к названию прежнего файла добавляется типа bak1 или old1, а изменнный файл сохраняется под оригинальным названием в рабочей директории. Сооответственно при каждом сохранении номер версии увеличивается. Именно такую последовательность и выполняют при "сохранить как". В таком варианте ни о чем думать вообще не надо - ни о ссылках ни о перезагрузке.

Edited by posew

Share this post


Link to post

Short link
Share on other sites

Если будет проверка, это будет просто здорово!

По поводу сохранения. Ясно, что в каталоге будут работать только оригинальные названия, которые заложены в головном файле @xvm.xc. Поэтому, сохраняя под другим именем или в другом месте, автор изменения сознательно делает этот файл временно нерабочим. Поэтому "с ссылками на этот файл в других открытых файлах конфига" ничего делать не надо, как и при сохранении в другом месте. Все просто и логично. Только функцию надо назвать поточнее - сохранить файл .хс как. Правда возникает небольшая коллизия - в окне редактированный файл имеет прежнее название. Тут наверное поможет индикатор - какая-нибудь звездочка возле названия,- что просматриваемый файл уже сохранен под другим названием.

Есть такая штука, я подсмотрел ее в NI Labview, там когда сохраняешь файл через save as можно выбрать что именно сделать, он предлагает на выбор (вольный перевод с англ.):

- сохранить и открыть

- сохранить копию и не открывать

- переместить файл

- переименовать файл на диске

 

Вот это как выглядит

2044464.jpg

 

Может и мне такой подход применить, ведь тут все варианты можно реализовать, ну, например, вот если оперировать даже теми пунктами что я привел выше:

> в первом пункте, получается что текст сохраняется в новый файл и автоматически в XCPad меняется имя файла и обновляются все ссылки в открытых файлах

> второй пункт, это как раз для вас и для всех тех кто не хочет портить открытый файл, при этом идет только сохранение, ни какие ссылки ни где не обновляются и назание файла в XCPad не меняется

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

> четвертый по сути тоже что третий только нет перемещения и диалогового окна не нужно.

Share this post


Link to post

Short link
Share on other sites

Этот диалог написан как бы сказать, не человекоориентированным программистом. =) Самое распростанненое явление. Первый пункт - это обычное просто "сохранить" или save - только здесь он расписан на совершенно очевидные пооперационные шаги. Еще и название неправильное - COPY в закладке SAVE AS. Возможно программист неанглоязычный, неевропейского менталитета. Я тоже не англичанин, но первый пункт переводится как Заменить копией оригинал - элементарное SAVE. Остальные пункты в том же духе. Поэтому я бы не стал брать этот диалог в качестве образца.

 

"Сохранить" у вас есть - заменили копией оригинал и ссылки ес-но не меняются.  Быстро, сразу, но без отката, "навсегда". (тоже невольно перехватил терминологию этого окна, копия - загруженная в память и измененная копия файла на диске, но мы же русские, так никогда не говорим?)

 

"Сохранить как" = сохранить с другим названием или в другом месте. Структра конфига сейчас фактически очень жесткая, хотя юридически каждый может писать как ему угодно. Предположим, мы  сохранили измененый файл squad.xc под именем mysquad.xc. Одновременно , как ты предлагаешь, автоматически обновляются ссылки - портим файл @xvm.xc и, соответственно, затираем оригинал, но уже ни у кого не спрашивая. Но все норм, будем пользоваться, все будет работать с нашими изменениями. Затем, через время, мы видим в инете, что кто-то сделал файл squad.xc лучше нас. Скачиваем, ложим в папку, не вставляется, мешает оригинал. Удаляем-переименовываем старый оригинал, вставляем скачанный - не работает! Не загружается весь XVM! Делаем откат - переименовываем, восстанавливаем старый оригинал - все равно не работает! Долго ищем, материмся, пока не восстанавливаем весь конфиг, потому что забыли про измененный @xvm.xc. Расписываю так подробно, чтобы спросить - кому нужен такой геморой? Что ты ухватился за обновление измененных ссылок? Что это несет, кроме вреда?

Структура конфига, раз она придумана в таком виде, хороша она или плоха, должна оставаться в неизменном виде. Обновление ссылок=изменение ссылок - это разрушение стандартной структуры.

Повторяю еще раз - если автор изменил название, то он не хочет, что бы этот файл до поры до времени участвовал в работе.

А время ему нужно только для того чтобы сделать бекап - создать возможность отката. Переименовать оригинал для бекапа в нерабочее название и затем переименовать измененый сохраненный файл в рабочее. Руками. Это все так очевидно - неужели сами так ни разу не делали?

Edited by posew

Share this post


Link to post

Short link
Share on other sites

Этот диалог написан как бы сказать, не человекоориентированным программистом. =) Самое распростанненое явление. Первый пункт - это обычное просто "сохранить" или save - только здесь он расписан на совершенно очевидные пооперационные шаги. Еще и название неправильное - COPY в закладке SAVE AS. Возможно программист неанглоязычный, неевропейского менталитета. Я тоже не англичанин, но первый пункт переводится как Заменить копией оригинал - элементарное SAVE. Остальные пункты в том же духе. Поэтому я бы не стал брать этот диалог в качестве образца.

Если говорить о том примере, что я привел, то меня это тоже в шок повергло в первый раз, когда я такое увидел + моя прострация усиливалась именно тем, что там на бредо-английском языке все подписано, и как результат дефолтному юзверу очень не привычны и не все сразу понятно. А потом, когда я приноровился, я в основном пользовался только двумя функциями от туда, это обычный "сохранить как" и "сохранить копию, не открывая" для бэкапа, всем остальным я не пользовался.... почему у них так все это бредово выглядит я не знаю, но при этом я лично открыто их не критикую, так как National Instruments это старая компания с толпой седых и усатых программистов, я бы им палец в рот не положил... если они что-то сделали так, то значит на это была причина... может у них просто "горе от ума" :))))).

 

"Сохранить" у вас есть - заменили копией оригинал и ссылки ес-но не меняются.  Быстро, сразу, но без отката, "навсегда". (тоже невольно перехватил терминологию этого окна, копия - загруженная в память и измененная копия файла на диске, но мы же русские, так никогда не говорим?)

С этим все ясно.

 

"Сохранить как" = сохранить с другим названием или в другом месте. Структра конфига сейчас фактически очень жесткая, хотя юридически каждый может писать как ему угодно. Предположим, мы  сохранили измененый файл squad.xc под именем mysquad.xc. Одновременно , как ты предлагаешь, автоматически обновляются ссылки - портим файл @xvm.xc и, соответственно, затираем оригинал, но уже ни у кого не спрашивая. Но все норм, будем пользоваться, все будет работать с нашими изменениями. Затем, через время, мы видим в инете, что кто-то сделал файл squad.xc лучше нас. Скачиваем, ложим в папку, не вставляется, мешает оригинал. Удаляем-переименовываем старый оригинал, вставляем скачанный - не работает! Не загружается весь XVM! Делаем откат - переименовываем, восстанавливаем старый оригинал - все равно не работает! Долго ищем, материмся, пока не восстанавливаем весь конфиг, потому что забыли про измененный @xvm.xc. Расписываю так подробно, чтобы спросить - кому нужен такой геморой? Что ты ухватился за обновление измененных ссылок? Что это несет, кроме вреда?

Структура конфига, раз она придумана в таком виде, хороша она или плоха, должна оставаться в неизменном виде. Обновление ссылок=изменение ссылок - это разрушение стандартной структуры.

Повторяю еще раз - если автор изменил название, то он не хочет, что бы этот файл до поры до времени участвовал в работе.

Ну с этим теперь тоже все ясно, если юзвер сохранил под другим именем, то ссылку он сам менять и должен, если конечно он сочтет нужным.

Это обычное всем нам знакомое "Сохранить как..." без прибамбасов.

 

А время ему нужно только для того чтобы сделать бекап - создать возможность отката. Переименовать оригинал для бекапа в нерабочее название и затем переименовать измененый сохраненный файл в рабочее. Руками. Это все так очевидно - неужели сами так ни разу не делали?

Вот для этого я в LabView использовал команду "Сохранить копию и не открывать" - по сути это и есть бэкап, при этом не надо ни куда лезть. Скажу честно "свернуть-найти_папку-скопировать_файл-переименовать-развернуть" долго и муторно, а тут раз-два и все готово.

 


Ладно подытоживаю, с учетом обсуждений сделаю пока так:

 

Главное меню:

"Открыть..." <-- уже есть

"Cохранить" <-- уже есть, сохраняется активный файл

"Сохранить как..." <-- пересохраняется только активный файл, обновляется его название в заголовке редактора и в навигаторе, остальные файлы конфига не меняются

"Сохранить копию..." <-- делается копия активного файла, пользователь указывает куда и под каким именем ее сохранить

------------

"Сохранить все" <-- уже есть

"Закрыть все" <-- уже есть

Share this post


Link to post

Short link
Share on other sites

Работа идет =)

 

 

Сохранить как..." <-- пересохраняется только активный файл, обновляется его название в заголовке редактора и в навигаторе, остальные файлы конфига не меняются"
Сохранить копию..." <-- делается копия активного файла, пользователь указывает куда и под каким именем ее сохранить

Так и не понятно, в чем разница предложенных операций - сохранить как - это и есть копия активного файла с новым именем и местом указанными пользователем. Не перенимай их термины =)

А почему ты не хочешь сделать "сохранение с бекапом", как я описывал выше? - предварительное переименование оригинала файла перед обычным сохранением активного файла (под текущим названием). Или, говоря их языком, копии активного файла из памяти на диск.

Т.е. такой перечень

Сохранить - удаляется оригинал с текущим названием, записывается измененная копия с текущим названием.

Сохранить с бекапом -  оригинальный файл с текущим названием не удаляется а переименовывается добавлением bak1. на диск записывается измененная копия с текущим названием. При повторной операции все повторяется - файл с текущим названием на диске переименовывается добавлением bak1, если это название занято, добавляется bak2, и так далее

В обоих оперциях в окне редактора ничего не меняется

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

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


Если ты навигатором называешь дерево в правой панели, то в нем ничего менять не нужно, поскольку все оно вытекает из структуры @xvm.xc, т.е. отражает действующий конфиг, или отражать, но другим цветом, например зеленым или красным, что бы сохранить функцию быстрого перехода

Edited by posew

Share this post


Link to post

Short link
Share on other sites

Работа идет =)

Чем дальше в лес, тем толще партизаны :)

 

Сконцентрируемся на оставшихся вопросах:

 

Я, если честно, пока не вижу света в конце туннеля, нет у меня полной и четкой картины в голове, а значит пока эту проблему не решим ничего путнего и понятного дефолтному юзверу сделать я не смогу :))))

 

Я сейчас попытаюсь порассуждать, т.е. описать что как происходит (синий цвет) или должно быть (красный цвет), а ты проследи всю логику и предложи поправки. Давай попробуем оттолкнуться вот от чего - отправная точка это то, что загружено в память, т.е. то что отображено в дереве (он же навигатор, список файлов) и в редакторах, я называю это загруженный конфиг (ЗК).

 

1. ЗК может состоять из 1 или большего числа загруженных файлов (ЗФ), при этом все ЗФ взаимосвязаны ссылками на момент загрузки конфига + ссылки на несуществующие файлы интерпретируются как виртуальные файлы (серые записи в дереве, если дважды кликнуть станет доступен редактор). Т.е. на момент загрузки ЗК целостный!

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

3. Пользователь отредактировал i-ый ЗФ и:

3.1 Командой "Сохранить" записывает текст в файл по ВП+ВИ.  (При этом целостность ЗК может быть нарушена, если скажем в файле был тэг $ на другой файл, а юзвер этот тэг изменил. Нужно ли на это как-то реагировать? Сейчас: нет реакции)

3.2 Командой "Сохранить с backup" повторяется п.3.1 но перед этим старый файл, если он есть, переименовывается, например так "login.xc" ---> "login.xc.backup1", затем "login.xc.backup2" если занято и т.п.

3.3 Командой "Сохранить как..." записывает текст в файл с новый путем и новым именем (НП+НИ). В программе текущий ВП+ВИ заменяется на НП+НИ (При этом целостность ЗК нарушается. Нужно ли на это как-то реагировать? По умолчанию: нет). 

3.4 Командой "Сохранить как копию..." записывает текст в файл с новый путем и новым именем (НП+НИ). В программе ВП+ВИ не меняются (При этом целостность ЗК не нарушается).  

 

Теперь введем понятие конфиг на диске или файловый конфиг (ФК), это как раз то о чем вы писали и глянем что происходит с ним:

В п.3.1 - ЗК и ФК меняются при этом они идентичны друг другу

В п.3.2 - тоже что и п.3.1. только появится еше бэкап-файл

В п.3.3 - ЗК меняется, целостность его нарушается, ФК не меняется, он такой же что и раньше

В п.3.4 - ЗК меняется, целостность его сохраняется, ФК не меняется.

 

Таким образом что получается, используя п.3.1 и п.3.2 я получаю на диске новый конфиг с бэкапом или без. Если я не хочу менять конфиг на диске, то я применяю п.3.3 и п.3.4. При этом п.3.3 удобен тому кто переделывает структуру конфига в программе. Например, я хочу в ЗК заменить файл login.xc на файл my_login.xc, тогда я делаю "Сохранить как..." пишу my_login.xc, а потом вручную в программе правлю ссылку $ в файле @xvm.xc, получаю опять целостный ЗК но уже новый. Что касается п.3.4 то он очень удобен когда тебе нужно сделать несколько версий одного файла, я открываю конфиг, правлю тот же login.xc и через "Сохранить как копию..." сохраняю его в папку "Для Васи", затем продолжаю править в программе и опять через  "Сохранить как копию..." сохряняю уже в другую папку например "Для Пети"... после этого выхожу из программы.

 

Вот полное описание концепции...

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

 

 

Нужно ли на это как-то реагировать? Сейчас: нет реакции)

И правильно.

Share this post


Link to post

Short link
Share on other sites

Тогда к написанному выше, остается добавить:

> "Сохранить всё"
> "Сохранить всё с backup"

и

> "Добавить файлы..." - в конце дерева добавляется файл/ы, добавляется редактор/ы и в него загружается текст файла/ов
> "Исключить файлы..." - открывается список файлов доступных в дереве, выделяем названия, жмем ок, выбранные ЗФ исчезают из программы.




Еще вот момент не нравиться мне слова backup и бэкап, не эстетично на русском звучит "Сохранить с бэкап" или "Сохранить с backup", может кто чего предложит?

Share this post


Link to post

Short link
Share on other sites

 

 

backup
Резервная копия

Share this post


Link to post

Short link
Share on other sites

В винде есть выражение Точка восстановления - длинно. Русское слово backup=возврат. Сохранить с возвратом - нет, созвучие плохое =).

Может  - "сохранить с файлом отката" " -файлом резерва" ?

Или "сохранить с резервом" или "сохранить с откатом" - опять жаргон, но коротко.

 

В п 3.3 после закрытия и открытия редактора вызовется неизмененный ЗК, если я правильно понял?

 

насчет реакции -

п.3.1 - это грубая ошибка уже, когда различаются головной список ссылок и реальный перечень файлов - когда файлов не хватает - об этом надо сказать, причем в самом начале. Может юзер недокопировал что-то или архив запортился при скачивании. Реакция нужна. Если файлы лишние - то это никому не мешает.

п3.3 - надо смотреть как будет удобнее уже на живом. Пока нет

 

Ага, отсутствие файлов у тебя уже проверяется и показывается, но как-то неубедительно. В реальности то это приведет к отказу всего XVM! Надо показывать отсутствующие файлы не серым а красным - еще и подписать что это ошибка. 

Edited by posew

Share this post


Link to post

Short link
Share on other sites

В винде есть выражение Точка восстановления - длинно. Русское слово backup=возврат. Сохранить с возвратом - нет, созвучие плохое =).

Может  - "сохранить с файлом отката" " -файлом резерва" ?

Или "сохранить с резервом" или "сохранить с откатом" - опять жаргон, но коротко.

 

В п 3.3 после закрытия и открытия редактора вызовется неизмененный ЗК, если я правильно понял?

В целом надо собрать что есть (т.е. тебе написать=)) а потом посмотреть, когда будет живое.

 

1. С резервом тоже жутковато, ладно остановимся на "Сохранить с бэкапом" и "Save with backup"

2. По п.3.3, да все верно, и будет это до тех пор пока вы сами не исправите $-ссылку в @xvm.xc или где там она у вас прописана.

 

Ладно, разобрались, буду ваять, к концу недели выложу очередной билд.

Share this post


Link to post

Short link
Share on other sites

я тут дописывал - перечитай мой пост по поводу ошибки. У тебя красным уже указан измененый файл. Может тогда вместо пустого места в квадрате для отсутствующих файлов указывать красный крестик? потому что у тебя сейчас можно снять птичку сознательно или нет и отстутствие файла вообще тогда не заметно. серый от черного мало отличается

Edited by posew

Share this post


Link to post

Short link
Share on other sites

я тут дописывал - перечитай мой пост по поводу ошибки. У тебя красным уже указан измененый файл. Может тогда вместо пустого места в квадрате для отсутствующих файлов указывать красный крестик? потому что у тебя сейчас можно снять птичку сознательно или нет и отстутствие файла вообще тогда не заметно. серый от черного мало отличается

 

Что касается твоего замечания по п.3.1, то конфиг открывается по принципу парсинга ссылок в файлах. По результам парсинга создатся дерево и редакторы, в которые и загружаются тексты.

 

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

 

2050007.jpg

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

поиск нужен по любому, а то неудобно так искать , текста много

Share this post


Link to post

Short link
Share on other sites

 

Что касается твоего замечания по п.3.1, то конфиг открывается по принципу парсинга ссылок в файлах. По результам парсинга создатся дерево и редакторы, в которые и загружаются тексты.

 

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

Уже лучше =)

Только термином виртуальный ты сбиваешь с толку. Отсутстсвующий! Виртуальным он будет, если в списке файлов будет какая-то заглушка-заготовка. Я так, кстати, предлагал сделать seriych в его преобразователе. Пришлось делать самому ручками.=)

Edited by posew

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...