Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Настройка русской версии SciTE под AutoIt (http://forum.oszone.net/showthread.php?t=174153)

Vlasssov 26-04-2010 20:32 1401264

Настройка русской версии SciTE под AutoIt
 
При установке русской версии компиляции не выполняются скрипты lua по постановке bookmarks. В Консоле пишет ошибку
Код:

> Lua: error checking global scope for command
Кто-нибудь пытался запустить эту сборку для работы со скриптами?

Creat0R 26-04-2010 20:57 1401281

Цитата:

Цитата Vlasssov
При установке русской версии компиляции не выполняются скрипты lua по постановке bookmarks »

Не удалось понять предложение :dont-know .

Iska 26-04-2010 21:56 1401329

Очевидно, подразумевается сборка с ресурса scite-ru - Project Hosting on Google Code?!

Creat0R 26-04-2010 22:02 1401331

Цитата:

Цитата Iska
Очевидно, подразумевается сборка с ресурса scite-ru - Project Hosting on Google Code?! »

Я знаю (догадываюсь) про какую сборку идёт речь, но я всё ровно не могу понять то предложение.

Vlasssov 26-04-2010 22:31 1401346

Цитата:

Цитата Creat0R
Я знаю (догадываюсь) про какую сборку идёт речь, но я всё ровно не могу понять то предложение. »

А вы поставьте - и попробуйте... Всё станет ясно.
Просто попробуйте ХОТЬ одну команды запустить, которая в разделе прописана для au3.

Creat0R 26-04-2010 23:07 1401369

Цитата:

Цитата Vlasssov
А вы поставьте - и попробуйте »

Пока не хочу :jester:

Цитата:

Цитата Vlasssov
Просто попробуйте ХОТЬ одну команды запустить, которая в разделе прописана для au3 »

Значит получается что из первого сообщения я должен был понять что проблема в запуске команды меню? :o

Vlasssov 26-04-2010 23:13 1401374

Цитата:

Цитата Creat0R
Значит получается что из первого сообщения я должен был понять что проблема в запуске команды меню? »

Так, понятно... Вы до меня что донести хотите? Сборку не устанавливали, предложения не поняли.. Что еще?

Creat0R 26-04-2010 23:25 1401383

Цитата:

Цитата Vlasssov
попробуйте ХОТЬ одну команды запустить, которая в разделе прописана для au3 »

Там вшиты пути, например к AutoIt, в файле «languages\au3.properties»:
Код:

autoit3dir=C:\program files\autoit3
я бы указал относительный путь:
Код:

autoit3dir=$(SciteDefaultHome)\..
для MsgBox и Bookmark в папке SciTE должен быть файл AutoIt3.lua, его нет.

Цитата:

Цитата Vlasssov
Вы до меня что донести хотите? »

Что темы желательно оформлять по яснее, ответ получите намного быстрее (во, даже в рифму :gitara: ).

Vlasssov 30-04-2010 08:51 1403866

Цитата:

Цитата Creat0R
Что темы желательно оформлять по яснее, ответ получите намного быстрее »

Уважаемый Креатор,
Вы почти что провокатор,
Не поставив русской сборки
Вы меня подвергли порке..
Но совет ваш, к сожаленью,
Не привел меня к решенью.
Я же все ж вам благодарен:
Стих ваш просто гениален!
Вам воздам хвалу тотчас.
Я влюбился просто в вас!
Вы знаток AutoIT,
Да еще притом - пиит!!!

А файла там действительно не было... Но после того как я его туда скопировал - делу это не помогло. Пошел я пообщаюсь с авторами этой русской сборки...

kaster 30-04-2010 13:07 1404020

Vlasssov, пять баллов :biggrin:
по поводу русской сборки, у них тоже есть конференция. можешь там попросить совета

Creat0R 30-04-2010 15:40 1404121

Цитата:

Цитата Vlasssov
после того как я его туда скопировал - делу это не помогло »

А я вот поставил эту сборку, поместил её в папку AutoIt'а, заменив пути в конфигах, всё работает (кроме функции с «AutoIt3.lua», кстати где этот файл взять?).

Vlasssov 30-04-2010 20:53 1404292

Цитата:

Цитата Creat0R
А я вот поставил эту сборку, поместил её в папку AutoIt'а, заменив пути в конфигах, всё работает (кроме функции с «AutoIt3.lua», кстати где этот файл взять?). »

Я о том же... Сборка то хороша сама по себе, там много вещей уже готовых, тот же sidebar..
Копировал я туда файл
AutoItTools.lua из сборки с сайта AutoIt - все равно не работает... Но товарищи с форума сборки, объяснили, что ошибка, которая меня возбудил, говорит об отсутствии файла, где прописаны функции... Вот кусок файла au3.properties

Код:

# Commands to compile / run your script
command.compile.*.au3=$(autoit3dir)\aut2exe\aut2exe.exe /in "$(FilePath)"
command.build.*.au3=$(autoit3dir)\aut2exe\aut2exe.exe /in "$(FilePath)"
command.go.*.au3=$(autoit3dir)\autoit3.exe "$(FilePath)"
# Tidy is a formatting program for Autoit 3 and can be downloaded from
#    http://www.hiddensoft.com/fileman/users/jdeb/install_tidy.exe
command.9.*.au3=tidy\tidy.exe "$(FilePath)"
command.name.9.*.au3=Tidy AutoIt Source
command.save.before.9.*.au3=1
command.shortcut.9.*=Ctrl+9

# Standard LUA Functions
#extension.*.au3=$(SciteDefaultHome)\AutoIt3.lua
;extension.*.au3=$(SciteDefaultHome)\AutoItTools.lua

command.name.11.*.au3=MsgBox(4096,'debug',...)
command.subsystem.11.*.au3=3
command.11.*.au3=Debug_MsgBox
command.shortcut.11.*.au3=Ctrl+Shift+D
command.save.before.11.*.au3=2

command.name.12.*.au3=Insert Bookmarked Line(s)
command.subsystem.12.*.au3=3
command.12.*.au3=Copy_BookMarks
command.shortcut.12.*.au3=Ctrl+Shift+B
command.save.before.12.*.au3=2
#Пробный скрипт
 
command.name.13.*.au3=Мой пробный срипт 
command.subsystem.13.*.au3=3
command.12.*.au3=dofile(props["SciteDefaultHome"]"\\tools\\1.lua") 
command.shortcut.13.*.au3=Ctrl+Shift+V 
command.mode.13.*au3=subsystem:lua,savebefore:no

Выделенные две строки указывают откуда будут браться функции для команд... Ставим вместо autoIt.lua autoItTools.lua и ошибка меняется вот на какую

C:\Program Files\AutoIt3\SciTE\tools\AutoItTools.lua:11: attempt to index global 'EventClass' (a nil value)

Она даже строку показывает, где данная ошибка... Может русская сборка не поддерживает указание классов в Lua?
Тут проблема на пересечении двух, так сказать, программ... С одной стороны язык lua с другой стороны построение интерфейса самого редактора SciTe.

Creat0R 01-05-2010 04:19 1404452

Цитата:

Цитата Vlasssov
товарищи с форума сборки, объяснили, что ошибка, которая меня возбудил, говорит об отсутствии файла, где прописаны функции »

Вот я про это же, нужен именно AutoIt3.lua, AutoItTools.lua это не то. И авторы этой сборки должны знать где это файл берётся, т.к в конфиге прописали его, а поместить видимо забыли.

Vlasssov 01-05-2010 09:08 1404477

Цитата:

Цитата Creat0R
Вот я про это же, нужен именно AutoIt3.lua, AutoItTools.lua это не то. И авторы этой сборки должны знать где это файл берётся, т.к в конфиге прописали его, а поместить видимо забыли. »

На мой взгляд без разницы какой файл.. Проблема в интерпретаторе языка Lua.. Есть подозрение, что в русской сборке он просто объектную модель не поддерживает.

Creat0R 01-05-2010 15:50 1404653

Цитата:

Цитата Vlasssov
Проблема в интерпретаторе языка Lua.. Есть подозрение, что в русской сборке он просто объектную модель не поддерживает »

А что говорят авторы сборки по этому поводу?

Кстати, в обычном SciTE используются другие конструкции:

Код:

InvokeTool AutoItTools.DebugMsgBoxAdd
InvokeTool AutoItTools.Copy_BookMarks

Хотя вторая не распознаётся скриптами Lua что идут в SciTE для AutoIt.

Vlasssov 01-05-2010 16:39 1404678

Цитата:

Цитата Creat0R
Хотя вторая не распознаётся скриптами Lua что идут в SciTE для AutoIt. »

Так в сборке AutoIT AutoItTools Представлены как объект, со всеми вытекающими.
Цитата:

Цитата Creat0R
А что говорят авторы сборки по этому поводу? »

Молчат...

beve 02-05-2010 01:25 1404988

Цитата:

Цитата Creat0R
нужен именно AutoIt3.lua »

AutoIt3.lua есть тута, но он в русской SciTe отказывается работать.

Creat0R 02-05-2010 02:15 1405008

Цитата:

Цитата beve
AutoIt3.lua есть тута, но он в русской SciTe отказывается работать. »

Всё отлично работает, его нужно поместить в папку SciTE и убедится что в au3.properties прописан правильный путь: extension.*.au3=$(SciteDefaultHome)\AutoIt3.lua

И ещё, добавление MsgBox для отладки не совсем корректно работает, нужно заменить в этом AutoIt3.lua функцию Debug_MsgBox:

Код:

function Debug_MsgBox()
  word = editor:GetSelText()
  if string.len (word) == 0 then          -- If no text is Selected yet then select current word.
      word = _GetWord(1)
      word = string.gsub(word, "\n", "")    -- strip newline characters
      word = string.gsub(word, "\r", "")    -- strip carriage return  characters
      word = string.gsub(word, "%s", "")    -- strip space characters
  end
  if string.len (word) == 0 then
      _ALERT("Cursor not on any text.")
      return
  end
  word2 = string.gsub(word, "'", "''")    -- replace quote by 2 quotes
  CurrentLine = editor:LineFromPosition(editor.CurrentPos) + 1
  editor:Home()
  editor:LineDown()
  --editor:AddText("MsgBox(262144,'debug line ~" .. CurrentLine .. "' , \'" .. word2 .. "\:' & @lf & " .. word .. ") ;### Debug MSGBOX\r\n" )
  --update from mhz
        local option = tonumber(props['debug.msgbox.option'])
        if option == 2 then
                editor:AddText(tabs .. "MsgBox(262144,'Debug line ~" .. CurrentLine .. "','Selection:' & @lf & \'" .. word2 .. "\' & @lf & @lf & 'Return:' & @lf & " .. word .. " & @lf & @lf & '@Error:' & @lf & @Error & @lf & @lf & '@Extended:' & @lf & @Extended) ;### Debug MSGBOX\r\n" )
        elseif option == 1 then
                editor:AddText(tabs .. "MsgBox(262144,'Debug line ~" .. CurrentLine .. "','Selection:' & @lf & \'" .. word2 .. "\' & @lf & @lf & 'Return:' & @lf & " .. word .. " & @lf & @lf & '@Error:' & @lf & @Error) ;### Debug MSGBOX\r\n" )
        elseif option == 0 then
                editor:AddText(tabs .. "MsgBox(262144,'Debug line ~" .. CurrentLine .. "','Selection:' & @lf & \'" .. word2 .. "\' & @lf & @lf & 'Return:' & @lf & " .. word .. ") ;### Debug MSGBOX\r\n" )
        elseif option == -1 then
                editor:AddText(tabs .. "MsgBox(262144,'debug line ~" .. CurrentLine .. "' , \'" .. word2 .. "\:' & @lf & " .. word .. ") ;### Debug MSGBOX\r\n" )
        else
                editor:AddText("MsgBox(262144,'debug line ~" .. CurrentLine .. "' , \'" .. word2 .. "\:' & @lf & " .. word .. ") ;### Debug MSGBOX\r\n" )
        end
  --_ALERT("inserted debug msgbox.")
end


beve 02-05-2010 19:32 1405303

Creat0R, спасибо за объяснение насчет функции Debug_MsgBox. Такой вопрос по lua:
Есть у меня файл MakeAbbrev.lua , вот код которого:
читать дальше »
Код:

--[[-------------------------------------------------
MakeAbbrev.lua
Version: 1.5
Author: frs, mozers™
-------------------------------------------------
добавляем выделенный текст в аббревиатуры данного языка, задать аббревиатуру можно в диалоговом окне
-------------------------------------------------
Для подключения добавьте в свой файл au3.properties следующие строки:

# MakeAbbrev
extension.*.au3=$(SciteDefaultHome)\MakeAbbrev.lua
command.name.18.*.au3= Сохранить аббревиатуру
command.18.*.au3=SaveAbbr
#command.shortcut.18.*.au3=
command.subsystem.18.*.au3=3
command.save.before.18.*.au3=2

--]]-------------------------------------------------
-- Возвращает текущий символ перевода строки
local function GetEOL()
   
local eol = "\r\n"
   
if editor.EOLMode == SC_EOL_CR then
       
eol = "\r"
   
elseif editor.EOLMode == SC_EOL_LF then
       
eol = "\n"
   
end
    return
eol
end

function
SaveAbbr()
local sel_text = editor:GetSelText()
if #sel_text < 1 then
print("!!! Чтобы сохранить аббревиатуру, выделите нужный фрагмент текста !!!")
return
end

if
#sel_text < 10 then  --ограничим минимум длины строки для аббревиатуры 10 символами
print("!!! Чтобы сохранить аббревиатуру, минимальная длина фрагмента текста должна быть не менее 10 символов !!!")
return
end

local
title = scite.GetTranslation("Abbreviation")
local text = scite.GetTranslation("Enter abbreviation for code:")

local key = sel_text:match("%w+")
key = shell.inputbox(title, text, key, function(name) return not name:match('[# \t=]') end)
if key == nil then return end

local
abbrev_file_text = ''
local abbrev_file = io.open(props["AbbrevPath"])
if abbrev_file then
   
abbrev_file_text = abbrev_file:read('*a').."\r"
   
abbrev_file:close()
end

io.output(props["AbbrevPath"])
sel_text = sel_text:gsub("\\","\\\\"):gsub(GetEOL(),"\\n"):gsub("\t","\\t")
io.write(abbrev_file_text..key.."="..sel_text)
io.close()
print("!!! Аббревиатура успешно сохранена, для ее вызова наберите в SciTe: "..key.." и нажмите клавишу пробел (Space) или Ctrl+B !!!")
end


При вызове этого файла, он в файл SciTe\abbrev\au3.abbrev, вот код которого:
читать дальше »
Код:

# Global abbreviations file for SciTE
# Place this file in your home directory, that is, the same directory
# as the user options file.
# Contains a list of entries of the form abbreviation=expansion
# Type the abbreviation and press Ctrl+B to insert the expansion
# The '|' marke the position the caret will be after expansion.

#main=int main(int argc, char *argv[]) {\n|\n}
#i=if (|) {\n\n}
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#; Created by UpdateDefs  (don't change anything between the dashed lines)
#------------------------------------------------------------
# ' Global abbreviations file for SciTE (au3.abbrev)'
# ' Contains a list of entries of the form abbreviation=expansion '
# ' Type the abbreviation and press Spacebar to insert the expansion '
# ' "|" marks the position the caret will be after expansion. '
# ' "\n" marks a carriage return. "\t" marks a Tab. '

#- 'A B B R E V I A T I O N S  F O R  A U T O I T  F I N A L' -#

#; -- Files -- (use ctrl+b for this group)
au3check=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\SciTe\\Au3Check\\Au3Check.exe|
autoit3=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\AutoIt3.exe|
aut2exe=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\Aut2Exe\\Aut2Exe.exe|
datbeta=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\SciTe\\Defs\\unstable\\Au3Check\\au3check.dat|
datfinal=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\SciTe\\Defs\\Production\\Au3Check\\au3check.dat|
icon=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\Aut2Exe\\Icons\\|.ico
scite=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\SciTe\\SciTe.exe|

#; -- Directories -- (use ctrl+b for this group)
autoit3dir=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\|
aut2exedir=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\Aut2Exe\\|
icondir=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\Aut2Exe\\Icons\\|
includedir=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\Include\\|
scitedir=C:\\AutoIt_Versions\\AutoIt_3.3.0.0\\SciTe\\|

#; -- Variables --
chk=$Checkbox_|
edt=$Edit_|
inp=$Input_|
lbl=$Label_|
but=$Button_|
rad=$Radio_|
tab=$Tab_|

error=$Error |
result=$Result |

#; -- Constant GUICtrlRead --
gchecked=$GUI_CHECKED|
gunchecked=$GUI_UNCHECKED|

#; -- Constant GUICtrlState --
genable=$GUI_ENABLE|
gdisable=$GUI_DISABLE|
ghide=$GUI_HIDE|
gshow=$GUI_SHOW|
gfocus=$GUI_FOCUS|

#; -- Events and messages --
eclose=$GUI_EVENT_CLOSE|
emin=$GUI_EVENT_MINIMIZE|
erestore=$GUI_EVENT_RESTORE|
emax=$GUI_EVENT_MAXIMIZE|

#; -- PreSelected Commands --
cmd=RunWait(@ComSpec & ' /c |', '', @SW_HIDE)\n
slp1=Sleep(1000)\n|
slp2=Sleep(2000)\n|
slp3=Sleep(3000)\n|
slp4=Sleep(4000)\n|
slp5=Sleep(5000)\n|

#; -- GUI Common Prefixes to Functions --
gcc=GUICtrlCreate|
gcs=GUICtrlSet|

#; -- Macro's --
cr1=& @CRLF |
cr2=& @CRLF & @CRLF |
cr3=& @CRLF & @CRLF & @CRLF |
cr4=& @CRLF & @CRLF & @CRLF & @CRLF |
cr5=& @CRLF & @CRLF & @CRLF & @CRLF & @CRLF |
tab1=& @TAB |
tab2=& @TAB & @TAB |
tab3=& @TAB & @TAB & @TAB |
tab4=& @TAB & @TAB & @TAB & @TAB |
tab5=& @TAB & @TAB & @TAB & @TAB & @TAB |
lf1=& @LF |
lf2=& @LF & @LF |
lf3=& @LF & @LF & @LF |
lf4=& @LF & @LF & @LF & @LF |
lf5=& @LF & @LF & @LF & @LF & @LF |

#; -- Keywords --
cl=ContinueLoop|
el=ExitLoop|
err=@Error |
ext=@Extended |

#; -- Directives --
include=#include <GUIConstants.au3>\n|
includeonce=#include-once\n|
reg=#Region - |\n\n
ereg=#EndRegion\n\n|
nti=#NoTrayIcon\n\n|

#; -- Multiline Functions --
ifthen=If | Then\nEndIf
ifelse=If | Then\nElse\nEndIf
ifelseif=If | Then\nElseIf \nElse\nEndIf
dountil=Do\n\t|\nUntil
fornext=For $i = | To  Step 1\nNext
fun=Func _|()\nEndFunc
selectcase=Select\n\n\tCase |\n\t\n\tCase \n\t\n\tCase \n\t\n\tCase \n\t\n\tCase Else \n\t\nEndSelect\n
more=|\n\n\tCase \n\t\t\n\tCase \n\n\tCase \n\n\tCase \n\n\tCase Else\t
whilewend=While |\nWEnd

#; -- Start of Functions --
for0=For $i = 0 To |
for0ub=For $i = 0 To UBound(|)
for1=For $i = 1 To |
for1ub=For $i = 1 To UBound(|)

#; -- GUI setup --
setupgui=#include <GUIConstants.au3>\n\n#Region - GUI Create\n\nGUICreate(|)\n\n#EndRegion\n\nGUISetState(@SW_SHOW)\n\nselectloop\n\nfunctions
selectloop=#Region - GUI SelectLoop\n\nWhile 1\n\t$msg = GUIGetMsg()\n\nSelect\n\n\tCase $msg = -3 ;$GUI_EVENT_CLOSE\n\tExit\n\n\tCase $msg = |\n\t\n\tCase $msg = \n\t\n\tCase $msg = \n\t\n\tCase $msg = \n\t\n\tCase $msg = \n\t\nEndSelect\n\nWEnd\n#EndRegion
moremsg=$msg = |\n\n\tCase $msg = \n\t\t\n\tCase $msg = \n\n\tCase $msg = \n\n\tCase $msg = \n\n\tCase $msg =\n\t
functions=; Start - Functions\n\nFunc _|A()\nEndFunc\n\nFunc _B()\nEndFunc\n\nFunc _C()\nEndFunc\n\nFunc _D()\nEndFunc\n\nFunc _E()\nEndFunc\n\nFunc _F()\nEndFunc\n\nFunc _G()\nEndFunc\n\nFunc _H()\nEndFunc\n\nFunc _I()\nEndFunc\n\nFunc _J()\nEndFunc

#; -- Special functions --
selfdelete=Func _SelfDelete()\n\tLocal $cmdfile\n\tFileDelete(@TempDir & "\scratch.cmd")\n\t$cmdfile = ':loop' & @CRLF _\n\t\t\t& 'del "' & @ScriptFullPath & '"' & @CRLF _\n\t\t\t& 'if exist "' & @ScriptFullPath & '" goto loop' & @CRLF _\n\t\t\t& 'del ' & @TempDir & '\scratch.cmd'\n\tFileWrite(@TempDir & "\scratch.cmd", $cmdfile)\n\tRun(@TempDir & "\scratch.cmd", @TempDir, @SW_HIDE)\nEndFunc\n|

#; -- Compiler Directives + Options --
compiler=#Region - Compiler Directives\n\n#Compiler_Prompt = y\n#Compiler_AutoIt3 = \n#Compiler_Aut2Exe = \n#Compiler_Icon = \n#Compiler_OutFile =\n#Compiler_Compression = 2\n#Compiler_Allow_Decompile = y\n#Compiler_PassPhrase = \n#Compiler_Res_Comment = \n#Compiler_Res_Description = \n#Compiler_Res_Fileversion = 0.0.0.0\n#Compiler_Res_LegalCopyright = \n#Compiler_Res_Field = Platform\n#Compiler_Res_Field = AutoIt Version\n#Compiler_Run_AU3Check = y\n#Compiler_AU3Check_Dat = \n#Compiler_Run_Before = \n#Compiler_Run_After = \n#EndRegion\n\n
options=#Region - Options\n\n;~ Opt('CaretCoordMode', 0)\t\t\t; 1 = Absolute screen coordinates, 0 = Relative coords to the active window.\n;~ Opt('ColorMode', 1)\t\t\t\t; 0 = Colors are defined as RGB (0xRRGGBB), 1 = Colors are defined as BGR (0xBBGGRR).\n;~ Opt('ExpandEnvStrings', 1)\t\t; 0 = Don't expand, 1 = Do expand (Use %dos% variables in strings).\n;~ Opt('ExpandVarStrings', 1)\t\t; 0 = Don't expand, 1 = Do expand (Use $autoit$ variables in strings).\n;~ Opt('FtpBinaryMode', 0)\t\t\t; 1 = Binary transfer, 0 = ASCII transfer.\n;~ Opt('GUICloseOnESC', 0)\t\t\t; 1 = Send the $GUI_EVENT_CLOSE message when ESC is pressed (default).\n; \t\t\t\t\t\t\t\t\t  0 = Don't send the $GUI_EVENT_CLOSE message when ESC is pressed.\n;~ Opt('GUICoordMode', 2)\t\t\t; 1 = Absolute coordinates still relative to the dialog box.\n; \t\t\t\t\t\t\t\t\t  0 = Relative position to the start of the last control (Upper left corner).\n; \t\t\t\t\t\t\t\t\t  2 = Cell positionining relative to current cell.\n;~ Opt('GUIOnEventMode', 1)\t\t\t; 0 = Disable, 1 = Enable.\n;~ Opt('GUIResizeMode', 1)\t\t\t; 0 = No resizing, <1024 = Anytype of resizing (Reference: GuiCtrlSetResizing).\n;~ Opt('MouseClickDelay', 10)\t\t; ? = 10 milliseconds.\n;~ Opt('MouseClickDownDelay', 10)\t; ? = 10 milliseconds.\n;~ Opt('MouseClickDragDelay', 250)\t; ? = 250 milliseconds.\n;~ Opt('MouseCoordMode', 0)\t\t\t; 1 = Absolute, 0 = Relative to active window, 2 = Relative to client area.\n;~ Opt('MustDeclareVars', 1)\t\t; 0 = No, 1 = Require pre-declare.\n;~ Opt('OnExitFunc', '')\t\t\t; ''  Sets the name of the function called when AutoIt exits (Default is OnAutoItExit).\n;~ Opt('PixelCoordMode', 0)\t\t\t; 1 = Absolute, 0 = relative, 2 = Relative coords to the client area.\n;~ Opt('RunErrorsFatal', 0)\t\t\t; 1 = Fatal, 0 = Silent set @error.\n;~ Opt('SendAttachMode', 1)\t\t\t; 0 = Don't attach, 1 = Attach.\n;~ Opt('SendCapslockMode', 0)\t\t; 1 = Store and restore, 0 = Don't store/restore.\n;~ Opt('SendKeyDelay', 5)\t\t\t; ? = 5 milliseconds.\n;~ Opt('SendKeyDownDelay', 1)\t\t; ? = 1 millisecond.\n;~ Opt('TrayIconDebug', 1)\t\t\t; 0 = No info, 1 = Debug line info.\n;~ Opt('TrayIconHide', 1)\t\t\t; 0 = Show, 1 = Hide.\n;~ Opt('WinDetectHiddenText', 1)\t; 0 = Don't detect, 1=Do detect.\n;~ Opt('WinSearchChildren', 1)\t\t; 0 = No, 1 = Search children also.\n;~ Opt('WinTextMatchMode', 4)\t\t; 1 = Complete / Slow mode, 2 = Quick mode.\n;~ Opt('WinTitleMatchMode', 4)\t\t; 1 = Start, 2 = SubString, 3 = Exact, 4 = ...\n;~ Opt('WinWaitDelay', 250)\t\t\t; ? = 250 milliseconds.\n#EndRegion\n\n

#; -- Templates --
setupudf=#Region - |\n\n;===============================================================================\n;\n; Description:\t\t:\n; Parameter(s):\t\t:\n; Requirement:\t\t:\n; Return Value(s):\t:\n; User CallTip:\t\t:\n; Author(s):\t\t:\n; Note(s):\t\t\t:\n;\n;===============================================================================\n\n; Insert script here.\n#EndRegion\n\n

################ 'All Functions' ################

#; -- Misc Functions --
#~ abs
#~ acos
ad=AdlibDisable()|
ae=AdlibEnable(|)
#~ asc
#~ asin
as=Assign(|)
#~ atan
aso=AutoitSetOption(|)
awgt=AutoitWinGetTitle()|
awst=AutoitWinSetTitle(|)
ba=BitAND(|)
bn=BitNOT(|)
bo=BitOR(|)
bs=BitShift(|)
bx=BitXOR(|)
bi=BlockInput(|)
br=Break(|)
#~ call
cdt=CDTray(|)
#~ chr
cg=ClipGet()|
cp=ClipPut(|)
cw=ConsoleWrite(| & @LF)

#; -- Control Functions --
ccl=ControlClick(|)
cco=ControlCommand(|)
cd=ControlDisable(|)
ce=ControlEnable(|)
cf=ControlFocus(|)
cgf=ControlGetFocus(|)
cgh=ControlGetHandle(|)
cgp=ControlGetPos(|)
cgt=ControlGetText(|)
ch=ControlHide(|)
clv=ControlListView(|)
cm=ControlMove(|)
cs=ControlSend(|)
cst=ControlSetText(|)
csh=ControlShow(|)

#~ cos
#~ dec

#; -- Dir Functions --
dco=DirCopy(|)
dcr=DirCreate(|)
dgs=DirGetSize(|)
dm=DirMove(|)
dr=DirRemove(|)

dll=DllCall(|)
dllc=DllClose(|)
dllo=DllOpen(|)

#; -- Drive Functions --
dgd=DriveGetDrive(|)
dgfs=DriveGetFileSystem(|)
dgl=DriveGetLabel(|)
dgs=DriveGetSerial(|)
dgt=DriveGetType(|)
dma=DriveMapAdd(|)
dmd=DriveMapDel(|)
dmg=DriveMapGet(|)
dsl=DriveSetLabel(|)
dsf=DriveSpaceFree(|)
dst=DriveSpaceTotal(|)
ds=DriveStatus(|)

eg=EnvGet(|)
es=EnvSet(|)
eu=EnvUpdate()|
#~ eval
#~ exp

#; -- File Functions --
fcd=FileChangeDir(|)
fcl=FileClose(|)
fco=FileCopy(|)
fcs=FileCreateShortcut(|)
fd=FileDelete(|)
fe=FileExists(|)
ffff=FileFindFirstFile(|)
ffnf=FileFindNextFile(|)
fga=FileGetAttrib(|)
fgln=FileGetLongName(|)
fgs=FileGetShortcut(|)
fgsn=FileGetShortName(|)
fgsi=FileGetSize(|)
fgt=FileGetTime(|)
fgv=FileGetVersion(|)
fi=FileInstall(|)
fm=FileMove(|)
fo=FileOpen(|)
fod=FileOpenDialog(|)
fr=FileRead(|)
frl=FileReadLine(|)
frc=FileRecycle(|)
frce=FileRecycleEmpty(|)
fsd=FileSaveDialog(|)
fsf=FileSelectFolder(|)
fsa=FileSetAttrib(|)
fst=FileSetTime(|)
fw=FileWrite(|)
fwl=FileWriteLine(|)

fsp=FtpSetProxy(|)

#; --  GUI Functions --
gc=GUICreate(|)
gcca=GUICtrlCreateAvi(|)
gccb=GUICtrlCreateButton(|)
gcccb=GUICtrlCreateCheckbox(|)
gccc=GUICtrlCreateCombo(|)
gcccm=GUICtrlCreateContextMenu(|)
gccda=GUICtrlCreateDate(|)
gccdu=GUICtrlCreateDummy()|
gcce=GUICtrlCreateEdit(|)
gccg=GUICtrlCreateGroup(|)
gccgc=GUICtrlCreateGroup('', -99, -99, 1, 1) ; Close group.\n|
gccico=GUICtrlCreateIcon(|)
gcci=GUICtrlCreateInput(|)
gccla=GUICtrlCreateLabel(|)
gccli=GUICtrlCreateList(|)
gccm=GUICtrlCreateMenu(|)
gccmi=GUICtrlCreateMenuItem(|)
gccpi=GUICtrlCreatePic(|)
gccpr=GUICtrlCreateProgress(|)
gccr=GUICtrlCreateRadio(|)
gccs=GUICtrlCreateSlider(|)
gcct=GUICtrlCreateTab(|)
gccti=GUICtrlCreateTabItem(|)
gcctic=GUICtrlCreateTabItem('') ; Close tabitem.\n|
gcctv=GUICtrlCreateTreeView(|)
gcctvi=GUICtrlCreateTreeViewItem(|)
gccu=GUICtrlCreateUpdown(|)
gcd=GUICtrlDelete(|)
gcgs=GUICtrlGetState(|)
gcr=GUICtrlRead(|)
gcrm=GUICtrlRecvMsg(|)
gcsm=GUICtrlSendMsg(|)
gcstd=GUICtrlSendToDummy(|)
gcsbc=GUICtrlSetBkColor(|)
gcsco=GUICtrlSetColor(|)
gcscu=GUICtrlSetCursor(|)
gcsd=GUICtrlSetData(|)
gcsf=GUICtrlSetFont(|)
gcsi=GUICtrlSetImage(|)
gcsl=GUICtrlSetLimit(|)
gcsoe=GUICtrlSetOnEvent(|)
gcsp=GUICtrlSetPos(|)
gcsr=GUICtrlSetResizing(|)
gcss=GUICtrlSetState(|)
gcsst=GUICtrlSetStyle(|)
gcst=GUICtrlSetTip(|)
gd=GUIDelete(|)
ggci=GUIGetCursorInfo(|)
ggm=GUIGetMsg(|)
gsbc=GUISetBkColor(|)
gsc=GUISetCoord(|)
gscu=GUISetCursor(|)
gsf=GUISetFont(|)
gsh=GUISetHelp(|)
gsi=GUISetIcon(|)
gsoe=GUISetOnEvent(|)
gss=GUISetState(|)
gsg=GUIStartgroup(|)
gs=GUISwitch(|)

#~ hex
hks=HotKeySet(|)
hsp=httpSetProxy(|)
ig=InetGet(|)
igs=InetGetSize(|)

id=IniDelete(|)
ir=IniRead(|)
irs=IniReadSection(|)
irsn=IniReadSectionNames(|)
iw=IniWrite(|)

ib=InputBox(|)

#~ int
isad=IsAdmin()|
isar=IsArray(|)
isd=IsDeclared(|)
isf=IsFloat(|)
isi=IsInt(|)
isn=IsNumber(|)
iss=IsString(|)
#~ log
mgs=MemGetStats()|
#~ mod

#; --  Mouse Functions --
mc=MouseClick(|)
mcd=MouseClickDrag(|)
md=MouseDown(|)
mgc=MouseGetCursor()|
mgp=MouseGetPos()|
mm=MouseMove(|)
MB=MsgBox(48,"Test","|")
mu=MouseUp(|)
mw=MouseWheel(|)

mb=MsgBox(64, 'Title', |)
mbx=MsgBox(64, 'Title', |)
num=Number(|)
#~ opt
#~ ping
pcs=PixelChecksum(|)
pgc=PixelGetColor(|)
ps=PixelSearch(|)

#; -- Process Functions --
pc=ProcessClose(|)
pe=ProcessExists(|)
pl=ProcessList(|)
psp=ProcessSetPriority(|)
pw=ProcessWait(|)
pwc=ProcessWaitClose(|)

poff=ProgressOff()|
pon=ProgressOn(|)
pset=ProgressSet(|)

rdm=Random(|)
rd=RegDelete(|)
rek=RegEnumKey(|)
rev=RegEnumVal(|)

rr=RegRead(|)
rw=RegWrite(|)

rnd=Round(|)

#~ run
ras=RunAsSet(|)
rwa=RunWait(|)

#~ send

se=SetError(|)
sex=SetExtended(|)
sd=Shutdown(|)
#~ sin

slp=Sleep(|)

sp=SoundPlay(|)
sswv=SoundSetWaveVolume(|)

sio=SplashImageOn(|)
so=SplashOff()|
sto=SplashTextOn(|)

#~ sqrt
sbgt=StatusbarGetText(|)

#; -- String Functions --
stri=String(|)
sacr=StringAddCR(|)
sf=StringFormat(|)
sis=StringInStr(|)
sian=StringIsAlNum(|)
sia=StringIsAlpha(|)
siascii=StringIsASCII(|)
sid=StringIsDigit(|)
sif=StringIsFloat(|)
sii=StringIsInt(|)
sil=StringIsLower(|)
sisp=StringIsSpace(|)
siu=StringIsUpper(|)
sixd=StringIsXDigit(|)
sl=StringLeft(|)
slen=StringLen(|)
slower=StringLower(|)
sm=StringMid(|)
srep=StringReplace(|)
sr=StringRight(|)
ss=StringSplit(|)
sscr=StringStripCR(|)
ssws=StringStripWS(|)
stl=StringTrimLeft(|)
str=StringTrimRight(|)
supper=StringUpper(|)

#; -- Misc Functions --
#~ tan
td=TimerDiff(|)
ti=TimerInit()|
toolt=ToolTip(|)

#; -- Tray Functions --
tt=TrayTip(|)

ub=UBound(|)

#; -- Window Functions --
wat=WinActivate(|)
wa=WinActive(|)
wc=WinClose(|)
we=WinExists(|)
wgcp=WinGetCaretPos()|
wgcl=WinGetClassList(|)
wgcs=WinGetClientSize(|)
wgh=WinGetHandle(|)
wgpo=WinGetPos(|)
wgpr=WinGetProcess(|)
wgs=WinGetState(|)
wgte=WinGetText(|)
wgti=WinGetTitle(|)
wk=WinKill(|)
wl=WinList(|)
wmsi=WinMenuSelectItem(|)
wma=WinMinimizeAll()|
wmau=WinMinimizeAllUndo()|
wm=WinMove(|)
wrapper=#Region AutoIt3Wrapper directives section\n;~#AutoIt3Wrapper_Res_Comment=\n;~#AutoIt3Wrapper_Res_Description=\n;~#AutoIt3Wrapper_Res_Fileversion=\n;~#AutoIt3Wrapper_Res_Language=\n;~#AutoIt3Wrapper_Res_LegalCopyright=\n\n;** AUT2EXE settings\n;~#AutoIt3Wrapper_Icon= ;Filename of the Ico file to use\n;~#AutoIt3Wrapper_OutFile= ;Target exe/a3x filename.\n;~#AutoIt3Wrapper_OutFile_Type= ;a3x=small AutoIt3 file; exe=Standalone executable (Default)\n;~#AutoIt3Wrapper_Compression= ;Compression parameter 0-4 0=Low 2=normal 4=High. Default=2\n;~#AutoIt3Wrapper_UseUpx= ;(Y/N) Compress output program. Default=Y \n;~#AutoIt3Wrapper_Change2CUI= ;(Y/N) Change output program to CUI in stead of GUI. Default=N\n#EndRegion\n|
wsot=WinSetOnTop(|)
wss=WinSetState(|)
wst=WinSetTitle(|)
wstr=WinSetTrans(|)
ww=WinWait(|)
wwa=WinWaitActive(|)
wwc=WinWaitClose(|)
wwna=WinWaitNotActive(|)
gui=#include <GUIConstantsEx.au3>\nGlobal $msg\nGUICreate("My GUI") ; will create a dialog box that when displayed is centered\nGUISetState(@SW_SHOW) ; will display an empty dialog box\n\n; Run the GUI until the dialog is closed\nWhile 1\n\t$msg = GUIGetMsg()\n\t\tIf $msg = $GUI_EVENT_CLOSE Then ExitLoop\nWEnd\nGUIDelete()
inc=#include <|.au3>


в конец файла, добавляет строчку, key.."="..sel_text - это переменные из файла MakeAbbrev.lua в которых хранятся данные что вводятся ранее, на самом деле может быть, например этим cw=ConsoleWrite(| & @LF). У меня такой вопрос, как можно переделать файл MakeAbbrev.lua, чтоб он добавлял и в файл au3.keywords.abbreviations.properties, который находится в той же папке, что и файл au3.abbrev (в файле описаны аббревиатуры, при вводе которых в SciTe - они подсвечиваются красным цветом, если какая то аббревиатура не будет сдесь прописана, а только в файле: au3.abbrev, - подсвечиваться красным цветом она не будет, что не практично), так вот, как в файл au3.keywords.abbreviations.properties добавить аббревиатуру, которая находися в переменной из файла MakeAbbrev.lua - key?, структура файла au3.keywords.abbreviations.properties такова:

читать дальше »
Код:

au3.keywords.abbrev=gui inc MB wrapper but chk edt inp lbl rad tab item hnd regkey regval regdat error result gchecked gunchecked \
        genable gdisable ghide gshow gfocus eclose emin erestore emax cmd cmd2 mb2 slp1 slp2 slp3 \
        slp4 slp5 gcc gcs cr1 cr2 cr3 cr4 cr5 tab1 tab2 tab3 tab4 tab5 lf1 lf2 lf3 lf4 lf5 cc cl \
        el err ext include includeonce reg ereg nti ifthen ifelse ifelseif dountil fornext fun \
        selectcase switchcase more whilewend withendwith for0 for0ub for1 for1ub setupgui setupre selectloop \
        switchloop moremsg functions say selfdelete compiler compiler2 a3w a3w2 options setupudf \
        cmdline cmdlineselect cmdlineselect2 cmdlineswitch cmdlineswitch2 aes ael raes rwaes rael \
        rwael ad ae as aso awgt awst ba bi bin binl binm bn bo bro bre bs bx ccl cco cd cdt ce \
        ceil cf cg cgf cgh cgp cgt ch clv cm cp cr cs csh cst cw cwe dco dcr dgd dgfs dgl dgsi \
        dgse dgt dll dllc dllo dllsc dllsgd dllsgp dllsgs dllssd dm dma dmd dmg dr ds dsf dsl dst \
        eg es eu exec fcd fcl fcnl fco fcs fd fe ffff ffnf fga fgln fgsh fgsi fgsn fgt fgv fi flo \
        fm fo fod fr frc frce frl fsa fsd fsf fsp fst fw fwl gc gcca gccb gcccb gcccm gccda gccdu \
        gcce gccg gccgc gccgr gcci gccico gccla gccli gccm gccmc gccmi gccco gcco gccpi gccpr gccr \
        gccs gcct gccti gcctic gcctv gcctvi gccu gcd gcgh gcgs gcr gcrlvs gcrm gcsbc gcsco gcscu \
        gcsd gcsf gcsgr gcsi gcsl gcsm gcsoe gcsp gcsr gcss gcsst gcst gcstd gd ggci ggm grm gs \
        gsa gsbc gsc gscu gsf gsg gsh gsi gsoe gss gsw hks hsp ib id ig igs ir irs irsn isad isar \
        isbin isbo isd isf ishw isi isk isn iso iss iw iws mb mbx mc mcd md mgc mgp mgs mm mu mw num \
        oae oas ocr oev oge pc pcs pe pgc pic pio pl poff pon ps pset psp pw pwc ra raw rd rdm \
        rek rev rnd rr rwa rwr sacr sbgt sco sd se ser sex sexec sexecw sf sia sian siascii sid \
        sif sii sil sio sioc sis sisp siu siw sixd ska sl slen slower slp sm so sor sp sr srep \
        srex srexr ss sscr ssws sswv stbin stl sto str stri supper tci tcm tcpa tcpc tcpcs tcpl \
        tcpntip tcpr tcps tcpsd tcpsu td tgm ti tid tigh tigs tigt tisoe tiss tist toolt tsc tsi \
        tsoe tspi tss tstt tt ub udpb udpcs udpo udpr udpsd udpsu wa wat wc we wf wgcl wgcp wgcs \
        wgh wgpo wgpr wgs wgte wgti wk wl wm wma wmau wmsi wsot wss wst wstr ww wwa wwc wwna



P.S. Кстати, благодаря файлу AutoIt3.lua, инициализацию которого нужно прописать в \SciTe\tools\SciTEStartup.lua аббревиатуры вставляются уже по нажатию на пробел.

beve 02-05-2010 22:47 1405414

Сам решил, примерно так получилось содержимое файла MakeAbbrev.lua:
читать дальше »
Код:

--[[-------------------------------------------------
MakeAbbrev.lua
Version: 1.5
Author: frs, mozers™
-------------------------------------------------
добавляем выделенный текст в аббревиатуры данного языка, задать аббревиатуру можно в диалоговом окне
-------------------------------------------------
Для подключения добавьте в свой файл .properties следующие строки:

# MakeAbbrev
extension.*.au3=$(SciteDefaultHome)\MakeAbbrev.lua
command.name.18.*.au3= Сохранить аббревиатуру
command.18.*.au3=SaveAbbr
#command.shortcut.18.*.au3=
command.subsystem.18.*.au3=3
command.save.before.18.*.au3=2

--]]-------------------------------------------------
-- Возвращает текущий символ перевода строки
local function GetEOL()
   
local eol = "\r\n"
   
if editor.EOLMode == SC_EOL_CR then
       
eol = "\r"
   
elseif editor.EOLMode == SC_EOL_LF then
       
eol = "\n"
   
end
    return
eol
end

function
SaveAbbr()
local sel_text = editor:GetSelText()
if #sel_text < 1 then
print("!!! Чтобы сохранить аббревиатуру, выделите нужный фрагмент текста !!!")
return
end

if
#sel_text < 10 then  --ограничим минимум длины строки для аббревиатуры 10 символами
print("!!! Чтобы сохранить аббревиатуру, минимальная длина фрагмента текста должна быть не менее 10 символов !!!")
return
end

local
title = scite.GetTranslation("Abbreviation")
local text = scite.GetTranslation("Enter abbreviation for code:")

local key = sel_text:match("%w+")
key = shell.inputbox(title, text, key, function(name) return not name:match('[# \t=]') end)
if key == nil then return end

local
abbrev_file_text = ''
local abbrev_file = io.open(props["AbbrevPath"])
if abbrev_file then
   
abbrev_file_text = abbrev_file:read('*a').."\r"
   
abbrev_file:close()
end

-----------------------------------------------------------------------------------------------------
local abbreviations_file_text = ''
local abbreviations_file io.open("D:\\Programs\\AutoIt_v3.3.6.0\\SciTe\\abbrev\\au3.keywords.abbreviations.properties")
if abbreviations_file then

abbreviations_file_text = abbreviations_file:read('*a').." "
abbreviations_file:close()

io.output("D:\\Programs\\AutoIt_v3.3.6.0\\SciTe\\abbrev\\au3.keywords.abbreviations.properties")
io.write(abbreviations_file_text..key)
io.close()
else
print("!!! Не найден файл:  au3.keywords.abbreviations.properties")
end

-----------------------------------------------------------------------------------------------------
io.output(props["AbbrevPath"])
sel_text = sel_text:gsub("\\","\\\\"):gsub(GetEOL(),"\\n"):gsub("\t","\\t")
io.write(abbrev_file_text..key.."="..sel_text)
io.close()

io.output("D:\\Programs\\AutoIt_v3.3.6.0\\SciTe\\home\\abbrev.properties")
io.write(abbrev_file_text..key.."="..sel_text)
io.close()
print("!!! Аббревиатура успешно сохранена, для ее вызова наберите в SciTe: "..key.." и нажмите клавишу пробел (Space) или Ctrl+B !!!")
end


Но неувязочка осталась некоторая, все добавляется правильно, но не подсвечиваются аббревиатуры введенные таким образом красным цветом и нет реакции при нажатии на пробел, хотя если вручную тоже самое добавить в указанные файлы - все точно также точь в точь, - все подсвечивается и есть реакция на пробел, а в данном случае - только по нажатию на CTRL+B идет расшифровка введенной аббревиатуры.

Creat0R 02-05-2010 23:11 1405429

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

beve 03-05-2010 01:12 1405540

Цитата:

Цитата Creat0R
Кстати в версии от руборда аббревиатуры хранятся только в одном файле, и они глобальные, т.е не только для au3 »

Это не совсем так, ибо реально действует только когда подсветка будет у нас Текст и то подсветки красным нету.
Цитата:

Цитата Creat0R
Мне вот интеремно бы узнать как их сделать локально для определённого языка. »

Цитата: сокращения нужно создавать в каталоге abbrev папки с установленной программой.
Так, для каждого языка, создаётся соответствующий файл сокращений (для HTML - html.abbrev, для С++ - cpp.abbrev, для autoit -au3.abbrev).
Цитата:

Цитата Creat0R
И там тоже не подсвечивается аббревиатура, точнее подсвечивается но не красным, и расширяется по 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 1407554

Цитата:

Цитата beve
Теперь, когда мы откроем файл *.au3 и напишем test - то, так как это слово наша аббревиатура, оно подсветится красным, и после нажатие на Ctrl+B будет вставлен наш текст. »

Всё подсвечивается, но не расширяется, пишет «Нет такого сокращения».

Цитата:

Цитата beve
как бы сделать чтоб не приходилось перезапускать, ведь когда вручную я добавляю аббревиатуры, то обновляется без перезапуска »

Что то есть в глобальном файле настроек:
Цитата:

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

beve 06-05-2010 00:30 1407623

Цитата:

Цитата Creat0R
Что то есть в глобальном файле настроек: »

Да,по умолчанию видимо оно включено, наверно потому, когда вручную добавлять, то все и работает... а вот при автоматичесском добавлении через скрипт lua только не работает, но ничего, это не очень существенно, пойдет и так.
Цитата:

Цитата Creat0R
Всё подсвечивается, но не расширяется, пишет «Нет такого сокращения». »

Там еще в файле au3.properties нужно добавить:
Код:

# Подключение файлов сокращений
abbreviations.$(*.au3)=$(SciteDefaultHome)\abbrev\au3.abbrev

но у меня работает и без этого.

Creat0R 06-05-2010 01:34 1407642

Цитата:

Цитата beve
Там еще в файле au3.properties нужно добавить »

Да, теперь работает, спасибо. Вот как бы ещё заставить это работать по пробелу?

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

Creat0R 06-05-2010 03:16 1407657

Цитата:

Цитата beve
при автоматичесском добавлении через скрипт 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 1408028

Цитата:

Цитата Creat0R
вcё, нашёл! »

Да, работает.
Цитата:

Цитата Creat0R
Для подсветки красным нужно добавлять именно в «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. Какой же я не внимательный, ты же написал:
Цитата:

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

... так все работает, спасибо.

Creat0R 06-05-2010 15:49 1408052

Цитата:

Цитата beve
в этом случае при автоматичесском добавлении аббревиатуры в файл au3.keywords.abbreviations.properties, аббревиатура не подсвечивается красным »

тут как раз помагает scite.Perform("reloadproperties:") в конце скрипта (после обработки) ;) .

Цитата:

Цитата beve
как можно в скипте MakeAbbrev.lua сделать добавление новой аббревиатуры в ключ keywords7.$(file.patterns.au3) файла languages\au3.properties? »

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

Creat0R 06-05-2010 16:06 1408072

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


Iska 06-05-2010 16:24 1408087

Цитата:

Цитата Creat0R
…табы отображаются с лишним пробелом »

Вы в том смысле, что четыре — это много?

beve 06-05-2010 16:32 1408096

Цитата:

Цитата Creat0R
табы отображаются с лишним пробелом, это где то настраивается? »

В файле SciTe\SciTEGlobal.properties - в SciTe Настройки -->Открыть файл глобальных настроек найди
Код:

[indent]            Настройки отступов и табуляции
в этой секции где-то.
Сдесь есть описание конкретнее.

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 1408194

Цитата:

Цитата beve
[indent] Настройки отступов и табуляции »

Настроил, спасибо.

kaster 06-05-2010 21:10 1408267

Цитата:

Цитата Creat0R
У меня тут другая, вроде пустяковая, но всё же проблема: табы отображаются с лишним пробелом, это где то настраивается? »

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 1408362

Цитата:

Цитата beve
Судя по прикрепленном изображении у тебя пробелов в табе аж 5 »

Нет, как раз 3, отсюда и несоответствие, т.к в глобальном файле настроек указано 4.

