Снегопат
https://snegopat.ru/forum/

Не появился ли еще доступ к синтаксическому контролю?
https://snegopat.ru/forum/viewtopic.php?f=3&t=174
Страница 1 из 3

Автор:  tormozit [ 20 апр 2012, 10:43 ]
Заголовок сообщения:  Не появился ли еще доступ к синтаксическому контролю?

Собственно я все жду возможности сделать скрипт ExtractMetode (вынести метод). Для красивой реализации по моему способу нужна возможность проверить текст хотя бы текущего модуля (а желательно временного) на встроенном языке и получить описание ошибки.

Есть ли сейчас такие возможности?

Автор:  orefkov [ 20 апр 2012, 10:52 ]
Заголовок сообщения:  Re: Не появился ли еще доступ к синтаксическому контролю?

Запустить синтакс-контроль можно (см. core\std\scripts\2_commands.js)
Код:
stdcommands.Frntend.SyntaxCheck.send()

Перехват вывода в окно сообщений (с возможностью его подавления) будет в ближайшем релизе.

Автор:  orefkov [ 20 апр 2012, 11:24 ]
Заголовок сообщения:  Re: Не появился ли еще доступ к синтаксическому контролю?

Хотя вру ведь. Все уже решаемо сейчас:
Код:
var msgWnd = null
function createTextWindow(textWnd){msgWnd = textWnd}

function macrosПроверка()
{
   // Будем отлавливать создание текстового окна
   events.connect(Designer, "createTextWindow", SelfScript.Self);
   // Очищаем окно сообщений
   stdcommands.Frntend.ClearMessageWindow.send()
   // Закрываем его
   stdcommands.Frntend.CloseMessageWindow.send()
   // Запускаем синтакс-контроль
   stdcommands.Frntend.SyntaxCheck.send()
   // Отпишемся от события
   events.disconnect(Designer, "createTextWindow", SelfScript.Self);
   // Прочитаем, что там в окне сообщений
   var msgText
   if(msgWnd)
   {
      msgText = msgWnd.text
      MessageBox(msgText)
   }   
   // Очищаем окно сообщений
   stdcommands.Frntend.ClearMessageWindow.send()
}

Автор:  kuntashov [ 20 апр 2012, 11:29 ]
Заголовок сообщения:  Re: Не появился ли еще доступ к синтаксическому контролю?

tormozit, посмотри скрипт refactoring.js в ветке refactoring-tool-script. Я реализовал ExtractMethod, но пока он не очень умный в плане автоматического вычисления параметров и возвращаемых значений, но в простых случаях работает.

И прошу высказать замечания по поводу интерфейса и вообще возможностей как специалиста, уже имеющего свое аналогичное решение, буду очень признателен.

Автор:  tormozit [ 20 апр 2012, 12:44 ]
Заголовок сообщения:  Re: Не появился ли еще доступ к синтаксическому контролю?

Скачал репозиторий скриптов отсюда http://snegopat.ru/scripts/zip/scripts.zip?uuid=trunk, но не вижу там скрипта refactoring.js.

Автор:  orefkov [ 20 апр 2012, 12:47 ]
Заголовок сообщения:  Re: Не появился ли еще доступ к синтаксическому контролю?

Тебе надо просто в каталоге scripts выполнить команды:
Код:
fossil pull
fossil update refactoring-tool-script

Это переключит локальную копию репозитария на ветку refactoring-tool-script
Потом для возврата в основную ветку репозитария надо сделать
fossil update trunk

Автор:  sosnae [ 20 апр 2012, 12:56 ]
Заголовок сообщения:  Re: Не появился ли еще доступ к синтаксическому контролю?

Саша уже ответил, но все таки похвастаюсь... http://screencast.com/t/SJZpZAYmm4J

Автор:  orefkov [ 20 апр 2012, 12:59 ]
Заголовок сообщения:  Re: Не появился ли еще доступ к синтаксическому контролю?

Охрененно....
Надо тоже начать пользоваться плотнее, а то как сапожник без сапог блин.

Автор:  sosnae [ 20 апр 2012, 13:04 ]
Заголовок сообщения:  Re: Не появился ли еще доступ к синтаксическому контролю?

еще не хватает в просмотре истории делать update на определенную ревизию, а то Артур сломал поиск пришлось вручную переключаться... (на выходных думаю сделаю).

Автор:  artbear [ 20 апр 2012, 14:50 ]
Заголовок сообщения:  Re: Не появился ли еще доступ к синтаксическому контролю?

sosnae писал(а):
еще не хватает в просмотре истории делать update на определенную ревизию, а то Артур сломал поиск пришлось вручную переключаться... (на выходных думаю сделаю).

Видишь, как много пользы от одной ошибки :)
и в разборе модуля на методы нашли ошибку, и тебя сподвигнули :)

Страница 1 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/