Zur13
Posts: 223
|
(11.03.2020 00:14)Berserker Wrote: Я смотрю Алгор уже вовсю используется //. Думаю, для ежестрочных комментариев при наличии удобного плагина [...] будут оптимумом с точки зрения читаемости. Наглядные скрины ты приводил.
Плагин еще с предыдущей версии умеет оба стиля коментариев, причем он умеет заменять слешевый // стиль на квадратные скобки и наоборот, достаточно в хоткеях поменять настройки вот так и получится слешевый стиль:
Code:
{ "keys": ["alt+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": 40, "removeDoubleSlashes":0, "surroundBySquareBrackets":0, "removeSquareBrackets":1, "addDoubleSlashes":1, "collectVars":0 , "prepareComment":0} },
{ "keys": ["alt+shift+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": -1, "removeDoubleSlashes":0, "surroundBySquareBrackets":0, "removeSquareBrackets":1, "addDoubleSlashes":1, "collectVars":0, "prepareComment":0} },
{ "keys": ["ctrl+alt+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": 40, "removeDoubleSlashes":0, "surroundBySquareBrackets":0, "removeSquareBrackets":1, "addDoubleSlashes":1, "collectVars":1, "prepareComment":1} }
Я у себя в своем коде использую квадратные скобки, но каждый может выбрать свой стиль.
|
|
11.03.2020 00:25 |
|
Berserker
Posts: 16653
|
|
11.03.2020 01:55 |
|
Zur13
Posts: 223
|
(11.03.2020 01:55)Berserker Wrote: Zur13, а не тестовая версия для включения в Эру планируется или пока не до этого?
Я ей у себя пользуюсь довольно активно, я пока каких-то больших багов не находил, под большими я подразумеваю удаление кусков ЕРМ кода или существующих каментов, только в самой первой версии был баг с удалением ; которая закрывала ЕРМ команду. Баг я починил, и дополнительно даже несколько защит внедрил, чтобы ничего кроме пробелов не удаляло. Но пока ей не начнут активно пользоваться я ничего гарантировать не могу, я просто физически не могу проверить все возможные комбинаци кода и каментов.
(This post was last modified: 11.03.2020 02:49 by Zur13.)
|
|
11.03.2020 02:47 |
|
Berserker
Posts: 16653
|
|
11.03.2020 02:55 |
|
Zur13
Posts: 223
|
(11.03.2020 02:55)Berserker Wrote: Zur13, понял, спасибо.
Только что перезалил, я еще посидел подумал, и добавил исключение из поиска ЕРМ кода текстов внутри ^^, а то ";" в таком тексте могли восприниматься как конец ЕРМ команды.
|
|
11.03.2020 03:25 |
|
Bes
Posts: 5422
|
Berserker, а, кстати говоря, будет ли сообщение об ошибки если использовать спец.символы внутри текстового сообщения?
в справке есть указание что такое не допустимо, но нет чёткого указания что случится в таком случае.
ERM Help Rus Wrote:Замечание: сообщения в тестовых переменных не должны содержать символов ; и ^
========================
Примечание: поскольку ресивер IF включает текстовые сообщения, в них не может быть использованы символы ";" и "^".
|
|
11.03.2020 03:35 |
|
Berserker
Posts: 16653
|
|
11.03.2020 03:45 |
|
Zur13
Posts: 223
|
(11.03.2020 03:45)Berserker Wrote: Zur13, точка с запятой запрещена в ^...^, так как является ограничителем команды. Не проверял, но тоже много где останавливаюсь на ^, ;, #0 согласно документации.
Только что проверил, ничего не вылетает, сообщение показывается:
!!IF:M^sad ; sads^;
|
|
11.03.2020 03:50 |
|
Berserker
Posts: 16653
|
|
11.03.2020 04:17 |
|
Berserker
Posts: 16653
|
|
11.03.2020 05:16 |
|
Zur13
Posts: 223
|
(11.03.2020 05:16)Berserker Wrote: У меня плагин по ctrl + alf + f не переносит курсор внутрь квадратных скобок.
А alt + shift + f вообще не выполняет заявленного
https://yadi.sk/i/67jop2YyFagjlQ
Плагин работает только с выделенным текстом или если выделения нет, то только в той строке где стоит курсор, потому при нажатии alt+shift+f плагин в текущей строке находит общую для всех строк (в этом случае только для текущей) позицию камента. Но это навело меня на мысль, я сейчас переделал поведение, новая версия плагина, если выделения нет, будет проверять 3 строки вверх и вниз, для автовыбора позиции камента. И добавил перенос курсора ctrl + alf + f
Обновил плагин.
Этот плагин для Sublime Text позволяет:
- Исправлять каменты в текущей строке (где стоит текстовый курсор), или в нескольких выделенных строках (поддерживается многострочное выделение).
- Заменять двойные слешы // в начале камента на оборачивание в [ квадратные скобки ] (опционально)
- Заменять [ квадратные скобки ] вокруг камента на двойные слешы // перед ним (опционально)
- Собирать в начало камента большинство измененных переменных в этой строке (распознаются только в VR<переменная> и ?<переменная>, IF:V<номер флага> ОПЦИОНАЛЬНО)
- Проставлять заготовку под камент в стиле [ квадратные скобки ] или двойные слешы //, если в строке есть ЕРМ код но нет камента (опционально)
- Автоматически выбирать длинну отступа для всех коментариев в выделении по максимальному отступу (опционально)
В новой версии плагина:
- Улучшен автоматический поиск отступа если нет выделения (выделена одна строка), в этом случае сканируются 3 строки вверх и 3 строки вниз.
- Простановка заготовки под камент, если нет выделения (выделена одна строка) теперь переводит текстовый курсор в конец этой строки или внутрь квадратных скобок заготовки под камент.
Хоткеи для старой версии плагина нужно заменить СНОВА.
ПОКА ПЛАГИН ТЕСТОВЫЙ ОЧЕНЬ НЕ РЕКОМЕНДУЕТСЯ ЗАМЕНЯТЬ ЧТО-ТО КОГДА ЧАСТЬ ВЫДЕЛЕННЫХ СТРОК ВНЕ ВИДИМОСТИ ЧТОБЫ ПРОВЕРЯТЬ ПРОДЕЛАННЫЕ ИЗМЕНЕНИЯ.
Как с ним работать:
1. Плагин забираем тут (файл ErmFormatInlineComment.py)
2. Кладем его сюда: Tools\Erm Editor Sublime\Data\Packages\User
3. В саблайме идем в меню Preferences-Key Bindings и в правой панели где юзерские сочетания добавляем: между [] вот это:
Code:
{ "keys": ["alt+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": 40, "removeDoubleSlashes":1, "surroundBySquareBrackets":1, "removeSquareBrackets":0, "addDoubleSlashes":0, "collectVars":0 , "prepareComment":0} },
{ "keys": ["alt+shift+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": -1, "removeDoubleSlashes":1, "surroundBySquareBrackets":1, "removeSquareBrackets":0, "addDoubleSlashes":0, "collectVars":0, "prepareComment":0} },
{ "keys": ["ctrl+alt+f"], "command": "erm_format_inline_comment", "args": {"targetIdent": 40, "removeDoubleSlashes":1, "surroundBySquareBrackets":1, "removeSquareBrackets":0, "addDoubleSlashes":0, "collectVars":1, "prepareComment":1} }
4. По сочетанию клавиш плагин приведет камент к выбранному стилю ( [ квадратные скобки ] или слешы // ) и:
- alt+f плагин подгонит каменты в выделенных строках в позицию на 40 символов от начала строки, если это возможно сделать удаляя или добавляя пробелы
- ctrl+alt+f плагин соберет переменные изменяемые в ЕРМ коде в начало камента.
- alt+shift+f плагин автоматически найдет отступ так чтобы все каменты в выделенных строках (если выделена одна строка он дополнительно проверит 3 строки вверх и вниз, но изменит только строку в которой стоит курсор) оказались на одном уровне пример:
(This post was last modified: 12.03.2020 02:26 by Zur13.)
|
|
11.03.2020 13:13 |
|
Zur13
Posts: 223
|
Заморочился сделал еще один небольшой плагин для Sublime Text.
Этот плагин для Sublime Text позволяет:
Закаментить и раскаментить ERM код в выделенных строках (или в строке где находится курсор), по нажатию всего одного сочетания клавиш: Ctrl+Alt+C
Новая версия плагина дальше в ответах к этому треду.
(This post was last modified: 13.03.2020 12:27 by Zur13.)
|
|
12.03.2020 02:42 |
|
Berserker
Posts: 16653
|
|
12.03.2020 03:17 |
|
Zur13
Posts: 223
|
(12.03.2020 03:17)Berserker Wrote: Удобная фишка.
P.S. В любом sublime можно зажатой средней кнопкой мыши создать линию курсоров, затем shift + вправо, "*". Либо Выделить строки, ctrl +shift + L, home, shift + ->, '*".
Можно конечно, но я не люблю к мышке тягаться лишний раз при работе с кодом да и плагин позволяет сразу вперемешку все строки разобрать включая вот эту, где пара команд в одной строке, из примера на моем скрине, я из-за нее и заморочился главным образом, но и колончатый курсор интересная фишка
Code:
!!SN:W^zEwmIV_mod_on^/?y1; !!FU&y1<>1:E; [Exit if mod disabled]
*!SN:W^zEwmIV_mod_on^/?y1; *!FU&y1<>1:E; [Exit if mod disabled]
(This post was last modified: 12.03.2020 03:39 by Zur13.)
|
|
12.03.2020 03:30 |
|