PDA

Показать полную графическую версию : Настройка русской версии SciTE под AutoIt


Страниц : 1 [2] 3

Creat0R
02-05-2010, 23:11
beve, я не уверен что понял полностью проблему. Но возможно при автоматическом добавлении нужно перезапускать SciTE?
Кстати в версии от руборда аббревиатуры хранятся только в одном файле, и они глобальные, т.е не только для au3. Мне вот интеремно бы узнать как их сделать локально для определённого языка. И там тоже не подсвечивается аббревиатура, точнее подсвечивается но не красным, и расширяется по Ctrl + B... где это всё настраивается? :dont-know

beve
03-05-2010, 01:12
Кстати в версии от руборда аббревиатуры хранятся только в одном файле, и они глобальные, т.е не только для au3 »
Это не совсем так, ибо реально действует только когда подсветка будет у нас Текст и то подсветки красным нету.
Мне вот интеремно бы узнать как их сделать локально для определённого языка. »
Цитата: сокращения нужно создавать в каталоге abbrev папки с установленной программой.
Так, для каждого языка, создаётся соответствующий файл сокращений (для HTML - html.abbrev, для С++ - cpp.abbrev, для autoit -au3.abbrev).
И там тоже не подсвечивается аббревиатура, точнее подсвечивается но не красным, и расширяется по Ctrl + B... где это всё настраивается? »
Выше я описывал, как сделать чтоб подсвечивалось красным, разумеется это все для русской SciTe:
в файл au3.properties просто для теста нужно добавить строчку (куда, думаю не составит труда высчитать) keywords7.*.au3=test, сдесь будет только одна аббревиатура для примера- test. Далее в папке abbrev создаем файл au3.abbrev, в котором пишем "расшифровку" нашей аббревиатуры так: test=Внимание, тест пройден сохраняем, и не забываем проверить, что в файле SciTe\tools\SciTEStartup.lua у нас имеется строчка dofile (props["SciteDefaultHome"].."\\tools\\abbrevlist.lua").
Теперь, когда мы откроем файл *.au3 и напишем test - то, так как это слово наша аббревиатура, оно подсветится красным, и после нажатие на Ctrl+B будет вставлен наш текст.

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

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

Creat0R
05-05-2010, 22:52
Теперь, когда мы откроем файл *.au3 и напишем test - то, так как это слово наша аббревиатура, оно подсветится красным, и после нажатие на Ctrl+B будет вставлен наш текст. »
Всё подсвечивается, но не расширяется, пишет «Нет такого сокращения».

как бы сделать чтоб не приходилось перезапускать, ведь когда вручную я добавляю аббревиатуры, то обновляется без перезапуска »
Что то есть в глобальном файле настроек:
# Если используеться только один файл сокращений, то без "abbrev.always.update=1" обновляться он будет только после перезапуска Scite
# работает только в версии SciTE-Ru (доработка mimir)
abbrev.always.update=1

beve
06-05-2010, 00:30
Что то есть в глобальном файле настроек: »
Да,по умолчанию видимо оно включено, наверно потому, когда вручную добавлять, то все и работает... а вот при автоматичесском добавлении через скрипт lua только не работает, но ничего, это не очень существенно, пойдет и так.Всё подсвечивается, но не расширяется, пишет «Нет такого сокращения». »
Там еще в файле au3.properties нужно добавить:
# Подключение файлов сокращений
abbreviations.$(*.au3)=$(SciteDefaultHome)\abbrev\au3.abbrev
но у меня работает и без этого.

Creat0R
06-05-2010, 01:34
Там еще в файле au3.properties нужно добавить »
Да, теперь работает, спасибо. Вот как бы ещё заставить это работать по пробелу?

P.S
Я уже серъёзно подумываю о переходе на эту сборку, слишком много вкусненького вней напичкано :cool:

