Отладка скриптов и просмотр переменных .js в Scripts::Plugin

Russian main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Отладка скриптов и просмотр переменных .js в Scripts::Plugin

Post by Eskander88 »

Доброго времени суток!

Можно ли просматривать и проверять переменные/объекты, которые используются в js-файлах исполняемых Script::Plugin?

На подобии «console.log( variable )» в JavaScript или «var_dump( variable )» в php

И можно ли с помощью скриптов обращать или использовать область поля консоли.

Имеется ввиду та, которая используют HexSel::Plugin, Clipboard::Plugin во второй половине окна под редактируемой области, снизу

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

1. Отлаживать скрипты возможно. Запускаете скрип с птичкой Debug (диалог списка скриптов), натравливаете отладчик (от древнего Script Debugger-а до bleeding edge MS Visual Studio).

2. Любой скрипт может попасть куда угодно, и сделать что нужно, в пределах модели безопасности ОС. На текущей версии плагина, скрипты имеют порядка 90% возможностей того что имеет с АР (и то только благодаря ограничениям языка JavaScript как такового).

Если вопрос в том что хотелось бы получить функционал не шевеля пальцем, то нет, понятия "сервис", "объектная модель" не существует. Есть API ОС + API AkelPad поверх ("сервис"), и объекты ОС/AP (например, окно редактора, строка в окне редактирования, фолдинг диапазоны). Всё это есть, но это всё является низкоуровневыми примитивами, из которых можно собрать то что вам нужно самостоятельно.

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

Объясните пожалуйста Log::Plugin какую именно функцию выполняет и чем может быть полезен?

В документации написано, что он предназначен для просмотра логов и захвата вывода в реальном времени. Можно на доступном примере понять как и что он захватывает? Как его вообще используют?

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Eskander88 wrote:Можно на доступном примере понять как и что он захватывает?
Так вы не поленитесь, и опробуйте для начала те три примера, которые приведены в ранее упомянутой вами документации (стр 75-80). Хотя бы один только первый (с tracert). Тогда станет понятно, что такое "в реальном времени".
Eskander88 wrote:Как его вообще используют?
Если пользуетесь плагином QSearch, или скриптами (SearchReplace.js, FindReplaceEx.js) то кнопка "найти все" - хороший наглядный пример с "обратной связью" (т .е. найденные строки откликаются переводом курсора в соответствующую позицию в тексте).

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

opk44 wrote:те три примера, которые приведены в ранее упомянутой вами документации (стр 75-80)
О каких страницах идёт речь? Мне известно только про:
- %a\Docs\Log-Rus.txt на 200 с небольшим строк
- Тему на форуме Log plugin
- И руководство по AkelPad в html с программой
Где ещё?

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Eskander88 wrote:
opk44 wrote:те три примера, которые приведены в ранее упомянутой вами документации (стр 75-80)
О каких страницах идёт речь? Мне известно только про:
- %a\Docs\Log-Rus.txt на 200 с небольшим строк
- Тему на форуме Log plugin
- И руководство по AkelPad в html с программой
Где ещё?
Зачем "ещё"? Вы всё перечислили. 75-80 строка вышеупомянутого Log-Rus.txt:
Пример (вывод в панель вывода):
Call("Log::Output", 1, `tracert akelpad.sourceforge.net`)
Пример (вывод в выделение без панели вывода):
Call("Log::Output", 1, `ipconfig`, "", "", "", -1, -1, 1048577)
Пример (запуск пакетного файла для компиляции):
Call("Log::Output", 1, `"%d\Build.cmd" /S`, "%d", "^\s*(.*)[(:](\d+)([,:](\d+))?[):]", "/FILE=\1 /GOTOLINE=\2:\4", -2, -2, 4)

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Eskander88 wrote:Объясните пожалуйста Log::Plugin какую именно функцию выполняет и чем может быть полезен?
Объясните, пожалуйста, зачем Вы задаёте вопросы по Log-плагину в другой теме и другом форуме, если у этого плагина есть своя тема? Как это может быть полезно?

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

VladSh wrote:Объясните, пожалуйста, зачем Вы задаёте вопросы по Log-плагину в другой теме и другом форуме, если у этого плагина есть своя тема? Как это может быть полезно?
Я полагал, что Log::Plugin может работать на подобии JS-консоли в браузере ил его можно приспособить для чего то аналичного, вывода сообщений. Был вариант задать вопрос и туда. Но там и тема огромная, что не очень удобно для навигации. К тому же не сам плагин интересует, а вопрос по отладке скриптов. Для этого и выдена отдельно.

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Eskander88
Там уже этот вопрос обсуждался. Тем более есть примеры использования Log-плагина как раз из скриптов (ищите в "Коллекции").

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

там голову сломишь, тема уже в 15+ страниц... если бы задача стояла только разработкой AP заниматься и вникать в его устройство, то да... а так большинство пользователей используют его для прикладных задач и по ходу пьесы вникают - что, да как...
Post Reply