сделать стартовой  |  добавить в избранное

   SciTE - редактор кода для программистов

Архив SciTE-форума


Автор: gansA, Отправлено:08:12 31-03-2006
dB6

Цитата:
Там, кстати, (в настройках) удобнее - галочка отображается

Вызов
Цитата:
IDM_ONTOP
из контекстного меню тоже ставит эту галочку


Автор: dB6, Отправлено:13:11 31-03-2006
gansA

Цитата:
из контекстного меню тоже ставит эту галочку

Да, ставит галочку в главном меню (настройки), а не в контекстном. Я это имел в виду.
Автор: mozers, Отправлено:12:29 03-04-2006
SciTE 1.68 Ru-Board Edition
  • Доработанный код
  • Полностью русифицированный интерфейс
  • Частично русифицированный HELP
  • Нестандартная структура
  • Оригинальные файлы конфигураций
  • Подключены полезные скрипты

Это - первая пробная попытка сделать русскую сборку SciTE
Были использованы решения:
mimir - Главный программист - все доработки ядра программы, настройки, LUA-скрипты
mirk (Сергей Тугаринов) - Русификация HELP, настройки, скрипты и конечно сайт http://scite.ruteam.ru
dB6 - Настройки редактора, коррекция ошибок
gansA - Настройки редактора, LUA-скрипты
xdude - Настройки автоотступа
yurinb - Скрипт переключения между кодировками Win1251/DOS866
8AleX8 - Настройки .properties, .abbrev,... Да и ВООБЩЕ - родоначальник нашего топика SciTE на Ru-Board. С него все началось...
mozers™ - настройки, скрипты, комментарии, сборка

Хотелось бы упомянуть Grisper, DeadMorozBLR, ALeXkRU, VictorGS и других активных участников топика,
которые хотя и не принимали непосредственное участии в создании данной сборки,
но своими вопросами и замечаниями помогли сделать ее лучше
Если кого то забыл упомянуть, простите великодушно и сообщите мне свои координаты.

Очень надеюсь на обильную и конструктивную критику и толковые предложения.
Автор: gansA, Отправлено:13:22 03-04-2006
mozers
Реально крут!!!

сдам еще пару пустяковых скриптов )))
скрипт 1
--//============================================================================
--// трасировка выделенного текста в коды ASCII
--//============================================================================
local str = editor:GetSelText()

if string.len(str) > 0 then
    print('>ASCII code')

    for i = 1, string.len(str) do

        local strS = string.sub(str,i,i)
        local strB = string.byte(strS,1)

        print('['..strS..'] '..strB)
    end
end

скрипт 2 (работает по F5), ещет вхожения строки str0 или str1 и взависимости от них запускает бровзер

command.go.subsystem.$(file.patterns.web)=3
command.go.$(file.patterns.web)=dofile $(SciteDefaultHome)\lua\asp_browse.lua

--//============================================================================
--// запуск на исполнение страниц asp
--//============================================================================

local str0 = '\\адрес 1\\'
local str1 = '\\адрес 2\\'

local f = props['FilePath']

local s,e,path,file = string.find(f,str0..'(.*)')
local target = 'localhost'

if path == nil then
    target = 'server'
    s,e,path,file = string.find(f,str1..'(.*)')
end

if path ~= nil then
    local target = ('http://'..target..'/'..path)
    local browser = ('explorer ' .. target .. ' &')
    os.execute(browser)
else
    print('! Path template not found')
end

так же есть еще развернутая vbscript.api

Добавлено:
+ еще раз повторюсь (оригинал 16.12.2005)

Да тишина....
Сделал еще одну полезняшку, автозакрытие символов, как все оказалось просто
startup.lua

Цитата:
function SymbolAutoClose(charAdded,symS,symE,pos)
if charAdded == symS then
editor:InsertText(pos,symE)
end
return 0
end

function OnChar(charAdded)
local pos = editor.CurrentPos

SymbolAutoClose(charAdded,'(',')',pos)
SymbolAutoClose(charAdded,'"','"',pos)
SymbolAutoClose(charAdded,'[',']',pos)
SymbolAutoClose(charAdded,'{','}',pos)
SymbolAutoClose(charAdded,"'",string.char(39),pos)
end

Автор: DeadMorozBLR, Отправлено:15:46 03-04-2006
gansA

Спасибо за автозакрытие символов: попользовался, однако прибил. Дело в том, что часто случается так, что автоматом набираешь открывающую и закрывающую скобки вместе - привычка, выработанная годами - и получается, что закрывающих скобок набирается две.

В Zend Studio это сделано более интеллектуально: при наборе следующего после автозакрытия символа проверяется, не является ли он этим самым "закрывающим", и в таком случае второй раз не набирается, а курсор остается между ними.

С удовольствием потестил бы исправленную версию. =)
Автор: mimir, Отправлено:18:30 03-04-2006
DeadMorozBLR

Цитата:
С удовольствием потестил бы исправленную версию. =)

Наслаждайся

function SymbolAutoClose(charAdded,symS,symE,pos)
if(pos<2)then
return 0
end
local PrevSym = string.char(editor.CharAt[pos-2])
-- print('PrevSym='..PrevSym..' '..charAdded)
if ((PrevSym == symS) and (charAdded ~= symE)) then
editor:InsertText(pos,symE)
end
return 0
end

ЗЫ. Спасибо за идею.
Автор: mirk, Отправлено:19:43 03-04-2006
Блин, ребята молодцы, клёво, собрать такое......

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

Нашел одну ошибку в сборке:
В файле open with scite.reg нужно убрать комменты, иначе винда не воспринимает его как файл реестра.

Просьба к коммунити, кто сможет написать скрипт переноса выделенных строк, по сочетанию клавиш, Alt+up, Aly+Down, с удовольствием повозился бы сам, но никак
Спасибо заранее.

P.S. Извините за несвязанную речь, весь в себе



Добавлено:
Новый пост на сайте: Примеры настроек подсветки синтаксиса ЯП со скриншотами

Суть в следуещем: человек выкладывает пример настройки подсветки синтаксиса ЯП со скриншотом открытого файла в SciTE.

Ну, кто хочет первым засветиться своим УЖАСНЫМ цветовым вкусом? ))

P.S. Для размещения скриншота необходима регистрация.
Автор: ALeXkRU, Отправлено:22:20 03-04-2006

Цитата:
В файле open with scite.reg нужно убрать комменты, иначе винда не воспринимает его как файл реестра.

достаточно переставить комментарий после REGEDIT4

mozers
класс! узнал много нового

в подсказках синтаксиса:

Цитата:
А теперь то же самое - с помощью шорткатов Сtrl+I и Сtrl+Enter

у меня работают только с Ctrl+Space
Автор: mozers, Отправлено:22:31 03-04-2006
Спасибо за добрые слова
Вначале извините за SciLister.wlx
Плагин, конечно, неплохой, но в дистрибутв сборки он попал по недосмотру...

gansA
Спасибо за скрипты Правда тот первый (автозакрытие) мне чой то не понравился. Я и в других редакторах эту прелесть всегда отрубаю.
Новые варианты еще не смотрел - обязательно гляну.
Для таких вредных как я можно создавать в пропертях переменную (например braces.autoclose=0) которую скрипт будет проверять и выполнять свою работу или нет. Тогда пользователь сможет легко включить/отключить эту фичу.
Цитата:
так же есть еще развернутая vbscript.api
Так поделись пожалуйста! Чо людей то дразнишь?
Если сам делал, то копирайты не забудь поставить.

Кстати, ВСЕМ кто выдает для людей законченные произведения.
Постарайтесь хоть немного оформить код перед публикацией. Не забывайте указывать свои координаты.
Я понимаю вашу природную скромность, но тут - другое дело. Кому пойдут замечания, предложения по вашей фиче???...
Ну, в общем, понятно...


mirk
Цитата:
в глаза бросилось отсутствие проблем с русскими именами пользователя винды
УРА! САМО ПОЧИНИЛОСЬ ))

Цитата:
Выкладываем свои настройки подсветки синтаксиса со скриншотом
ОЧЕНЬ ИНТЕРЕСНАЯ ИДЕЯ!


Видимо пока никто еще не изучал файлы конфигураций сборки...
А то я туда вопросов навтыкал...
Самый главный:
КАК заставить автодополнение автоматом врубаться после нажатия на точку???
(Даже в HELP пример есть - только не работает ни хрена ни с JS ни с VBS


Добавлено:
ALeXkRU
Спасибо, вижу что лазил по настройкам
Ответить, правда не могу. С этим чудесным автодополнением, что подарил нам mimir я сам до конца не разобрался Где то работает на "отлично". Где то - в упор не видит api-файл
Автор: ALeXkRU, Отправлено:23:18 03-04-2006
mozers
вот, позаимствовал в Notepad++ некоторое количество файлов автоподстановки - api
APIs.rar ... мож пригодится
Автор: mirk, Отправлено:02:11 04-04-2006
ЖЖ , работает кросспостинг с сайта
Автор: dB6, Отправлено:03:02 04-04-2006
mimir
Цитата:
Наслаждайся
А сам то хоть пробовал?;) Имхо, весьма глючный скрипт. Дополняет и дополняет...

