О сколько нам открытий чудных ... (про C7.1)

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):Code Folding сворачивает код процедуры, начиная со строки, следующей за объявлением, то есть свернув эту процедуру, я на экране вижу весь вышеприведённый код. Некузяво как-то. Нельзя сворачивать целиком всё,?
Так а куда вы хотите сворачивать? Это ж не код, а прототип метода. Сейчас сворачивается к концу прототипа, чтобы видны были все параметры и было понятно, что за метод свернут.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение Дед Пахом »

Мне кажется, если одну строку с PROCEDURE оставить, то будет достаточно.
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение Дед Пахом »

А сворачивание конструкций IF, LOOP, CASE, ACCEPT, EXECUTE и т.д. у вас в планах есть? Не забудьте также про отломанные WINDOW/APPLICATION.
С уважением, ДП
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):А сворачивание конструкций IF, LOOP, CASE, ACCEPT, EXECUTE и т.д. у вас в планах есть? Не забудьте также про отломанные WINDOW/APPLICATION.
Про поломанные WINDOW/APPLICATION уже благополучно забыли, форум все-таки ненадежная штука для репорта багов.
Сворачивание кода не делаем принципиально. В первых видео 10-й студии рекламировали фичу фолдинга для кода, но уже в первой бете его не было, или как минимум эта фича выключена по-умолчанию. Я не могу понять почему все так этого хотят, это же жутко неудобно? Пропадает читабельность кода, из-за обилия фолдингов непонятно, что свернуто, что развернуто, какой фолдинг к чему относится. А если на одной строчке сразу несколько конструкций, которые надо фолдить? Типа

Код: Выделить всё

LOOP 10 TIMES; IF a = b
   c = d
   END
END
что тогда делать?
Плюс есть еще и техническая причина. Текстовый редактор #Develop не умеет нормально работать с большими файлами, а кларионовские файлы (в embeditor`е например) имеют привычку быть большими. #Develop грузит сразу весь файл целиком, и вся обработка типа добавления фолдинга, иконок и т.п. производится для всего файла целиком (а эта информация обновляется после каждого изменения в документе). Поэтому когда будет много фолдингов, текстовый редактор будет чрезмерно задумчив.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение Дед Пахом »

ORS писал(а): Про поломанные WINDOW/APPLICATION уже благополучно забыли, форум все-таки ненадежная штука для репорта багов.
Тогда смысл сюда писать? Больше не буду, и так надоел всем наверно (это я про себя).
ORS писал(а): Сворачивание кода не делаем принципиально. В первых видео 10-й студии рекламировали фичу фолдинга для кода, но уже в первой бете его не было, или как минимум эта фича выключена по-умолчанию. Я не могу понять почему все так этого хотят, это же жутко неудобно? Пропадает читабельность кода, из-за обилия фолдингов непонятно, что свернуто, что развернуто, какой фолдинг к чему относится. А если на одной строчке сразу несколько конструкций, которые надо фолдить? Типа

Код: Выделить всё

LOOP 10 TIMES; IF a = b
   c = d
   END
END
что тогда делать?
Не согласен. Взять, скажем, стандартный цикл ACCEPT:

Код: Выделить всё

  ACCEPT
    CASE EVENT()
    OF ...  ! 20 раз
    END

    CASE ACCEPTED()
    OF ... ! 100 раз
    END
  END
Было бы удобно свернуть CASE ACCEPTED(), чтобы не мешался в работе с EVENT()-ами.
А если на одной строчке (я правда никогда не встречал такого стиля написания кода), то ясно, что сворачивать надо по внешней конструкции.
С уважением, ДП
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):Тогда смысл сюда писать? Больше не буду, и так надоел всем наверно (это я про себя).
Если вы вместо этого с той же активностью будете писать PTSS репорты, тогда ладно, а если нет, то уж лучше на форум писать. Просто тогда вам самим надо будет следить, что мы ничего не забыли. Вообще большая часть из того, что вы зарепортили уже сделана, так что не все сообщения забываются :)
Дед Пахом писал(а):Не согласен. Взять, скажем, стандартный цикл ACCEPT:

Код: Выделить всё

  ACCEPT
    CASE EVENT()
    OF ...  ! 20 раз
    END

    CASE ACCEPTED()
    OF ... ! 100 раз
    END
  END
