Что нового

SciTE 3.5.5.101 для AutoIt

A

Alofa

Гость
Аааа... "Семен Семеныч" :smile:
По видимому вы хотели бы так?
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Где можно настроить, что бы при двойном клике по русскому слову оно выделялось не захватывая кавычки и скобки? Нужно такое же поведение, как и при двойном клике по английским словам.
 
A

Alofa

Гость
inververs сказал(а):
Где можно настроить, что бы при двойном клике по русскому слову оно выделялось не захватывая кавычки и скобки?..
Не знаю как по правилам, он смена кодировки на UTF-8/UTF-8(BOM)/UTF-16LE или UTF-16BE помогает.



У меня вот другой вопрос:
- Если кликнуть контекстное меню Windows "Создать" --> "AutoIt v3 Script", то получим файл "AutoIt v3 Script.au3" следующего содержания:
Код:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.99.1
 Author:         myName

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here
Так вот, где бы и что такое изменить чтобы отредактировать этот шаблон под себя?
Или может такое возможно сделать при создании нового документа в SciTE через "File" --> "New".

И еще вопрос:
- А в этом редакторе функции автозавершения скобок и кавычек нет?
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Alofa сказал(а):
Так вот, где бы и что такое изменить чтобы отредактировать этот шаблон под себя?
C:\Windows\ShellNew\Template.au3

Alofa сказал(а):
А в этом редакторе функции автозавершения скобок и кавычек нет?
Нет, так как я это не использую. Но есть возможность подключить.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Alofa сказал(а):
А вот с этого момента пожалуйста поподробней. :scratch:
Не вы, я могу подключить. Необходимо адаптировать и добавить соответствующий плагин, т.к. нативный способ не предусмотрен.
 
A

Alofa

Гость
Yashied сказал(а):
... Необходимо адаптировать и добавить соответствующий плагин, т.к. нативный способ не предусмотрен.
Уж не знаю, стоит ли востребованность данной опции этих трудов? :scratch:


Yashied сказал(а):
1.3.1 (09 Августа, 2015)
  • ...
  • Добавлены горячие клавиши для команд Calculate, Highlight и Execute.
  • ...
А где посмотреть эти комбинации?


Yashied подскажите пожалуйста, по какой причине в v1.3.1 удалена строка "$(toolbar.tools.panel)\" из "toolbar.properties"?
 
Автор
Yashied

Yashied

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

1.3.2 (20 Августа, 2015)
  • Исправлен баг, связанный с активацией окна автозавершения, если окно редактора находится не в фокусе.
  • Исправлен баг, связанный с автоматической блокировкой файла ("Read-Only") с атрибутами "RHS" при сохранении его под другим именем.
  • Добавлен плагин для автозавершения скобок и кавычек (Tools\Preferences).
  • Добавлен пункт меню "Refresh" в контекстном меню "Func/Bmk".
  • Удален SciTE4AutoIt3.chm из сборки.


Добавлено:
Сообщение автоматически объединено:

Alofa сказал(а):
А где посмотреть эти комбинации?
Tools\Text. Вообще, все горячие клавиши показываются в основном меню.

Alofa сказал(а):
Yashied подскажите пожалуйста, по какой причине в v1.3.1 удалена строка "$(toolbar.tools.panel)\" из "toolbar.properties"?
Эти утилиты не так уж и часто используются, чтобы их отображать на панель инструментов. Но вы всегда сами можете изменить панель под себя.
 
A

Alofa

Гость
Yashied сказал(а):
1.3.2 (20 Августа, 2015)
  • ...
  • Добавлен плагин для автозавершения скобок и кавычек (Tools\Preferences).
  • ...
Спасибо.
Yashied плагин конечно работает правильно. Сейчас алгоритм когда НЕ добавляется второй знак кавычек примерно такой:
- Если пред знаком имеется уже открытая кавычка;
- Если после знака стоит какая-либо буква, цифра или знак препинания.

Для обычных текстовых редакторов это конечно самое то, но для SciTE предлагаю доработать второе условие таким образом, чтобы оно звучало так:
- Если после знака стоит какая-либо буква, цифра или знак препинания. Исключением является запятая, любой из видов скобок или неограниченное число пробелов, после которых идут данные знаки.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Алгоритм этого плагина полностью взят из SciTE-Ru, и что-то координально править в нем я не вижу смысла хотя бы потому, что он имеет одно врожденное ограничение - уровень вложенности равен 1. Другими словами, внутри скобок/кавычек он не работает.


Добавлено:
Сообщение автоматически объединено:

Кстати, забыл добавить один фикс в эту сборку. У кого не вставляется код из Koda в SciTE (выдает ошибку), замените строку 159 в файле menu\menu.properties на следующую:

Код:
command.mode.37.$(au3)=subsystem:windows,savebefore:prompt,replaceselection:yes,quiet:yes
 
A

Alofa

Гость
OffTopic:
Я тут поколдовал немного и "скрестил" аббревиатуры некоторых ключевых слов (+сокращения основных веток реестра) с подсказками автозавершения.
И теперь, когда я в SciTE начинаю набирать, к примеру, слово "If", то наблюдаю следующее меню:


И если выбрать, опять же к примеру, пункт "if_elseif_else_endif" и нажать клавишу пробела, то аббревиатура разворачивается в следующие строки:


Вот Архив, в котором имеются три файла, каждый в своей папке.
НЕ заменяйте, а просто допишите оригинальные файлы в директории SciTE информацией из файлов архива.

Примечания:
- в SciTE необходимо чтобы была включена функция "Auto Autocomplete" (Tools\Preferences);
- Все интегрированные аббревиатуры переименованы для удобочитаемости
(а точнее это продублированные исходные аббревиатуры под новыми именами);
- Все имена аббревиатур имеют только строчные буквы и знак нижнего подчеркивания ("_").


P.s: заранее прошу прощение за возможный непреднамеренный плагиат у людей, которые уже воплотили подобное в жизнь.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Alofa [?]
и нажать клавишу пробела, то
Можно нажимать не пробел, а Enter или Tab. Только это не для аббревиатур, а просто для дописи слов / функций / переменных
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
OffTopic:
осталось микрофон интегрировать чтобы наговаривать код.
 

Mike

Новичок
Сообщения
4
Репутация
0
Добрый день.
Большое спасибо! Дааавно хотелось увидеть улучшения в Scite.
есть пара вопросов которые сразу бросились в глаза.
1. Не хватает возможности добавлять Debug to console и to MsgBox как в оригинальном scite. Или есть другие средства быстрой отладки?
2. Если в коде имеются переносы строки, то не корректно отображается структура блока
Код:
Func StringDelHlam($s_Str)
;	ConsoleWrite('@@ (1226) :(' & @MIN & ':' & @SEC & ') StringDelHlam()' & @CR) ;### Function Trace
Local $sOne=''
$aStr=StringSplit($s_Str,'')
$bFDel=False
$bIgnore=False
$bFCom=False
$bSpaceDel=False
For $i=1 To $aStr[0]
	Switch $aStr[$i]
		Case '(' 			; Первый Разделитель + начало комментария
			$sOne&=','
			$bFDel=True
		Case 'А' To 'Я'   		; Пропускать символы
			$bIgnore=True
 		Case ')','<','>'		; Последний разделитель + конец комментария
			$bFDel=False
			$bIgnore=False
 		Case ',' 		; Последний разделитель + конец комментария
			$bFDel=False
			$bIgnore=False
			$sOne&=','
 		Case '|'
			$bIgnore=False
 			$sOne&=','
		Case '/'
			If (StringInStr($s_Str,'/',0,1,$i+1,3)>0) or _
			   (StringInStr($s_Str,'(',0,1,$i+1,3)>0) or _
			   (StringInStr($s_Str,'|',0,1,$i+1,3)>0) or _  ;			   (StringInStr($s_Str,',',0,1,$i+1,3)>0) or _   ; Проверка для Совмещения
			   (StringInStr($s_Str,' ',0,1,$i+1,3)>0) or _
			   ($aStr[0]-($i+1)<3) Then
				$sOne&=$aStr[$i]
				If (StringInStr($s_Str,' ',0,1,$i+1,3)>0) Then $bSpaceDel=True
			Else
				$sOne&=','
			EndIf
		Case "'",'"'                ; Комментарии
			If $bFCom Then
				$bFCom=False
				$bIgnore=False
			Else
				$bFCom=True
			EndIf
		Case ' '
			If $bSpaceDel Then
				$sOne&=','
				$bSpaceDel=False
			EndIf
;~ 			Пробел удален
		Case Else
			If ((not $bFDel) and (not $bIgnore)) and not $bFCom Then $sOne&=$aStr[$i]
	EndSwitch
Next
Do
	$sOne=StringReplace($sOne,',,',',')
Until @extended=0
$sOne=StringStripWS($sOne,2)
If StringInStr($sOne,',',0,-1)=StringLen($sOne) Then $sOne=StringTrimRight($sOne,1)
$sOne=StringStripWS($sOne,7)
Return $sOne
EndFunc
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Mike сказал(а):
1. Не хватает возможности добавлять Debug to console и to MsgBox как в оригинальном scite. Или есть другие средства быстрой отладки?
Они есть, просто отключены (см. файл menu\menu.properties).

Mike сказал(а):
2. Если в коде имеются переносы строки, то не корректно отображается структура блока.
Вот тут недопонял. Опишите более подробно или приложите скриншот.
 

Mike

Новичок
Сообщения
4
Репутация
0
... я про [ + ] [ - ] :smile:
Вставьте мой код в Scite.
Блок функции обрывается на EndSwitch.
Если
Код:
If (StringInStr($s_Str,'/',0,1,$i+1,3)>0) or _
               (StringInStr($s_Str,'(',0,1,$i+1,3)>0) or _
               (StringInStr($s_Str,'|',0,1,$i+1,3)>0) or _  ;              (StringInStr($s_Str,',',0,1,$i+1,3)>0) or _   ; Проверка для Совмещения
               (StringInStr($s_Str,' ',0,1,$i+1,3)>0) or _
               ($aStr[0]-($i+1)<3) Then

написать в одну строку то все будет правильно отображаться.
Блок функции будет заканчиваться в EndFunc

те. при таких переносах структура блока отображается и сворачивается не правильно.



Добавлено:
Сообщение автоматически объединено:

Yashied сказал(а):
Mike сказал(а):
1. Не хватает возможности добавлять Debug to console и to MsgBox как в оригинальном scite. Или есть другие средства быстрой отладки?
Они есть, просто отключены (см. файл menu\menu.properties).
Можно узнать по какой причине?



Добавлено:
Сообщение автоматически объединено:

баг из-за комментария :smile: если его убрать все корректно отображается
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Если можно в Bookmarks панели добавьте еще одну колонку, имя файла где находится закладка.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Mike сказал(а):
Можно узнать по какой причине?
Да просто нет смысла захламлять меню ради команд, которыми почти никто не пользуется, разве что совсем уж новички. Что мешает нажать "cw" + пробел и именно в том месте, где это необходимо.
 
Верх