Страница 43 из 66

Re: Viper

Добавлено: 31 янв 2012, 20:15
LaaLaa
Кроме того привожу прямые ссылки отдельно на обновленную справку:
ftp://ftp.galaktika.ru/pub/support/gala ... /Viper.chm
ftp://ftp.galaktika.ru/pub/support/gala ... /Viper.pdf

Читайте, присылайте отзывы.

Re: Viper

Добавлено: 01 фев 2012, 10:07
igor
LaaLaa писал(а): ....
Редактор не менялся.
Печаль, печаль.
Хорошо бы whatsnew.txt файлик где то вести. И в дистрибутив его выкладывать.
А здесь ftp://ftp.galaktika.ru/pub/support/gala ... 810/VIPER/
еще ноябрьский релиз лежит. на гуглокоде viper появляется раньше чем на корпоративном сайте :grin:
SiTraхМетод до сих пор вставляется перед каждой функцией по нечаянному нажатию то ли Ctrl-F то ли Ctrl-Q-F
Обещали подавить...

Re: Viper

Добавлено: 01 фев 2012, 12:15
LaaLaa
igor писал(а):
LaaLaa писал(а): ....
Редактор не менялся.
Печаль, печаль.
Хорошо бы whatsnew.txt файлик где то вести. И в дистрибутив его выкладывать.
А здесь ftp://ftp.galaktika.ru/pub/support/gala ... 810/VIPER/
еще ноябрьский релиз лежит. на гуглокоде viper появляется раньше чем на корпоративном сайте :grin:
С каждым релизом готовим мы файл "Что нового.pdf" (см. в этом и прошлых дистрибутивах). Кроме того подробный отчет "viper-2011-5438-november.pdf" по всем ПИР также есть в каждом дистрибутиве. Текущая сборка просто техническая, чисто для совместимости с Атлантисом 5.4.38.3 (т.к. поступали обращения от программистов).

Еще цель текущего релиза - публикация новой справки Viper.chm - документ был существенен переработан.
Кроме того в справке, в каждом документе есть раздел "Что нового" там все новости идут с накоплением (включая текущее и все предыдущие издания).

Вам хочется в whatsnew.txt видеть что-то больше чем есть сейчас? Расскажите что будем добавлять.

А новый редактор сейчас еще тестируется. По новым фичам whatsnew будет.

Re: Viper

Добавлено: 02 фев 2012, 10:52
igor
LaaLaa писал(а):
igor писал(а):
LaaLaa писал(а): А новый редактор сейчас еще тестируется. По новым фичам whatsnew будет.
Готов поучавствовать в бета тесте если допилите Intellisense ( дополнение идентификаторов по ctrl-space)

Re: Viper

Добавлено: 02 фев 2012, 14:09
Masygreen
igor писал(а): Готов поучавствовать в бета тесте если допилите Intellisense ( дополнение идентификаторов по ctrl-space)
+1

Re: Viper

Добавлено: 03 фев 2012, 09:09
Semi-bit
Странно, что подстановщик кода так долго делается. У меня всего месяц заняло написание в Дельфи такого редактора. Правда, он получился глючный до безобразия, так что я им пользуюсь редко.
Пожалуй, стоит привести здесь алгоритм простейшего подстановщика. Допустим, у нас есть вьюха.

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

view vMain from tables... where ((подцепки));

Теперь нам нужны всего 2 функции. Первая стартует при любом изменении текстового редактора, в котором у нас загружен разбираемый файл и проверяет, попало ли изменение между ключевыми словами view и where и записывает результат в булевую переменную fromChanged. Вторая функция стартует при нажатии точки и обновляет 2 переменные fromStart и fromEnd, а также список подстановок в случае, если fromChanged истинно. Далее, она проверяет слово до точки и выводит список подстановок для данного слова.
Список подстановок представляет собой таблицу. Также имеется структура обратных подстановок, для обработки псевдонимов таблиц.
Конечно, это примитивный пример, но если он кого-то из разработчиков заинтересовал, могу подробнее написать.