Цитата:

Цитата beve
и еще подвсетка синтаксиса видимо в этом файле, скриншот которого ты привел не Autoit3 ( ибо если бы подсветка была Autoit3 то там где Tab должна отображаться стрелочка -->, а не точки) »

Дело не в подсветке, я эту опцию просто отключил из меню Вид («Ctrl + Shift + 8»). А точки это другое, это “направляющие отступа” (в том же меню Вид).




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

Код:

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

beve 13-05-2010 02:31 1412045

Вложений: 1
Увидел я в версии 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 1412049

Цитата:

Цитата Creat0R
Мне вот ещё что интересно, как сделать добавление табов при переходе на новую строку с открытого условия? пример:
Код:
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 1617114

В помощь всем, кому может быть сложно настроить некоторые настройки в русской сборке SciTe для комфортной работы с Autoit предлагаю полностью настроенную сборку.
Для установки нужно только извлечь папку Scite, которая в архиве, в корень папки Autoit. Все.
Скачать SciTEAutoit2.23_RU.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 1617207

Цитата:

Цитата beve
В помощь всем, кому может быть сложно настроить некоторые настройки в русской сборке SciTe для комфортной работы с Autoit предлагаю полностью настроенную сборку.»

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

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

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

beve 19-02-2011 22:38 1617293

Цитата:

Цитата Dm666
Хм.. Странные вещи творятся. Не подсвечиваются sendkeys... »

Да, замечание кстати. Причина в том что файл откуда Scite читал эти настройки был слишком большой, а на этот счет в scite есть ограничения.
Цитата:

Цитата Dm666
Ага. Если перенести всю секцию au3.keywords.sendkeys с конца au3.keywords.properties в начало, то все работает. »

В таком случае, скорее всего, та секция что уже окажеться в конци не будет работать...
Цитата:

Цитата Dm666
Но вот что странно, подсвечивает любой одиночный символ:
"{п}" »

Это и в SciTe Eng версии для Autoit так работает, не знаю где это настроено.

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

Dm666 20-02-2011 13:24 1617562

Цитата:

Цитата beve
Цитата Dm666:
Ага. Если перенести всю секцию au3.keywords.sendkeys с конца au3.keywords.properties в начало, то все работает. »
В таком случае, скорее всего, та секция что уже окажеться в конци не будет работать.. »

Действительно, так и было. Чудес не бывает.

Цитата:

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

:good:

Dm666 27-02-2011 18:56 1623119

Вылез еще один необъяснимый глюк.
если набрать
-1
и ткнуть пробел то оно преобразовывается в "eep(1000)". Я так понял это Sleep(1000) с обрезанными первыми 2мя символами. Похожим образом ведут себя -2, -3, -4 и -5.
-6 работает нормально, а -7 раскрывается в целый кусок из au3.abbrev размером со страницу.

Это я уже себе что-то накрутил, или это в сборку глюк забрался?

beve 27-02-2011 22:26 1623258

Цитата:

Цитата Dm666
Это я уже себе что-то накрутил, или это в сборку глюк забрался? »

Посмотрел, действительно проблема есть. И она заключается в файле: ...\SciTE\tools\AutoIt3.lua. Все дело в этой строке
Код:

local rep_start = string.find(Abbrevtxt,"\n" .. string.lower(curword) .. "=")
при поиске функция string.find(), как бы не видит символ "-" (впрочем еще и символ "*") если этот символ стоит первым (видимо эти символы интерпретируются по другому).

Предлагаю самое простое решение: в файле ...\SciTE\tools\AutoIt3.lua нужно после строчки
Код:

curword = editor:textrange(from, to)
вставить такой код
Код:

local fs=string.sub (curword, 1 , 1)
if fs == "-" or fs == "*" then
        return
end

смысл которого в том, что если первый символ в слове будет "-" или "*", то аббревиатура для такого искаться не будет - и соответственно ошибки в SciTE не будет. Дальше нужно сохраниться и перезагрузить SciTE.
P.S. Может кто разбирается в lua и предложит другое рабочее решение?

Dm666 27-02-2011 22:53 1623283

Цитата:

Цитата beve
P.S. Может кто разбирается в lua и предложит другое рабочее решение? »

А зачем нам другое решение? Нас это устраивает, даже более чем!
В очередной раз респект, работает как часы :up:

Dm666 08-04-2011 19:00 1654058

Подниму-ка я эту тему еще раз... :flag:

Сборка супер, пользоваться одно удовольствие. Но есть пара моментов:

1. Автодополнение. При правке au3 - файлов не подхватываются названия самописных функций из редактируемого файла. Например имеем код :
Цитата:

For $i=1 To 5
_MySuperCoolBeepFunction()
Next

Func _MySuperCoolBeepFunction()
Beep(100,100)
EndFunc
По идее (так было в Scite4AutoIt, и так будет и в этой сборке, если сменить расширение файла на, например, txt) при написании далее по тексту одного только _My должно всплывать автодополнение на _MySuperCoolBeepFunction(). А этого нет. Странно, ведь для обычных переменных автодополнение работает. Скажем, достаточно набрать $ и сразу появиться вариант дополнить ее до $i.
Подозреваю, что надо править AutoIt.lua, но я в lua нулем... Может будут у кого-нибудь идеи?

2. В Scite4AutoIt был такая удобная фишка, как "перейти к функции" Прописана была так :
#x 18 Jump to Func quickly
command.name.18.$(au3)=Jump to Function Prod
command.mode.18.$(au3)=subsystem:lua,savebefore:yes
command.shortcut.18.$(au3)=Ctrl+J
command.18.$(au3)=InvokeTool AutoItGotoDefinition.GotoDefinition

#x 20 Jump Back to original spot
command.name.20.$(au3)=Jump Back
command.mode.20.$(au3)=subsystem:lua,savebefore:yes
command.shortcut.20.$(au3)=Ctrl+Shift+J
command.20.$(au3)=InvokeTool AutoItGotoDefinition.JumpBack

Было удобно при ручной отладке скрипта. Ползешь себе курсором по тексту, представляешь что там в электронных мозгах происходит. И тут попадается строка вида _MySuperCoolBeepFunction(). Ставишь на нее курсор, жмешь Ctrl+J - и он прыгает на текст этой функции. Посмотрел что она делает, жмешь Ctrl+Shift+J - и курсор прыгает обратно...
Я понимаю, что можно поставить метку, найти функцию в сайд-баре, а потом к метке вернуться, но столько телодвижений... Было удобнее.
Пытался прикрутить этот самый AutoItGotoDefinition к текущей сборке, не выходит. Получаю
> Lua: error checking global scope for command
Уж как только с бубном не плясал - не работает. Без знания Lua никак.
Any ideas?

asdf8 08-04-2011 19:45 1654086

Dm666

В этой сборке делал аналог "Jump to Function Prod" на автоите (исходники присутствуют).

Dm666 09-04-2011 00:30 1654338

Цитата:

Цитата asdf8
В этой сборке делал аналог "Jump to Function Prod" на автоите (исходники присутствуют). »

Хм. Интересная сборочка, спасибо. Посижу на ней пару дней, посмотрю чего да как. Jump реализован, факт. Будем пользоваться.
А названия самописных функций эта сборка тоже не подхватывает, жаль.

asdf8 09-04-2011 00:47 1654346

Цитата:

Цитата Dm666
А названия самописных функций эта сборка тоже не подхватывает, жаль. »

У меня подхватывает, может дело в чем-то другом


beve 09-04-2011 15:03 1654645

Цитата:

У меня подхватывает, может дело в чем-то другом
У тебя тоже не подхватывает, и дело тут не столько в настройках, сколько в другом. Во всех новых версиях SciTe изменен исходный код (по видимому), поэтому это уже "работает" по другому. Попытаюсь объяснить что к чему.
Итак в файле настроек для языка autoit - au3.properties имеется такой параметр: autocomplete.au3.start.characters=.... Что он задает? Если в этом параметре задан какой то символ, то при вводе в SciTe этого символа будет производится поиск слова для автодополнения сейчас только из соответствующего api файла (au3.api) (в предыдущих версиях Scite производился поиск слов начинающихся с этого символа и из api файла и из текущего поля редактора SciTe ).
Чтоб лучше понять, замените параметр autocomplete.au3.start.characters=... этим:
Код:

# Символы, после ввода которых, возникает список автодополнения
autocomplete.au3.start.characters=ABCDEFGHIJKLMNOPQRSTUVWXYZ@_#

Теперь, если мы будем вводить только заглавные латинские символы, то поиск для автодополнения у нас будет идти в api файле-файлах, но стоит нам ввести прописной символ, как сразу начнется обработка текущего поля редактора (если не будет подсказок из api файла), и если имеются слова-совпадения, нам будет предложен вариант для автодополнения.
Вот такое решение я пока нашел для себя. Но есть еще такое замечание. Нам нужно всегда начинать писать функцию с заглавной буквы, думаю вы поняли почему. Например, нужно написать Msgbox(). Если мы начнем запись буквы M с заглавной, то нам предложиться варианты автодополнения из api файла (вылезет слово Msgbox(), если же из прописной,то варианты будут предложены только из текущего поля редактора (если они есть.). В случаи же "самописной" функции, с какой буквы вы начнете запись, не имеет значения, ибо как только будет написан прописной символ (и не будет подсказок из api файла), будет производится поиск в поле редактора на совпадения...

Dm666 09-04-2011 22:03 1654879

Цитата:

Цитата beve
Чтоб лучше понять, замените параметр autocomplete.au3.start.characters=... этим:
Код:
# Символы, после ввода которых, возникает список автодополнения
autocomplete.au3.start.characters=ABCDEFGHIJKLMNOPQRSTUVWXYZ@_# »

Работает.
В который раз уже респект тебе и уважуха. Спасибо. :Beer:

beve 10-04-2011 00:12 1654989

Цитата:

В Scite4AutoIt был такая удобная фишка, как "перейти к функции" Прописана была так :
Цитата:

Было удобно при ручной отладке скрипта. Ползешь себе курсором по тексту, представляешь что там в электронных мозгах происходит. И тут попадается строка вида _MySuperCoolBeepFunction(). Ставишь на нее курсор, жмешь Ctrl+J - и он прыгает на текст этой функции. Посмотрел что она делает, жмешь Ctrl+Shift+J - и курсор прыгает обратно...
Можно сделать и такое.
1.Открываем файл ...\SciTE\tools\AutoIt3.lua
2.В начале файла объявляем переменные, пишем
Код:

local current_line = 0
local current_pos = 0
local current_word = 0

3.Ищем функцию GotoDefinition() и удаляем ее вместо нее пишем 2 функции:
Код:

function GotoDefinition()
   
local word = _GetWord()
   
if word == nil then
       
print("No word selected.")
       
return
    end
   
text = editor:GetText()
   
place = string.find(text, "[Ff][Uu][Nn][Cc] " .. word)
   
if place then
       
current_line = editor:LineFromPosition(editor.CurrentPos)
       
current_word = word
        current_pos = editor.CurrentPos
       
editor:GotoLine(editor:LineFromPosition(place))
   
else
       
print("Unable to find function definition.")
   
end
end   
-- GotoDefinition()

function JumpBack()
   
if current_pos ~= 0 then
        local
frompos = editor:WordStartPosition(current_pos
       
local topos = editor:WordEndPosition(current_pos)
       
local last_word = editor:textrange(frompos, topos)
       
if current_line and last_word == current_word then
           
editor:GotoLine(current_line)
           
current_pos = 0
           
current_line = 0
       
else
           
print("Unable to find definition")
           
return
        end
    else
        return
    end
end
--JumpBack()

4. В файле ...\SciTE\languages\au3.properties прописываем
Код:

# 15 GotoDefinition (перейти к указанной функции))
extension.*.au3="$(SciteDefaultHome)\tools\AutoIt3.lua"
command.name.15.*.au3=GotoDefinition
command.15.*.au3=GotoDefinition
command.subsystem.15.*.au3=3
command.shortcut.15.*.au3=Ctrl+J
command.save.before.15.*.au3=2

# 16 JumpBack (возвратиться в прежнее место, используется после вызова GotoDefinition)
extension.*.au3="$(SciteDefaultHome)\tools\AutoIt3.lua"
command.name.16.*.au3=JumpBack
command.16.*.au3=JumpBack
command.subsystem.16.*.au3=3
command.shortcut.16.*.au3=Ctrl+Shift+J
command.save.before.16.*.au3=2

если имеются команды под аналогичными (15 и 16) номерами то удаляем, или меняем номера в этих (главное правильно).
5. Сохраняемся. Перезапускаемся. Пользуемся.

P.S. Dm666, кажеться ты меня раньше спрашивал, как изменить шрифт в всплывающих подсказках по синтаксису в SciTe. Тут случайно нашел. В файле ...\SciTE\SciTEGlobal.properties, шрифт меняется сдесь:
Код:

# Стиль всплывающих подсказок по синтаксису (берутся из API файлов)
style.*.38=font:MS Sans Serif,size:9

может и не ты спрашивал, уже не помню, тогда комуто пригодится...

Dm666 10-04-2011 14:18 1655215

Цитата:

Цитата beve
Можно сделать и такое.
1.Открываем файл ...\SciTE\tools\AutoIt3.lua ...
»

Ну вот. Оно самое! :rupor:
Я уже говорил "спасибо", да? В таком случае повторюсь. :) Спасибо!
А говорил, что с Lua не дружишь... :smirk:

Цитата:

Цитата beve
P.S. Dm666, кажеться ты меня раньше спрашивал, как изменить шрифт в всплывающих подсказках по синтаксису в SciTe. »

Ага, было дело. Но я это в конце концов сам нашел. Но кому-нибудь, безусловно, сэкономит время.

Dm666 01-05-2011 14:46 1668448

Дорабатывая одно - ломаем другое... :unsure:
Перестала работать фича "Сохранить аббревиатуру". Ругается на > Lua: error checking global scope for command

Я так понимаю, поломалось после правки функции GotoDefinition() из предыдущего поста. Как бы починить?

beve 01-05-2011 16:12 1668489

Цитата:

Цитата Dm666
Дорабатывая одно - ломаем другое... »

Скорее учимся..., так сказать вникаем в работу SciTE.
Цитата:

Цитата Dm666
Я так понимаю, поломалось после правки функции GotoDefinition() из предыдущего поста. Как бы починить? »

Не, там все впорядке, переменные имеют уникальные имена - конфликтов быть не должно. Тут дело скорее в файле ...SciTE\languages\au3.properties и каких то ограничениях SciTE по длинне обрабатываемых даннных, или че то того.
Посмотрел у себя, решение такое:
1).В файл ...SciTE\tools\SciTEStartup.lua дописываем строчку:
Код:

dofile (props["SciteDefaultHome"].."\\tools\\MakeAbbrev.lua")
2.)Ищем в файле ...SciTE\languages\au3.properties блок
Код:

extension.*.au3=$(SciteDefaultHome)\tools\MakeAbbrev.lua
command.name.14.*.au3=Save abbreviation
command.14.*.au3=SaveAbbr
#command.shortcut.14.*.au3=Ctrl+Shift+
command.subsystem.14.*.au3=3
command.save.before.14.*.au3=2

и убираем из него строчку
Код:

extension.*.au3=$(SciteDefaultHome)\tools\MakeAbbrev.lua
Так же из файла ...SciTE\languages\au3.properties убираем в командах все строчки
Код:

extension.*.au3="$(SciteDefaultHome)\tools\AutoIt3.lua"
, потому что оказывается не нужно повторно вызывать на обработку этот файл, ибо он обрабатывается единожды при запуске SciTE (в файле ...SciTE\tools\SciTEStartup.lua прописан), а в нашем случае нам нужно вызывать только нужную функцию.

Dm666 01-05-2011 20:29 1668600

Цитата:

Цитата beve
Скорее учимся..., так сказать вникаем в работу SciTE. »

Спасибо, заработало.
Оперативность и качество ответов, как всегда, на высоте! :clapping:

beve 03-11-2012 00:28 2017665

Выкладываю настроенную для Autoit новую версию редактора SciTE 3.0.2 .95Ru.
Все настройки сделанные с учетом всего того, что обговаривалось в этой теме выше. Особенно хочу обратить ваше внимание, что для появления всплывающих подсказок-автодополнений, нужно начинать печатать команды языка Autoit c большой буквы (почему так, описание в посте #48 этой темы).

По умолчанию при открытии файлов, все блоки текста свернуты. Развернуть все можно сделав ПКМ в редакторе и выбрать пункт Свернуть/Развернуть=>Все блоки текста. Отключить вобще можно в файле глобальных настроек (SciTEGlobal.properties) в этом месте (вместо 1 поставить 0):
Код:

# Сворачивать при открытии файла (0/1)
fold.on.open=1

# Автоматическая свёртка всех секций при открытии файлов заданного типа (RestoreRecent.lua)
fold.on.open.ext=properties,ini,au3

В файл (au3.properties) можно добавить до 5 своих команд, горячие клавиши для которых будут Ctrl+5...Ctrl+9. Куда добавлять, есть закоментированные пояснения в этом файле.

Mancoffee 20-01-2016 23:17 2597479

Как включить подстановку (после ввода нескольких символов или символа @) функций AutoIt в SciTE?


Время: 12:07.

Время: 12:07.
© OSzone.net 2001-