Coder plugin (1)
- Author
- Message
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 366
- Joined: Mon Jan 10, 2011 5:28 pm
- Contact:
Что-то я не понял, как это должно работать и в каких случаях от такого польза будет.VladSh wrote:галку, которая будет не просто неподсвечивать текст, набранный не в том регистре, а насильно переводить его в нужный (указанный в *.coder-файле) регистр.
Файлик раскраски будет определять каким регистром мне ваять нетленку?!
Конвертировать теги html в xhtml?
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Lenchik
В *.coder-файле я указываю как правильно будут писаться ключевые слова, так что это не просто файл раскраски, наоборот, раскраска - это дело второстепенное; вспомним, что Coder было слито 2 плага: автодополнений и подсветки, и точно определить, какой важнее, невозможно.
Пример: в настроечном файле я указал правильное написание ArrayGetIndex.
Сейчас, при установленном флаге case sensitive, если я напишу хоть одну букву не в том регистре, то слово не подсвечивается, тем самым "как бы намекает нам..." ©
Я же хочу, чтобы был флаг, который бы переводил неверно набранный регистр в верный.
Вернёмся к нашему примеру.
Вариант 1: набираю arrayge, плагин выводит окошко, и курсор установлен на ArrayGetIndex, я нажимаю Enter и у меня вместо того, что я набирал, подставилась правильная запись.
Вариант 2: набираю слово до конца, т.е. arraygetindex, жму пробел или Tab и слово автоматически преобразовывается в правильное, т.е. ArrayGetIndex.
Так работают оба моих примитивных IDE, и этот функционал очень удобен (так преобразуются не только ключевые слова, но и наименования классов, методов и т.д.) - не нужно думать, какую букву в каком регистре писать, а потом, если вдруг быстро пролетел, возвращаться назад и исправлять...
Если это будет настройкой или флагом, то никаких проблем для остальных пользователей я не вижу.
В *.coder-файле я указываю как правильно будут писаться ключевые слова, так что это не просто файл раскраски, наоборот, раскраска - это дело второстепенное; вспомним, что Coder было слито 2 плага: автодополнений и подсветки, и точно определить, какой важнее, невозможно.
Пример: в настроечном файле я указал правильное написание ArrayGetIndex.
Сейчас, при установленном флаге case sensitive, если я напишу хоть одну букву не в том регистре, то слово не подсвечивается, тем самым "как бы намекает нам..." ©
Я же хочу, чтобы был флаг, который бы переводил неверно набранный регистр в верный.
Вернёмся к нашему примеру.
Вариант 1: набираю arrayge, плагин выводит окошко, и курсор установлен на ArrayGetIndex, я нажимаю Enter и у меня вместо того, что я набирал, подставилась правильная запись.
Вариант 2: набираю слово до конца, т.е. arraygetindex, жму пробел или Tab и слово автоматически преобразовывается в правильное, т.е. ArrayGetIndex.
Так работают оба моих примитивных IDE, и этот функционал очень удобен (так преобразуются не только ключевые слова, но и наименования классов, методов и т.д.) - не нужно думать, какую букву в каком регистре писать, а потом, если вдруг быстро пролетел, возвращаться назад и исправлять...
Если это будет настройкой или флагом, то никаких проблем для остальных пользователей я не вижу.
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
1. Например синтаксис VBScript НЕ case-sensitive (по умолчанию), а Jscript наоборот - case-sensitive.Lenchik wrote:в каких случаях от такого польза будет
2. В принципе понятно, но мне думается, что нечто подобное реализовано уже сейчас, а проблема иной раз в том, как "заставить" автокомплитер оставить "МОЙ" регистр в набранном, а не менять его на "СВОЙ" . Поясню (хоть, может, и сам-то в этом толком не разобрался) на искусственном примере. В "автокомплитере" есть три вида продолжений (см. настройку): с плюсиком (из документа), простое, и со звездочкой (из базы HighLight). Допустим в Jscript вы хотите вставить конструкцию "for..." но набор делаете с CapsLock. Набираете "FO". Выскакивают предложения: "Font/for/for*". 2й и 3й подходят. Выбрав 2й получаем шаблон всей конструкции с переводом набранного в нижний регистр. Выбрав 3-й получаем только само слово "for" но опять же с переводом в нижний регистр (разве вы не ЭТОГО хотели?).VladSh wrote:Я же хочу, чтобы был флаг, который бы переводил неверно набранный регистр в верный.
Штука как раз в том, что если хотим получить слово FOR в верхнем регистре, то автокомплитер поможет в этом лишь в том случае, если ранее по тексту, его ручками сами напишем (и если включена опция "с плюсиком", т.е. брать из документа!). Как только это сделано, в списке появляется четвертый выбор: "Font/for/for*/FOR+"
3. В вашем примере (с ArrayGetIndex) именно это (опция "брать из документа") и будет как нельзя кстати (с оговоркой, что в первый раз написали сами ручками и так как надо). Не пробовали?
Здесь тоже есть одна неприятность - берется только первый из ваших вариантов, поэтому, если еще до того как вы написали "ArrayGetIndex" в тексте ранее встречается, например "aRRAYgETiNDEX" то именно он и будет вам предлагаться! Так что придется быть "тщетильнЕе".
Пример не очень наглядный. Но, допустим, что речь не о программном коде, а о составлении простого текста договора типа "поставки чего-либо". В нём слово "поставщик" вертится и так и эдак (ПОСТАВЩИК/поставщику/Поставщиком) и лень подсказывает, что неплохо бы середину слова "автокомплитить", и дописывать только окончание. Но если регистр при этом меняется, то накладные расходы на его затем исправление могут и превышать пользу от автокомплитера.
О чем еще можно пофантазировать. Допустим функция "Отметить" (контекстное меню) регистрозависимая лишь "по умолчанию", но установив в ее вызове CASE на 0 можем заставить отмечать все вхождения без учета регистра (For/for/FOR). Но "отметить" не значит "выделить". А было бы наверное соблазнительно применить к "отмеченному" функции смены регистра [Ctrl+0|6|7|8|9].
Ну это меня что-то в сторону уводит (типа "множественное выделение"). Так что "стоп". :)
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
1) "вам шашечки или ехать?" :)se7h wrote:Instructor
путаница из-за "+" "*" в списке, может всё-таки придумать другое логическое разделение?
2) Предложите что-нибудь. Пока же не очевидно, чем это любой иной символ должен оказаться "логичнее" или "нелогичнее" этих двух.
"Ключевой вопрос математики: не все ли равно?" / Шендерович
-
Offline
- Posts: 767
- Joined: Mon Sep 28, 2009 10:03 am
- Location: Minsk, Belarus
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
Публично извиняюсь. Считал что указанные символы не включаются в список автодополнения "в принципе", вероятно из-за того, что имею их в списке разделителей слов (например "Аванта+" автодополняется только до "Аванта" и "+" нужно вписывать вручную).se7h wrote:viewtopic.php?p=9864#p9864
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
opk44, Instructor
Это не ствсем то.. вернее совсем не то, что я хочу. С другой стороны для того чтобы комфортно можно было работать вы предлагаете вначале написания кода открыть coder-файл, скопировать все слова оттуда и вставить в свой файл, чтобы оно подхватывалось из текста, а после окончания работы удалить вверху этот кусок, так что ли? Сомнительное удобство. Плюс ещё куча всякой хламотени, которая сбивает с толку; поэтому я не использую "слова из документа". Хотелось бы как раз чтобы отображались и вставлялись с нужным регистром только определённые мной слова. Для моих coder-файлов так все слова, которые там есть.
Спасибо за вариант, я его уже проходил, это не подходит.
Это не ствсем то.. вернее совсем не то, что я хочу. С другой стороны для того чтобы комфортно можно было работать вы предлагаете вначале написания кода открыть coder-файл, скопировать все слова оттуда и вставить в свой файл, чтобы оно подхватывалось из текста, а после окончания работы удалить вверху этот кусок, так что ли? Сомнительное удобство. Плюс ещё куча всякой хламотени, которая сбивает с толку; поэтому я не использую "слова из документа". Хотелось бы как раз чтобы отображались и вставлялись с нужным регистром только определённые мной слова. Для моих coder-файлов так все слова, которые там есть.
Спасибо за вариант, я его уже проходил, это не подходит.