Что нового

Альтернатива среде разработки SciTE

  • Автор темы VitAl2013
  • Дата начала
V

VitAl2013

Гость
Слышал что можно как-то Notepad++ к этому делу приспособить, но нигде нет информации по этому вопросу.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 156
Репутация
2 329
Re: Альтернатива СцыТЕ

Предупреждение Название темы не несёт смысловую нагрузку, переименуй либо тема будет закрыта.
 

snoitaleR

AutoIT Гуру
Сообщения
854
Репутация
223
Я пользуюсь FAR с плагином Colorer...
Не супер, конечно, так как Colorer давно не обновлялся, но мне вполне хватает...
 
Автор
V

VitAl2013

Гость
"Notepad++" к стати, но он какой-то недоделка или это расцветка 2й линейки AutoIT. Почему не использую, потому как скрипты на исполнение не запускает и ошибки не проверяет. "Из коробки" по крайней мере, а "настроить самому" мне не удаётся.

OffTopic:
Слышал у FAR c семёркой тёрки.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
у меня в np++ все настроено. и запуск скриптов, и подсветка кода и проверка ошибок, запуск в консоли и прочее прочее прочее... единственный минус корявая автоподстановка и подсказки. а в целом крутая штука
 

snoitaleR

AutoIT Гуру
Сообщения
854
Репутация
223
OffTopic:

Не подтверждаю ("Слышал у FAR c семёркой тёрки.")
 

timsky

Осваивающий
Сообщения
93
Репутация
28
Я тоже только N++ пользуюсь. В плагинах настрой nppExec
 
Автор
V

VitAl2013

Гость
Поделитесь сборками. Я тоже считаю что Notepad++ хорошая вещь.
 

Suppir

Продвинутый
Сообщения
967
Репутация
62
Насколько я помню, Notepad++ не распознает файлы в кодировке DOS (CP866). Пользуюсь SciTE и Akelpad.
 
Автор
V

VitAl2013

Гость
А как эта невозможность влияет на конечный результат?
 

Suppir

Продвинутый
Сообщения
967
Репутация
62
VitAl2013, непонятно у кого вы спросили, но если у меня, то отвечу. Многие файлы имеют кодировку dos. Если редактор не умеет их открывать, то приходится пользоваться вспомогательными блокнотами и редакторами.
 
Автор
V

VitAl2013

Гость
Suppir
А фалы AutoIT в какой кодировке?

ПС Спросил у всех сразу, обратился к тем кто знает что-либо по данному вопросу.
 

Suppir

Продвинутый
Сообщения
967
Репутация
62
VitAl2013, ansi или unicode. Но мне, например, приходится постоянно работать с dos-файлами. Которые autoit по умолчанию не распознает. Приходится их перекодировать туда-обратно.



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

Python тоже не распознает. А Perl распознает. Но там другие заморочки.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
VitAl2013 [?]
Поделитесь сборками.
хех. ну это сложно назвать сборкой. т.к. сам настраивал. если есть проблемы в настройке, пиши тут. вспомню что и как делалось. потому как все файлы np++ высылать смысла нет, а какие конкретно, я так сразу не скажу. но примерная последовательность действий такая
[box title=Порядок действий]1. Скачать последнюю версию сабжа отсюда - Notepad++
2. Скачать и закинуть в папку с плагинами, вот это - NPExec
3. Если есть установленный Scite с ключевыми словами AutoI, то запустить этот скрипт
Код:
#include<String.au3>
#include<Array.au3>

HotKeySet("{ESC}", "term")
AutoItSetOption("MustDeclareVars", 1)

Dim $find[8] = ["<i>", "</i>", "&", """", "<", ">", "'", ":"] ; find these in the string
Dim $replace[UBound($find)] = ["", "", "&amp;", "&quot;", "&lt;", "&gt;", "&apos;", ""] ; and replace them with these
Dim $descr, $paramStr, $comp, $nameStr, $param, $fileIN = 0, $fileOUT = 0, $line

$fileIN = FileOpen(@ProgramFilesDir & "\AutoIt3\SciTE\api\au3.api", 0)
$fileOUT = FileOpen(@ProgramFilesDir & "\NotePad++\plugins\APIs\autoit.xml", 2 + 8)

If $fileIN = -1 Or $fileOUT = -1 Then
    MsgBox(0, "", "Error opening file. The program will now exit." & @CRLF)
    Exit
EndIf

; Boilerplate
FWTab(0, "<?xml version=""1.0"" encoding=""Windows-1252"" ?>" & @CRLF)
FWTab(0, "<NotepadPlus>" & @CRLF)
FWTab(1, "<AutoComplete language=""AutoIt"">" & @CRLF)
FWTab(2, "<Environment ignoreCase=""yes"" startFunc=""("" stopFunc="")"" paramSeparator="","" terminal="""" />" & @CRLF)

While 1
    $line = FileReadLine($fileIN)

    ; exit if EOF
    If @error = -1 Then ExitLoop 

    ; skip the line because it isn't a function -- I assume
    If StringInStr($line, "(") = 0 Then ContinueLoop

    ; Replace reserved XML keywords with character entity references
    ; (source: http://en.wikipedia.org/wiki/Character_encodings_in_HTML)
    For $i = 0 To UBound($find) - 1
        $line = StringReplace($line, $find[$i], $replace[$i])
    Next

    ; extract the name of the function
    ; <KeyWord name=$nameStr func="yes" />
    $nameStr = StringTrimRight($line, ((StringLen($line) - 1) - StringInStr($line, " ") + 2))

    ; extract the function parameters
    $param = _StringBetween($line, "(", ")")
    $paramStr = StringSplit($param[0], ",")

    ; extract the function description
    $descr = StringStripWS(StringTrimLeft($line, StringInStr($line, ")")), 1 + 2)

    ; output
    FWTab(2, "<KeyWord name=""" & $nameStr & """ func=""yes"" >" & @CRLF)
    FWTab(3, "<Overload retVal="""" descr=""" & $descr & """ >" & @CRLF)

    For $i = 1 To $paramStr[0]
        FWTab(4, "<Param name=""" & StringStripWS(StringReplace($paramStr[$i], ",", ""), 1 + 2 + 8) & """ />" & @CRLF)
    Next

    FWTab(3, "</Overload>" & @CRLF)
    FWTab(2, "</KeyWord>" & @CRLF)
WEnd

FWTab(1, "</AutoComplete>" & @CRLF)
FWTab(0, "</NotepadPlus>")

term()

Func FWTab($tabs, $data) ; 'FileWrite' with tabs
    For $i = 1 To $tabs
        FileWrite(2, Chr('9'))
    Next
    FileWrite(2, $data)
EndFunc ;==>FWTab

Func term()
    If $fileIN = 1 Then FileClose($fileIN)
    If $fileOUT = 2 Then FileClose($fileOUT)
    Exit
EndFunc ;==>term

Взято отсюда - NotePad++ CallTips
Если и NP++ и Scite4AutoIt лежат по умолчанию, то просто запусти скрипт. Если не хочешь заморачиваться, вот тебе готовый файл - autoit.xml. Закинь его в NPPDir/Plugins/APIs
4. Настройка в NP++ автоподстановки
Опции(Settings) - Настройки(Preferences) - Резерв/Автодополнение(Backup/Auto-Completion) - Поставить галку "Включить для каждого ввода"(Enable auto-completion on each input), Отметить "Завершение функций"(Function completion), Поставить галку "Подсказка при вводе параметров функций"(Function parameters hint on input).
5. Настройка запуска скрипта из NP++
а) Простой запуск (aka Передача пути до скрипта программе autoit3.exe): Преимущество перед консольным запуском - неограниченные кол-во одновременных запусков из под np++
Запуск(Run) - Запуск... F5(Run... F5) - В поле ввести "c:\Program Files\AutoIt3\AutoIt3.exe" "$(FULL_CURRENT_PATH)" (1. именно так с кавычками; 2. Если путь до интепретатора другой, ввести его) - Сохранить - Придумать название и клавиши быстрого вызова и сохранить
б) Консольный запуск (aka Хочу видеть что в консоли)
Дополнения - NppExec - Execute... F6 - Выбрать вариант "Temporary script", ввести команду "c:\Program Files\AutoIt3\AutoIt3.exe" "$(FULL_CURRENT_PATH)", нажать "Save", Придумать название (например Consoleout)- Сохранить
Дополнения - NppExec - Advanced options - Левая колонка, Группа "Menu Item", поле "Item name" - Придумать название и запомнить (например Consoleout) - Комбо "Associated script", Выбрать скрипт сохраненный до этого - Нажать на кнопку "Add/Modify" - Верхняя группа "Mrnu items *", Поставть галку "Place to the macros submenu" (В том же списке можно увидеть введенный скрипт в виде Consoleout :: Consoleout) - Нажать "ОК"

После этого скрипт будет храниться в меню "Макросы". Для того, чтобы вызывать этот скрипт через хоткей
Опции - Горячие клавиши - Plugin commands - Найти в списке свой скрипт (Он назывался Consoleout) - Дважы щелкнуть, придумать хоткей - Нажать "ОК"
6. Запуск проверки синтаксиса
Полность аналогично п. 5, только команда для скрипта - "c:\Program Files\AutoIt3\Au3Check.exe" "$(FULL_CURRENT_PATH)" -q, и название скрипту придумать другое
Хоткей назначается так же[/box]

Вроде все. Будут вопросы, пиши


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

Еще одна полезная вещь в np++, которая давно уже реализована в Scite - автозавершение скобок и других блочных символов
XBrackets Lite (Unicode)
 
Автор
V

VitAl2013

Гость
У меня оба портативные, соответственно пункт 3 выполняю со слов "Если не хочешь заморачиваться..." И тут же вопрос для какой версии AutoIT актуален xml файл?

OffTopic:
Autoit.xml весит 666Kb - :evil:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
3.3.0.0 - полет нормальный
 
Автор
V

VitAl2013

Гость
1] Как стереть команду из "Запустить" или сменить комбинацию кнопок - придумал, а они задействованы.
2] Можно ли писать относительные пути?
3] 5ый или а), или б) ? Оба сделать будет не правильно?
4] 6. написано что также - также как что? как а) или как б) ?
5] Можно ли чтобы консольное окно было включено сразу при входе в NPP?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
1. Просто переназначь
Опции - Горячие клавиши - Run Commands - найди свой - двойной щелчок, переназначение
2. Не знаю. Попробуй :smile:
3. Нет. можно сделать оба. Один будет запускать скрипт напрямую. Другой в консоле.
4. Моя ошибка. п6. проделать тоже самое что в в п.5 б)
5. Можно
Дополнения - NppExec - Advanced options - Группа "Console" - Комбо "Visible on start", выбрать "Yes"
 
Автор
V

VitAl2013

Гость
2. Не знаю. Попробуй :smile:
Попоробовал. "Пуск!" не срабатывает. Вот тебе и портативная версия, понимашь... :( Где-то было мыло разраба НПП... :shifty:

В копилку идёт ConTEXT - но не полностью, а только раскраской до 3.3.1.0 версии включительно. Может правда можно настроить...

Есть ли файл стилей раскраски? Интересует схожий с раскраской на форуме.
 
Верх