Creat0R
06-05-2010, 03:16
при автоматичесском добавлении через скрипт lua только не работает »
Для подсветки красным нужно добавлять именно в «languages\au3.properties» (в ключ keywords7.$(file.patterns.au3)), а с пробелом это по хуже, я пробовал после добавления сокращения перечитывать настройки SciTE'а:

scite.Perform("reloadproperties:")

но это не помогло, это помогло только для подсветки сокращения, тут видимо нужно как то “сказать” SciT'у что файл сокращении обновился, ну или перезапустить инициализацию скрипта AutoIt3.lua (где проверяется нажатие пробела), а как это сделать я пока не нашёл...

beve, вcё, нашёл! в MakeAbbrev.lua есть ошибка, там вместо \n используется \r, поэтому функция поиска сокращении (по нажатию пробела) не находит это сокращение, она ищет новую строку по \n. А при ручном сохранении редактор сам добавляет новую строку (\n) к переводу строки (\r).

beve
06-05-2010, 15:13
вcё, нашёл! »
Да, работает.
Для подсветки красным нужно добавлять именно в «languages\au3.properties» (в ключ keywords7.$(file.patterns.au3)) »
Так то работает. Но я у себя сделал так (только из за того, что так проще добавить через скрипт lua аббревиатуру):
# Import the seperate au3.keywords.Abbreviations.properties file containing Abbreviation keywords supplied by Mhz
import abbrev\au3.keywords.abbreviations
# Expand abbreviations
keywords7.$(file.patterns.au3)=$(au3.keywords.abbrev)
но в этом случае при автоматичесском добавлении аббревиатуры в файл au3.keywords.abbreviations.properties, аббревиатура не подсвечивается красным, ибо как я понял, этот файл не инициализируется повторно что ли, если это не возможно сделать, как можно в скипте MakeAbbrev.lua сделать добавление новой аббревиатуры в ключ keywords7.$(file.patterns.au3) файла languages\au3.properties?

P.S. Какой же я не внимательный, ты же написал:
после добавления сокращения перечитывать настройки SciTE'а:
Код:
scite.Perform("reloadproperties:") »
... так все работает, спасибо.

Creat0R
06-05-2010, 15:49
в этом случае при автоматичесском добавлении аббревиатуры в файл au3.keywords.abbreviations.properties, аббревиатура не подсвечивается красным »
тут как раз помагает scite.Perform("reloadproperties:") в конце скрипта (после обработки) ;) .

как можно в скипте MakeAbbrev.lua сделать добавление новой аббревиатуры в ключ keywords7.$(file.patterns.au3) файла languages\au3.properties? »
Я пытался это сделать, пока ничего не вышло (не нашёл как записывать в определённую точку в файл, хотя наверное будет проще заменять текст keywords7.$(file.patterns.au3)= на тоже самое но с добавкой сокращения), я у себя просто поставил эту строчку в конец, и дописываю в конец файла, но это конечно ещё тот костыль :) ...

Creat0R
06-05-2010, 16:06
beve,
У меня тут другая, вроде пустяковая, но всё же проблема: табы отображаются с лишним пробелом, это где то настраивается?

http://s16.radikal.ru/i191/1005/f4/e74be38219det.jpg (http://radikal.ru/F/s16.radikal.ru/i191/1005/f4/e74be38219de.png.html)

Iska
06-05-2010, 16:24
…табы отображаются с лишним пробелом »
Вы в том смысле, что четыре — это много?

beve
06-05-2010, 16:32
табы отображаются с лишним пробелом, это где то настраивается? »
В файле SciTe\SciTEGlobal.properties - в SciTe Настройки -->Открыть файл глобальных настроек найди
[Indent] Настройки отступов и табуляции

