View previous topic :: View next topic |
Author |
Message |
BezDNaU
Joined: 31 May 2008 Posts: 65
|
(Separately) Posted: Mon Jul 30, 2012 13:44 Post subject: |
|
|
BezDNaU wrote: | Можно ли сделать, чтобы плагин по Ctrl+Q запускался сразу в режиме редактирования. (без нажимания замочков)? |
Будет ли вообще когда-нибудь? |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
BezDNaU
Joined: 31 May 2008 Posts: 65
|
(Separately) Posted: Mon Jul 30, 2012 14:43 Post subject: |
|
|
Спасибо!  |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
psw

Joined: 14 Dec 2011 Posts: 11 Location: Е-бург
|
(Separately) Posted: Fri Aug 03, 2012 09:52 Post subject: 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. Мне не хватает возможности перестаскивания вкладок. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Aug 03, 2012 11:49 Post subject: |
|
|
3. опция Редактор- Каретка только в тексте
4. уже есть! У меня работает (не между "видами")
2. положение ini можно делать в папке SW- см. FAQ - portable
Добавлено спустя 3 минуты:
1. баг вижу _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
480499497
Joined: 19 Sep 2010 Posts: 73
|
(Separately) Posted: Sun Aug 05, 2012 01:02 Post subject: |
|
|
Alextp привет.
Что на счет моей прозьбы, вынести вызов внешнего обработчика отдельным процессом (см. тут)?
Если можешь реализуй пока что просто чекбокс в опциях что бы вызов происходил через "cmd" это ж не сложно, ЦМД всегда запуститься, и ему на выполнение передать "start -parametr" где -parametr - строка формируемая настройками внешнего обработчика(это ЕХЕ и параметры запуска)
Ну а полную реализацию с перехватом строки и возможность tasskKill и прочее, потом как время будет прикрутишь, что бы отдельным процессом редактора выполнялось. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sun Aug 05, 2012 01:14 Post subject: |
|
|
Можешь написать, как мне потестить это-чтоб именно вызов через cmd давал рез-т? Какую прогу запустить, как именно, сначала без Сина, просто так, а потом через Син, и потом через Син + cmd. А то я не секу в чем нужность _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
480499497
Joined: 19 Sep 2010 Posts: 73
|
(Separately) Posted: Sun Aug 05, 2012 02:03 Post subject: |
|
|
Alextp wrote: | Можешь написать, как мне потестить это-чтоб именно вызов через cmd давал рез-т? Какую прогу запустить, как именно, сначала без Сина, просто так, а потом через Син, и потом через Син + cmd. А то я не секу в чем нужность |
Нужность в том что я програмировать пробую на Node.js
и когда я редактирую код, и нажимаю горячую кнопку на запуск скрипта через обработчик для проверки его на ошибки и прочее, то если скрипт написан как демон, он просто вешает Син до тех пор пока скрипт работает.
Остановить скрипт в таком случае не получиться так как Син является родителем процесса, и потому приходиться принудитльно убивать процес Син что бы остановить демана (скрипт).
Потому нужно вызывать обработчик отдельно от процесса Син, например через смд. Так будет получаться что обработчик запускается не в Син а отдельно и собственно вешать его не будет. Так можно будет убивать выполняющийся демон без ущерба для данных в Син.
И получиться что мы можем убивать этот процес (который независимо выполняет скрипт) по титульному названию прямо из Син или по названию исполняемого файла (с командной строкой будет собственно cmd.exe). Присвоим гарячую кнопку этой функции и просо выполняем tasskill cmd.exe и деман убирается из памяти а мы как нивчем небывало работаем с скриптом и редактируем его дальше.
пример запуска обработчика впринципе будет выглядеть так:
c:>"c:\Program Files\nodejs\node.exe" NAME PARAM
собственно путь обработчика, Имя скрипта, параметры запуска берем из Син. Это нужно что бы ты реализовал в самом Син вызов cmd.exe с передачей в него самой строки вызова что написана чуть выше.
А в будущем просто можно будет реализовать небольшой ехе и положить его рядом с Син, что бы можно было через него работать с внешними обработчиками и перехватывать из него ответы в консоль и выводить их в консоли ошибок Син. Это собственно конечный вид моей идеи.
п.с. пока что я подумываю что бы пользоваться батниками, с зарание вписаными в них параметрами запуска скрипта, и присвоить гарясие кнопки Ф5 и Ф6 для запуска и остановки скрипта, но так я не получу ответов в консоль и это конечно полный изврат. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sun Aug 05, 2012 13:03 Post subject: |
|
|
а) пришли мне скрипт простой, чтобы можно запускать "под node,js". И батник для запуска
б) если пропишеь
имя файла: cmd.exe
пар-ры: /c"c:\Progra~1\nodejs\node.exe Name Param"
это будет ОК?
Добавлено спустя 2 минуты:
-но так я не получу ответов в консоль
Попробуй, вдруг получишь _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
480499497
Joined: 19 Sep 2010 Posts: 73
|
(Separately) Posted: Sun Aug 05, 2012 20:08 Post subject: |
|
|
понял как производиться вывод в консоль ошибок в Син. Вставляем файл 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
Code: | var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888); |
Что бы вызвать ответ об ошибке, перед строкой }).listen(8888); добавить строку ();
убедиться что скрипт работает http://localhost:8888
run.bat
Code: |
cmd /c"c:\Progra~1\nodejs\node.exe" server.js
|
либо если ассоциировать нод и файлы то
Posted after 16 minutes:
п.с. Разумеется если использоваться команду start в батнике вместо обращения к цмд, то будет вызван новый независимый процесс, но в нем нет возможности обмена консолью с родительским процессом, поэтому скрипт будет работать но без перехвата.
Code: | start "c:\Program Files\nodejs\Node.exe" server.js |
|
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
480499497
Joined: 19 Sep 2010 Posts: 73
|
(Separately) Posted: Sun Aug 05, 2012 20:42 Post subject: |
|
|
сейчас остановился на вызов внешнего обработчика с такими настройками:
Имя файла: cmd
Параметры: /c start {FileName}
Демон запускается независимо но ответа об ошибках не видно.
я склонен думать что син глохнет имено из-за блокировки виндовсом файла SynWr$$.txt |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sun Aug 05, 2012 20:56 Post subject: |
|
|
глохнет не "из-за блокировки".Дело в том что пускается такой процесс
cmd.exe /c"здесь комстрока" >%Temp%\synWr$$.txt
-если указана галка "Перехват вывода". если не указана то пускается не смд, а сама комстрока. поэтому и образуется цепочка, и пока комтрока не килнется, вывода не будет. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
|