Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux

Модерирует : gyra, Maz

Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

   

Spab



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

A free source code editor for Win32 and X
Русскоязычный форум поддержки

  • Один из самых настраиваемых текстовых редакторов из ныне существующих. Настраивается практически все.
  • Индивидуальная подсветка для разных языков програмирования, фолдинг для классов, функций и структур, авто-дополнение, и т.д. и т.п. ...
     
  • Scite-interest -- Discussion of the SciTE editor
  • Русский сайт SciTE (документация, FAQ, снимки экрана, утилиты, скрипты и т.д. и т.п....)
  • Мечта кодера. статья
  • Burgaud.com - US.SciTE
  • SciTE: Scintilla Text Editor with Extensions
  • Filerx, SideWinder
  • ......
     
       
  • Project file releases
  • Project summary (including basic statistics)
  • Новости со SciTE.ru
     
    Последняя версия редактора - SciTE 1.74
     
    SciTE 1.74 .52Ru-Board Edition [Сборка 20.09.2007]
    Oписание: сборки ядра  
     
    Дружественная тема: Доработка исходного кода и компилирование сборки Ru-Board Edition
     
    Нерешенные задачи и вопросы ( Для умных и талантливых форумчан )
     
    P.S. Если вы используете SciTE для своих нужд, таких как: написание HTML, CSS, Java Script, PHP и др. кода для сайта, или просто вам нравится этот редактор, поставьте пожалуйста ссылку или баннер на сайт - http://scite.ruteam.ru, благодаря этому у сайта повышается индекс цитирования, соответственно увеличивается количество пользователей редактора.

  • Всего записей: 64 | Зарегистр. 02-09-2001 | Отправлено: 03:05 04-06-2002 | Исправлено: mozers, 13:45 04-10-2007
    Jus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, подскажите как сделать выранивание(сдвиг) выделенного блока редактируемого текста (вправо/влево). Похоже стандартной возможности нет... а жаль Может есть готовы скрипт для этого?

    Всего записей: 18 | Зарегистр. 30-04-2003 | Отправлено: 11:10 04-10-2006 | Исправлено: Jus, 11:20 04-10-2006
    dB6



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jus

    Цитата:
    Народ, подскажите как сделать выранивание(сдвиг) выделенного блока редактируемого текста (вправо/влево).

    Выделяем текст. Нажимаем Tab - вправо.
    Shift+Tab - влево.
    Можно так.
     
    Добавлено:
    Если 1 строка выделена - курсор должен быть вначале текста.
    Если несколько строк выделено - то все равно где.

    Всего записей: 408 | Зарегистр. 09-02-2003 | Отправлено: 12:57 04-10-2006
    Jus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dB6
    Премного благодарен за подсказку!

    Всего записей: 18 | Зарегистр. 30-04-2003 | Отправлено: 13:31 04-10-2006
    vladvro



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers

    Цитата:
    Весь скрипт помещаешь в отдельный файл. В конце его не забудь добавить scite_OnUpdateUI(MyFunction), где MyFunction - имя твоей функции ...  

    замечание по работе этой функции:
    ее нельзя (!) использовать в скриптах подключеных в качестве дополнения для лексера.
    пример определения такого дополнения:
    extension.$(file.patterns.html)=$(SciteDefaultHome)\tools\html_functions.lua
    т.к. при этом происходит многократное добавление функции и последующий многократный ее вызов.

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 15:30 04-10-2006 | Исправлено: vladvro, 15:31 04-10-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vladvro
    Цитата:
    т.к. при этом происходит многократное добавление функции и последующий многократный ее вызов

    Да, именно так будет если не позаботиться о удалении этой функции после ее использования. Такой пример есть в сборке Ru-Board (InsertSpecialChar.lua).
    А вообще у меня была мысль подкорректировать этот скрипт (я про append_handler.lua) просто запретив добавление нового обработчика если его имя совпадает с уже имеющимся (тогда можно будет вообще не заботится об удалении), но что то не допетрил как это сделать.

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 09:11 05-10-2006
    LASC

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    а какой нибуть скрипт для автоформата c-like языков есть?

    Всего записей: 6 | Зарегистр. 20-01-2006 | Отправлено: 09:15 05-10-2006
    vladvro



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers

    Цитата:
    Да, именно так будет если не позаботиться о удалении этой функции после ее использования.

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

    Цитата:
    А вообще у меня была мысль подкорректировать этот скрипт (я про append_handler.lua) просто запретив добавление нового обработчика если его имя совпадает с уже имеющимся (тогда можно будет вообще не заботится об удалении), но что то не допетрил как это сделать.

    угу правильная мысль, у меня она тоже возникла
    самое интересное, что автора того скрипта она тоже посещала, и он ее реализовал, но (!) на вход подается не имя фунции а указатель, он и проверяется на уникальность, но он всякий раз новый, и эта проверка не спасает.
    вобщем я пока что всех нюансов этой ситуации не разобрал, но попробую реализовать способ регистрации функции по имени.
     
    продолжение, результаты анализа:
    регистрация по имени проблему не решит. кроме того вскрылась еще одна проблема - функция после регистрации становится глобальной, а изначально то она планировалась как функция для конкретного лексера. т.е. нужно тогда еще добавлять механизм регистрации для конкретного лексера...
    короче есть простое решение, на примере OnChar:

    Код:
    old_OnChar = OnChar
    function OnChar (c)
      if old_OnChar then old_OnChar(c) end
      ...
    end

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 09:48 05-10-2006 | Исправлено: vladvro, 10:50 05-10-2006
    unreal666



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Чего-то команда "Выбрать цвет" у меня не работает.
    Выдает такое:

    Код:
    Сценарий:    C:\Program Files\Текстовые редакторы\SciTE\tools\ColorSet.js
    Строка:    34
    Символ:    1
    Ошибка:    Класс не лицензирован для использования  
    Код:    80040112
    Источник:     (null)

    Версия файла COMCTL32.OCX - 6.0.80.22.
     
    Если это из-за версии файла, то выложьте куда-нибудь нормальную версию.
     
    ------------
    Еще.
    Ошибка при установке SciTE Helper. При попытке регистрации (вручную или через setup.vbs) выскакивает окно:

    Код:
    Ошибка при вызове LoadLibrary("C:\Program Files\Текстовые редакторы\SciTE\tools\Helper\SciTE.dll")  - Не найден указанный модуль.



    ----------
    MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

    Всего записей: 6672 | Зарегистр. 14-02-2005 | Отправлено: 00:06 06-10-2006
    dB6



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LASC

    Цитата:
    а какой нибуть скрипт для автоформата c-like языков есть?

     
    Для этих целей можно юзать astyle.
     
    Free. http://astyle.sourceforge.net/
     
    Если надо пример подключения - пиши.

    Всего записей: 408 | Зарегистр. 09-02-2003 | Отправлено: 14:40 06-10-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    unreal666
    Цитата:
    Ошибка:    Класс не лицензирован для использования
    Смотри в комментах тут

    Цитата:
    C:\Program Files\Текстовые редакторы\SciTE\tools\Helper\SciTE.dll")  - Не найден указанный модуль
    Очевидно виноваты русские символы в пути.
    И зачем вы русские имена каталогам даете??? Сразу на кучу разных проблем нарываетесь (эта - далеко не единственная).
    Или переименуй "Текстовые редакторы" в "Text Editors"
    или скопируй SciTE.dll в каталог %WINDIR%\SYSTEM32 и зарегистрируй вручную, выполнив из ком.строки:
    Код:
    Regsvr32 SciTE.dll
     

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 17:46 06-10-2006
    unreal666



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers

    Цитата:
    Очевидно виноваты русские символы в пути.

    Это тут ни причем. Он у меня даже из корня диска не хочет регистрироваться (из  system32 тоже).

    Цитата:
    зарегистрируй вручную, выполнив из ком.строки:

    Я для этого не использую командную строку. У меня на dll-км давно уже внесены пункты меню для регистрации и дерегистрации (в реестре добавлял).

    ----------
    MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

    Всего записей: 6672 | Зарегистр. 14-02-2005 | Отправлено: 21:47 07-10-2006 | Исправлено: unreal666, 21:48 07-10-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    unreal666
    Я так понял что с лицензией на COMCTL32.OCX ты разобрался?
    Тогда по поводу регистрации SciTE.dll - возможно у тебя в системе отсутствует файлик msvbvm50.dll. Он имееется во всех виндах, и только в ХР SP2 гады мелкософтовцы его заменили на msvbvm60.dll ("гады" - потому что не добавили, а заменили, обеспечив тем самым неработоспособность многих прог, написанных на VB5). Найти и поставить его, конечно, не проблема, но зачем лишний раз напрягать пользователей?

    Цитата:
    У меня на dll-км давно уже внесены пункты меню для регистрации и дерегистрации (в реестре добавлял)
    На OCX - еще понимаю, а на DLL?... Большинство никакой регистрации не требуют, поскольку являются обычными библиотеками...
     
    vladvro
    Цитата:
    короче есть простое решение, на примере OnChar
    Извини, но я чой то туплю... И как это работает? (Если можно - какой нить простенький практический пример)
     
    ALL
    Тут как то звучало пожелание о скрипте, чтоб двигал не одну строку, а несколько выделенных строк вверх/вниз. Ну вот я тут изобразил:
    Подробнее...
    Жду корректив и доработок (есть небольшие проблемы когда выделенные строки находятся в самом низу файла). Да и всю остальню конструкцию элегантной не назовешь...
     
    Добавлено:
    Добавлено:
    Еще пара вопросов для знающих С++:
  • Почему то
    Код:
    print(SCLEX_ASP,SCLEX_PHP)
    возвращает nil
    Это - баг SciTE? (С другими то лексерными константами - все путем).
     
  • Никто не решится добавить событие onMenuSelect ?
    Просто уже позарез надо.
    По просьбе dB6 cделал скрипт, для замены стандартной команды меню IDM_READONLY. Теперь и в статусной строке отображается режим EDIT или VIEW, и фон закладок с файлами, защищенными от редактирования подсвечивается... Удобно. НО. Это - отдельная команда меню Tools, одноименная с существующей. Причем, если пользователь выберет не ее, а команду "Только для чтения" из меню "Настройки", то никакого "кина" не будет
    Нехорошо все это И с командами "Перевести в верхний/нижний регистр" - такая же фигня
    Вот если бы был евент onMenuSelect куда можно было бы запузырить свой обработчик, заменив существующую команду своим скриптом - это было бы - идеально...

  • Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 16:25 08-10-2006
    unreal666



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Я так понял что с лицензией на COMCTL32.OCX ты разобрался?

    Я с ней даже не разбирался.
    Я поставил Visual FoxPro 9 (мне нужно было) и  вместе с ней установился этот COMCTL32.OCX.

    Цитата:
    На OCX - еще понимаю, а на DLL?... Большинство никакой регистрации не требуют, поскольку являются обычными библиотеками...

    А мне так удобнее. У меня эти пункты меню и на ocx и на dll.

    Цитата:
    Тогда по поводу регистрации SciTE.dll - возможно у тебя в системе отсутствует файлик msvbvm50.dll.

    Правильно думаешь. Как видно из моей подписи, у меня Win2k3 R2. Нашел у себя на винте этот файлик в папке маткада, скопировал в папку system32 и SciTE.dll нормально зарегался.
    Сенкс.

    ----------
    MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

    Всего записей: 6672 | Зарегистр. 14-02-2005 | Отправлено: 06:19 09-10-2006
    vladvro



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers

    Цитата:
    И как это работает? (Если можно - какой нить простенький практический пример)

    для перехвата события в скрипте подключаемом для конкретного лексера, например так:
    extension.$(file.patterns.html)=$(SciteDefaultHome)\tools\html_functions.lua
    рекомендуется использовать следующие описание функции например OnChar:

    Код:
    old_OnChar = OnChar
    function OnChar (c)
      -- вызов исходного обработчика если он был
      if old_OnChar then old_OnChar(c) end
      -- тело функции
      if c == "=" then
        local nStyle = editor.StyleAt[editor.CurrentPos - 2]
        if nStyle == 3 or nStyle == 4 then
          editor:InsertText(editor.CurrentPos, "\"\"")
          editor:GotoPos(editor.CurrentPos + 1)
        end
      end
    end

     

    Цитата:
    Почему то
    Код:
    print(SCLEX_ASP,SCLEX_PHP)
    возвращает nil

    цитата из исходников ядра scintilla:
    SCLEX_ASP and SCLEX_PHP should not be used in new code: use SCLEX_HTML instead.
    видимо выкинули их
     

    Цитата:
    Никто не решится добавить событие onMenuSelect ?  

    я собираюсь попробовать реализовать, но несколько иное событие:
    onIMessage - перехват события в ядре scintilla, обработчиком которого является процедура:
    sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam).
    вероятно спорное решение, но перехватом onMenuSelect мы например не решим проблему с командами смены регистра в макросах, как впрочем и с любыми другими командами, которые мы захотим переопределить.
     
    P.S.
    а реализовывать onMenuSelect все равно прийдется, я как то сразу то не подумал что IDM_READONLY с ядру scintilla никакого отношения не имеет...

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 09:32 09-10-2006 | Исправлено: vladvro, 09:46 09-10-2006
    codewarlock1101



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день!
    Скажите с почему в последней версии комбинации Ctrl+Tab  и Ctrl+Shift+Tab поменялись местами(рулят по буферу файлов наоборот)??? Отвыкать очень хреново  
     
    Сорри... ступил... идею понял

    Всего записей: 92 | Зарегистр. 12-03-2005 | Отправлено: 17:19 09-10-2006 | Исправлено: codewarlock1101, 17:46 09-10-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vladvro
    Что то я не врублюсь, как твой вариант ликвидирует многократную загрузку обработчика. Имхо сколько раз вызвал твою конструкцию - столько дублей скриптов загрузилось...
    Код:
    -- вызов исходного обработчика если он был
    после 1 запуска функция ниже и станет этим "исходным обработчиком"... ну и т.д.

    Цитата:
    SCLEX_ASP and SCLEX_PHP should not be used in new code: use SCLEX_HTML instead.  
    видимо выкинули их  
    Точно. Ты - прав. Совсем я забыл что нету отдельных лексеров ни на ASP ни на PHP.  

    Цитата:
    но перехватом onMenuSelect мы например не решим проблему с командами смены регистра в макросах
    Почему? Я то думал что событие onMenuSelect будет возникать не только при выборе пункта меню, но и при вызове этого пункта меню с помощью шортката. Т.е. правильнее ее было бы назвать OnRunIDM_COMMAND

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 18:18 09-10-2006
    Moon_aka_Sun



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers
    Цитата:
    Тут как то звучало пожелание о скрипте, чтоб двигал не одну строку, а несколько выделенных строк вверх/вниз.
    Хм. Как альтернатива, можно использовать отметку строк (по Ctrl+F2) а потом Copy/Move их в одно место.
     
    Ещё идея - несколько буферов (0-9 или a-z) и отдельные клавиши для Copy/Paste с параметром. (То, что М.Ф. сделал кольцо буферов я знаю, это немного не то.)
     
    А вопрос вот такой - в меню Language есть Text, Наверное, настроенный на *.txt и т.п. Как бы сделать в простых текстовых файлах выделение цветом http и email адесов, и можно ещё, чисел, некоторых знаков препинания. Это сканер надо текстовый? Или есть уже какой-то подходящий? Не хочется копать, задача не очень важная, но может кто-то что-то знает про это?
     

    Всего записей: 60 | Зарегистр. 20-04-2005 | Отправлено: 08:18 10-10-2006
    vladvro



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers

    Цитата:
    Что то я не врублюсь, как твой вариант ликвидирует многократную загрузку обработчика. Имхо сколько раз вызвал твою конструкцию - столько дублей скриптов загрузилось...
    после 1 запуска функция ниже и станет этим "исходным обработчиком"... ну и т.д.  

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

    Цитата:
    но перехватом onMenuSelect мы например не решим проблему с командами смены регистра в макросах
    Почему? Я то думал что событие onMenuSelect будет возникать не только при выборе пункта меню, но и при вызове этого пункта меню с помощью шортката. Т.е. правильнее ее было бы назвать OnRunIDM_COMMAND  

    правильнее назвать OnMenuCommand. т.к. в коде будет перехватываться работа функции MenuCommand. точнее я ее так и назвал и реализовал, код будет чуток по позже, хочу сперва доделать событие OnSendEditor, от перевого варианта я отказался, перекидываться событиями с ядром то еще занятие, но и со вторым вариантом есть серьезные проблемы, видимо прийдется фильтровать поток событий, скажем до списка макросных.
    про меню верно, при вызове через шорткат будет вызываться функция MenuCommand, а вот из макроса - нет,
    т.к. там записываются команды уже другого уровня, уровня самого редактора, ну или иначе говоря ядра scintilla. и отправляются они напрямую через вызов функции SendEditor.
    и это еще не все проблемы с макросами, основная - это возникающая при переопределении внутренних функций путаница с тем, какие команды надо писать в макрос, а какие являются результатом работы переопределения. в результате надо это отслеживать и корректно обрабатывать.

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 08:28 10-10-2006
    HSolo



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята здорово поработали за что вам большое спасибо.
    Есть одна идейка, которую собственными силами реализовать вряд ли смогу, по крайней мере быстро. Очень хотелось бы чтобы меню TOOLS можно было конфигурить в подменю.
    Когда очень много скриптов (которые конечно можно разделить separator'ом) зачастую все не влазит на экран, да и глаза разбегаются. Вот если бы можно было реализовать подменю все стало бы просто замечательно.

    Всего записей: 13 | Зарегистр. 13-04-2006 | Отправлено: 08:40 10-10-2006
    codewarlock1101



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет! Еще вопрос.
    Будут ли ру-тим изменения наследоваться для Линух-версий... потому что други, которым ОЧЕНЬ понравился редактор сидят именно в нем...
    Простой запуск с эмуляцие win32 нормально работает, но хочеца родной скомпиленый

    Всего записей: 92 | Зарегистр. 12-03-2005 | Отправлено: 13:00 10-10-2006
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

    Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux
    Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru