Русское сообщество AutoIt

  • Май 22, 2012, 13:20:03 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

На форуме было сделано несколько небольших изменений...

1) Расширено поле поиска, теперь можно выбрать, искать в текущей теме, текущем разделе, по всему форуму, или с помощью Google.

2) Новым участникам форума (до 20-ти сообщении) над формой создания новой темы отображается информационный блок с некоторыми правилами и рекомендациями по созданию новой темы.

17.07.2010

Реклама

Автор Тема: TidySource - аккуратный код в SciTE  (Прочитано 2071 раз)

0 Пользователей и 1 Гость смотрят эту тему.

asdf8 [?]

  • Продвинутый
  • ***
  • Репутация: 70
  • Online Online
  • Сообщений: 263
  • Версия AutoIt: 3.3.8.0
    • Награды
TidySource - аккуратный код в SciTE
« Создано: Август 25, 2011, 13:18:32 »
AutoIt: 3.
Версия: 3.3.6.1-3.3.7.14

Категория: Инструменты и помощь по AutoIt

Описание:
На этот раз решил заменить утилиту Tidy.exe в SciTE.
Основные отличия:

  • не создается резервная копия в папке скрипта (по умолчанию)
  • нет связи с "AutoIt3Wrapper", который, при параметре "#AutoIt3Wrapper_Run_Tidy=y" при каждом запуске и компиляции запускает Tidy.exe и мусорит резервными копиями в папке скрипта (до сих пор не могу понять, зачем такое было сделано)
  • возможно обрабатывать только выделенный участок кода. Желательно, чтобы был выделен логически завершенный кусок кода (функция, оператор, строка)
  • добавлен интерфейс с настройками

Пример подключения к SciTE (файл "au3.properties")
command.9.*.au3="$(autoit3dir)\autoit3.exe" "$(SciteDefaultHome)\TidySource\TidySource.au3" "$(FilePath)"  /NoGui /BackUp
command.name.9.*.au3=Tidy AutoIt Source
command.save.before.9.*.au3=1
command.shortcut.9.*.au3=Ctrl+T

Горячие клавиши:
     Ctrl+T - запуск (при полной замене Tidy.exe)

Параметры командной строки

История версий:

Автор: asdf8


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Сентябрь 06, 2011, 11:29:53 от asdf8 »



  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1403
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5068
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #1, Отправлен: Август 25, 2011, 15:29:50 »
asdf8  [?]
Цитата
нет связи с "AutoIt3Wrapper", который, при параметре "#AutoIt3Wrapper_Run_Tidy=y" при каждом запуске и компиляции запускает Tidy.exe и мусорит резервными копиями в папке скрипта
Это можно отключить. И почему нет связи, можно было бы скомпилировать как Tidy.exe и подставить под оригинальный, тогда и многими используемая директива не перестала бы работать.

Цитата
возможно обрабатывать только выделенный участок кода
Вот это я ждал от Tidy, я даже просил об этом автора.

Цитата
некоторые отличия в форматировании
Можно подробнее об этом?


Добавлено: Август 25, 2011, 15:36:06
Проверил утилиту, вроде работает неплохо :ok:.
Есть одно пожелание - чтобы в пустых строках не удалялись символы табуляций.




  Записан
Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.



«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

asdf8 [?]

  • Продвинутый
  • ***

  • Автор темы
  • Репутация: 70
  • Online Online
  • Сообщений: 263
  • Версия AutoIt: 3.3.8.0
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #2, Отправлен: Август 25, 2011, 16:37:15 »
AZJIO
Цитата
Цитата
#AutoIt3Wrapper_Run_Tidy=y
а зачем эта строка вообще нужна? В скомпилированном скрипте она не имеет смысла, а вызвать Tidy можно отдельно, хотя я очень редко пользуюсь, только чтоб разобраться в чужом скрипте.

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

CreatoR
Цитата
Есть одно пожелание - чтобы в пустых строках не удалялись символы табуляций.

надо закомментировать строки 278-281
Код: AutoIt [Выделить]
If Not $aTmp[$i] Then
    $sOut &= @CRLF
    ContinueLoop
EndIf
 

Цитата
Цитата
некоторые отличия в форматировании

Можно подробнее об этом?

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




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1403
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5068
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #3, Отправлен: Август 25, 2011, 20:17:50 »
asdf8
А как насчёт пробела у разных операторов, например знак присваивания?




  Записан

asdf8 [?]

  • Продвинутый
  • ***

  • Автор темы
  • Репутация: 70
  • Online Online
  • Сообщений: 263
  • Версия AutoIt: 3.3.8.0
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #4, Отправлен: Август 25, 2011, 20:32:57 »
Цитата
А как насчёт пробела у разных операторов, например знак присваивания?

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

ps: почему-то у меня в опере, на основной странице форума, при выделении текста, всплывает сообщение "Цитировать", а на странице ответа - нет.  :wacko:




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1403
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5068
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #5, Отправлен: Август 25, 2011, 20:45:12 »
asdf8  [?]
Цитата
хотелось бы услышать все хотелки
Было бы неплохо ещё прикрутить диалог конфигураций.

Цитата
почему-то у меня в опере, на основной странице форума, при выделении текста, всплывает сообщение "Цитировать", а на странице ответа - нет
Где это основная страница, «Цитата» всплывает только там, где есть сообщения (с профилем сбоку), а в «Ответ» их как бы нет.




  Записан

asdf8 [?]

  • Продвинутый
  • ***

  • Автор темы
  • Репутация: 70
  • Online Online
  • Сообщений: 263
  • Версия AutoIt: 3.3.8.0
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #6, Отправлен: Август 26, 2011, 00:30:25 »
Цитата
Было бы неплохо ещё прикрутить диалог конфигураций.

это можно

Цитата
Где это основная страница

например, эта страница и у меня ни в опере, ни в эксплорере, на ней нет поля ввода и клик по "Цитата" ничего никуда не вставляет.




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1403
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5068
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #7, Отправлен: Август 26, 2011, 00:47:30 »
asdf8  [?]
Цитата
на ней нет поля ввода и клик по "Цитата" ничего никуда не вставляет
Ну это понятно, нужно в настройках профиля сделать чтобы форма быстрого ответа сразу раскрывалась.




  Записан

asdf8 [?]

  • Продвинутый
  • ***

  • Автор темы
  • Репутация: 70
  • Online Online
  • Сообщений: 263
  • Версия AutoIt: 3.3.8.0
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #8, Отправлен: Август 29, 2011, 15:48:11 »
Обновил версию.
Подробности в первом посте.




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1403
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5068
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #9, Отправлен: Август 29, 2011, 16:43:15 »
Спасибо за обновление.

Я так понял он теперь добавляет свою дериткиву #AutoIt3TidySourse_Parameters?
И ещё, диалог настроек надо бы открывать если программа запущена без параметров, а при вызове Tidy из SciTE пусть обрабатывает скрипт.
И да, почему в настройках нет опций для резервной копий, т.е чтобы оно было отключено по умолчанию, но как опция оно должно присутствовать.


Добавлено: Август 29, 2011, 16:47:10
Неправильно выравнивает табы в пустой строке:

Код: AutoIt [Выделить]
  1.            
  2.         Case $GUI_EVENT_CLOSE
  3.             Exit
  4.     EndSwitch

Там лишний таб.




  Записан

asdf8 [?]

  • Продвинутый
  • ***

  • Автор темы
  • Репутация: 70
  • Online Online
  • Сообщений: 263
  • Версия AutoIt: 3.3.8.0
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #10, Отправлен: Август 29, 2011, 17:14:45 »
CreatoR  [?]
Цитата
Я так понял он теперь добавляет свою дериткиву #AutoIt3TidySourse_Parameters

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


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

Неправильно выравнивает табы в пустой строке:

поправлю

Интересуют ошибки обработки - я у себя все, что можно проверил




  Записан

asdf8 [?]

  • Продвинутый
  • ***

  • Автор темы
  • Репутация: 70
  • Online Online
  • Сообщений: 263
  • Версия AutoIt: 3.3.8.0
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #11, Отправлен: Август 30, 2011, 02:56:55 »
Что-то мне подумалось - может убрать режимы замены регистра функций и переменных "ПРОПИСНЫЕ", "строчные", "Первая буква заглавная" - не вижу особого смысла в них, а вместо этого создать словарь из слов начинающихся с заглавной буквы (из файлов au3.api, au3.user.calltips.api), плюс, отдельно, пользовательский словарь. Правда, может заметно увеличиться время обработки (хотя - не факт), зато все коды будут по одному шаблону.
Есть какие мысли по этому поводу?




  Записан

asdf8 [?]

  • Продвинутый
  • ***

  • Автор темы
  • Репутация: 70
  • Online Online
  • Сообщений: 263
  • Версия AutoIt: 3.3.8.0
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #12, Отправлен: Август 31, 2011, 13:05:20 »
Обновил версию до 1.2.




  Записан

AZJIO [?]

Re: TidySource - аккуратный код в SciTE
« Ответ #13, Отправлен: Август 31, 2011, 13:51:40 »
asdf8
Нормально работает, хорошо что нет привязки к SciTE, то есть можно и в Notepad++ через ком-строку обработать.
Можно ещё добавить проверку целостности, сравнив оригинал с выходным результатом методом удаления пробельных символов и если файлы будут различаться, то выдать предупреждение (регистр букв не учитывая).

Справку можно так сделать




  Записан
Вытащи сначала бревно из своего глаза, тогда поймёшь как вытащить сучёк из глаза брата своего.

asdf8 [?]

  • Продвинутый
  • ***

  • Автор темы
  • Репутация: 70
  • Online Online
  • Сообщений: 263
  • Версия AutoIt: 3.3.8.0
    • Награды
Re: TidySource - аккуратный код в SciTE
« Ответ #14, Отправлен: Сентябрь 01, 2011, 00:49:26 »
AZJIO  [?]
Цитата
Справку можно так сделать

Я в курсе, только свое окно нужно самому и обрабатывать, а тут - все работает в отдельном процессе.


Цитата
Можно ещё добавить проверку целостности

Регистр букв заменяется в целом слове, а не ищется по всему тексту и вероятность получить ошибку от обработки пробелов и переносов строк, получается не меньше. Такой проверкой, с удаленными пробелами, все ошибки не выловишь, не хотелось бы добавлять дополнительные обработки (из соображений быстродействия). К тому-же, всегда можно воспользоваться "Au3Check", после обработки, и, в случае проблем, нажать "Undo" (в SciTE).




  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
Внешние дополнения к редактору SciTE
Инструменты и помощь по AutoIt
CreatoR 32 4074 Последний ответ Январь 26, 2012, 15:44:43
от CreatoR
UDF Keyword Manager - Подсветка пользовательских функций в SciTE
Примеры и рабочие проекты
Yashied 0 979 Последний ответ Июль 13, 2010, 21:04:22
от Yashied
Scite и директива Region
AutoIt для новичков
ildary 6 1341 Последний ответ Октябрь 18, 2010, 09:27:41
от Belfigor
Модифицированная версия SciTE-Ru
Инструменты и помощь по AutoIt
asdf8 35 6204 Последний ответ Май 13, 2012, 16:00:56
от asdf8
Lua скрипты для SciTE
Общение
Vlasssov 2 995 Последний ответ Июнь 22, 2011, 13:10:25
от Vlasssov
IncludesHelper - менеджер включаемых файлов для SciTE
Примеры и рабочие проекты
asdf8 27 2547 Последний ответ Февраль 23, 2012, 16:25:38
от asdf8
Удобство оформления кода и текущая работа с ним в SciTE
AutoIt для новичков
GDK 1 351 Последний ответ Ноябрь 09, 2011, 17:08:09
от SyDr
[RegExp] Как в SciTE удалить все апострофы, стоящие рядом с русской буквой?
Регулярные выражения и прочее
seriych 14 1092 Последний ответ Январь 24, 2012, 01:20:11
от CreatoR
Перенесено: Внешние дополнения к редактору SciTE
AutoIt для новичков
CreatoR 0 184 Последний ответ Январь 24, 2012, 01:07:13
от CreatoR
SciTE UDF - Библиотека управления SciTE редактором
UDF - Пользовательские функции
CreatoR 8 597 Последний ответ Февраль 15, 2012, 03:32:34
от CreatoR


Реклама

* Последние сообщения на форуме
post Re: Смена IP адресса
[AutoIt для новичков] Zaramot Сегодня в 13:04:33
post Re: Авторизация в одноклассниках
[Автоматизация IE и Web-интерфейса] Александр Сегодня в 12:59:21
post Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] madmasles Сегодня в 12:23:31
post [Мышь, клавиатура] Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] Nurgazy Сегодня в 12:09:36
post Re: Объясните плз, как работать с массивами ArrayAdd и прочее...
[AutoIt для новичков] madmasles Сегодня в 12:08:03
post Объясните плз, как работать с массивами ArrayAdd и прочее...
[AutoIt для новичков] webmonster Сегодня в 12:03:38
post Re: Как заменить метку времени файла на севере
[Автоматизация IE и Web-интерфейса] ---Zak--- Сегодня в 11:39:56
post Как заменить метку времени файла на севере
[Автоматизация IE и Web-интерфейса] eropov Сегодня в 11:26:37
post Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] madmasles Сегодня в 11:13:16
post [Мышь, клавиатура] Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] Nurgazy Сегодня в 10:56:29

* Пользователи онлайн
  • Dot Гостей: 134
  • Dot Скрыт: 2
  • Dot Пользователей: 27
  • Dot Пользователи Online: