Будет ли вообще когда-нибудь?BezDNaU писал(а):Можно ли сделать, чтобы плагин по Ctrl+Q запускался сразу в режиме редактирования. (без нажимания замочков)?
SynWrite (Syn2)
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
SynWrite (Syn2)
1. c:\Documents and Settings\имя\Application Data\SynWrite\имя.adu
Выполняю:
- пишу слово (например): мелисса
- оно автоподчеркивается красной волнистой, т.к. нет в словаре
- последовательно на слове: двойной клик, правый клик, "Добавить"
- красная исчезает, т.к. слово считается добавленным (на самом деле - нет:)
- закрываю SynWrite крестом
- появляется ошибка:
Access violation at address 00613AFB in module 'Sun.exe'.
Read of address 00000210.
Все добавленные в "сеансе" слова не помещаются в adu.
Если же добавляю слово через
Опции-Правописание-Словари-Изменить-Добавить
то ошибки не возникает.
Это происходит у меня только начиная с перехода на версию 3.8.1590.
2. Не нашел в настройках, где можно переопределить местоположение
всех ini-файлов (и файла словаря)^
c:\Documents and Settings\имя\Application Data\SynWrite\
Syn.ini SynSpell.ini SynSpellLearn.adl SynState.ini *.adu
Ну типа как в Total Commander... (включая command line)
А в History - непонятно про %Appdata% :
use Options dlg - Misc - "Move files" button
3. Мне не хватает возможности перемещаться по LeftArrow
в конец предыдущей строки через упор в "стенку" в начале текущей.
4. Мне не хватает возможности перестаскивания вкладок.
Выполняю:
- пишу слово (например): мелисса
- оно автоподчеркивается красной волнистой, т.к. нет в словаре
- последовательно на слове: двойной клик, правый клик, "Добавить"
- красная исчезает, т.к. слово считается добавленным (на самом деле - нет:)
- закрываю SynWrite крестом
- появляется ошибка:
Access violation at address 00613AFB in module 'Sun.exe'.
Read of address 00000210.
Все добавленные в "сеансе" слова не помещаются в adu.
Если же добавляю слово через
Опции-Правописание-Словари-Изменить-Добавить
то ошибки не возникает.
Это происходит у меня только начиная с перехода на версию 3.8.1590.
2. Не нашел в настройках, где можно переопределить местоположение
всех ini-файлов (и файла словаря)^
c:\Documents and Settings\имя\Application Data\SynWrite\
Syn.ini SynSpell.ini SynSpellLearn.adl SynState.ini *.adu
Ну типа как в Total Commander... (включая command line)
А в History - непонятно про %Appdata% :
use Options dlg - Misc - "Move files" button
3. Мне не хватает возможности перемещаться по LeftArrow
в конец предыдущей строки через упор в "стенку" в начале текущей.
4. Мне не хватает возможности перестаскивания вкладок.
Alextp привет.
Что на счет моей прозьбы, вынести вызов внешнего обработчика отдельным процессом (см. тут)?
Если можешь реализуй пока что просто чекбокс в опциях что бы вызов происходил через "cmd" это ж не сложно, ЦМД всегда запуститься, и ему на выполнение передать "start -parametr" где -parametr - строка формируемая настройками внешнего обработчика(это ЕХЕ и параметры запуска)
Ну а полную реализацию с перехватом строки и возможность tasskKill и прочее, потом как время будет прикрутишь, что бы отдельным процессом редактора выполнялось.
Что на счет моей прозьбы, вынести вызов внешнего обработчика отдельным процессом (см. тут)?
Если можешь реализуй пока что просто чекбокс в опциях что бы вызов происходил через "cmd" это ж не сложно, ЦМД всегда запуститься, и ему на выполнение передать "start -parametr" где -parametr - строка формируемая настройками внешнего обработчика(это ЕХЕ и параметры запуска)
Ну а полную реализацию с перехватом строки и возможность tasskKill и прочее, потом как время будет прикрутишь, что бы отдельным процессом редактора выполнялось.
Нужность в том что я програмировать пробую на Node.jsAlextp писал(а):Можешь написать, как мне потестить это-чтоб именно вызов через cmd давал рез-т? Какую прогу запустить, как именно, сначала без Сина, просто так, а потом через Син, и потом через Син + cmd. А то я не секу в чем нужность
и когда я редактирую код, и нажимаю горячую кнопку на запуск скрипта через обработчик для проверки его на ошибки и прочее, то если скрипт написан как демон, он просто вешает Син до тех пор пока скрипт работает.
Остановить скрипт в таком случае не получиться так как Син является родителем процесса, и потому приходиться принудитльно убивать процес Син что бы остановить демана (скрипт).
Потому нужно вызывать обработчик отдельно от процесса Син, например через смд. Так будет получаться что обработчик запускается не в Син а отдельно и собственно вешать его не будет. Так можно будет убивать выполняющийся демон без ущерба для данных в Син.
И получиться что мы можем убивать этот процес (который независимо выполняет скрипт) по титульному названию прямо из Син или по названию исполняемого файла (с командной строкой будет собственно cmd.exe). Присвоим гарячую кнопку этой функции и просо выполняем tasskill cmd.exe и деман убирается из памяти а мы как нивчем небывало работаем с скриптом и редактируем его дальше.
пример запуска обработчика впринципе будет выглядеть так:
c:>"c:\Program Files\nodejs\node.exe" NAME PARAM
собственно путь обработчика, Имя скрипта, параметры запуска берем из Син. Это нужно что бы ты реализовал в самом Син вызов cmd.exe с передачей в него самой строки вызова что написана чуть выше.
А в будущем просто можно будет реализовать небольшой ехе и положить его рядом с Син, что бы можно было через него работать с внешними обработчиками и перехватывать из него ответы в консоль и выводить их в консоли ошибок Син. Это собственно конечный вид моей идеи.
п.с. пока что я подумываю что бы пользоваться батниками, с зарание вписаными в них параметрами запуска скрипта, и присвоить гарясие кнопки Ф5 и Ф6 для запуска и остановки скрипта, но так я не получу ответов в консоль и это конечно полный изврат.
понял как производиться вывод в консоль ошибок в Син. Вставляем файл SynWr$$.txt из TEMP в таком случае, Син способен перехватывать консольные ответы со всего что угодно и с командной строки тоже. Но это никак не влияет на проблему. Батник не помог. Независимо от того запускаю я через:
батник с вызовом нового процесса cmd /c и вызовом скрипта
батник с прямым вызовом скрипта
cmd и передачу параметра /c"node.exe" {FileName}
сразу через node.exe и параметр {FileName}
все 4 варианта вешают Син. Почему это происходит не имею ни малейшего представления. Могу только предположить что как раз из-за перехвата консоли. Син пытается заполнить SynWr$$.txt и будет пытаться это делать до тех пор пока скрипт сервера запущен, а сам файл закрыт для обращения, так как в него Син пытается внести изменения. Тоесть нужно выносить функцию формирования этого файла и вызов внешнего обработчика отдельным процесом а не обрабатывать в Syn.exe (либо реализовывать механизм вызова внешнего приложения так что бы син не вешался, и чтение файла консоли переделывать так что бы или вообще файл не применять а работаь с масивами, к ним доступ не блокируется виндой как к файлу).
В первом варианте описаного мною запуска через батник с вызовом командной строки у нас получается такое дерево процессов:
Syn.exe
run.bat (либо cmd.exe зависимо от настроек винды)
cmd.exe
node.exe
и все дружно ожидают завершения последнего процесса который собственно демон и будет висеть пока я в ручную его не грохну.
Собственно в этом и загвоздка, вызывать node.exe независимо от Син.
Примеры скрипктов (нужно иметь установленый Node.js)
server.js
Что бы вызвать ответ об ошибке, перед строкой }).listen(8888); добавить строку ();
убедиться что скрипт работает http://localhost:8888
run.bat
либо если ассоциировать нод и файлы то
Posted after 16 minutes:
п.с. Разумеется если использоваться команду start в батнике вместо обращения к цмд, то будет вызван новый независимый процесс, но в нем нет возможности обмена консолью с родительским процессом, поэтому скрипт будет работать но без перехвата.
батник с вызовом нового процесса cmd /c и вызовом скрипта
батник с прямым вызовом скрипта
cmd и передачу параметра /c"node.exe" {FileName}
сразу через node.exe и параметр {FileName}
все 4 варианта вешают Син. Почему это происходит не имею ни малейшего представления. Могу только предположить что как раз из-за перехвата консоли. Син пытается заполнить SynWr$$.txt и будет пытаться это делать до тех пор пока скрипт сервера запущен, а сам файл закрыт для обращения, так как в него Син пытается внести изменения. Тоесть нужно выносить функцию формирования этого файла и вызов внешнего обработчика отдельным процесом а не обрабатывать в Syn.exe (либо реализовывать механизм вызова внешнего приложения так что бы син не вешался, и чтение файла консоли переделывать так что бы или вообще файл не применять а работаь с масивами, к ним доступ не блокируется виндой как к файлу).
В первом варианте описаного мною запуска через батник с вызовом командной строки у нас получается такое дерево процессов:
Syn.exe
run.bat (либо cmd.exe зависимо от настроек винды)
cmd.exe
node.exe
и все дружно ожидают завершения последнего процесса который собственно демон и будет висеть пока я в ручную его не грохну.
Собственно в этом и загвоздка, вызывать node.exe независимо от Син.
Примеры скрипктов (нужно иметь установленый Node.js)
server.js
Код: Выделить всё
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);убедиться что скрипт работает http://localhost:8888
run.bat
Код: Выделить всё
cmd /c"c:\Progra~1\nodejs\node.exe" server.js
Код: Выделить всё
server.js
п.с. Разумеется если использоваться команду start в батнике вместо обращения к цмд, то будет вызван новый независимый процесс, но в нем нет возможности обмена консолью с родительским процессом, поэтому скрипт будет работать но без перехвата.
Код: Выделить всё
start "c:\Program Files\nodejs\Node.exe" server.js