Ru-Board.club
← Вернуться в раздел «Программы»

» SciTE - Open Source Text Editor for Windows & Linux

Автор: DeadMorozBLR
Дата сообщения: 17.05.2007 13:24
Подскажите, уважаемые, есть ли возможность сделать так, чтобы scite сам "догадывался" о кодировке открываемого файла? Дело в том, что приходиться работать с файлами в UTF-8 без BOM, и он, естественно, открывает их как windows-1251. При этом с файлами в кодировке windows-1251 тоже приходится работать, так что выставлять кодировку по умолчанию в UTF-8 особого смысла нет.
Может хотя бы можно повесить на смену кодировки горячие клавиши?
Автор: vladvro
Дата сообщения: 17.05.2007 13:48
DeadMorozBLR
Цитата:
Может хотя бы можно повесить на смену кодировки горячие клавиши?

это легко, правишь файл настроек:
SciTEUser.properties строка 809
Код: user.shortcuts=\
...\
Shift+F1|IDM_ENCODING_DEFAULT|\
Shift+F2|IDM_ENCODING_UCOOKIE|\
...
Автор: dB6
Дата сообщения: 17.05.2007 14:04
mozers

Цитата:
Я правильно подкорректировал твою цитату?

Ага
Автор: azzzis
Дата сообщения: 17.05.2007 14:39
mozers

Цитата:
- работа с каталогами и файлами (с проектом) так как это сделано в TextMate, или e-TextEdit (можно на базе сессиий)
Встроенного функционала такого плана никогда не будет.

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


Цитата:
Работу с файлами сессий очень упрощает SessionManager (сочинял, сочинял я его - а никто не ругает - абыдно, да

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

Автор: DeadMorozBLR
Дата сообщения: 17.05.2007 14:54
vladvro, спасибо. на самом деле не думаю, что разпознавать было бы уж особо полезно на практике, горячих клавиш вполне достаточно )
Автор: azzzis
Дата сообщения: 17.05.2007 16:33
vladvro

Цитата:
вот файлы настроек и API

Спасибо! Цвета понравились, только я пользую фонт Consolas, для него пришлось жирность везде поснимать.
Автор: mozers
Дата сообщения: 17.05.2007 19:39
azzzis
Цитата:
реализация через тормозные-кривые api лично мне не по вкусу.
Нее... Все тормоза тут вызваны не api (который совсем не тормозной и ничуть не кривой), а использованным мной движком HTA, который хотя и очень удобен для быстрописаниянаколенке, формы отрисовывает заметно долго.

Цитата:
Вот был бы скайт на дельфях писаный, я бы уже что-нить слабал, а писать интерфейсики "сбоку" не охота.
Одно из основных преимуществ SciTE заключается в его очень развитом и многогранном API, позволяющем без особого труда и бесцельного ожидания милости разработчика писать любые внешние приложения, которые будут работать абсолютно так же как внутренние процедуры.
Если бы весь функционал, реализованный через скрипты и внешние приложения (и необходимый далеко не всем) зашить в ядро, то SciTE бысто превратился бы из шустрого и маленького редактора с большими возможностями в тяжелого и неприподъемного монстра.
Нейл активно возражает против добавления в SciTE тех функций, которые нужны далеко не всем. Я его в этом поддерживаю.
Так что, чем ждать у моря погоды, давно бы "слабал" на Дельфях самый лучший и удобный менеджер проектов
Автор: Midas
Дата сообщения: 17.05.2007 19:59
Установка Bookmark'а по 1 щелчку на панели Bookmark'ов.
Оказывается, это было предусмотрено в ядре...

SciTEProps.cxx:1183

Код:
    SendEditor(SCI_SETMARGINSENSITIVEN, 2, 1);
Автор: azzzis
Дата сообщения: 18.05.2007 00:30
mozers

Цитата:
Нейл активно возражает против добавления в SciTE тех функций, которые нужны далеко не всем.


Ну, наверное, он по своему прав.
Автор: vladvro
Дата сообщения: 18.05.2007 08:50
Midas
Цитата:
Установка Bookmark'а по 1 щелчку на панели Bookmark'ов.

а как быть с выделением строки по 1 щелчку на панели Bookmark'ов?
Автор: Midas
Дата сообщения: 18.05.2007 08:56
vladvro
a) Тройной клик по строке
b) Клик по панели номеров строк
Автор: vladvro
Дата сообщения: 18.05.2007 13:57
Midas
Цитата:
a) Тройной клик по строке
b) Клик по панели номеров строк

a) ну это для особо упорных... я к таким не отношусь
b) а я было думал что они обрабатываются как одна панель, рад что ошибался.
как вариант - пойдет, хотя первое время наверно буду мазать и вместо выделения делать букмарк
Автор: Moon_aka_Sun
Дата сообщения: 18.05.2007 23:55
В 1.73 только у меня перестал работать Transpose Lines (^T), когда курсор стоит на пустой строке, или это повсеместное явление?

Изменение if (pdoc->DeleteChars(start, len2)) на if (len2==0 || pdoc->DeleteChars(start, len2)) в scintilla\src\Editor.cxx исправляет это.
Автор: mozers
Дата сообщения: 19.05.2007 08:12
Moon_aka_Sun
К стыду своему должен сказать что многочисленные команды ядра Scintilla, несмотря на их удобство, используются мной гораздо реже, нежели команды оболочки SciTE. А все по причине их отсутствия в меню. Ну не помнит моя башка все эти клавиатурные комбинации! В Справку что ли каждый раз лазить?
Вот и этот баг заметил только после твоего поста...
Мысль (необдуманная): Может добавить все эти комбинации в меню Tools сборки (чисто для наглядности) ???
Автор: chupakabra
Дата сообщения: 19.05.2007 12:33
Столкнулся с такой проблемой:
При движении курсора по строке с помощью стрелок заметил что строка (или даже весь текст) неприятно мерцает, видимо вследствие ее перерисовки. Загрузил оригинальную версию SciTE с тем же файлом - никаких намеков не мерцание. Но когда я скопировал все настройки из русской версии - мерцание появилось и там. Соответственно вопрос: может кто сталкивался и знает, что надо поправить в настройках чтобы избавиться от мерцания?
Автор: BioInfo
Дата сообщения: 19.05.2007 13:39
chupakabra

Код: [no]# Вывод данных непосредственно на экран (0) или сначала в буфер, [/no]
[no]# и только потом на экран (1)[/no]
buffered.draw=1
[no]# При 1 - более качественный (но и более медленный) способ прорисовки текста[/no]
two.phase.draw=1
Автор: chupakabra
Дата сообщения: 19.05.2007 14:59
BioInfo
Да, есть. Вот пример SciTEUser.properties до и после включения position.autosave=1: ссылка
Автор: BioInfo
Дата сообщения: 19.05.2007 18:48
Внимание всем
Баг с position.autosave=1 заключается в следующем:
символы перевода строк в файле пользовательских настроек стоит не CR+LF, из-за этого он не верно считывается и перетирается.
Как нить поправлю чтобы распознавал, а пока лечится так:
Настройки -> Открыть файл пользовательских настроек
Настройки -> Символы перевода строки -> CR+LF
Настройки -> Конвертировать символы перевода строки

У самого эта опция включена, в файле пользовательских настроек записана куча параметров, в том числе и на расцветку, полет нормальный.
Автор: Moon_aka_Sun
Дата сообщения: 21.05.2007 00:26

Цитата:
mozers написал: многочисленные команды ядра Scintilla, несмотря на их удобство

Конечно, ^T сама по себе смешна. А вот alt+up/down для перетаскивания строк - самое то. Но код-то используется один и тот же.

Внимание, вопрос! Кто-нибудь делал, чтобы doubleclick на табе закрывал файл? Что-то не видно такого.
Автор: mozers
Дата сообщения: 21.05.2007 08:43
chupakabra
Совет BioInfo, возможно тебе и поможет, но хотелось бы вычислить "нехороший" скрипт. Попробуй закомментировать все строки с require в SciTEStartup.lua, а потом подключать по одному до появления мерцания.
Так ты поможешь не только себе, но и другим пользователям, которые мучаются молча.
(Сам бы так сделал, но у меня ни тормозов ни мерцания не наблюдается)

Moon_aka_Sun
Цитата:
Кто-нибудь делал, чтобы doubleclick на табе закрывал файл?
Я просил об этом BioInfo... он меня послал... на среднюю кнопу мыши
Автор: vladvro
Дата сообщения: 21.05.2007 09:59
mozers
Цитата:
Совет BioInfo, возможно тебе и поможет, но хотелось бы вычислить "нехороший" скрипт. Попробуй закомментировать все строки с require в SciTEStartup.lua, а потом подключать по одному до появления мерцания.

проводим следующий эксперимент:
включаем режим переноса по словам (если он не включен), создаем новый файл с очень длинной строкой, так что бы она занимала скажем полэкрана, и выделяем ее.
у меня при этом начинает бегать по тексту светлая полоска (эффект медленной прорисовки текста).
коментарим строчку:
SciTEGlobal.properties строка 1221
Код: ext.lua.startup.script=$(SciteDefaultHome)\tools\SciTEStartup.lua
Автор: chupakabra
Дата сообщения: 21.05.2007 11:42
mozers
Я не понял причем тут скрипты. А настройка помогает, мерцание исчезает. По-моему проблема просто в том, что она по умолчанию отключена (В SciTEGlobal.properties прописано buffered.draw=0). Если ее включить, то ни у кого не будет проблемы с мерцанием.
Автор: BioInfo
Дата сообщения: 21.05.2007 13:29
Всем

В беседе с mozers возник следующий вопрос, думаю нужно его обсудить со всеми, иначе как мы решим так и будет
Вопрос в следующем: какие команды (имеется ввиду иконки к ним) необходимы на тулбаре помимо уже существующих 17?
Напомню эти команды:
Создать, Открыть, Сохранить, Печать, Вырезать, Копировать, Вставить, Удалить, Отменить, Повторить, Найти, Заменить, Выполнить, Записать макрос, Прекратить запись, Выполнить макрос, Закрыть.
Это на данный момент является "стандартным" набором в сборке.
В иконках Midas я разобраться не могу.

azzzis

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

Отвечаю, хоть и с задержкой. До этого были предложены тулбары с количеством цветов 16. Ядро глатает битмапы до 256 цветов, 1 из которых (верхний левый пиксель) "прозрачность".
Мною готовится тулбар по цветастее, но пока застопорилось все на 17 иконках.
Автор: WATERPROOF
Дата сообщения: 22.05.2007 00:06

Цитата:
Вопрос в следующем: какие команды (имеется ввиду иконки к ним) необходимы на тулбаре помимо уже существующих 17?

Компилировать, собрать, выполнить!!!

отобразить непечатаемые знаки(пробелы), сохранить как, кодировка ...
Автор: chupakabra
Дата сообщения: 22.05.2007 11:07
При редактировании исходного кода на C++ и включенной автоиндентации (indent.automatic=1) столкнулся с тем что редактор вставляет отступ после конструкций вида:
if (b) do();
Немного напрягает, можно как-то это поправить?
Автор: dB6
Дата сообщения: 22.05.2007 13:10

Цитата:
Вопрос в следующем: какие команды (имеется ввиду иконки к ним) необходимы на тулбаре помимо уже существующих 17?

По мне так вообще этот тулбар не нужен..

Но если делать, то включать туда те команды, на которых нет хоткеев удобных и/или лезть далеков в меню.

Зачем они нужны для
Цитата:
Компилировать, собрать, выполнить!!!
я не совсем понимаю.
Автор: Moon_aka_Sun
Дата сообщения: 23.05.2007 23:26
Тогда ещё вопрос. Никто не думал над тем, чтобы сделать в File подменю Favorites и запихать туда 5-10 любимых файлов, которые чаще всего редактируются? Можно даже без всяких удобств, со списком этих файлов в Global properties или в ещё каком файле.
Автор: Fire_Sphere
Дата сообщения: 24.05.2007 00:27
Подскажите плиз, как можно включить (если есть) такие вещи в SciTE:
- возможность устанавливать курсор за пределами конца строки (сейчас он прыгает по концам строк)
- при посветке кода в php вроде есть опция в файле html.properties :

Код: # PHP variable in double quoted string
style.hypertext.126=fore:#007F00
Автор: vladvro
Дата сообщения: 24.05.2007 08:45
Moon_aka_Sun
Цитата:
Никто не думал над тем, чтобы сделать в File подменю Favorites и запихать туда 5-10 любимых файлов, которые чаще всего редактируются?

а зачем, если есть сессии?

Fire_Sphere
Цитата:
- возможность устанавливать курсор за пределами конца строки

нет такой возможности

Цитата:
при посветке кода в php вроде есть опция в файле html.properties :
# PHP variable in double quoted string
style.hypertext.126=fore:#007F00
но она "не работает".

у меня работает.
Код: <?php
echo "значение = $value";
?>
Автор: BioInfo
Дата сообщения: 24.05.2007 10:50

Цитата:
Думаю что в решении данного вопроса главное - следовать общим правилам
построения SciTE. Тут, как мне кажется, решением, минимально
затрагивающим общие принципы, было бы введение нового параметра для
построения меню Tools, что то типа command.48.hide...

Сделано, при добавлении command.hide.48 команда 48 не будет отображена
в меню, однако она будет работать при вызове (например из
контекстного).
[more=Читать дальше...]
В SciTEBuffers.cxx немного переделан этот кусок кода:

Код: [no]//!-start-[SubMenu][/no]
prefix = [no]"command.separator."[/no];
prefix += SString(item);
int issep = props.GetInt(prefix.c_str());

prefix = [no]"command.hide."[/no];
prefix += SString(item);
int ishide = props.GetInt(prefix.c_str());

[no]// Finally add functions stated in "command.menu." in right submenu's (by default directly in Tools menu)[/no]
prefix = [no]"command.parent."[/no];
prefix += SString(item);
int toMenu = props.GetInt(prefix.c_str());
if(toMenu != NULL && toMenu >= 0 && toMenu < toolMax && IsMenu(UMenu[toMenu].hMenu)) {
SString localised = localiser.Text(sMenuItem.c_str());
if (issep)
::InsertMenu(UMenu[toMenu].hMenu, itemID, MF_BYPOSITION | MF_SEPARATOR, IDM_TOOLS + toolMax + 1, [no]""[/no]);
if (!ishide)
SetMenuItem(UMenu[toMenu].hMenu, itemID, localised.c_str(), sMnemonic[0] ? sMnemonic.c_str() : NULL);
}
else {
if (issep) {
::InsertMenu(hToolsMenu, menuPos, MF_BYPOSITION | MF_SEPARATOR, IDM_TOOLS + toolMax + 1, [no]""[/no]);
menuPos++;
}
if (!ishide) {
SciTEBase::SetMenuItemLocalised(menuTools, menuPos, itemID, sMenuItem.c_str(), sMnemonic[0] ? sMnemonic.c_str() : NULL);
menuPos++;
}
}
}
}
[no]//!-end-[SubMenu][/no]

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

Предыдущая тема: LeechGet


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.