mirk
Малайца!

Ну а mozers - полный респект
Но заслуженную критику получит
Автор: Grisper, Отправлено:09:19 04-04-2006
mirk в ЖЖ лучше имхо комьюнити завести.
Тогда люди смогут вопросы задавать там и т.п.
Например http://community.livejournal.com/ru_mirandaim/ - удачный пример тому

Автор: mozers, Отправлено:09:26 04-04-2006
Прошу прощения перед участниками - вопрос назрел только для программистов:
Дико хочется наладить нормальное взаимодействие между Скайтом и внешними прогами и скриптами. Такое же простое и прозрачное как существующествующее со встроенным LUA. Т.е. хочу писать так:
Код:
Set objScite = WScript.CreateObject("Scite.Application")
text = objScite.GetSelText
text = "<B>" + text + "</B>"
objScite.ReplaceSelText text
Пробую написать сервер автоматизации. Вроде как получается, НО как я допустим реализовал GetSelText:
Нахожу окно редактирования и посылаю ему сообщение EM_GETSELTEXT.
Работает... НО это - по сути хаккерский метод, вынуждающий меня каждую функцию выдумывать заново.
Вопрос:
Неужели никак нельзя воспользоваться встроенными в SciTE функциями? и обращаться непосредственно к ним?
Насколько я понимаю достаточно объявить их экспортируемыми и перекомпилить SciTE.
Тогда обращатся к ним можно будет не только с помощью COM-интерфейса, а даже из BAT файла!
Код:
rundll32.exe scite.exe,ZoomOut


Я не программист. Возможно какие то мои мысли покажутся вам наивными...
Тока и вы не мудрите Возможно это или нет?

Добавлено:
Grisper
Лично я уже высказывался ПРОТИВ растаскивания обсуждения в разные места.
Повторюсь: Я - за то чтобы обсуждение велось ТОЛЬКО ТУТ!
Автор: mirk, Отправлено:11:33 04-04-2006

Цитата:
Лично я уже высказывался ПРОТИВ растаскивания обсуждения в разные места.
Повторюсь: Я - за то чтобы обсуждение велось ТОЛЬКО ТУТ!


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


Цитата:
mirk в ЖЖ лучше имхо комьюнити завести.

неа См. выше.

P.S. Кстати, если будете размещать комментарии на сайте, подпишитесь пожалуйста на рассылку новых комментов, вроде ошибка исправлена(не отсылались сообщения о новых комментариях подписавшимся), осталось только протестировать.
Автор: mimir, Отправлено:12:37 04-04-2006
dB6

Цитата:
А сам то хоть пробовал?;) Имхо, весьма глючный скрипт. Дополняет и дополняет...

Согласен, я это заметил еще вчера вечером, и по дороге домой придумал несколько вариантов. Самый удачный на мой взгляд - это проверять не предыдшествующий символ, а символ который был набран последний раз.
Например


Цитата:

function SymbolAutoClose(charAdded,symS,symE,pos)
local PrevSym = props['PrevKey']
if ((PrevSym == symS) and (charAdded ~= symE)) then
editor:InsertText(pos,symE)
end
return 0
end


function OnChar(charAdded)
if(props['braces.autoclose']=='1')then --For mosers
local pos = editor.CurrentPos
SymbolAutoClose(charAdded,'(',')',pos)
props['PrevKey'] = charAdded;
end
end


Может стоит проверять и на не равество вновь введенного символа открывающемусимволу или проверять и место последнего введенного символа, в общем жду идей.
mozers

Цитата:
Где то работает на "отлично". Где то - в упор не видит api-файл

По Ctrl-B он вызывает IDM_COMPLITEWORD, a я переделал IDM_COMPLITE

Цитата:
КАК заставить автодополнение автоматом врубаться после нажатия на точку???

Проблема в том что для заполнения списка используеться начало слова, а точка являеться разделителем, поэтому в список должны поподать все возможные слова, но это запрещено(для автодополнения должно существовать начало слова).

Цитата:
Нахожу окно редактирования и посылаю ему сообщение EM_GETSELTEXT.

По сути именно этот способ и есть правельный. Сообщения для того и сделаны.
mirk

Цитата:
Просьба к коммунити, кто сможет написать скрипт переноса выделенных строк, по сочетанию клавиш, Alt+up, Aly+Down, с удовольствием повозился бы сам, но никак

Присоединяюсь к просьбе.
У меня не очень получаеться

