Страница 143 из 198

Добавлено: Пн июл 30, 2012 13:44
BezDNaU
BezDNaU писал(а):Можно ли сделать, чтобы плагин по Ctrl+Q запускался сразу в режиме редактирования. (без нажимания замочков)?
Будет ли вообще когда-нибудь?

Добавлено: Пн июл 30, 2012 14:27
Alextp
Будет. см. опцию в Help - "TC Lister Plugin" вечером

Добавлено: Пн июл 30, 2012 14:43
BezDNaU
Спасибо! :D

Добавлено: Пн июл 30, 2012 21:52
Alextp
Update 3.8.x.

SynWrite (Syn2)

Добавлено: Пт авг 03, 2012 09:52
psw
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. Мне не хватает возможности перестаскивания вкладок.

Добавлено: Пт авг 03, 2012 11:52
Alextp
3. опция Редактор- Каретка только в тексте
4. уже есть! У меня работает (не между "видами")
2. положение ini можно делать в папке SW- см. FAQ - portable

Добавлено спустя 3 минуты:

1. баг вижу

Добавлено: Пт авг 03, 2012 22:57
Alextp
update(fix бага с spell checker).

Добавлено: Вс авг 05, 2012 01:02
480499497
Alextp привет.
Что на счет моей прозьбы, вынести вызов внешнего обработчика отдельным процессом (см. тут)?
Если можешь реализуй пока что просто чекбокс в опциях что бы вызов происходил через "cmd" это ж не сложно, ЦМД всегда запуститься, и ему на выполнение передать "start -parametr" где -parametr - строка формируемая настройками внешнего обработчика(это ЕХЕ и параметры запуска)

Ну а полную реализацию с перехватом строки и возможность tasskKill и прочее, потом как время будет прикрутишь, что бы отдельным процессом редактора выполнялось.

Добавлено: Вс авг 05, 2012 01:14
Alextp
Можешь написать, как мне потестить это-чтоб именно вызов через cmd давал рез-т? Какую прогу запустить, как именно, сначала без Сина, просто так, а потом через Син, и потом через Син + cmd. А то я не секу в чем нужность

Добавлено: Вс авг 05, 2012 02:03
480499497
Alextp писал(а):Можешь написать, как мне потестить это-чтоб именно вызов через cmd давал рез-т? Какую прогу запустить, как именно, сначала без Сина, просто так, а потом через Син, и потом через Син + cmd. А то я не секу в чем нужность
Нужность в том что я програмировать пробую на Node.js
и когда я редактирую код, и нажимаю горячую кнопку на запуск скрипта через обработчик для проверки его на ошибки и прочее, то если скрипт написан как демон, он просто вешает Син до тех пор пока скрипт работает.
Остановить скрипт в таком случае не получиться так как Син является родителем процесса, и потому приходиться принудитльно убивать процес Син что бы остановить демана (скрипт).
Потому нужно вызывать обработчик отдельно от процесса Син, например через смд. Так будет получаться что обработчик запускается не в Син а отдельно и собственно вешать его не будет. Так можно будет убивать выполняющийся демон без ущерба для данных в Син.
И получиться что мы можем убивать этот процес (который независимо выполняет скрипт) по титульному названию прямо из Син или по названию исполняемого файла (с командной строкой будет собственно cmd.exe). Присвоим гарячую кнопку этой функции и просо выполняем tasskill cmd.exe и деман убирается из памяти а мы как нивчем небывало работаем с скриптом и редактируем его дальше.

пример запуска обработчика впринципе будет выглядеть так:
c:>"c:\Program Files\nodejs\node.exe" NAME PARAM
собственно путь обработчика, Имя скрипта, параметры запуска берем из Син. Это нужно что бы ты реализовал в самом Син вызов cmd.exe с передачей в него самой строки вызова что написана чуть выше.


А в будущем просто можно будет реализовать небольшой ехе и положить его рядом с Син, что бы можно было через него работать с внешними обработчиками и перехватывать из него ответы в консоль и выводить их в консоли ошибок Син. Это собственно конечный вид моей идеи.

п.с. пока что я подумываю что бы пользоваться батниками, с зарание вписаными в них параметрами запуска скрипта, и присвоить гарясие кнопки Ф5 и Ф6 для запуска и остановки скрипта, но так я не получу ответов в консоль и это конечно полный изврат.

Добавлено: Вс авг 05, 2012 13:05
Alextp
а) пришли мне скрипт простой, чтобы можно запускать "под node,js". И батник для запуска
б) если пропишеь
имя файла: cmd.exe
пар-ры: /c"c:\Progra~1\nodejs\node.exe Name Param"

это будет ОК?

Добавлено спустя 2 минуты:

-но так я не получу ответов в консоль
Попробуй, вдруг получишь

Добавлено: Вс авг 05, 2012 20:23
480499497
понял как производиться вывод в консоль ошибок в Син. Вставляем файл 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

Код: Выделить всё

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

Код: Выделить всё

cmd /c"c:\Progra~1\nodejs\node.exe" server.js 
либо если ассоциировать нод и файлы то

Код: Выделить всё

server.js
Posted after 16 minutes:

п.с. Разумеется если использоваться команду start в батнике вместо обращения к цмд, то будет вызван новый независимый процесс, но в нем нет возможности обмена консолью с родительским процессом, поэтому скрипт будет работать но без перехвата.

Код: Выделить всё

start "c:\Program Files\nodejs\Node.exe"  server.js

Добавлено: Вс авг 05, 2012 20:40
Alextp
понял. попробую. ПК в ремонте, попробую как только. на этом ноуте неудобно.

Добавлено: Вс авг 05, 2012 20:42
480499497
сейчас остановился на вызов внешнего обработчика с такими настройками:

Имя файла: cmd
Параметры: /c start {FileName}

Демон запускается независимо но ответа об ошибках не видно.
я склонен думать что син глохнет имено из-за блокировки виндовсом файла SynWr$$.txt

Добавлено: Вс авг 05, 2012 20:56
Alextp
глохнет не "из-за блокировки".Дело в том что пускается такой процесс

cmd.exe /c"здесь комстрока" >%Temp%\synWr$$.txt

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