StranikS_Scan 3,863 Posted June 4, 2013 (edited) XCPad Текстовый редактор для редактирования XVM-, PTC-, PMOD-конфигов, адаптированный под особенности XC-формата Версия: 1.1.2Дата обновления: 18.08.2020 Описание:В связи с тем, что с годами XVM-конфиг эволюционировал и, в частности, стал распределенным не только по иерархии настроек, но и по их местоположению, то появилась идея сделать собственный текстовый редактор для работы с ним. Ставилась задача максимально совместить разобщенные по файлам участки конфига в одном редакторе, чтобы в дальнейшем можно было работать как с отдельными файлами, так и с конфигом в целом. Например, поиск/замена по всему конфигу сразу, а не в отдельном файле. Возможности редактора: Создан под файлы xc-формата, однако также поддерживает и другие форматы:xvmconf, ptc, json, yaml, xml, cfg, ini; Корректно работает с кодировкой UTF-8 (переводит UTF-8 в ANSI и обратно), имеет встроенные функции перекодировки файлов, однако сохраняет всегда в формате UTF-8; Распознает внешние ссылки в xc-файлах и загружает весь конфиг; Отображает все файлы конфига в одном окне, путем состыковывания их редакторов; Поддерживает цветовые темы, синтаксическую подсветку и сворачивание блоков текста; Проверка валидности JSON-структуры файла с указанием места ошибки; Функции поиска и замены как в отдельном файле, так и по всему конфигу; Словарь для автоподстановки конструкций, и автозавершения ввода имен полей, макросов и свойств; Быстрый доступ к активному конфигу игры; Языки интерфейса: English, Русский; и многое другое... Минимальные требования: ОС Windows XP/Vista/7/8.1/10; Файлы должны быть сохранены в кодировке UTF-8, если кодировка ANSI или Unicode, то следует воспользоваться встроенными в программу функциями перекодировки файлов; Специальные символы должны быть записаны в виде "\uxxxx", где xxxx - код символа в юникод-таблице (например "\u2666" это тыц). Скачать: XCPad_1.1.2.564.zip | VirusTotal: 0/64 | Старые версии лежат здесь. История изменений: Версия: 1.1.2.564 (18.08.2020) --------------------------------------------- [Add] В контекстное меню добавлены опции для статического выделения участков текста разными стилями [Add] В контекстное меню добавлена опция для перехода к парной скобке (Ctrl+B) [Add] Добавлен автоматический отступ каретки при переходе на новую строку [Upd] Изменен адрес сервера обновлений Версия: 1.1.1.556 (15.12.2019) --------------------------------------------- [Upd] Обновлен модуль проверки новых версий программы на сервере обновлений [Upd] Перенастроены цвета элементов в цветовых темах интерфейса [Add] Программа теперь умеет работать с файлом "xvm.xc.sample" Версия: 1.1.0.537 (07.01.2018) --------------------------------------------- [Fix] Исправлены зависания, вызванные модулем проверки обновлений программы (ЛОМ) [Fix] Исправлен баг с отсутствием сжатия в zip-архиве при упаковке конфига, алгоритм сжатие заменён с Deflate на Deflate64 [Upd] Переработаны схемы синтаксической подсветки "Java Script" и "Python" под json-формат [Add] Добавлена опция "Тема интерфейса" c выбором цвета: White, Blue, Black [Upd] Все схемы синтаксической подсветки адаптированы под цвета тем и переключаются автоматически [Add] Добавлена отправка статистики автору программы (опция) [Add] Добавлена опция сортировки дерева файлов (ovasya12372, Kar1son) [Add] В дереве файлов добавлено отображение промежуточных каталогов в виде [путь/] [Add] Добавлена поддержка ссылок между файлами в конфиге PMod-а [Add] Добавлена функция "Открыть загрузочный XVM-файл" для доступа непосредственно к файлу xvm.xc [Upd] Функция "Загрузить текущий XVM-конфиг" теперь открывает сам конфиг, а не файл xvm.xc [Add] В пункте главного меню "Справка" добавлены ссылки на сайт, форум XVM, а также страницы скачивания стабильной и ночной версий мода Версия: 1.0.6.493 (08.10.2017) --------------------------------------------- [Fix] Исправлена баг с запоминанием функции "Вертикальная линия каретки" [Fix] Внесены правки в алгоритм выравнивания редакторов Версия: 1.0.5.491 (07.10.2017) --------------------------------------------- [Fix] Исправлена работа функции "Высота как у главного окна" [Fix] Исправлен баг с запоминанием положения списка файлов [Fix] Исправлен баг с добавлением лишней строки в файл при перезаписи даты XVM-конфига [Add] Добавлена опция "Справка" - "Опции" - "Высота активного редактора как у главного окна", при активации которой редакторы при их выборе в списке файлов автоматически разворачиваются на весь экран [Add] Добавлена опция "Вид" - "Редактор" - "Вертикальная линия каретки" Версия: 1.0.4.480 (26.08.2017) ---------------------------------------------[Fix] Исправлена задержка отображения названий пунктов главного меню согласно выбранной локализации при запуске программы; [Upd] Разрешена загрузка файлов с любым расширением; [Add] Добавлена возможность регистрации программы в реестре и ассоциации с файлами *.xc, *.xvmconf и *.xcpad; [Upd] Реализована поддержка диалогов Открыть/Сохранить файл из новых операционных систем; [Add] Добавлена в программу 7z.dll для поддержки работы с архивами; [Add] Добавлена функция для упаковки конфига в zip-архив "Упаковать всё в архив..."; [Upd] Обновлен алгоритм поиска обновлений программы на сервере. Версия: 1.0.3.463 (24.08.2017) ---------------------------------------------[Fix] Исправлены баги с отображением редакторов при большом числе файлов; [Fix] Исправлена работа функции "Загрузить текущий конфиг игры"; [Fix] Исправлен баг в нативном коде, из-за которого неправильно вычислялся размер буфера выделенного текста в редакторе; [Fix] Исправлен баг в работе Undo-функции при отмене блочной табуляции; [Fix] Исправлено игнорирование регистра букв в именах файлов и путей; [Add] Перенесены некоторые графические функции и возможности, реализованные в PjOrion; [Add] Реализована поддержка символов табуляции, опция "Заменять табуляцию на пробелы"; [Add] При выделении слова показывается количество повторений в тексте без него самого; [Add] Добавлена опция подсветки отступов в тексте, включена по умолчанию; [Upd] Оптимизирована функция подсветки парных скобок; [Add] Добавлена функция в дереве файлов "Высота как у главного окна"; [Add] Добавлена возможность работать с файлами других расширений *.ptc, *.json, *.cfg и т.д. Информация о более ранних версиях удалена. Edited November 9, 2020 by StranikS_Scan 125 1 Quote Share this post Link to post Short link Share on other sites
demon2597 5,463 #68454 Posted June 5, 2013 (edited) Нифига се замутил ты! Мне хоть оно и не треба вроде, но это однозначно тема:) Плюсанул. Из удобств предложение: очень неплохо когда подсвечиваются парные скобки, например, если поставить курсор возле { - она выделяется цветом и вторая в конце блока } тоже 'скрин' Edited June 5, 2013 by demon2597 Quote Share this post Link to post Short link Share on other sites
seriych 2,178 #68455 Posted June 5, 2013 Вах, красавчик Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 3,863 #68458 Posted June 5, 2013 (edited) Нифига се замутил ты! Мне хоть оно и не треба вроде, но это однозначно тема:) Плюсанул. Из удобств предложение: очень неплохо когда подсвечиваются парные скобки, например, если поставить курсор возле { - она выделяется цветом и вторая в конце блока } тоже скрин 111.jpg AlkelPad? Отличный редактор, я в свое время разными увлекался, работал с Bred3, AlkalPad, NotePad++ и т.д. Они отличные, но есть пару неудобств. Например, ни в одном из них нет JSON-подсветки в принципе, однако есть такой редактор JSONpad, вот он с подсветкой, но с ним не возможно работать, кривой. А второй момент - это кривость работы с UFT-8, я обратил внимание, что сами XVM-цы иногда сохраняют с разных редакторов файлы и в том же блокноте или в Bred3 один файл конфига корректно открывается, а другой с косяками вместо русс. символов. В моем случае при загрузке файла UTF-8 распознается, налету преобразовывается в ANSI, а когда файл сохраняется все наоборот ANSI преобразовывается в UFT-8. Как результат - нормально открывается любой UTF-файл. Ну и последнее что меня озадачило, когда вышел конфиг-400 это проблема с поиском/заменой по всему конфигу. Раньше я CTRL+F или CTRL+H и не парюсь, а сейчас такое не прокатит, нужно либо четко знать что в каждом файле, либо искать во всех, а в случае моей концепции, когда весь конфиг в одном окне, я эту проблему смогу решить, в принципе надо сейчас просто реализовать функции поиска и замены. ЗЫ: Как подсветить парные скобки уже нашел код, в обновление такая подсветка будет. Edited June 5, 2013 by StranikS_Scan 3 Quote Share this post Link to post Short link Share on other sites
demon2597 5,463 #68460 Posted June 5, 2013 (edited) AlkelPad? ага, мне нравится, не подводил вроде пока:) сейчас такое не прокатит, нужно либо четко знать что в каждом файле, либо искать во всех ну потому меня и не колбасит, а вот если бы не знал, то однозначно нужна была бы такая штука "всё в одном". Поэтому считаю- это отличная идея Edited June 5, 2013 by demon2597 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 3,863 #68462 Posted June 5, 2013 И забыл добавить, кто видел стандартные или юзает свою подсветку символов языка JSON, можете отписаться ссылкой или скриншотом, я ваш вариант подсветки добавлю в программу. Пока там только мой "JSON by StranikS_Scan". Quote Share this post Link to post Short link Share on other sites
demon2597 5,463 #68464 Posted June 5, 2013 (edited) ни в одном из них нет JSON-подсветки ну мне в принципе в Akelpad вполне хватает подсветки javascript Вообще я подумал, что такую штуковину неплохо бы включить в архив мода, полезно было бы и хитово- собственный редактор:) Edited June 5, 2013 by demon2597 1 Quote Share this post Link to post Short link Share on other sites
sirmax 5,494 #68466 Posted June 5, 2013 XCPad Выкладываю в этой теме на общее обозрение пилотную версию текстового редактора для XVM-конфига нового формата 4.0.0 Великолепно! Можно включить в основное дерево XVM. Quote Share this post Link to post Short link Share on other sites
refaol 212 #68472 Posted June 5, 2013 (edited) StranikS_Scan однозначно +. Предложения: 1. Версию включите в шапке в название программы, будет ориентир на обновления. 2. Может стоит добавить дополнительно переход по блокам как по ссылкам, например щелкнули с зажатым CTRL на "hangar.xc" и мы на нужном файле. 3. Кроме своих схем подсветки добавьте plz стандартную (привычную) JavaScript ("JSON от StranikS_Scan" может переименовать в синтаксис XCPad) Edited June 5, 2013 by refaol 1 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 3,863 #68479 Posted June 5, 2013 (edited) StranikS_Scan однозначно +. Предложения: 1. Версию включите в шапке в название программы, будет ориентир на обновления. 2. Может стоит добавить дополнительно переход по блокам как по ссылкам, например щелкнули с зажатым CTRL на "hangar.xc" и мы на нужном файле. 3. Кроме своих схем подсветки добавьте plz стандартную (привычную) JavaScript ("JSON от StranikS_Scan" может переименовать в синтаксис XCPad) 1. Будет в след. версии 2. Парсинг ссылок с их подсветкой и переходом из самого текста по клику будет, чуть позже. 3. Сразу давайте сриншот, т.к. в разных редакторах подсветки разные, вот demon2597 вот тут уже привел пример JavaScript в AlkelPad, а я много и других ее вариантов, например, вариант, где фон белый, комменты красные, а значения синие и т.д. Так что прошу скриншот - так будет просто, быстро и понятно :)))) Все понял о чем написано. Вообще я подумал, что такую штуковину неплохо бы включить в архив мода, полезно было бы и хитово- собственный редактор:) Включать XCPad.exe в офф. сборку XVM думаю не стоит, т.к. это увеличит архив, а треба он далеко не всем, у многих свои любимые редакторы. Потому думаю, проще, просто включить в архив URL-файл на скачку редактора Например такой: Название файла: Download XCPad.url А в внутри прописать: [InternetShortcut] URL=http://straniks.ddns.is74.ru/pub/XCPAD/XCPad.exe Кому треба нажмет и качнет сразу последнюю версию. Edited June 5, 2013 by StranikS_Scan 1 Quote Share this post Link to post Short link Share on other sites
demon2597 5,463 #68489 Posted June 5, 2013 (edited) demon2597 вот тут уже привел пример JavaScript в AlkelPad я наверное не совсем правильно сказал, JavaScript- это синтаксическая тема, определяет какие элементы выделяются наклонным шрифтом, какие подсветкой, что показывается в окне структуры файла и т.д.Я имел в виду, что за отсутствием JSON вполне подходит и JavaScript. А цветовая схема выбирается отдельно, их там несколько и это уже просто раскраска всего хозяйства по вкусу. К любой выбранной синтаксической теме автоматом применяется выбранная цветовая. Edited June 5, 2013 by demon2597 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 3,863 #68502 Posted June 5, 2013 я наверное не совсем правильно сказал, JavaScript- это синтаксическая тема, определяет какие элементы выделяются наклонным шрифтом, какие подсветкой, что показывается в окне структуры файла и т.д.Я имел в виду, что за отсутствием JSON вполне подходит и JavaScript. А цветовая схема выбирается отдельно, их там несколько и это уже просто раскраска всего хозяйства по вкусу. К любой выбранной синтаксической теме автоматом применяется выбранная цветовая. 111.jpg Т.е. схема разбиение текста на конструкции? Например распознавать: комменты виды //..., распознавать комменты вида /*....*/, распознавать строки в кавычках "...", распознавать значения-цифры, распознавать булевые-значения. Это имелось ввиду? А цвета для этих конструкций понятно могут быть разные... Да, у меня в загашнике есть куча шаблонов распознавания подсветки, когда делал свой смотрел на другие и тоже обратил внимание, что не плохие шаблоны имеют JavaScript и еще Python. Вообщем мне все понятно. Нуно внедрить их шаблоны распознавания с возможностью выбора пользовательских цветов на распознаваемые конструкции. Quote Share this post Link to post Short link Share on other sites
demon2597 5,463 #68504 Posted June 5, 2013 @StranikS_Scan, ага, всё верно Quote Share this post Link to post Short link Share on other sites
sirmax 5,494 #68553 Posted June 5, 2013 Включать XCPad.exe в офф. сборку XVM думаю не стоит, т.к. это увеличит архив, а треба он далеко не всем, у многих свои любимые редакторы. Потому думаю, проще, просто включить в архив URL-файл на скачку редактора Я имел в виду, что исходники можно хостить в репозитории XVM и распространять отдельным пакетом в общих даунлоадах. Это предложение, я не настаиваю. :) 1 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 3,863 #68554 Posted June 5, 2013 Я имел в виду, что исходники можно хостить в репозитории XVM и распространять отдельным пакетом в общих даунлоадах. А теперь понял, правда есть один проблем :))))) я плохо разбираюсь в code.google. Концепция мне в общих чертах понятна, и лазил я по нему, но вот ни разу проекты не заливал туда. Где мона почитать и просветиться чего там да как, не знаешь? Quote Share this post Link to post Short link Share on other sites
sirmax 5,494 #68556 Posted June 5, 2013 А теперь понял, правда есть один проблем :))))) я плохо разбираюсь в code.google. Концепция мне в общих чертах понятна, и лазил я по нему, но вот ни разу проекты не заливал туда. Где мона почитать и просветиться чего там да как, не знаешь? Ставишь TortoiseSVN, читаешь доки по SVN. Тебе для начала хватит всего 3 действия: 1. checkout - скачать дерево исходников 2. update - обновить дерево исходников 3. commit - залить исходники в репозиторий Чтобы заливать, нужен доступ на коммит. Если созреешь, пиши. :) Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 3,863 #68607 Posted June 5, 2013 Ставишь TortoiseSVN, читаешь доки по SVN. Тебе для начала хватит всего 3 действия: 1. checkout - скачать дерево исходников 2. update - обновить дерево исходников 3. commit - залить исходники в репозиторий Чтобы заливать, нужен доступ на коммит. Если созреешь, пиши. :) Разобрался, забавная штука, раньше такого не было, т.е. когда я активно кодил, а сейчас прям малина. Только заточено в первую очередь под совместные разработки, хотя вот сегодня копался на гуглокоде в чужих проектах, некоторые и сами для себя свээнят исходники, а некоторые просто гуглокод как хостинг используют для темы и релизов. За место в репозитарии спасибо, но пока воздержусь, сначала попробуя некоторые свои мелкие проекты на гуглокод переселить и исходники через тортилу погонять, а то чего-то она тормозная какая-то.... Quote Share this post Link to post Short link Share on other sites
sirmax 5,494 #68614 Posted June 5, 2013 Разобрался, забавная штука, раньше такого не было, т.е. когда я активно кодил, а сейчас прям малина. Только заточено в первую очередь под совместные разработки, хотя вот сегодня копался на гуглокоде в чужих проектах, некоторые и сами для себя свээнят исходники, а некоторые просто гуглокод как хостинг используют для темы и релизов. За место в репозитарии спасибо, но пока воздержусь, сначала попробуя некоторые свои мелкие проекты на гуглокод переселить и исходники через тортилу погонять, а то чего-то она тормозная какая-то.... Ок Quote Share this post Link to post Short link Share on other sites
h0use 15 #68638 Posted June 6, 2013 Попробовал редактор на своем конфиге, получил баг в навигационной панеле: конфиг свой приаттачил если надо для дебага h0useRus.zip Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 3,863 #68673 Posted June 6, 2013 (edited) Попробовал редактор на своем конфиге, получил баг в навигационной панеле: конфиг свой приаттачил если надо для дебага Да, это глюк в парсере, он значения принял за названия файлов. Щас домой приду, найду косяк. Спасибо за сигнал и конфиг. Edited June 6, 2013 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites