Что нового

По нажатию CTRL+F8 вставить ConsoleWrite() в редакторе SciTE

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Версия SciTE: 1.79

Описание: Друзья, кто-нибудь может написать .lua файл (или что там еще нужно для SciTE) для того, чтобы по нажатию CTRL+F8 в текущую позицию вставлялась следующая строка:

Код:
ConsoleWrite('' & @CR)


А то замучился постоянно писать это. Самому изучать LUA банально нет времени, да и просто лень...

:whistle:

Примечания: Нет
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
А аббревиатура не подходит? введи cw и нажми сразу пробел.

Если не подходит, lua скрипт напишу, хотя можно и на autoit написать.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
CreatoR сказал(а):
А аббревиатура не подходит? введи cw и нажми сразу пробел.

Нет, я вообще отключил аббревиатуры. Они доставляют мне больше проблем, чем пользы.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
В папке «SciTE\Lua» создать файл AddConsoleWriteDebuger.lua со следующим содержимым:

Код:
-- Adds ConsoleWrite to current line

editor:AddText("ConsoleWrite('' & @CRLF)")
pos = editor.CurrentPos - 10
editor:SetSel(pos, pos)

в файле «SciTE\properties\au3.properties» добавить в конец:

Код:
#~ Add ConsoleWrite to current position
command.separator.42.*=1
command.name.42.*=Добавить отладчик ConsoleWrite
command.42.*=dofile $(SciteDefaultHome)\Lua\AddConsoleWriteDebuger.lua
command.mode.42.*=subsystem:lua,savebefore:no
command.shortcut.42.*=Ctrl+F8

Цифра 42 меняется в зависимости от номера последнего пункта (искать command.# с конца), т.е если последний это 41, то у нас должно быть 42.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Супер!!!

:laugh:

P.S

Два вопроса:

1. Что делает command.separator.42.*=1?
2. Можно ли не отображать пункт в меню, только горячая клавиша?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Yashied [?]
Что делает command.separator.42.*=1?
Должно добавлять разделитель, оно не нужно в нашем случае.

Можно ли не отображать пункт в меню, только горячая клавиша?
Можно, но немного сложнее:

В папке «SciTE\Lua» создать файл AddConsoleWriteDebuger.lua со следующим содержимым:
Код:
-- Adds ConsoleWrite to current line

function AddConsoleWrite()
	editor:AddText("ConsoleWrite('' & @CRLF)")
	pos = editor.CurrentPos - 10
	editor:SetSel(pos, pos)
end

Созданный файл нужно ещё подгружать в «SciTE\Lua\SciTEStartup.lua»:
Код:
...
LoadLuaFile("AddConsoleWriteDebuger.lua")

а в au3.properties добавлять нужно это:

Код:
#~ Add ConsoleWrite to current position
command.name.42.*=
command.42.*=AddConsoleWrite
command.mode.42.*=subsystem:lua,savebefore:no

user.shortcuts=Ctrl+F8|1142|

если «user.shortcuts» уже есть в файле, то его нужно дополнить. Заметь, 1142 это 1100 + 42, то самое последнее число команды.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Верх