Автор Тема: Шаблоны аббревиатур для SciTE  (Прочитано 8014 раз)

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

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 8082
  • Репутация: 2314
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.14.0
В SciTE4AutoIt есть такое полезное чудо как аббревиатуры.
Например, если ввести на новой строке cw и нажать пробел, то оно расширяется в
Код: AutoIt [Выделить]
ConsoleWrite(, @LF) ;Так у меня


Так вот, эти аббревиатуры можно изменять, удалять, и естественно добавлять свои.

Делается это в двух файлах:
1. %userprofile%\abbrev.properties - содержит аббревиатуры и их значения
2. ...\SciTE\properties\au3.keywords.abbreviations.properties - содержит указатели на аббревиатуры (чтобы SciTE их мог распознать)

Добавляем аббревиатуры:
Я обычно нахожу секцию #; -- Templates -- в «abbrev.properties» и добавляю под неё.

* Тестирование регулярных выражений
Код: (properties) [Выделить]
  1. setupre=$vTest = '|'\n\n$sRet = StringRegExpReplace($vTest, '', '')\n\nConsoleWrite($sRet & @LF)\n

* Шаблон создания нового проекта
Код: (properties) [Выделить]
  1. project=#Region Header\n\n#CS\n\tName:\t\t\t\t\n\tAuthor:\t\t\t\tCopyright © 2011 MyCorp, www.autoit-script.ru. All rights reserved.\n\tAutoIt version:\t\t3.3.6.1\n\t\n\tHistory:\n\t\n#CE\n\n#NoTrayIcon\n\n\n#EndRegion Header\n\n#Region Global Variables\n\n\n\n#EndRegion Global Variables\n\n#Region Options\n\n\n\n#EndRegion Options\n\n#Region HotKeys\n\n\n\n#EndRegion HotKeys\n\n#Region GUI\n\n\n\n#EndRegion GUI\n\n#Region Main Loop\n\n\n\n#EndRegion Main Loop\n\n#Region Program Functions\n\n\n\n#EndRegion Program Functions

* Шаблон создания новой библиотеки
Код: (properties) [Выделить]
  1. udfproject=#Region Header\n\n#CS\n\tName:\t\t\t\t\n\tAuthor:\t\t\t\tCopyright © 2011 MyCorp, www.autoit-script.ru. All rights reserved.\n\tAutoIt version:\t\t3.3.6.1\n\tUDF version:\t\t\n\t\n\tHistory:\n\t\n#CE\n\n;Includes\n#include-once\n\n\n#EndRegion Header\n\n#Region Global Variables\n\n\n\n#EndRegion Global Variables\n\n#Region User Variables\n\n\n\n#EndRegion User Variables\n\n#Region Public Functions\n\n\n\n#EndRegion Public Functions\n\n#Region Internal Functions\n\n\n\n#EndRegion Internal Functions

* Тестирования скорости обработки кода
Код: (properties) [Выделить]
  1. timetest=Global $iRepeat_Test = 10\nGlobal $aTests[$iRepeat_Test+1] = [$iRepeat_Test]\nGlobal $iTotal_Tests = 0\n\nFor $x = 1 To $iRepeat_Test\n\t$iTimer = TimerInit()\n\t\n\t;=== CODE TEST ====\n\t\n\t;=== CODE TEST ===\n\t\n\t$aTests[$x] = Round(TimerDiff($iTimer), 3)\n\t$iTotal_Tests += $aTests[$x]\n\tConsoleWrite("Test #" & $x & ": " & $aTests[$x] & " ms" & @LF)\nNext\n\n$iAverage = Round($iTotal_Tests / $iRepeat_Test, 3)\nConsoleWrite("======================" & @LF & "Tests Average: " & $iAverage & @LF & "======================" & @LF)



И указатели для этих шаблонов (для «au3.keywords.abbreviations.properties»):
Код: (properties) [Выделить]
  1. au3.keywords.abbrev=... \
  2.     setupre selectloop project udfproject timetest


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


AutoIt is simple, subtle, elegant.


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


Мои работы

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

Шаблоны аббревиатур для SciTE
« Отправлен: Апрель 02, 2011, 15:15:39 »

Оффлайн gregaz [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1166
  • Репутация: 298
  • Пол: Мужской
    • Награды
Re: Шаблоны аббревиатур для SciTE
« Ответ #1, Отправлен: Апрель 02, 2011, 17:12:08 »
CreatoR  [?]
Цитировать
Так вот, эти аббревиатуры можно изменять, удалять, и естественно добавлять свои.

Только можно это делать не вручную.

Когда-то делал что-то подобное для себя: (Фрагмент скрипта в 1 строку)
Код: AutoIt [Выделить]
Func _TextToString($sText)
    If Not $sText Then Return
    $sText=StringStripWS ( $sText, 2 )
    $sRez=StringRegExpReplace( $sText , "([\\|])" , "\1\1" )
    $sRez=StringRegExpReplace( $sRez , "\r\n" , "\\n" )
    $sRez=StringRegExpReplace( $sRez , "(?:\t|\s{3,4})" , "\\t")
    $sRezult=StringReplace( $sRez , "\t " , "\t") & "\n"
    Return $sRezult
EndFunc
 

Можно сподобить подобное сразу для записи в файл



Добавлено: Апрель 02, 2011, 17:16:28
Ну и проверочный вариант:(Обратный)
Код: AutoIt [Выделить]
Func _StringToText($sString)
    If Not $sString Then Return
    $sRez=StringRegExpReplace( $sString , "([\\|])([\\|])" , "\1" )
    $sRez=StringReplace( $sRez , "\n" , @CRLF )
    $sRez=StringReplace( $sRez , "\t" , @TAB )
    Return $sRez
EndFunc
 

Самая большая проблема – её сформулировать. 

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 8082

  • Автор темы
  • Репутация: 2314
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Шаблоны аббревиатур для SciTE
« Ответ #2, Отправлен: Апрель 02, 2011, 18:00:18 »
gregaz  [?]
Цитировать
Фрагмент скрипта в 1 строку
Это не совсем правильная замена. Во-первых после \r нужно ставить знак вопроса, т.к символ возврата каретки может и не присутствовать. А во-вторых, слеш не нужно нужно заменять (“отменять”), да и вертикальную черту тоже (она в любом случае не попадает в текст, это указывает на позицию курсора).

Код: AutoIt [Выделить]
$sCode = ClipGet()
_SciTE_AbbrevCodeToLine($sCode)
ConsoleWrite($sCode & @LF)

Func _SciTE_AbbrevCodeToLine(ByRef $sAbbrCode)
    If StringLen($sAbbrCode) = 0 Then Return
   
    $sAbbrCode = StringRegExpReplace($sAbbrCode, "\r?\n" , "\\n")
    $sAbbrCode = StringRegExpReplace($sAbbrCode, "(?:\t|\h{3,4})", "\\t")
EndFunc

Func _SciTE_AbbrevLineToCode(ByRef $sAbbrLine)
    If StringLen($sAbbrLine) = 0 Then Return
   
    $sAbbrLine = StringReplace($sAbbrLine , "\n", @CRLF)
    $sAbbrLine = StringReplace($sAbbrLine, "\t", @TAB)
EndFunc


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

Re: Шаблоны аббревиатур для SciTE
« Ответ #2 Отправлен: Апрель 02, 2011, 18:00:18 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 8082

  • Автор темы
  • Репутация: 2314
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Шаблоны аббревиатур для SciTE
« Ответ #3, Отправлен: Апрель 03, 2011, 00:25:26 »
gregaz  [?]
Цитировать
Можно сподобить подобное сразу для записи в файл
SISCABMAN - Менеджер аббревиатур для SciTE

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

Re: Шаблоны аббревиатур для SciTE
« Ответ #3 Отправлен: Апрель 03, 2011, 00:25:26 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
45 Ответов
52913 Просмотров
Последний ответ Январь 18, 2012, 14:46:25
от CreatoR
0 Ответов
19514 Просмотров
Последний ответ Февраль 13, 2011, 00:16:11
от CreatoR
42 Ответов
37793 Просмотров
Последний ответ Март 23, 2019, 04:04:27
от CreatoR
4 Ответов
4019 Просмотров
Последний ответ Январь 15, 2012, 23:43:48
от CreatoR
7 Ответов
4098 Просмотров
Последний ответ Март 17, 2014, 18:49:21
от asdf8
4 Ответов
1465 Просмотров
Последний ответ Октябрь 03, 2014, 15:07:19
от ildary
2 Ответов
2824 Просмотров
Последний ответ Ноябрь 23, 2014, 18:53:41
от GUIMish
4 Ответов
1732 Просмотров
Последний ответ Январь 06, 2015, 00:05:28
от ivanius
283 Ответов
109747 Просмотров
Последний ответ Июнь 25, 2019, 19:11:14
от xXx
4 Ответов
988 Просмотров
Последний ответ Июль 08, 2017, 19:37:17
от Vovsla