Цитата:

local line = editor:LineFromPosition(editor.CurrentPos)
local ls = editor:GetLine(line)
editor:LineDelete()
editor:LineUp();
editor:InsertText(editor.CurrentPos,ls)

Я не нашел как найти начало линии. Может кто подскажет

Автор: mozers, Отправлено:13:38 04-04-2006
mimir

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

Имхо точка является разделителем только в литературе
В программировании основной разделитель - пробел, запятая, ...
Может поправить это дело можно ???

Цитата:
EM_GETSELTEXT.
По сути именно этот способ и есть правельный

Ну проблему получения текста так решить можно (хотя мне не нравится). А как читать значения пропертей (допустим)? Писать собственную процедуру анализа конфигурационных файлов? Чо то - нехорошо.
Вот если бы использовать встроенные функции самого SciTE... Сказка...
Чо, нельзя что ли их сделать экспортируемыми ???
Ничего другого в голову не лезет - так меня эта идея убуяла
Автор: mimir, Отправлено:14:09 04-04-2006
Вызывать ф. надо синхронно и для этого используеться механизм сообщений(сам Scite именно так и вызывает многие ф.), а если их начать вызывать из разных потоков, то еще неизвестно как все будет работать.

Цитата:
Писать собственную процедуру анализа конфигурационных файлов?


Тоже не получиться, ведь проперти пожно создовать и в скриптах.

http://scintilla.sourceforge.net/ScintillaDoc.html#SCI_GETPROPERTY
SCI_GETPROPERTY
SCI_GETPROPERTYINT

На счет точки там надо посмотреть. Я говорил про автокомплит(по нажатию Ctrl+Space), а автоматическое включение я еще не смотрел

И еще как на счет скрипта перемещения строк?
Автор: dB6, Отправлено:14:40 04-04-2006
mimir
Цитата:
Самый удачный на мой взгляд - это проверять не предыдшествующий символ, а символ который был набран последний раз.

Мне эта же идея вчера в голову пришла, как поюзал твой скрипт и сделал даже набросок.
Только у тебя есть маленькая ошибка - если я набираю подряд закрывающий и открывающий символ и если символ закрывающий равен открывающему.
Я проверял на совпадение и если было совпадение, то очищал буфер с пред. символом набранным.
А потом родилась идея - использовать массив для того чтобы автозакрывать не только последний символ, а несколько подряд т.е. ('текст').


Автор: mirk, Отправлено:15:22 04-04-2006

Цитата:
Я не нашел как найти начало линии. Может кто подскажет

editor:Home(); - вроде это то что ты ищешь.


Вот что я накидал (пашет, но с глюками):


Код:

command.name.31.*=Переместить строку вверх
command.subsystem.31.*=3
command.31.*=MoveLineUp
command.mode.31.*=savebefore:no
command.shortcut.31.*=Alt+Up

command.name.32.*=Переместить строку вниз
command.subsystem.32.*=3
command.32.*=MoveLineDown
command.mode.32.*=savebefore:no
command.shortcut.32.*=Alt+Down


function MoveLineUp()
editor:LineCut();
editor:LineUp();
editor:Home();
editor:Paste();
editor:LineUp();
editor:LineScrollUp();
end

function MoveLineDown()
editor:LineCut();
editor:LineDown();
editor:Home();
editor:Paste();
editor:LineUp();
editor:LineScrollDown();
end


Работает только для одно строки, а хочется для многих .



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 / 105 / 106 / 107 / 108 / 109 / 110 / 111 / 112 / 113 / 114 / 115 / 116 / 117 / 118 / 119 / 120 / 121 / 122 / 123 / 124 / 125 / 126 / 127 / 128 / 129 / 130 / 131 / 132 / 133 / 134 / 135 / 136 / 137 / 138 / 139 / 140 / 141 / 142 / 143 / 144 / 145 / 146 / 147 / 148 / 149 / 150 / 151 / 152 / 153 / 154 / 155 / 156 / 157 / 158 / 159 / 160 / 161 / 162 / 163 / 164 / 165 / 166 / 167 / 168 / 169 / 170 / 171 / 172 / 173 / 174 / 175 / 176 / 177 / 178 / 179 / 180 / 181 / 182 / 183 / 184 / 185 / 186 / 187 / 188 / 189 / 190 / 191 / 192 / 193 / 194 / 195 / 196 / 197 / 198 / 199 / 200 / 201 / 202 / 203 / 204 / 205 / 206 / 207 / 208 / 209 / 210 / 211 / 212 / 213 /
SciTE © 2004 - 2011