Viper 2013 и ранее
Модераторы: m0p3e, edward_K, Модераторы
Re: Viper
Кроме того привожу прямые ссылки отдельно на обновленную справку:
ftp://ftp.galaktika.ru/pub/support/gala ... /Viper.chm
ftp://ftp.galaktika.ru/pub/support/gala ... /Viper.pdf
Читайте, присылайте отзывы.
ftp://ftp.galaktika.ru/pub/support/gala ... /Viper.chm
ftp://ftp.galaktika.ru/pub/support/gala ... /Viper.pdf
Читайте, присылайте отзывы.
Re: Viper
Печаль, печаль.LaaLaa писал(а): ....
Редактор не менялся.
Хорошо бы whatsnew.txt файлик где то вести. И в дистрибутив его выкладывать.
А здесь ftp://ftp.galaktika.ru/pub/support/gala ... 810/VIPER/
еще ноябрьский релиз лежит. на гуглокоде viper появляется раньше чем на корпоративном сайте
SiTraхМетод до сих пор вставляется перед каждой функцией по нечаянному нажатию то ли Ctrl-F то ли Ctrl-Q-F
Обещали подавить...
Re: Viper
С каждым релизом готовим мы файл "Что нового.pdf" (см. в этом и прошлых дистрибутивах). Кроме того подробный отчет "viper-2011-5438-november.pdf" по всем ПИР также есть в каждом дистрибутиве. Текущая сборка просто техническая, чисто для совместимости с Атлантисом 5.4.38.3 (т.к. поступали обращения от программистов).igor писал(а):Печаль, печаль.LaaLaa писал(а): ....
Редактор не менялся.
Хорошо бы whatsnew.txt файлик где то вести. И в дистрибутив его выкладывать.
А здесь ftp://ftp.galaktika.ru/pub/support/gala ... 810/VIPER/
еще ноябрьский релиз лежит. на гуглокоде viper появляется раньше чем на корпоративном сайте
Еще цель текущего релиза - публикация новой справки Viper.chm - документ был существенен переработан.
Кроме того в справке, в каждом документе есть раздел "Что нового" там все новости идут с накоплением (включая текущее и все предыдущие издания).
Вам хочется в whatsnew.txt видеть что-то больше чем есть сейчас? Расскажите что будем добавлять.
А новый редактор сейчас еще тестируется. По новым фичам whatsnew будет.
Re: Viper
Готов поучавствовать в бета тесте если допилите Intellisense ( дополнение идентификаторов по ctrl-space)LaaLaa писал(а):igor писал(а):LaaLaa писал(а): А новый редактор сейчас еще тестируется. По новым фичам whatsnew будет.
-
- Постоянный обитатель
- Сообщения: 123
- Зарегистрирован: 01 фев 2007, 12:45
- Откуда: Магнитогорск
- Контактная информация:
Re: Viper
Странно, что подстановщик кода так долго делается. У меня всего месяц заняло написание в Дельфи такого редактора. Правда, он получился глючный до безобразия, так что я им пользуюсь редко.
Пожалуй, стоит привести здесь алгоритм простейшего подстановщика. Допустим, у нас есть вьюха.
Теперь нам нужны всего 2 функции. Первая стартует при любом изменении текстового редактора, в котором у нас загружен разбираемый файл и проверяет, попало ли изменение между ключевыми словами view и where и записывает результат в булевую переменную fromChanged. Вторая функция стартует при нажатии точки и обновляет 2 переменные fromStart и fromEnd, а также список подстановок в случае, если fromChanged истинно. Далее, она проверяет слово до точки и выводит список подстановок для данного слова.
Список подстановок представляет собой таблицу. Также имеется структура обратных подстановок, для обработки псевдонимов таблиц.
Конечно, это примитивный пример, но если он кого-то из разработчиков заинтересовал, могу подробнее написать.
Пожалуй, стоит привести здесь алгоритм простейшего подстановщика. Допустим, у нас есть вьюха.
Код: Выделить всё
view vMain from tables... where ((подцепки));
Теперь нам нужны всего 2 функции. Первая стартует при любом изменении текстового редактора, в котором у нас загружен разбираемый файл и проверяет, попало ли изменение между ключевыми словами view и where и записывает результат в булевую переменную fromChanged. Вторая функция стартует при нажатии точки и обновляет 2 переменные fromStart и fromEnd, а также список подстановок в случае, если fromChanged истинно. Далее, она проверяет слово до точки и выводит список подстановок для данного слова.
Список подстановок представляет собой таблицу. Также имеется структура обратных подстановок, для обработки псевдонимов таблиц.
Конечно, это примитивный пример, но если он кого-то из разработчиков заинтересовал, могу подробнее написать.
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
Re: Viper
Ещё ошибку нашёл.
У нас настроено так, что пути на галактику одинаковы, но конфигурация разная, получается работает из 1 экзешника на разных базах.
При запуске галактики через випер как отладчика, задаётся вопрос - приложение уже запущено остановить - нет, после аварийной остановки через кнопГу стоп, он закрывает ранее запущеное приложение, а не то которое запустил.
Ранее такого не замечал випер 38. Вероятно ID процесса то записывать надо запускаемого и с ним работать.
У нас настроено так, что пути на галактику одинаковы, но конфигурация разная, получается работает из 1 экзешника на разных базах.
При запуске галактики через випер как отладчика, задаётся вопрос - приложение уже запущено остановить - нет, после аварийной остановки через кнопГу стоп, он закрывает ранее запущеное приложение, а не то которое запустил.
Ранее такого не замечал випер 38. Вероятно ID процесса то записывать надо запускаемого и с ним работать.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Re: Viper
+1 иногда при отладке закрывает приложение а не отсоединяется .. даже если нажимаешь не завершать процесс.. ошибка плавающая повторить не удается, но иногда проявляется
Время ведет!
-
- Местный житель
- Сообщения: 251
- Зарегистрирован: 02 мар 2009, 12:59
- Откуда: ТопСофт
- Контактная информация:
Re: Viper
Пометил проблему в ПИР.n0where писал(а):Ещё ошибку нашёл.
У нас настроено так, что пути на галактику одинаковы, но конфигурация разная, получается работает из 1 экзешника на разных базах.
При запуске галактики через випер как отладчика, задаётся вопрос - приложение уже запущено остановить - нет, после аварийной остановки через кнопГу стоп, он закрывает ранее запущеное приложение, а не то которое запустил.
Ранее такого не замечал випер 38. Вероятно ID процесса то записывать надо запускаемого и с ним работать.
Возможно в Галакатике было открыто модальное окно либо выполнялась какая-то длительная операция?Masygreen писал(а):+1 иногда при отладке закрывает приложение а не отсоединяется .. даже если нажимаешь не завершать процесс.. ошибка плавающая повторить не удается, но иногда проявляется
-
- Местный житель
- Сообщения: 251
- Зарегистрирован: 02 мар 2009, 12:59
- Откуда: ТопСофт
- Контактная информация:
Re: Viper
Что касается подсказки кода. В ближайшей версии выйдет упрощенная подсказки, подчеркиваю упрощенная реализация.
Что будет для VIP: классический выплывающий список вызываемый по Ctrl+Space с фильтрующимся содержимым на основании вводимого текста. Контент подсказки будет формироваться на основании: списка "зашитых" ключевых слов, списка "зашитых" атлантических процедур и функций (с параметрами), идентификаторов текущего исходника (по аналогии окна структуры кода - имена функций с параметрами, имена событий и т.д.). Подсказчик не будет подсказывать идентификаторы после символа "." наподобие полей таблиц и т.д., также не будет подсказывать и абслютно все найденные идентификаторы из активного исходника (в силу того, что их может быть уж очень много, а избыток информации тоже не всегда хорошо).
Конечно можно сделать как написано выше ... найти что-то типо view и анализировать что-то между какими-то ключевыми словами.... Но, во-первых, для всех конструкций такие текстовые разборы делать закалибошьси, да и тяжело будет предугадать различные случаи кодирования, а во-вторых от подсказки, которая дает результат только лишь от текущего исходника, толку маловато. Поэтому разбор кода нужно делать от самого "верха" с разворачиванием всех подключаемых файлов плюс подгрузить упакованную информацию из ресурсов, а затем строить карту идентификаторов и научить перестраивать ее только кусками дабы добиться удовлетворяющей производительности. И только после того формировать список подказки на основании введенного кода и области видимости. Думаю, что результат подсказчика на основании каких-то жестких правил вызовет еще больше негодований чем его отсутствие .... и его вечные "допилы" к различным частным случаям ...
Что будет для любителей скриптописания: для vbs и jscript конент подсказчика формируется на основании "зашитого" списка объектов и
функций, предоставляемых редактором в качестве API, кроме того для API-объектов после символа "." подсказчик подскажет доступные методы и свойства. Любители скриптописания пишите новый функционал и "заказывайте" в доступ дополнительное объекты и методы випера.
В заключение скажу так: "судите строго и не очень... мы (я) стараемся и болеем за продукт ".
Кстати, очень хорошо, что увеличивается обратная связь с пользователями как через форумы (тюмбит и галактический) так и напрямую через почту.
Пишите вопросы, предложения, шлите отчеты и логи об ошибках ....
Что будет для VIP: классический выплывающий список вызываемый по Ctrl+Space с фильтрующимся содержимым на основании вводимого текста. Контент подсказки будет формироваться на основании: списка "зашитых" ключевых слов, списка "зашитых" атлантических процедур и функций (с параметрами), идентификаторов текущего исходника (по аналогии окна структуры кода - имена функций с параметрами, имена событий и т.д.). Подсказчик не будет подсказывать идентификаторы после символа "." наподобие полей таблиц и т.д., также не будет подсказывать и абслютно все найденные идентификаторы из активного исходника (в силу того, что их может быть уж очень много, а избыток информации тоже не всегда хорошо).
Конечно можно сделать как написано выше ... найти что-то типо view и анализировать что-то между какими-то ключевыми словами.... Но, во-первых, для всех конструкций такие текстовые разборы делать закалибошьси, да и тяжело будет предугадать различные случаи кодирования, а во-вторых от подсказки, которая дает результат только лишь от текущего исходника, толку маловато. Поэтому разбор кода нужно делать от самого "верха" с разворачиванием всех подключаемых файлов плюс подгрузить упакованную информацию из ресурсов, а затем строить карту идентификаторов и научить перестраивать ее только кусками дабы добиться удовлетворяющей производительности. И только после того формировать список подказки на основании введенного кода и области видимости. Думаю, что результат подсказчика на основании каких-то жестких правил вызовет еще больше негодований чем его отсутствие .... и его вечные "допилы" к различным частным случаям ...
Что будет для любителей скриптописания: для vbs и jscript конент подсказчика формируется на основании "зашитого" списка объектов и
функций, предоставляемых редактором в качестве API, кроме того для API-объектов после символа "." подсказчик подскажет доступные методы и свойства. Любители скриптописания пишите новый функционал и "заказывайте" в доступ дополнительное объекты и методы випера.
В заключение скажу так: "судите строго и не очень... мы (я) стараемся и болеем за продукт ".
Кстати, очень хорошо, что увеличивается обратная связь с пользователями как через форумы (тюмбит и галактический) так и напрямую через почту.
Пишите вопросы, предложения, шлите отчеты и логи об ошибках ....
Re: Viper
А таблицы?!Bender писал(а):Подсказчик не будет подсказывать идентификаторы после символа "." наподобие полей таблиц
Таблицы?!
katmc.<список полей> хотя бы?!
Я уж не говорю про алиасы таблиц, но таблицы то хоть добавьте!
Сделайте хотя бы такое: для текущего проекта искать текстовый файл UserCompleteList.txt в каталоге где vpr лежит или из настройки и если этот файл найден - включать его в список для подсказчика.Ну что может быть проще?
Тогда я мог бы сделать такое:
<- UserCompleteList.Txt ->
katmc.nrec
katmc.name
katmc.bla bla bla
...
и для каждого проекта я бы мог сам управлять этим списком(как уж я буду формировать этот файл - мое дело, хоть ручками)
сейчас получается я никак не могу улучшить ваш интеллисенс и подстроить его под мои нужды...
Re: Viper
Если затруднительно сделать (это не простая задача на самом деле, я понимаю) интеллисенс, дайте возможность чтобы пользователь мог каким то образом сообщать движку что он хочет "интеллисенсить" - например файл обычный текстовый с идентификаторами на каждой строчке. И хоп ! - движок сразу становится гибким и настраиваемым. Любой программист наформирует какой ему надо файл для интеллисенса самостоятельно. А вам надо только при старте этот файл подгрузить в движок. И корректно показывать из него идентификаторы.Bender писал(а):Думаю, что результат подсказчика на основании каких-то жестких правил вызовет еще больше негодований чем его отсутствие .... и его вечные "допилы" к различным частным случаям ...
Имхо это дешевое и простое в реализации решение (я конечно не знаю как там у вас построенны внутренние структуры) но скорее всего это какие то списки и добавить в него распарсенный примитивный текстовик - ну не сильно сложно должно быть...
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Re: Viper
можно с файлом пойти дальше ... допустим его некоторым образом структуировать типа :
допустим это значит что если встречается katmc и следующий знак точка выдавать перечень подсказок .. где-то на подсознании понимаю что подсказчик какими то такими структурами и работает ..
katmc->'.'->[nrec,name,code]
...
насчет файла не согласен. если делать то это должен быть каталог или набор файлов .. пишешь отчет по договорам сунул договорной файл, пишешь производство сунул производство...
Это позволит:
1)не грузить всякую фигню ... (например поля таблиц - если брать аналогию VS то подсказка там только для явно подключеных или обьявленых элементов а не всех весех)
2)см пункт 1 это должно быстрее работать .. каждый может решить сам сколько ему времени ждать загрузки випера .. весь словарь конечно в подсказчик нафиг не надо сувать ..
допустим это значит что если встречается katmc и следующий знак точка выдавать перечень подсказок .. где-то на подсознании понимаю что подсказчик какими то такими структурами и работает ..
katmc->'.'->[nrec,name,code]
...
насчет файла не согласен. если делать то это должен быть каталог или набор файлов .. пишешь отчет по договорам сунул договорной файл, пишешь производство сунул производство...
Это позволит:
1)не грузить всякую фигню ... (например поля таблиц - если брать аналогию VS то подсказка там только для явно подключеных или обьявленых элементов а не всех весех)
2)см пункт 1 это должно быстрее работать .. каждый может решить сам сколько ему времени ждать загрузки випера .. весь словарь конечно в подсказчик нафиг не надо сувать ..
Время ведет!
Re: Viper
Чем плох подход с файлом? Вам не нужны таблицы = не делайте файл, мне нужны таблицы - сделаю для своего проекта. Каждый получит то что хочет. Пусть лучше будет функционал который каждый может настраивать по своему вкусу.. А не то что решит и жестко зашьет в алгоритмы разработчик.Masygreen писал(а): насчет файла не согласен. если делать то это должен быть каталог или набор файлов .. пишешь отчет по договорам сунул договорной файл, пишешь производство сунул производство...
И усложнять структуру файла - не нужно.
Сложнее структура - меньше скорость разбора.
Я например сразу же туда закину на мегабайтик файл. А то и весь словарик. пущай лежит, мне всегда пригодится.
Если просить сразу много - то не получим ничего. Конечно есть подходы и лучше и гибче. Один файл сделать разработчикам - не проблема...сделать файл со структурами - тоже не проблема но разработчик уже начинает
излишне напрягаться. Сделать каталог с файлами - уже больше работы, сделать нормальную индексацию всех исходников - уже архизадача. Там уже надо синтаксис анализировать, алиасы, обьектные интерфейсы.
Давайте маленькими шагами двигаться. Зато гибкими..
Я за файл. или иной механизм который бы позволил мне самому управлять тем что должно показываться в автокомплите. Но чтобы этот механизм появился как можно раньше а не через 5 лет и "сразу хороший и идеальный". Пусть будет хотя бы такой, "но сегодня". Потом со временем допилят до "идеального но через 5 лет".