Было бы удобно свернуть CASE ACCEPTED(), чтобы не мешался в работе с EVENT()-ами.
Это достаточно редкая ситуация и она вполне покрывается конструкцией !region ... !endregion, которую вы можете написать руками. А вот количество мелких IFов, LOOPов и т.п. достаточно велико, чтобы вызвать мешанину фолдингов, в которой трудно будет что-то понять.
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):Тогда смысл сюда писать? Больше не буду, и так надоел всем наверно (это я про себя).
Чтобы вы не расстраивались, что про некоторые форумные сообщения я забыл, выдам вам эксклюзивную информацию, только тсссссс. :)
Если в новом билде пойти в опции автоформаттера и что-нибудь там изменить, то на диск сохранится уже расширенный набор опций, и его потом можно настроить ручками в конфиге. Там есть в том числе и форматирование блока кода после набора END (после END еще надо enter нажать). Опции лежат в <User App Data>\SoftVelocity\Clarion\7.0\ClarionProperties.xml в секции <Properties name="ClarionEditor.Autoformatter">.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение Дед Пахом »

Спасибо! А где это (опции автоформаттера)? Text editor -> Clarion specific -> Clarion for Windows, верно?
С уважением, ДП
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):Спасибо! А где это (опции автоформаттера)? Text editor -> Clarion specific -> Clarion for Windows, верно?
Text editor -> Clarion specific -> General -> Smart Indentation Options
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение Дед Пахом »

Что за опция "ContinuousLineIndentMultiplier"?
С уважением, ДП
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):Что за опция "ContinuousLineIndentMultiplier"?
На сколько сдвигать следующую строчку относительно предыдущей, если на предыдущей имеется символ продолжения строки '|', значения 0-10.

Added: Кстати, если у вас есть еще какие-то предложения, каких опций можно добавить в автоформаттер, или как изменить его поведение, чтобы он больше соответствовал имени Smart, буду рад услышать.
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение BOB »

Added: Кстати, если у вас есть еще какие-то предложения, каких опций можно добавить в автоформаттер, или как изменить его поведение, чтобы он больше соответствовал имени Smart, буду рад услышать.
Я , например , люблю когда в структурах Queue , File , Class ... отступы от наименований полей и до свойств и тд были выровнены в столбик :oops: .
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение Дед Пахом »

BOB писал(а):
Added: Кстати, если у вас есть еще какие-то предложения, каких опций можно добавить в автоформаттер, или как изменить его поведение, чтобы он больше соответствовал имени Smart, буду рад услышать.
Я , например , люблю когда в структурах Queue , File , Class ... отступы от наименований полей и до свойств и тд были выровнены в столбик :oops: .
Сейчас так и есть вроде... Другое дело, когда некоторые имена очень длинные и получается каша:

Код: Выделить всё

DBSTATUSENUM        ITEMIZE
DBSTATUS_S_OK         EQUATE(0)
DBSTATUS_E_BADACCESSOR    EQUATE(1)
DBSTATUS_E_CANTCONVERTVALUE   EQUATE(2)
DBSTATUS_S_ISNULL     EQUATE(3)
DBSTATUS_S_TRUNCATED  EQUATE(4)
DBSTATUS_E_SIGNMISMATCH   EQUATE(5)
DBSTATUS_E_DATAOVERFLOW   EQUATE(6)
DBSTATUS_E_CANTCREATE EQUATE(7)
DBSTATUS_E_UNAVAILABLE    EQUATE(8)
DBSTATUS_E_PERMISSIONDENIED   EQUATE(9)
DBSTATUS_E_INTEGRITYVIOLATION EQUATE(10)
DBSTATUS_E_SCHEMAVIOLATION    EQUATE(11)
DBSTATUS_E_BADSTATUS  EQUATE(12)
DBSTATUS_S_DEFAULT    EQUATE(13)
                    END
Можно бы иметь опцию выравнивать по самому длинному имени в структуре.
С уважением, ДП
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):Сейчас так и есть вроде... Другое дело, когда некоторые имена очень длинные и получается каша:
...
Можно бы иметь опцию выравнивать по самому длинному имени в структуре.
Да, сейчас так и есть, выравнивание идет на один отступ от ключевого слова родителя (от ITEMIZE в примере выше). Если при этом название не влезает, то отступ увеличивается на 2*tabSize пока не влезет. Ключевое слово родителя, в свою очередь, либо имеет 1 отступ от своего родителя, либо, если такового нет, то ставится на preferred column. Соответственно, увеличение значения preferred column, увеличивает шанс, что большинство названий влезет в отведенное место.
Опцию попробуем добавить.
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение BOB »

Я сделал бы так.
1 Отступы ниже CODE оставил как есть .
2 Отступы выше CODE (или в структурах) определял в настройке и считал бы их не от конца родителя , а
от начала строки . При этом будут выглядеть нормально даже
повторяющиеся структуры (например несколько Queue ) ...
Ответить