Re: Viper

Добавлено: 06 фев 2012, 11:34
n0where
Ещё ошибку нашёл.
У нас настроено так, что пути на галактику одинаковы, но конфигурация разная, получается работает из 1 экзешника на разных базах.
При запуске галактики через випер как отладчика, задаётся вопрос - приложение уже запущено остановить - нет, после аварийной остановки через кнопГу стоп, он закрывает ранее запущеное приложение, а не то которое запустил.
Ранее такого не замечал випер 38. Вероятно ID процесса то записывать надо запускаемого и с ним работать.

Re: Viper

Добавлено: 07 фев 2012, 12:31
Masygreen
+1 иногда при отладке закрывает приложение а не отсоединяется .. даже если нажимаешь не завершать процесс.. ошибка плавающая повторить не удается, но иногда проявляется

Re: Viper

Добавлено: 07 фев 2012, 14:34
Bender
n0where писал(а):Ещё ошибку нашёл.
У нас настроено так, что пути на галактику одинаковы, но конфигурация разная, получается работает из 1 экзешника на разных базах.
При запуске галактики через випер как отладчика, задаётся вопрос - приложение уже запущено остановить - нет, после аварийной остановки через кнопГу стоп, он закрывает ранее запущеное приложение, а не то которое запустил.
Ранее такого не замечал випер 38. Вероятно ID процесса то записывать надо запускаемого и с ним работать.
Пометил проблему в ПИР.
Masygreen писал(а):+1 иногда при отладке закрывает приложение а не отсоединяется .. даже если нажимаешь не завершать процесс.. ошибка плавающая повторить не удается, но иногда проявляется
Возможно в Галакатике было открыто модальное окно либо выполнялась какая-то длительная операция?

Re: Viper

Добавлено: 07 фев 2012, 15:36
Bender
Что касается подсказки кода. В ближайшей версии выйдет упрощенная подсказки, подчеркиваю упрощенная реализация.

Что будет для VIP: классический выплывающий список вызываемый по Ctrl+Space с фильтрующимся содержимым на основании вводимого текста. Контент подсказки будет формироваться на основании: списка "зашитых" ключевых слов, списка "зашитых" атлантических процедур и функций (с параметрами), идентификаторов текущего исходника (по аналогии окна структуры кода - имена функций с параметрами, имена событий и т.д.). Подсказчик не будет подсказывать идентификаторы после символа "." наподобие полей таблиц и т.д., также не будет подсказывать и абслютно все найденные идентификаторы из активного исходника (в силу того, что их может быть уж очень много, а избыток информации тоже не всегда хорошо).
Конечно можно сделать как написано выше ... найти что-то типо view и анализировать что-то между какими-то ключевыми словами.... Но, во-первых, для всех конструкций такие текстовые разборы делать закалибошьси, да и тяжело будет предугадать различные случаи кодирования, а во-вторых от подсказки, которая дает результат только лишь от текущего исходника, толку маловато. Поэтому разбор кода нужно делать от самого "верха" с разворачиванием всех подключаемых файлов плюс подгрузить упакованную информацию из ресурсов, а затем строить карту идентификаторов и научить перестраивать ее только кусками дабы добиться удовлетворяющей производительности. И только после того формировать список подказки на основании введенного кода и области видимости. Думаю, что результат подсказчика на основании каких-то жестких правил вызовет еще больше негодований чем его отсутствие .... и его вечные "допилы" к различным частным случаям ...

Что будет для любителей скриптописания: для vbs и jscript конент подсказчика формируется на основании "зашитого" списка объектов и
функций, предоставляемых редактором в качестве API, кроме того для API-объектов после символа "." подсказчик подскажет доступные методы и свойства. Любители скриптописания пишите новый функционал и "заказывайте" в доступ дополнительное объекты и методы випера.

В заключение скажу так: "судите строго и не очень... мы (я) стараемся :oops: и болеем за продукт :|".
Кстати, очень хорошо, что увеличивается обратная связь с пользователями как через форумы (тюмбит и галактический) так и напрямую через почту.
Пишите вопросы, предложения, шлите отчеты и логи об ошибках .... ;-)

Re: Viper

Добавлено: 07 фев 2012, 15:56
igor
Bender писал(а):Подсказчик не будет подсказывать идентификаторы после символа "." наподобие полей таблиц
А таблицы?!
Таблицы?!
katmc.<список полей> хотя бы?!
Я уж не говорю про алиасы таблиц, но таблицы то хоть добавьте! :neutral:

Сделайте хотя бы такое: для текущего проекта искать текстовый файл UserCompleteList.txt в каталоге где vpr лежит или из настройки и если этот файл найден - включать его в список для подсказчика.Ну что может быть проще?
Тогда я мог бы сделать такое:

<- UserCompleteList.Txt ->

katmc.nrec
katmc.name
katmc.bla bla bla
...

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

Re: Viper

Добавлено: 07 фев 2012, 16:10
igor
Bender писал(а):Думаю, что результат подсказчика на основании каких-то жестких правил вызовет еще больше негодований чем его отсутствие .... и его вечные "допилы" к различным частным случаям ...
Если затруднительно сделать (это не простая задача на самом деле, я понимаю) интеллисенс, дайте возможность чтобы пользователь мог каким то образом сообщать движку что он хочет "интеллисенсить" - например файл обычный текстовый с идентификаторами на каждой строчке. И хоп ! - движок сразу становится гибким и настраиваемым. Любой программист наформирует какой ему надо файл для интеллисенса самостоятельно. А вам надо только при старте этот файл подгрузить в движок. И корректно показывать из него идентификаторы.
Имхо это дешевое и простое в реализации решение (я конечно не знаю как там у вас построенны внутренние структуры) но скорее всего это какие то списки и добавить в него распарсенный примитивный текстовик - ну не сильно сложно должно быть...

Re: Viper

Добавлено: 07 фев 2012, 16:28
Bender
igor писал(а):...файл обычный текстовый с идентификаторами...
Ок :smile:

Re: Viper

Добавлено: 07 фев 2012, 20:11
Masygreen
можно с файлом пойти дальше ... допустим его некоторым образом структуировать типа :
допустим это значит что если встречается katmc и следующий знак точка выдавать перечень подсказок .. где-то на подсознании понимаю что подсказчик какими то такими структурами и работает ..
katmc->'.'->[nrec,name,code]

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

Re: Viper

Добавлено: 08 фев 2012, 12:22
igor
Masygreen писал(а): насчет файла не согласен. если делать то это должен быть каталог или набор файлов .. пишешь отчет по договорам сунул договорной файл, пишешь производство сунул производство...
Чем плох подход с файлом? Вам не нужны таблицы = не делайте файл, мне нужны таблицы - сделаю для своего проекта. Каждый получит то что хочет. Пусть лучше будет функционал который каждый может настраивать по своему вкусу.. А не то что решит и жестко зашьет в алгоритмы разработчик.
И усложнять структуру файла - не нужно.
Сложнее структура - меньше скорость разбора.
Я например сразу же туда закину на мегабайтик файл. А то и весь словарик. пущай лежит, мне всегда пригодится. :)
Если просить сразу много - то не получим ничего. Конечно есть подходы и лучше и гибче. Один файл сделать разработчикам - не проблема...сделать файл со структурами - тоже не проблема но разработчик уже начинает
излишне напрягаться. Сделать каталог с файлами - уже больше работы, сделать нормальную индексацию всех исходников - уже архизадача. Там уже надо синтаксис анализировать, алиасы, обьектные интерфейсы.
Давайте маленькими шагами двигаться. Зато гибкими..
Я за файл. или иной механизм который бы позволил мне самому управлять тем что должно показываться в автокомплите. Но чтобы этот механизм появился как можно раньше а не через 5 лет и "сразу хороший и идеальный". Пусть будет хотя бы такой, "но сегодня". Потом со временем допилят до "идеального но через 5 лет".