в этой секции где-то.
Сдесь (http://scite.ruteam.ru/engine/upfiles/mozers/SciTEDoc_rus.html#tabsize) есть описание конкретнее.

P.S. Судя по прикрепленном изображении у тебя пробелов в табе аж 5, и еще подвсетка синтаксиса видимо в этом файле, скриншот которого ты привел не Autoit3 ( ибо если бы подсветка была Autoit3 то там где Tab должна отображаться стрелочка -->, а не точки), в этом случае в файле *.properties (того языка, подсветка которого у тебя используется) еще может быть у тебя так:
# Auto indent stuff
indent.size.*.au3=5
а нужно
# Auto indent stuff
indent.size.*.au3=4

Еще я у себя сделал так: # при 1 значения indent.size и use.tabs берутся из открытого документа
#indent.auto=1
а то часто бывало, что когда повторно открываю скрипт для редактирования, у меня табы не отображались стрелочкой, а просто отступом.

Creat0R
06-05-2010, 19:35
[indent] Настройки отступов и табуляции »
Настроил, спасибо.

kaster
06-05-2010, 21:10
У меня тут другая, вроде пустяковая, но всё же проблема: табы отображаются с лишним пробелом, это где то настраивается? »
au3.properties
indent.size.*.au3=4
SciTEGlobal.properties
tabsize=4
indent.size=4
indent.auto=0
backspace.unindents=1

Creat0R
07-05-2010, 00:10
Судя по прикрепленном изображении у тебя пробелов в табе аж 5 »
Нет, как раз 3, отсюда и несоответствие, т.к в глобальном файле настроек указано 4.

и еще подвсетка синтаксиса видимо в этом файле, скриншот которого ты привел не Autoit3 ( ибо если бы подсветка была Autoit3 то там где Tab должна отображаться стрелочка -->, а не точки) »
Дело не в подсветке, я эту опцию просто отключил из меню Вид («Ctrl + Shift + 8»). А точки это другое, это “направляющие отступа” (в том же меню Вид).

[hr]

Мне вот ещё что интересно, как сделать добавление табов при переходе на новую строку с открытого условия? пример:

If $var = 1 Then ;тут нажимаем Enter и оказываемся на новой строке, однако в SciTe4AutoIt ещё добавляется таб для дальнейшего кода внутри условия

beve
13-05-2010, 02:31
Увидел я в версии SciTE eng, который адаптирован для AutoIT такую фичу, как AutoItPixmap (точное название не знаю). Кто видел, интересная штука, суть работы - это когда мы, когда пишем скрипт на autoit набираем например символ @, чтоб написать какой то макрос, а в сплывающей подсказке-с вариантами подстановки нам предлагается выбор макросов, которые соответственно начинаются на этот символ. Так вот, когда установлен и настроен AutoItPixmap, то в всплывающем списке-подсказке, например, макросы будут помечены оранжевым квадратиком, операторы - другим цветом, и т.д.

Для того, чтоб встроить AutoItPixmap в русскую версию SciTe нужно запустить скрипт Установка Pixmap.au3, который в прикрепленном файле, также в прикрепленном файле находится файл au3.api последней версии, нужный для корректной работы AutoitPixmap, файл au3.api вам нужно поместить в директорию: SciTe\api\au3.api и согласится на перезапись уже существующего, но очень старого файла au3.api.

Если позднее захотите отключить сие чудо, то найдите в вашем файле настроек SciTe\languages\au3.properties такую строчку:
autoit.use.pixmaps=1
и измените единицу на ноль.

beve
13-05-2010, 02:57
Мне вот ещё что интересно, как сделать добавление табов при переходе на новую строку с открытого условия? пример:
Код:
If $var = 1 Then ;тут нажимаем Enter и оказываемся на новой строке, однако в SciTe4AutoIt ещё добавляется таб для дальнейшего кода внутри условия »
Нужно в файле SciTe\languages\au3.properties добавить:
block.start.$(file.patterns.au3)=5 case if do for func else elseif while select switch with\
Case If Do For Func Else ElseIf While Select Switch With\
CASE IF DO FOR FUNC ELSE ELSEIF WHILE SELECT SWITCH WITH
block.end.$(file.patterns.au3)=5 case else endif elseif endfunc endselect endswitch next until wend endwith\
Case Else EndIf ElseIf EndFunc EndSelect EndSwitch Next Until Wend WEnd EndWith\
CASE ELSE ENDIF ELSEIF ENDFUNC ENDSELECT ENDSWITCH NEXT UNTIL WEND ENDWITH

beve
19-02-2011, 18:31
В помощь всем, кому может быть сложно настроить некоторые настройки в русской сборке SciTe для комфортной работы с Autoit предлагаю полностью настроенную сборку.
Для установки нужно только извлечь папку Scite, которая в архиве, в корень папки Autoit. Все.
Скачать SciTEAutoit2.23_RU.7z (http://moemesto.ru/beve/file/10800421/SciTEAutoit_2.23RU.7z) (9Мб).

Некоторые доп.утилиты не настроены на тихий режим, чтоб при их первом запуске это сделал пользователь (organizeincludes, au3topost и др.)

Возможно, кто то привык при отладке скрипта (по нажатии на F5), чтобы в случае ошибок , был вывод этих ошибок в консоль (сейчас настроено вывод ошибки в msgbox), то просто перенастройте эти строчки (поставте символ # перед первой "command.go...", и уберите перед второй строчкой) в файле настроек ...\SciTE\languages\au3.properties, чтобы стало вот так:
#command.go.$(file.patterns.au3)="$(autoit3dir)\autoit3.exe" "$(FilePath)"
command.go.*.au3=$(autoit3dir)\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe /run /prod /ErrorStdOut /in "$(FilePath)" /autoit3dir "$(autoit3dir)" /UserParams $(1) $(2) $(3) $(4)

P.S. Для тех кто еще не очень знаком с редактором SciTe, хочу дать такую заметку - если шрифт в поле редактирования слишком маленький или большой, то изменить его можно сделав клик по этом поле и зажав клавишу CTRL покрутить колесико мыши (вверх или вниз), или вместо колесика использовать клавиши "+" или "-".
Аналогично изменить размер шрифта можно и в окне консоли SciTE. В результате SciTE запомнит ваши настройки размера шрифта для последующих сессий.

Dm666
19-02-2011, 20:21
В помощь всем, кому может быть сложно настроить некоторые настройки в русской сборке SciTe для комфортной работы с Autoit предлагаю полностью настроенную сборку.»

Хм.. Странные вещи творятся. Не подсвечиваются sendkeys... Точнее подсвечиваются первые 6 и всё. Например

Send ("{+}") - оранжевый, все четко.
Send ("{ENTER}") - без подсветки.

----------------
Ага. Если перенести всю секцию au3.keywords.sendkeys с конца au3.keywords.properties в начало, то все работает. Но вот что странно, подсвечивает любой одиночный символ:
"{п}"
"{f}"
"{7}"
все подсвечиваются, при чем даже с полностью убитым блоком au3.keywords.sendkeys. Откуда он это берет?

beve
19-02-2011, 22:38
Хм.. Странные вещи творятся. Не подсвечиваются sendkeys... »
Да, замечание кстати. Причина в том что файл откуда Scite читал эти настройки был слишком большой, а на этот счет в scite есть ограничения.
Ага. Если перенести всю секцию au3.keywords.sendkeys с конца au3.keywords.properties в начало, то все работает. »
В таком случае, скорее всего, та секция что уже окажеться в конци не будет работать...
Но вот что странно, подсвечивает любой одиночный символ:
"{п}" »
Это и в SciTe Eng версии для Autoit так работает, не знаю где это настроено.

------------------------------------------------------------------
Обновил архив из Scite, на 1 пост выше - ошибки исправлены.

Dm666
20-02-2011, 13:24
Цитата Dm666:
Ага. Если перенести всю секцию au3.keywords.sendkeys с конца au3.keywords.properties в начало, то все работает. »
В таком случае, скорее всего, та секция что уже окажеться в конци не будет работать.. »
Действительно, так и было. Чудес не бывает.


------------------------------------------------------------------
Обновил архив из Scite, на 1 пост выше - ошибки исправлены. »
:good:




© OSzone.net 2001-2012