Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Visual Basic: Общие вопросы > VBStyleCode


Автор: coder 08.05.07, 08:02
Работает только при нажатие ENTER и нажатие Button'а в CommandBar'е.

Автор: @@@ 08.05.07, 10:24
Ну обычно в таких случаях говорят, что для начала было бы неплохо все-таки увидеть описание того, что оно делаетЪ...

Автор: coder 08.05.07, 10:35
Написана на VBStyleCode в Менью Add-ins ...

Просто, помогает сделать ваш код красивым и читабельным.

Есть две процедуры:
1) Автоматически перемещает курсор на надежные места (как на VB.NET).
2) и с помощью Button'a в CommandBar'е в выделенный фрагмент кода сделаеться отступы, относительно какие операторы.

Автор: coder 10.05.07, 11:32
Почему-то никого не отвечает ...
Скачиваний есть, но говорите свои мнение об аддине.
Я прикрепил другую версию программу.
Улучшил, исправил недостатки.

Народ тестируйте же...

Модераторы, мой аддин то же можеть ли находиться под группы Add-In's?

И ещё одно вопрос у меня не получается сделать Mask Button'a (Disabled Mode), как правильно присваивать иконку или Bitmap?
и ещё один минус что, он не работает в режиме Паузы.

Автор: SCINER 10.05.07, 12:02
Поместить не проблема. Главное дождаться положительных отзывов о плагине.

Автор: coder 10.05.07, 14:12
Копировать DLL (на ZIP архиве) в папку C:\WINDOWS\System32 и регистрировать с помощью
cmd regsvr32 C:\WINDOWS\System32\VBStyleCode32
Открыть VB6.0 и создасться новый CommandBar под названием VBStyleCode c Button'ом.

Открыть свой проект окно кода, виделить текст кода и нажимать на Button'a:
Результат будеть прелестным.
И ещё:
В окне кода напишите If 1 Then, Select Case 0, For i=1 to 10, ... и также и ENTER.
Программа автоматически вставить End If, End Select, Next, ... и также другие и пустая строка с Tab'ом
Или после любого End If, Else, Else, End Select, Case, Next оператора нажмите ENTER он сам найдёт нужный оператор (If, Select, For) и поместиться на своему мест...

Я не хотел всё это сказать, думал что вы сами найдёте эти примочки.

Дайте мне советы, или это мешает к работу, или нужно добавить к проекту ещё что-то (как, найти неначинающего End If, или не окончающего If и комментировать на месте:)
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    ' Окончание If'а не найдено, номер строки If: 1212


Я ориентировалься из VB.NET!

Автор: SCINER 10.05.07, 15:42
Если оператор уже закрыт, то повторно это делать не надо.
А еще было бы лучше если аддин считывал количество пробелов, указанное в настройках, а то у меня например это значение = 2, а твой аддин ставит всегда 4, т.е. ямне становится не удобно пользоваться твоим Add-In—ом.

Больше никаких претензий нет. Все работало нормально. Главное не вылетало и не вешало среду.

З.Ы. А можно чтобы это быстрее срабатывало? Чтобы нажал и тут-же дописалось и встало туда куда надо мнгновенно.

Автор: coder 11.05.07, 06:52
А вы незнаете ли как узнать Tab Width, а то установить курсор в подходящее место невозможно?
Я думал что можно вставить текст в окно и считать Tab Width из строки, но это не вариант ...

Автор: SCINER 11.05.07, 07:18
Поиск по реестру выражения «TabWidth» выдал местоположение этой настройки:
Цитата
HKEY_CURRENT_USER\Software\Microsoft\VBA\Microsoft Visual Basic\TabWidth

Автор: coder 11.05.07, 12:44
Мне помог твоя подсказка о regmon'е. После этого я искал как и ты, не прочитая твоё последная изменения в сообщении.
Цитата SCINER @
Если оператор уже закрыт, то повторно это делать не надо.

Я сделал так, что проверяеть, если есть конечный оператор находящий в том же колонке, не добавить конечных операторов. Если аддин анализируют вес процедуру, будеть работать очен медленно (если процедура очен большая).

Цитата SCINER @
А еще было бы лучше если аддин считывал количество пробелов, указанное в настройках

Всё ОК.

Цитата SCINER @
А можно чтобы это быстрее срабатывало? Чтобы нажал и тут-же дописалось и встало туда куда надо мнгновенно

А про быстроту ещё ничего не думал.

Обновил существующий архив.

Автор: SCINER 12.05.07, 11:41
Это последний релиз, или еще будет?

Автор: Большой вопрос 12.05.07, 17:22
Мне понравилось, только неплохо было бы включить вот эту инструкцию в "О программе", а то я не сразу понял как им пользоваться :)

Цитата
Копировать DLL (на ZIP архиве) в папку C:\WINDOWS\System32 и регистрировать с помощью
cmd regsvr32 C:\WINDOWS\System32\VBStyleCode32
Открыть VB6.0 и создасться новый CommandBar под названием VBStyleCode c Button'ом.


Добавлено
И ещё, наверно ещё нужна поддержка Enum и Type

Автор: coder 17.05.07, 06:15
Цитата Большой вопрос @
И ещё, наверно ещё нужна поддержка Enum и Type

Enum и Type поддерживает же?

Добавлено
Цитата SCINER @
Это последний релиз, или еще будет?

Если есть ещё какие-то советы, буду изменять.

Автор: XPraptor 17.05.07, 11:46
Цитата
Если есть ещё какие-то советы, буду изменять.

В принципе можно перекатать весь функционал CodePrint от StarPrint CodePrint
ИМХО если такое в своем аддине иметь, то можно вносить свои предпочнетия и настройки, а не юзать уже зафиксенный код разработчиков.
А так меня уже некоторые их примочки задолбали, а никак не убрать.

Автор: coder 17.05.07, 12:52
Цитата XPraptor @
В принципе можно перекатать весь функционал CodePrint от StarPrint CodePrint


Какие функционалы, я посмотрил ссылочку, но у него какие отличие есть (не всё понел, с English мало разбираюсь)

Автор: XPraptor 17.05.07, 13:09
Сорри, зарапортовался уже с этими аддинами. CodePrint - это для печати форматирует, CodeSmart мать его управляет внутри кодом. http://www.axtools.com/ щас правда чето с серваком у них, сайт висит в дауне.
В нем много приблуд, которые мешают работать, а не отключаются. Основные модули можно поотключать, а вот часть модуля отключить нельзя.

Автор: coder 17.05.07, 13:51
Не нашел ещё рабочую ссылку на CodeSmart для закачки.
Он тоже Add-in, как и мой?

Автор: XPraptor 17.05.07, 14:03
Да, он AddIn. Странно, ты в Яше просто забей: CodeSmart && скачать полно мест где грузануть. ( на том же download.com в поиске, он именно оттуда и скачивается даже с оффсайта)

Автор: coder 18.05.07, 13:15
Его размер очень большой по-моему (10.5 МБ)
У меня нет разрешение того, а можно сделать краткую описанию об этом аддине?

Автор: XPraptor 18.05.07, 21:52
Он очень многое умеет, на целый мануал стостраничный.
Но, вс1, сайт заработал, можешь посмотреть что он умеет на сайте.

Автор: coder 30.07.07, 06:03
И ещё добавил скроллинг с помощью мышиного колеса.
Скроллинг действует только в окне кода.
Add-in в режиме паузы тоже работает.

Автор: coder 07.08.07, 12:47
Я думаю что, это и последний релиз моей программы.

Добавлен Опции: с помощью опции можно отключить любое.
И создан режим автоматически перемещение строк в зависимости операторов.

Автор: coder 08.08.07, 07:46
Последнего релиза тоже изменил (с каким-то причинам).

Автор: coder 17.12.11, 03:28
Пришлось сделать Add-in заново, несколько годов назад потерял проект (из-за винта ...).

Add-in поддерживает предыдущие возможности:
  • Авто-форматирование строк кода в зависимости от операторов;
  • Авто-вставка недостающих конечных конструкторов.
  • Скроллинг с помощью мышиного колеса в окне кода.

Исправлены предыдущие баги, недостатки:
  • Поддержка режима SDI;
  • Смягчен влияние на историю изменений.
  • Скроллинг с помощью мышиного колеса тепер работает и в других окнах тоже.

Добавлены новые возможности:
  • Установка Add-in'а в среду VBA;
  • Авто-вставка Then для конструкции If-ElseIf в случаи его отсутствия (теперь без сообщений об ошибках);
  • Авто-вставка знака комментария;
  • Авто-вставка шаблона текста при добавлении функции/процедуры;
  • Авто-текст;
  • Авто-замена инкрементные (++) и декрементные (--) операции;
  • Авто-замена составное присваивание (+=, -=, *=, /=, \=, &=);
  • Авто-замена инициализации переменных с объявлением;
  • Нумерация строк кода;
  • Объявление функций, типов и констант (через #include);
  • Настройка обработчиков ошибок;
  • Подсветка синтаксиса;
  • Выбор стиля интерфейса;
  • Выбор языка интерфейса;
  • MDI-вкладки;
  • Быстрый переход к функциям и процедурам;
  • Архивация проекта;

Управления клавишами:
  • Ctrl + Alt + Tab - Форматировать выделенный фрагмент кода;
  • Ctrl + S - Сохранение модулей в режиме отладки;
  • Ctrl + B - Возврат отменённых изменений по коду;
  • Ctrl + ' - Добавить знак комментария;
  • Ctrl + Shift + ' - Удалить знак комментария;
  • F6 - Установка / удаление закладки;
  • Shift + F6 - Переход между закладками;
  • F11 - Вызов окна перехода к функциям и процедурам;

VBStyleCode.rar (, : 2447)

Для установки языков интерфейса нужно распаковать архив в путь, который находится установочный файл.
Languages.rar (, : 1596)

Примерные варианты include файлов:
Include.rar (, : 1447)

Автор: VSHome 17.12.11, 09:24
:) Вот действительно полезный AddIn... Отступы ставит нормально, протестировал.
Скроллинг не заработал. Другие дополнения для скроллинга выгрузил заранее.

Ещё бы в этот аддин добавить подсветку строковых выражений, чтобы всё в одном было...

Автор: coder 17.12.11, 16:49
Цитата VSHome @
Скроллинг не заработал

Пофиксил.

Исправлен баг:
  • Исправлен скроллинг в режиме SDI

Цитата VSHome @
Ещё бы в этот аддин добавить подсветку строковых выражений, чтобы всё в одном было...

Посмотрим.

Автор: VSHome 18.12.11, 09:59
Скролл заработал, ОК :)
Если можно, то хотелось бы ещё добавить скролл к окнам Watches, Locals

Автор: coder 18.12.11, 21:46
Добавлен новый возможность:
  • Авто-вставка текстовых шаблонов

Цитата VSHome @
Если можно, то хотелось бы ещё добавить скролл к окнам Watches, Locals

Посмотрел, но эта задача ещё не дошел до конца.

Автор: coder 19.12.11, 03:41
Цитата VSHome @
Ещё бы в этот аддин добавить подсветку строковых выражений, чтобы всё в одном было...

Ты имеешь ввиду аддин Алисы, на моих проектах этот аддин завис (пошло до половины модуля, а у меня на одном модуле имеется 4000 - 5000 строк, для проверки отключил все аддины).

Автор: VSHome 19.12.11, 18:04
Цитата coder @
Ты имеешь ввиду аддин Алисы

Да, её аддин устанавливал, только иногда проявлялись глюки... Сейчас с ходу не подскажу строку, которая вызывала глюк.

Автор: coder 20.12.11, 21:44
Исправлены предыдущие недостатки:
  • Скроллинг с помощью мышиного колеса тепер работает и в других окнах тоже.

Автор: coder 22.12.11, 19:46
Подправил аддин к лучшему. Тепер замена строк происходит мгновенно.

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

Нашел метод по оптимальнее, и теперь после нажатие Ctrl+Z уже можно видеть предыдущую состоянию. (На предыдущем версии надо было нажать два раза).

Это исправление касается к "Cмягчение влияний на историю изменений".

Автор: coder 01.01.12, 14:25
Добавлены несколько новых возможностей.

Теперь поддерживается новые операторы-директивы: '#Region "My region" - '#End Region и подсветка тоже.

Проблемы со стилем Windows XP было полностью решено.

Автор: DIS 02.01.12, 15:22
За аддин огромное спасибо, пользуюсь довольно давно, очень удобно :thanks:
Есть несколько замечаний:
  • При записи Sub XXX()/Function XXX() не вставляется End Sub/End Function;
  • В окне настройки некоторые элементы закрашены черным (в IDE VB6 включен ХР стиль);
  • Не получилось воспользоваться автозаменой (т.е. Ift, Ife и т.п. как описано в настройках), то ли не понял как, то ли не работает.

И еще, старая версия иногда вырубалась, приходилось перезапускать аддин или среду разработки. В новой пока что такого не замечается.

Автор: coder 02.01.12, 15:55
Цитата DIS @
При записи Sub XXX()/Function XXX() не вставляется End Sub/End Function;

Я уже менял архив.
Цитата DIS @
В окне настройки некоторые элементы закрашены черным (в IDE VB6 включен ХР стиль);

Какие именно. Знаю что на старом было.
Цитата DIS @
Не получилось воспользоваться автозаменой (т.е. Ift, Ife и т.п. как описано в настройках), то ли не понял как, то ли не работает

Какой режим MDI или SDI. Почему-то я много пользуюсь, после ift нужно нажать пробел, нужно было вставить If-End If конструкцию.

Автор: DIS 02.01.12, 16:05
Автозамена работает, до пробела не додумался :) для процедур и функций все тоже ок.

Вот что у меня в окне настроек (в первой вкладке там где авто-отступ все в порядке)
1.PNG (, : 659)
2.PNG (, : 608)
3.PNG (, : 643)
4.PNG (, : 622)
5.PNG (, : 645)

Автор: coder 02.01.12, 16:11
Почему-то я не могу открыть рисунки. Там выдает сообщение форума.

Автор: DIS 02.01.12, 16:16
Перезалил рисунки

Автор: coder 02.01.12, 16:38
DIS, можете тестировать, у меня всегда нормально показывал. Обновил архив.

Автор: DIS 02.01.12, 16:52
Да, теперь все отображается! Спасибо!

Автор: Сергей85 02.01.12, 17:16
Прошу сделать доработку, если возможно.

При создании нового события какого-либо элемента в VB создаются 2 строчки вида

Private Sub Button_Сlick()

End Sub.


Однако много людей вставляют в события обработчик ошибок примерно таким способом:

Private Sub Button_Click()
On Error goto ErrorHandler

Exit Sub
ErrorHandler:
MsgBox Erl (или более длинное сообщение
End sub


Смысл доработки: автоматическая вставка обработчика во вновь создаваемое событие или функцию (на текущий момент без адд-ина: при наборе function xxx() и ентер - автоматически добавляется только End Function).

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

Автор: coder 02.01.12, 17:27
Посмотрим.

Автор: coder 03.01.12, 09:00
Цитата Сергей85 @
Прошу сделать доработку, если возможно.

Пофиксена.

Добавлены новые возможности:
  • Авто-вставка шаблона текста при добавлении функции/процедуры
  • Нумерация строк кода

Автор: Сергей85 03.01.12, 14:09
Мой порядок установки:
Add-Ins->Add-In Manager.
Включаю VB 6 Add-In Toolbar.
Жму на появившуюся кнопку добавления новых ADD-IN'ов и выбираю вашу длл.
Получаю результат на скриншоте, верно для обоих файлов.
__________.JPG (, : 659)
Что я не так делаю или чего не хватает?
Версия VB:
Microsoft Visual Basic 6.0
For 32-bit Windows Development
Version 8176 VBA: Retail 6.0.8169 Forms3: 2.01

Добавлено
Copyright 1987-1998 Microsoft Corp.

А ос -
Microsoft Windows XP x64
Bepcия 5.2 (cбopкa 3790.srv03_sp2_gdr.101019-0340 : Service Pack 2)
Кopпopaция Maйкpocoфт, 1985-2006

Автор: Сергей85 03.01.12, 16:11
Я читал ваше сообщение о том, что вам пришлось Add-in переписывать заново из-за потери исходников (умер носитель). Хочу вам порекомендовать данную программу для резервного копирования. Называется SyncBackup, успешно применяю и на работе, и дома.

Описание в середине моего обзора:
http://www.bad-good.ru/2011menu/2011septembermenu/264-file-server-xp.html

Автор: coder 04.01.12, 13:49
Библиотека было регистрировано? Для регистрации на некоторых Windows'ах нажимается два раза, выходить сообщение, что dll регистрировано успешно.

Если регистрация не пройдет, тогда вручную нужно вызвать Пуск -> Выполнить -> regsvr32 "Путь\VBStyleCodeForVB.dll" и нажать ОК.

После этого аддин сам автоматически включается и в меню Add-Ins появляется VB Style Code.

Цитата Сергей85 @
Я читал ваше сообщение о том, что вам пришлось Add-in переписывать заново из-за потери исходников (умер носитель). Хочу вам порекомендовать данную программу для резервного копирования. Называется SyncBackup, успешно применяю и на работе, и дома.

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

Автор: Сергей85 04.01.12, 14:30
regsvr32 - данный exe или com-файл отсутствует как в Windows XP SP3, так и в Win XP x64 SP2, выполнить не могу.

Версии библиотек:
1.02.0696 - VBStyleCodeForVB.dll;
VBStyleCodeForVBA.dll - 1.02.0190.

Добавлено
Пршу прощения, ступил. Работает после выполнения команды. И о вау, там подсветка текста есть! ЯХУУ!

Автор: Сергей85 04.01.12, 14:36
Но вот есть 1 глюк: те радиобаттоны, которые были вне контейнера - они стали черными:
__________.JPG (, : 4228)

И при запуске в самой программе тоже, не только в окне VB.

Автор: coder 04.01.12, 14:47
Они в контейнера Frame чтоли? Тебе нужно в контейнер Frame добавить PictureBox, а Option Button и Check Box внутри PictureBox, это не глюк аддин-а, а самой компоненты Frame.

Если когда-то нибудь, ты хотел бы сделать свои контролы на XP стиле, у тебя появились бы такие проблемы, эта проблема обсуждалась несколько раз на форуме.

Автор: Сергей85 04.01.12, 14:49
"Яху" длилось недолго.

2 глюка, последний на видео.

1. При установке курсра на строку №1 - автоматический отступ делается на строке №1-5.
2. При установке курсора в строку №6 - идет цикличное проставление/убирание отступов.
http://Http://www.bad-good.ru/clip.avi

Добавлено
Да, они были в контейнере Frame.

Автор: coder 04.01.12, 17:44
Цитата Сергей85 @
. При установке курсра на строку №1 - автоматический отступ делается на строке №1-5.
2. При установке курсора в строку №6 - идет цикличное проставление/убирание отступов.

Пофиксен.

Автор: Сергей85 04.01.12, 18:40
Если рекламировать ваш плагин - ссылку на что давать: на сайт/конкретно на эту тему/на конкретную ссылку архива?

При стандартных настройках VB6 зайдя в Tools->Options->Editor имеем одну-единственную снятую галку Require Variable Declaration. Я знаю случаи, когда данная настройка обязана быть выключена, но в большинстве своем и для правильности написания ее бы поставить.
Может, есть смысл это встроить в Add-In как автоисправление настройки при установке?


Я читаю эту тему, я читаю ее как справку. Я понимаю, что люди сюда ходят умные, но и умные люди тоже бывают разные. Есть ли возможность сделать 2 вещи:
- дополнить справку недостающей информацией;
- добавить ее в архив как текстовый документ.

Вот лично у меня такие сложности:
- в справке написано: "•Нумерация строк кода". Я вввел параметры нумерации. Я надеялся, что нумерация происходит "всего события" при нажатии на энтер. Но нумерация не происходит. Как ее включить - тоже неизвестно;
- непонятно назначение обоих ини-файла в архиве.
- о регистрации библиотеки посредством rersvr32 я узнал именно от вас, о Frame тоже. Необходим абзац о нюансах установки адд-ина а также ситуации с контейнером Frame, чтобы новички не пугались. Кстати, необязательно создавать Frame и накладывать на него Picturebox, достаточно просто Picturebox сделать и в него вставлять необходимые элементы.

Об опечатках в справке:
- •Авто форматирования строки кодов в зависимости операторов.
- •Cмягчена влияние на историю изменений
- •Установка Add-in'a к среду VBA
- •Авто-вставка знак(а?) комментария
- Вернуть (возвращение?) отменённых изменений по коду;


Об опечатках в адд-ине:
- в настройках: Ctrl + Shift + U Oтмeнa кoммeнтиpoвaниe

Автор: Diamock 05.01.12, 15:30
Уважаемый coder!
В заголовке топика написано:
Цитата
Цветная палитра теперь показывается ...

Но у меня палитра, не видна :(

user posted image

P.S. Предлагаю свою помощь в создании справочного файла, в формате .chm, для Add-In'а.

Автор: Сергей85 06.01.12, 06:42
Недочет в подсветке текста красным цветом. Почему-то именно в этой ситуации последняя буква текста не подкрашивается.

__________.JPG (, : 704)

Код целиком, если важно.

3 If ChooseParam_Public = 1 Then 'Äëÿ äèðåêòîðèè ôàéë íå íóæåí, îêíî îñòàâëåíî êàê èíäèêàòîð âõîäà â êàòàëîã.
4 File.Enabled = False
5 File.FileName = ""
6 Else
7 If Main_form.Type_decoding.Value = True Then Me.File.Pattern = "*.bel"8 End If

Автор: coder 06.01.12, 08:37
Цитата Сергей85 @
Если рекламировать ваш плагин - ссылку на что давать: на сайт/конкретно на эту тему/на конкретную ссылку архива?

Реклама не предусматривалось, если хотите ссылку дайте на тему VBStyleCode или на мой пост на теме Add'ins.
Цитата Сергей85 @
При стандартных настройках VB6 зайдя в Tools->Options->Editor имеем одну-единственную снятую галку Require Variable Declaration. Я знаю случаи, когда данная настройка обязана быть выключена, но в большинстве своем и для правильности написания ее бы поставить.
Может, есть смысл это встроить в Add-In как автоисправление настройки при установке?

Можно, но потом идет повторение одной галочки и на опциях среды, и на настройках Add-In'a.
Цитата Сергей85 @
Я читаю эту тему, я читаю ее как справку. Я понимаю, что люди сюда ходят умные, но и умные люди тоже бывают разные. Есть ли возможность сделать 2 вещи:
- дополнить справку недостающей информацией;
- добавить ее в архив как текстовый документ.

Цитата Diamock @
P.S. Предлагаю свою помощь в создании справочного файла, в формате .chm, для Add-In'а.

Могу подготовить текстовый документ.
Цитата Сергей85 @
в справке написано: "•Нумерация строк кода". Я вввел параметры нумерации. Я надеялся, что нумерация происходит "всего события" при нажатии на энтер. Но нумерация не происходит. Как ее включить - тоже неизвестно;

Там на панели Edit появляется кнопки "Нумерация строк" и "Форматирование блока".
Цитата Сергей85 @
- непонятно назначение обоих ини-файла в архиве.

Они настройки подсветки и авто-вставки.

На остальные тоже отвечу, сейчас мне срочно нужно уйти.

Автор: Сергей85 06.01.12, 08:47
Нашел кнопку автонумерации. Есть сложность следующего характера.

Пусть я нажал кнопку автонумерации и пронумеровал всё событие.
Далее я дописываю несколько новых строчек (скажем, 200). Они без номеров.
Чтобы нумерация была корректной - мне нужно вручную нажать кнопку автонумерации, чтобы выключить нумерацию, а потом нажать ее ещё раз, чтобы пронумеровать все свои 200 с лишним строчек.

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

Автор: Сергей85 06.01.12, 08:49
А также внести изменение в саму нумерацию, чтобы при ОТКЛЮЧЕНИИ нумерации в определенном событии - удалялись номера строк на пустых строчках. У меня были вручную пронумерованы все строки, в т.ч. пустые. И после отключения нумерации имею результат:
__________.JPG (, : 725)

Добавлено
И задваивание номеров строк имею в том числе при включении нумерации.

Автор: Сергей85 06.01.12, 14:49
Можно в качестве дополнения в адд-ин встроить следующее: нормальное отображение полного пути для References, или возможность увеличить размер окна.
__________.JPG (, : 656)

Автор: Diamock 06.01.12, 15:12
Цитата coder
Могу подготовить текстовый документ.

Договорились. Свой E-mail, я написал в личном сообщении. Жду на почту, подготовленный текст.
Цитата Сергей85
Можно в качестве дополнения в адд-ин встроить следующее: нормальное отображение полного пути для References, или возможность увеличить размер окна.

Для этого не нужен Add-In, у меня окно References Выглядит так.
user posted image
Хочешь расскажу как? 8-)

Автор: Сергей85 06.01.12, 15:59
"2. При установке курсора в строку №6 - идет цикличное проставление/убирание отступов."

Вы, наверно, архив обновить забыли на форуме: в Bepcия: 1.2.706 не пофиксено.

Автор: Сергей85 06.01.12, 18:58
Ошибка самого VB или Add-In'a. Если напротив "End If" стоит номер строки, и я пытаюсь нажать энтер ПОСЛЕ If - у меня не просто новая строка создается, а туда If переносится, хоть и не должно. Вероятно, такое же проявляется с другими операторами из 2 слов и более.

Автор: Сергей85 06.01.12, 20:25
С аддином VB6 часто вылетает с такими глюками.
Но не опускать руки! Я тоже свои программулины оттачивал с пеной у рта. )

http://www.bad-good.ru/1.avi

Автор: coder 07.01.12, 04:15
Цитата Сергей85 @
Об опечатках в справке:
- •Авто форматирования строки кодов в зависимости операторов.
- •Cмягчена влияние на историю изменений
- •Установка Add-in'a к среду VBA
- •Авто-вставка знак(а?) комментария
- Вернуть (возвращение?) отменённых изменений по коду;


Об опечатках в адд-ине:
- в настройках: Ctrl + Shift + U Oтмeнa кoммeнтиpoвaниe

Само слово "авто форматирования" не нравится или окончание? Исправил на "авто форматирование".
Про установку Add-in'a чего предлагаешь? Я убрал этот элемент.
Вернуть и возвращение одно и тоже же? Поменял на возвращение.
Цитата Diamock @
Но у меня палитра, не видна

Там все настройки включены? Стил интерфейса -> Windows XP -> Показ палитры.
Цитата Сергей85 @
Недочет в подсветке текста красным цветом. Почему-то именно в этой ситуации последняя буква текста не подкрашивается.

Прикреплённый файл: __________.JPG (7.38 Кбайт, скачиваний: 5)

Код целиком, если важно.

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

Я делал свой вариант.
Цитата Сергей85 @
А также внести изменение в саму нумерацию, чтобы при ОТКЛЮЧЕНИИ нумерации в определенном событии - удалялись номера строк на пустых строчках. У меня были вручную пронумерованы все строки, в т.ч. пустые. И после отключения нумерации имею результат:

Пофиксил.
Цитата Сергей85 @
И задваивание номеров строк имею в том числе при включении нумерации.

Такое ещё не уловил. Именно в каком ситуации?
Цитата Сергей85 @
2. При установке курсора в строку №6 - идет цикличное проставление/убирание отступов."

Вы, наверно, архив обновить забыли на форуме: в Bepcия: 1.2.706 не пофиксено.

Ещё нашел такое поведение и пофиксил.
Цитата Сергей85 @
Ошибка самого VB или Add-In'a. Если напротив "End If" стоит номер строки, и я пытаюсь нажать энтер ПОСЛЕ If - у меня не просто новая строка создается, а туда If переносится, хоть и не должно. Вероятно, такое же проявляется с другими операторами из 2 слов и более.

Это тоже пофиксил.
Цитата Сергей85 @
С аддином VB6 часто вылетает с такими глюками.

В режиме отладки или нет разницы?
Временно отключай подсветку, многое время у меня такое не было.

Автор: Сергей85 07.01.12, 06:32
"Само слово "авто форматирования" не нравится или окончание? Исправил на "авто форматирование"." - орфографически правильно так, как описание по ссылке. Там ещё недочеты были, т.к. я уже каждую строчку перечитывал.
http://www.bad-good.ru/2012/january/300-add-in.html

"Такое ещё не уловил. Именно в каком ситуации?" Пусть я имею такой код:

Sub
print

1+1=2
3
3+3=4
end sub

Тогда при включении нумерации данный код будет иметь вид

Sub
1 print

2 1+1=2
3
3 3+3=4
end sub


"В режиме отладки или нет разницы?" - без разницы.

Автор: Diamock 07.01.12, 09:10
Уважаемый coder!
Да при включенной галочке палитра видна. Но VB IDE после этого вылетает с ошибками
Первым выскакивает это окно
user posted image
Вторым это
user posted image
После этого автозагрузка Add-In'a отрубается. Перерегистрация не спасает, только ручная очистка реестра, перезагрузка и новая регистрация. Работать может некоторое время, потом без причины вылетает вновь.

Один момент, который мне не нравится: - автоматическая смена раскраски кода, при установке Add-In'a.
И ещё один вопрос, каким образом, удалось решить проблему отображения палитры?
Есть ещё предложение, по инсталляции Add-In'a без использования сервера регистрации (regsvr).

Автор: VSHome 07.01.12, 09:36
Цитата Сергей85 @
"Такое ещё не уловил. Именно в каком ситуации?" Пусть я имею такой код:

Зачем писать синтаксически неверный код, и ещё требовать чтобы AddIn корректно его отрабатывал? Это бред. Надо самому писать правильный код, а дополнение лишь должно помочь в этом

Автор: Сергей85 07.01.12, 09:53
Потому что адд-ин модернизирует код; и если он наносит вред а не пользу - это не есть хорошо.

Что значит "правильный" код? Для каждого это понятие свое.
А вот у тех, кто хочет использовать этот плагин, наверняка есть общее: я ошалело руками пронумеровывал строки в проекте до этого аддина, ни в одном другом языке нет такой бредятины. Естественно, в процессе написания где-то что-то съедет, забудешь пронумеровать или забудешь убрать номер строки. А какой тогда смысл в этой части аддина "нумерация строк"? Облегчить этот бред VB. И корректно облегчить.

И почему пустая строка с номером "синтаксически неверная"? Компилятор не ругается на такое положение дел, и не мне, и не вам, а ему решать: есть синтаксическая ошибка или нет; и именно он проводит синтаксический анализ перед запуском.

Автор: coder 07.01.12, 14:34
Цитата Сергей85 @
Само слово "авто форматирования" не нравится или окончание? Исправил на "авто форматирование"." - орфографически правильно так, как описание по ссылке. Там ещё недочеты были, т.к. я уже каждую строчку перечитывал.
http://www.bad-good.ru/2012/january/300-add-in.html

Скрытие - по моему мнению это другая вещь.
Цитата Сергей85 @
Тогда при включении нумерации данный код будет иметь вид

Я понел, задваивание номеров строк я читал как задваивание строк. Это уже было учтено по предыдущему багу.
Цитата Сергей85 @
"В режиме отладки или нет разницы?" - без разницы.

Подсветка как-то проблемно получается.
Цитата Diamock @
Да при включенной галочке палитра видна. Но VB IDE после этого вылетает с ошибками

Попробуй отключить другие Add-in'ы. Такое не должно быть.
Цитата Diamock @
Один момент, который мне не нравится: - автоматическая смена раскраски кода, при установке Add-In'a.

Отключить можно же, замена пришло в голову из-за VB.NET, там операторы закрашивается синим цветом.
Цитата Diamock @
И ещё один вопрос, каким образом, удалось решить проблему отображения палитры?

Проблема решается перерисовкой.
Цитата Diamock @
Есть ещё предложение, по инсталляции Add-In'a без использования сервера регистрации (regsvr).

Можно сделать установочный или install.bat. Твое предложение тоже такой?

На предыдущем по ошибке прикрепил другой dll (Программа компилировал на директорию VB6). Архив обновил.

Автор: VSHome 07.01.12, 15:23
Цитата Сергей85 @
И почему пустая строка с номером "синтаксически неверная"?

user posted image
Думаю комменты излишни, код из цитаты с сообщения

Добавлено
Цитата Сергей85 @
Что значит "правильный" код?

Значит синтаксически верный.

Автор: Сергей85 07.01.12, 15:28
Вы сами поняли, что написали?

Напишите нормальную функцию или sub, пронумеруйте все строки и шифт-F5. Проблем не возникнет.

Добавлено
Ну и чтобы прояснить ситуацию, то я написал сообщение №64 для ПРИМЕРА, что происходит до и что происходит после. Если вы не в состоянии оказались этого понять - я не виноват. И вообще, что за фигня с вами: пришел, накакал и ничего дельного в тему не сказал.

Автор: VSHome 07.01.12, 16:06
Цитата Сергей85 @
Ну и чтобы прояснить ситуацию, то я написал сообщение №64 для ПРИМЕРА

Этот пример СИНТАКСИЧЕСКИ неверный, неужели это не видно??
Sub без имени
1+1=2 а это что за хня? Это присваиваивание кому или чему. Это бред.

И чтобы правильно отработала нумерация, нужно хотя бы код написать нормальный (читай синтаксически верный). И всевозможный Ваш бред (читай код из примера) аддин не обязан корректно нумеровать. Так как чтобы получить заведомо неверную нумерацию от Аддина, ума много не нужно, а в AddIn добавлять лишний код на проверку кривых рук - оно того не стоит.

Цитата Сергей85 @
Напишите нормальную функцию или sub, пронумеруйте все строки и шифт-F5. Проблем не возникнет.

Вот именно, что Аддин отрабатывает верно на нормальных конструкциях языка, а не псевдосинтаксиса. Ну и собственно не нужно нумеровать самому строки, чтобы Addin не сбить столку (А Вы я вижу этого и добиваетесь)

Цитата Сергей85 @
И вообще, что за фигня с вами: пришел, накакал и ничего дельного в тему не сказал.

Я ничего не "накакал", я сказал по существу. Что не надо дописывать код от криворукости, а AddIn выполняет свои обязаности, синтаксис подсвечивает, отступы ставит, нумерует, если первоначальный код корректный и не нумерован.

Так например можно сделать и такой пример:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Private Sub Form_Load()
        Dim I As Long, J As Long
        
    1000 J = InputBox("Ввод числа")
        If J > 10 Then GoTo 1001 Else GoTo 1002
        
    1002 For I = J To 10
            If I = 9 Then GoTo 1000
         Next
        
    1001 End Sub

И AddIn будет на нём глючить, хотя синтаксис кода верен. Но я так никогда не буду писать ибо код говно.

Итого: Addin будет отрабатывать стандартные ситуации, а большее и не нужно. Так как придраться можно ко всему.

Автор: Сергей85 07.01.12, 16:10
Уважаемый Coder, потрите наш срач, пожалуйста. ) Если вы не поняли истинный смысл сообщения №64 - я вам объясню его в личке.

Автор: coder 07.01.12, 16:36
Цитата VSHome @
И AddIn будет на нём глючить, хотя синтаксис кода верен.

Проверил ничего не глючил.
Цитата Сергей85 @
Если вы не поняли истинный смысл сообщения №64 - я вам объясню его в личке.

Я уже ответ дал по этой сообщении на посте 68.

Уважаемые, VSHome, Сергей85 не ссорьтесь тема была создана для тестирование, именно для таких случаев (для тестирование на разных видах кодинга).

Автор: coder 08.01.12, 07:10
Текстовый документ - справку добавил в архив.

Если есть корректировки, добавки, они тоже принимаются.

Автор: Diamock 08.01.12, 13:43
coder, спасибо за справку, буду переводить в *.chm.
Создал пример установочной программы для Add-In'a.
В аттач, файл не помещается, поэтому указываю ссылку на скачивание
Программа установки VBSTyleCode

Автор: coder 08.01.12, 18:32
Да, посмотрел программу, добавил из себя что-нить и обновил архив. Спасибо за помощь.

Автор: coder 09.01.12, 05:40
Цитата Сергей85 @
С аддином VB6 часто вылетает с такими глюками.
Но не опускать руки! Я тоже свои программулины оттачивал с пеной у рта. )

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

Автор: Сергей85 09.01.12, 06:28
С той версией, которая была доступна для скачивания - в день написания сообщения об ошибке.

Прилагаю фото с ошибками текущей версии. Первая строчка - неверный отступ при нумерации, когда наступает следующий разряд номера.
__________.JPG (, : 687)

Видео с ошибками адд-ина не могу дать по причине конфиденциальности, стукну в аську.

Автор: Diamock 09.01.12, 11:33
Сергей85,
user posted image
эти ошибки, случились по моей вине :( . При написании инсталлятора, я не сделал функцию проверки на существование файла :wall: . В самое ближайшее время исправлю.

coder, файл справки - получил, спасибо.

Автор: coder 10.01.12, 10:28
Цитата Сергей85 @
Прилагаю фото с ошибками текущей версии. Первая строчка - неверный отступ при нумерации, когда наступает следующий разряд номера

Изменил инсталлятор на поэтапный. Теперь после отключение нумерации запуститься ещё форматирование тоже.

Добавлено
Diamock, ещё хотелось узнать: У вас проблема с Add-in'ом решилась после отключение других Add-in'ов?
У других работает же.

Автор: Diamock 10.01.12, 12:35
Цитата coder @

Diamock, ещё хотелось узнать: У вас проблема с Add-in'ом решилась после отключение других Add-in'ов?
У других работает же.

Да, удалил Add-In от MS, который добавлял скроллинг в IDE и всё прекрасно заработало.

Автор: coder 10.01.12, 13:37
Да, этого аддин'a были глюки, при скроллинге активировал другие окна, (именно, подкурсором мыши и скроллинг работал на нем).

Автор: Сергей85 10.01.12, 19:09
Есть идея использовать в файле справки шрифт Times New Roman, а не Calibri; а то что-то глаза режет этот полупечатных шрифт.

Добавлено
Coder, ничего не подумайте; просто я привык к тому, что правописание является визитной карточкой любого продукта. Как вы поступите, если будете читать инструкцию к микроволновке, постоянно натыкаясь на корявый перевод?

В справке ошибок как минимум 10, а то и 20.

Автор: Diamock 11.01.12, 01:23
Цитата Сергей85 @
В справке ошибок как минимум 10, а то и 20.

Сергей85, корректуру и редактирование справки, я взял на себя. Скоро появиться, предварительная версия - её и будем разбирать по косточкам. :D

coder, решил немного подредактировать окно настроек Add-In'a. Пример в аттаче. Если понравиться, выложу исходники.
ExempleSetting.zip (, : 306)

Автор: coder 11.01.12, 23:43
Цитата Diamock @
coder, решил немного подредактировать окно настроек Add-In'a. Пример в аттаче. Если понравиться, выложу исходники

Я отправил вам ответ. Тут тоже можно обсуждать:
Скрытый текст
Цитата
Внешний вид окна настроек, взят с мастера какого-либо пошагового действия


Нет я взял от Code Smart, там тоже было Заголовок (Название настроек, через тире (-) элементы дерево.) и Объяснение в низу.

Цитата
Три раза повторяется одно и то же название "Авто-отступ". То же и с другими окнами настроек.


Третье поменять можно просто на "Доступно"

Цитата
я отметил, что выбор опций настройки выполнен с использованием ListBox и, можно выбрать пустую строку. Я бы, использовал для этого элемент TreeView


Я тоже хочу использовать, но через API (TreeView32), я не использовал никаких библиотек, компонентов кроме самых нужных: MSVBVM60.DLL, VB6.OLB, stdole2.tlb, msaddndr.dll, vb6ext.olb, vbe6ext.olb
Потом ещё незнаю, сам ещё не пробовал: это будет работать на VBA, на которых ещё ни разу не установлены VB6. Если не будет работать это все нужно будет добавить в инсталлятор.

Цитата
Пункт "Ширина доступа, пр.:" – что такое пр.? И почему цифра 4, отображена в TextBox.Enabled = False? Возможно, лучше использовать для этого Label, если этот параметр не подразумевает изменения со стороны пользователя.

Можеть быть вы неправильно читали, это Ширина отступа, в пробелах. Там у вас в настройках самого среды по умолчанию 4 стоит.
С начала можно было изменять, потом он всегда брал от TabWidth с регистра,
Ещё хотелось использовать не стандартную ширину, там в настройках VB.NET тоже есть же две виды настроек: Tab size, Indent size
И про скроллинге тоже: На планах есть сделать ещё нестандартную высоту строк тоже, чтобы можно было поменять его.

Цитата
я показал несоответствие отображение элементов управления при выключенном CheckBox'е.

Да можеть быть я не обратил внимание, буду исправлять.


Цитата
Если у вас есть логотип, который вы хотите использовать, пришлите мне его.

Я просто хотел использовать такой логотип, который сейчас есть: в меню "О программе".


Цитата
Не подумайте, что я хочу вас обидеть, это лично моё мнение. Я просто хочу помочь.Свой вариант интерфейса окна настроек, я вам пришлю попозже.


Все помощи я приму как помощь в проект и всех помогающих буду включать в окно О программе, в пункт Благодарности.


Добавлено
Цитата Сергей85 @
Coder, ничего не подумайте; просто я привык к тому, что правописание является визитной карточкой любого продукта. Как вы поступите, если будете читать инструкцию к микроволновке, постоянно натыкаясь на корявый перевод?

Я перед добавлением справки написал вот такой текст:
Цитата coder @
Текстовый документ - справку добавил в архив.

Если есть корректировки, добавки, они тоже принимаются.


Добавлено
Diamock, я посмотрел ваш вариант окно настроек, там на авто завершениях что будет? (я думаю что только одно: Then)

Автор: coder 12.01.12, 09:13
Добавлен новый возможность:
  • Выбор языка интерфейса

Автор: Diamock 12.01.12, 11:33
coder
Отличаются номера версий в инсталляторе
user posted image
и самом Add-In'е
user posted image

Функция переключения Rus/Eng и обратно не работает.

Автор: coder 12.01.12, 16:06
Цитата Diamock @
Отличаются номера версий в инсталляторе

У меня иногда планы остаются как планом, реализация вовремя не происходить. Уже давно нужно было сделать 2-ую версию тогда, когда начал заново этот проект.

Цитата Diamock @
Функция переключения Rus/Eng и обратно не работает.

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

Автор: Diamock 12.01.12, 16:27
coder, а как ты смотришь, на то, что бы для Add-In'a сделать отдельный Toolbar? И расширить ещё функциональность? У меня есть несколько идей, как сформируються, сразу отпишусь.
И ещё один вопрос: Если не секрет, можно подробнее о перерисовке палитры? Уж очень сильно меня этот вопрос интересует. :)
Интересный момент, у меня Office 2010 (VBA 7) - Add-In выпадал при попытке запуска VBA, но после установки последней версии, всё заработало! :blink:

Автор: coder 12.01.12, 16:46
Цитата Diamock @
coder, а как ты смотришь, на то, что бы для Add-In'a сделать отдельный Toolbar?

На первом версии был отдельный Toolbar, потом пришел в голову усовершенствовать имеющиеся Toolbar'ы.
Можно возвращаться на предыдущий.
Цитата Diamock @
И расширить ещё функциональность?

Со временем расширяю, по возможности. Это ещё не последний.
Цитата Diamock @
У меня есть несколько идей, как сформируються, сразу отпишусь.

Пожалуйста, но сразу нескольких сложно будет реализовать. У меня самому тоже есть идеи.
Цитата Diamock @
И ещё один вопрос: Если не секрет, можно подробнее о перерисовке палитры? Уж очень сильно меня этот вопрос интересует.

Эта палитра самой средой рисовалось на окну закладку, и я тоже повторял это действие.
Цитата Diamock @
Интересный момент, у меня Office 2010 (VBA 7) - Add-In выпадал при попытке запуска VBA, но после установки последней версии, всё заработало!

У меня тоже Office 2010 (VBA 7), но всегда работал правильно.

И у меня тоже вопрос: язык обратно поменялся?

Добавлено
Цитата coder @
И ещё один вопрос: Если не секрет, можно подробнее о перерисовке палитры?

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

Автор: coder 15.01.12, 14:42
Добавлена новая возможность:
  • Настройка обработчиков ошибок

Автор: coder 16.01.12, 05:45
Добавлен новая возможность:
  • Быстрый переход к функциям и процедурам

Автор: Diamock 16.01.12, 17:23
Привет coder, несколько замечаний о последней версии (2.00.65) VBStyleCode.
user posted image Опечатка, мягкий знак не нужен.

user posted image При отключенном CheckBox "Доступность", CheckBox "Пропускать строки не вызывающих ошибок" - остаётся работающим.

user posted image Двоеточия не надо, вместо строка => строк.

user posted image Неправильная обработка CheckBox в Toolbar'e.

user posted image Нет промежутка между кнопками.

user posted image user posted image При появлении окна, рисункки на кнопках исчезают и кнопки становятся недоступными, при перерисовке окна появляются рисунки и изменяется вид кнопок.

С уважением...

Автор: coder 17.01.12, 19:38
Цитата Diamock @
Опечатка, мягкий знак не нужен.
Цитата Diamock @
При отключенном CheckBox "Доступность", CheckBox "Пропускать строки не вызывающих ошибок" -
Цитата Diamock @
Двоеточия не надо, вместо строка => строк.

Замечании были исправлены.
Цитата Diamock @
Неправильная обработка CheckBox в Toolbar'e.

Я думаю что, правильно: Он показывает следующее действие кнопки нумерации, если нет номер - работает меню "Нумерация", если есть номер - работает "Убрать нумерацию". Кроме того меню можеть работать без этих номеров тоже, при выборе элемента меню "Нумерация" заново нумерует, а при выборе "Убрать нумерацию" убирает все номера в теле процедуры (В смысле, действие не связан с текущим состоянием нумерации).
Цитата Diamock @
Нет промежутка между кнопками.

Почему не используешь стиль XP, на том стиле промежутки чуть-чуть виднее будет? Для вида поставил промежутки.
Цитата Diamock @
При появлении окна, рисункки на кнопках исчезают и кнопки становятся недоступными, при перерисовке окна появляются рисунки и изменяется вид кнопок.

Это ещё не посмотрел.

Добавлены новые возможности:
  • Авто-замена инкрементные (++) и декрементные (--) операции.
  • Авто-замена составное присваивание (+=, -=, *=, /=, \=, &=).

Вообщем авто-замена и авто-текст были разделены. Теперь в VB тоже можно использовать операции языка С, С++ и VB.NET (C Style Code - противоречить к названию программы, но для удобства и быстроты ввода добавил его).

Автор: coder 18.01.12, 01:18
Цитата coder @
Цитата (Diamock @ 16.01.12, 22:23)
При появлении окна, рисункки на кнопках исчезают и кнопки становятся недоступными, при перерисовке окна появляются рисунки и изменяется вид кнопок.
Это ещё не посмотрел.

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

Автор: coder 18.01.12, 03:26
Вы любитель комментарий в виде "'#"? Добавил поддержку такого вида комментария тоже.

Автор: Old Bat 18.01.12, 08:32
опробовал в VBA, полезная штука

правда есть небольшая ложка дегтя: после установки VBStyleCode не отображается в списке доступных офисных надстроек (Office2010), хотя функционал и доступен, а после деинсталляции соотв. запись не удаляется из HKEY_CLASSES_ROOT реестра - как следствие VBStyleCode отображается в списке доступных надстроек даже при удалении библиотеки с диска

coder, не планируешь ли добавить возможность переназначения горячих клавиш; не критично, но привычка - вторая натура ))

Автор: coder 18.01.12, 17:14
Цитата Old Bat @
правда есть небольшая ложка дегтя: после установки VBStyleCode не отображается в списке доступных офисных надстроек (Office2010), хотя функционал и доступен

Оно не показывается в списке офисных надстроек (в смысле на "Надстройки" и на "Надстройки COM"), должно показываться на списке Add-ins -> Add-in Manager в среде VBE.
Цитата Old Bat @
а после деинсталляции соотв. запись не удаляется из HKEY_CLASSES_ROOT реестра - как следствие VBStyleCode отображается в списке доступных надстроек даже при удалении библиотеки с диска

При удалении с диска реестр не очищается, но деинсталлятор должно было разрегистрировать библиотеку. Во время деинсталляции все действие произойдет успешно?
Цитата Old Bat @
coder, не планируешь ли добавить возможность переназначения горячих клавиш; не критично, но привычка - вторая натура ))

Могу сделать такой возможность тоже.

Автор: coder 18.01.12, 21:43
Теперь горячие клавиши можно менять.

Автор: Old Bat 19.01.12, 08:18
совсем другое дело, благодарствую )) но есть еще над чем поработать: все не смотрел, но комментарий отрабатывает только на стандартном сочетании, при назначении Ctrl+буква вообще удаляется вся строка

Цитата
Оно не показывается в списке офисных надстроек (в смысле на "Надстройки" и на "Надстройки COM"), должно показываться на списке Add-ins -> Add-in Manager в среде VBE.

об этом и речь, в VBE все в порядке, а вот в списке офисных надстроек (Сервис->Надстройки в Excel) пункт не появляется, т.е. отключить/включить надстройку при необходимости (именно ОТКЛЮЧИТЬ, а не отменить регистрацию) пользователю не удастся. Можно, конечно, сделать это ручками, выбрав надстройку в качестве сервера автоматизации (что я и сделал ранее), но тогда пункт остается в списке даже при деинсталляции ПО, поскольку не очищается реестр, что только вводит пользователя в заблуждение.
Предлагаю при установке ПО добавлять в реестр информацию о надстройке:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    [HKEY_USERS\<SID_пользователя>\Software\Microsoft\Office\<версия_офиса>\Excel\Options]
     
    "OPEN"="/A \"VBStyleCodeForVBA.Connect\""


и очищать данный параметр при отмене регистрации.

Автор: Diamock 19.01.12, 13:27
Привет coder!
Несколько замечаний о последней версии: VB (2.0.125), VBA (2.0.15).

user posted image Непонятное название формы и, активный TextBox, при выключенном CheckBox'е.

user posted image Ошибка при нажатии клавиши применить. Ошибка выскакивает только в VB и WORD 2010. В других приложениях из состава Office 2010, такой ошибки нет.

user posted image В Front Page 2003, множественные пустые меню при установке новой версии VBStyleCode.

С уважением...

Автор: Diamock 19.01.12, 17:05
Примерный вариант дизайна справочного файла.

VBStyleCode.zip (, : 310)

Автор: coder 20.01.12, 02:44
Цитата Old Bat @
комментарий отрабатывает только на стандартном сочетании, при назначении Ctrl+буква вообще удаляется вся строка

Кроме Add-in'а горячих клавиш обрабатывает ещё сама среда тоже. Например, Ctrl+Y удаляет текущую строку, если удаляется вся строка, значить вы использовали Ctrl+X или нажали букву без Ctrl.
Цитата Old Bat @
в списке офисных надстроек (Сервис->Надстройки в Excel) пункт не появляется, т.е. отключить/включить надстройку при необходимости (именно ОТКЛЮЧИТЬ, а не отменить регистрацию) пользователю не удастся

Я попробовал установить через реестр и ещё попробовал делать сервер автоматизации, но при отключении надстройку Add-in работает же как прежде.
Я ещё прочитал о надстройках, там говорят что надстройки имеют расширения xla. Надстройки Excel
Я думаю что, Add-in'а отключить нужно после входа в VBE, на Add-in's -> Add-in Manager.

Добавлено
Цитата Diamock @
Примерный вариант дизайна справочного файла.

Не скачивается.

Автор: Diamock 20.01.12, 10:33
Привет coder! Перезалил файл в этом посте. Проверил, скачивается.

И ещё несколько мыслей, по поводу Add-In'а...
VBStyleCode постепенно превращается не в один плагин VB6, а в целый программный комплекс, призваный улучшить и облегчить разработку приложений. Поэтому, я считаю, некоторые функции стоит отделить от основного ядра.

Что отделяем
Отделить нужно настройки интерфейса VB IDE:
  • Стиль
  • Язык

Почему отделяем
Не очень удобно изменять стиль и язык среды разработки и перезапускать VB.

Как отделяем
К примеру, назавём эту программу VB6 Launcher. Вот её примерный интерфейс.
user posted image
Думаю принцип понятен :) , выбираем язык и стиль и, по нажатию кнопки [OK] - запускается VB с нужными нам стилем и языком.

Вот пока и все...

Автор: coder 21.01.12, 09:16
Цитата Diamock @
Непонятное название формы и, активный TextBox, при выключенном

Исправил, а название из-за Ctrl+S
Цитата Diamock @
Ошибка при нажатии клавиши применить. Ошибка выскакивает только в VB

Исправил.
Цитата Diamock @
В Front Page 2003, множественные пустые меню при установке новой версии VBStyleCode.

Установил FrontPage 2003, но такое у меня не произошел. Восстановите Menu Bar и ещё попробуйте.
Цитата Diamock @
Перезалил файл в этом посте

Мне очень понравилось, такую прекрасную справку ни в каком программе ещё не видел, а как идет корректировка справки?
Цитата Diamock @
VBStyleCode постепенно превращается не в один плагин VB6, а в целый программный комплекс, призваный улучшить и облегчить разработку приложений. Поэтому, я считаю, некоторые функции стоит отделить от основного ядра.

Стиль и язык всего один или две раза меняется же. А у вас каждый раз нужно выбрать?

Языки интерфейса отделил от установочного файла, чтобы каждый раз не пришлось скачать их.
Теперь на среде VBA тоже можно менять язык интерфейса, но переводы не полный, всего лишь переводил только строку меню. Искал, но не нашел в инете русификацию для VBA.
Если кто-нибудь русифицировал уже, или имеет такой файл можеть быть делиться с нами.

Автор: Diamock 23.01.12, 02:08
Привет coder!
Цитата coder @
...а как идет корректировка справки?

Работа над справкой звершена процентов на 70%. Сейчас пишу контекстную справку для этой кнопочки:
user posted image
Цитата coder @
Теперь на среде VBA тоже можно менять язык интерфейса, но переводы не полный, всего лишь переводил только строку меню. Искал, но не нашел в инете русификацию для VBA.
Если кто-нибудь русифицировал уже, или имеет такой файл можеть быть делиться с нами.

Когда-то у меня стоял Office 2000, там был русифицированный VBA.

Автор: coder 23.01.12, 20:49
Цитата Diamock @
Сейчас пишу контекстную справку для этой кнопочки

Большое спасибо за ваши усилия.
Цитата Diamock @
Когда-то у меня стоял Office 2000, там был русифицированный VBA.

Версия должен быть 6.0, был бы сейчас посмотрели.

Добавлена новая возможность:
  • MDI-вкладки

Автор: Diamock 24.01.12, 01:54
Привет coder!
Что-то непонятное переодически происходит, при отрисовке MDI-вкладок:
user posted image
Скриншот из VB6. То же самое и в VBA 6 и 7.

Автор: coder 24.01.12, 02:49
Когда появляется вторая белая строка?

Добавлено
Убрал периодическую отрисовку MDI-вкладок, прежде отрисовку оставил, потому что у меня не было видно.
Теперь попробуйте.

Автор: Diamock 29.01.12, 03:42
Привет coder!
Создание справочного файла близко к завершению, поэтому ниже я укажу изменения, которые необходимо внести в исходный код VB Style Code для успешной интеграции справки. :)
Технические требования для интеграции справочного файла.

Изменения для формы.
Свойство формы BorderStyle, должно быть Fixed Single или Fixed Dialog. WhatsThisButton и WatsThisHelp - True.
Код для формы.
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Private Sub SetHelpFile()
        App.HelpFile = AppDir & "VBStyleCode.chm::popups.txt"
    End Sub
     
    Private Function AppDir() As String
        If Right$(App.Path, 1) <> "\" Then
            AppDir = App.Path & "\"
        Else
            AppDir = App.Path
        End If
    End Function
     
    Private Sub Form_Load()
        SetHelpFile
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
        Unload Me
    End Sub

Изменения для элементов управления на форме.
Свойству элементов управления WatsThisHelpID user posted image надо присвоить значения указанные на рисунках

Изменения для Автоотступ
user posted image
Изменения для Автовставка
user posted image
Изменения для Автотекст
user posted image
Изменения для Автозамена
user posted image
Изменения для Нумерация
user posted image
Изменения для Обработчики ошибок
user posted image
Изменения для Подсветка синтаксиса
user posted image
Изменения для Скроллинг
user posted image
Изменения для Стиль
user posted image
Изменения для Язык
user posted image
Изменения для MDI вкладки
user posted image
Изменения для Горячие клавиши
user posted image
Изменения для Формы
user posted image

Это первый этап внесения изменений, относящийся к VB IDE. Для VBA напишу позже.
С уважением...

Автор: coder 29.01.12, 04:05
Здравствуйте Diamock, прочитав спойлера, был очень рад, за это вам очень большое спасибо.

Я сейчас работаю над Include, там тоже будет несколько настроек (пути модулей и ещё др.).
На программу было внесено некоторые добавления и исправления (на настройки могут добавится только пункт Include), но ещё не обновлял, буду обновлять после завершения Include.

Цитата Diamock @
Для VBA напишу позже.

Они одинаковые же.

Автор: Бяка 30.01.12, 00:47
привет, посмотрел, понравилось

вот только глюки при подсветке кода
01.jpg (, : 720)

и несколько замечаний по интерфейсу
02.jpg (, : 694)
03.jpg (, : 715)

Автор: coder 31.01.12, 21:17
Цитата Бяка @
вот только глюки при подсветке кода

Исправил, попробуйте.
Цитата Бяка @
и несколько замечаний по интерфейсу

Исправил.

На этом обновлении:

Добавлены новые возможности:
  • Архивация проекта;
  • Объявление функций, типов и констант (через #include);
Архивация проекта уже есть на других аддинах тоже, добавил для объединение в одну.

Объявление функций, типов и констант с помощью #include тоже было уже, но этот вариант в различии с другими поддерживает автоматическую объявлению тоже.

Директиву #include можно использовать по разному:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    ' _
    #Include <registry.bas> _
    #Include In <win32api.txt>
     
    '#Include Full <mapi32.txt>
    '#Include File <showdirs.bas>
    '#Include Related "readme.txt"


По первому варианту добавляется модуль под названием registry и объявлении будет добавлятся к нему;
По второму варианту объявлении добавляется к текущему модулю;
По третьему варианту mapi32 полностью копируются к новому модулю;
По четвертому варианту файл showdirs.bas подключается на проект;
По пятому варианту файл подключается как рекомендуемый.

Последние две варианты не работает на VBA.

Теперь если директиву #Include или #Region - #End Region будете ввести без знака комментария аддин сам добавляет их автоматом.

Для проверки подключайте registry.bas через #Include <registry.bas> и попробуйте ввести getstring и пробел, у вас сразу появляется подсказка о функции и возможные варианты первого аргумента.

И ещё, при запуске VB память очищалось, аддин эту проблему тоже решает.

Добавлено
И ещё если путь указывается с кавычками значить аддин ищет его с двух мест:
1. В каталоге самого проекта.
2. В каталоге Мои проекты (его можно настроить).

Подпапки тоже можно включить с помощью слэш (\). Например:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    '#Include <files\showdirs.bas>
    '#Include "VBStyleCode\modRegistry.bas"

Автор: coder 01.02.12, 03:48
Была исправлена недостатки Include In.

Автор: Diamock 01.02.12, 09:26
Привет coder!
Цитата Лицензия архиватора RAR
Ключевые файлы RAR и WinRAR не должны распространяться за пределы области, контролируемой лицом или лицами, купившими оригинальную лицензию, без письменного разрешения обладателя авторских прав.

Поэтому во избежание претензий со стороны держателя авторских прав, предлагаю воспользоваться, другой библиотекой сжатия, распространяемой бесплатно или моим (относительно конечно) кодом.
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Option Explicit
     
     
    '#######################################################################################
    Private Function FileExist(FileName As String) As Boolean
    '#######################################################################################
    '# Функция проверки существования файла
    '#######################################################################################
    '# Параметры функции:
    '########################################################################################
    '# FileName         - [Обязательный]
    '#                  - Тип String
    '#                  - Имя проверяемого файла. Если путь к файлу не указан, проверяется
    '#                  - файл в текущем каталоге текущего диска
    '########################################################################################
    '# Возвращаемое значение
    '#                  - Тип Boolean
    '#                  - Если файл существует, возвращает True
    '#                  - Если файл не существует, возвращает False
    '#                  - В случае ошибки, возвращает False
    '########################################################################################
     
    On Error GoTo ErrFileExist              '# Включаем обработчик ошибок
     
    If Dir$(FileName) = vbNullString Then   '# Проверяем файл
        FileExist = False                   '# Файл не существует, FileExist = False
    Else
        FileExist = True                    '# Файл существует, FileExist = True
    End If
    Exit Function                           '# Выход из процедуры
     
    ErrFileExist:                           '# Обработка ошибок
        FileExist = False                   '# Файл не существует, FileExist = False
    End Function
    '########################################################################################
     
     
     
     
    '########################################################################################
    Public Sub CreateZIP(ZIPFileName As String, Optional Overwrite As Boolean = True)
    '########################################################################################
    '# Процедура создания ZIP архива
    '########################################################################################
    '# Параметры процедуры:
    '########################################################################################
    '# ZIPFileName      - [Обязательный]
    '#                  - Тип String
    '#                  - Полный путь к архиву
    '########################################################################################
    '# Overwrite        - [Необязательный]
    '#                  - Тип Boolean
    '#                  - Указание на возможность записи на место существующего файла.
    '#                  - В случае, когда значение равно True, такая запись разрешается;
    '#                  - в противном случае значение равно False.
    '#                  - Если параметр опущен, запись поверх существующего файла разрешена
    '########################################################################################
     
    '# Объявление переменных процедуры
     
    Dim ff          As Long     '# Переменная на доступ к свободному каналу
    Dim ShellApp    As Object   '# Переменная для инициализации [Shell.Application]
    Dim FE          As Boolean  '# Переменная для хранения валидности файла
     
     
        '# Инициализация переменных
        
        ff = FreeFile                                       '# Получаем свободный канал
        Set ShellApp = CreateObject("Shell.Application")    '# Инициализация [Shell.Application]
        FE = FileExist(ZIPFileName)                         '# Проверка валидности [ZIPFileName]
        
        '# Обработка параметра [Overwrite]
        
        Select Case Overwrite                               '# Провека параметра [Overwrite]
            Case True                                       '# Перезапись разрешена
                If FE = True Then                           '# ZIP архив существует
                    Kill ZIPFileName                        '# Удаляем ZIP архив
                End If
            Case False                                      '# Перезапись запрещена
                If FE = True Then                           '# ZIP архив существует
                    MsgBox "ZIP архив " & _
                    vbCrLf & ZIPFileName & _
                    vbCrLf & "существует.", _
                    vbInformation, App.Title                '# Выводим информационное сообщение
                    
                    Exit Sub                                '# Выходим из процедуры
                End If
        End Select                                          '# Окончание проверки [Overwrite]
        
        '# Создание ZIP файла
        
        Open ZIPFileName For Output As #ff                  '# Открываем файл для записи
            Print #ff, Chr(80) & Chr(75) & _
            Chr(5) & Chr(6) & String(18, vbNullChar);       '# Создаём ZIP файл
            '####################################################################
            '# ВНИАНИЕ!!!                                                       #
            '# Точка с запятой в конце строки обязательна, чтобы оператор Print #
            '# не добавлял в файл символ переноса vbCrLf                        #
            '####################################################################
        Close #ff                                           '# Закрываем канал
        
    End Sub
     
     
    '########################################################################################
    Public Sub AddFFFromZIP(ByVal ZIPFileName As String, ByVal AddFFName As String)
    '########################################################################################
    '# Примечание к процедуре!
    '########################################################################################
    '# Изначально, планировалось создать две процедуры. Добавление файла в ZIP архив и добав-
    '# ление папки в ZIP архив. Но структура кода в теле обеих процедур была одинакова, поэ-
    '# тому я решил использовать одну процедуру для добавления фалов и папок.
    '########################################################################################
    '# Параметры процедуры:
    '########################################################################################
    '# ZIPFileName      - [Обязательный]
    '#                  - Тип String
    '#                  - Полный путь к архиву
    '########################################################################################
    '# AddFFName        - [Обязательный]
    '#                  - Тип String
    '#                  - Полный путь к добавляемому файлу или папке
    '########################################################################################
     
    Dim ShellApp    As Object   '# Переменная для инициализации [Shell.Application]
        
        Set ShellApp = CreateObject("Shell.Application")    '# Инициализация [Shell.Application]
        ShellApp.NameSpace((ZIPFileName)).CopyHere (AddFFName)
        '# Добавляем файл (папку) в ZIP архив
        
    End Sub

Некоторые замечания по интерфейсу, выложу позже.

С уважением...

Автор: coder 01.02.12, 13:05
Я присоединяюсь к вашим советам, в практике работал уже с zip архивами, но на этот раз не обратил внимание на лицензий.

Если у вас есть ещё другие замечания, то буду обновлять архив после них.

Автор: Diamock 01.02.12, 13:24
Ресайз формы нужно убрать.
user posted imageuser posted image
Это основное, остальное не влияющее на работу, чуть позднее.
P.s. Напиши пожалуйста историю изменений (версий), нужно для справки и, лицензиооное соглашение (могу вписать стандартное As Is).

Автор: coder 01.02.12, 16:58
Обновил архив, был исправлен баг авто-отступа (при авто-табуляции в некоторых случаях окно показался как зависшим).
Цитата Diamock @
могу вписать стандартное As Is

Подойдет.
Цитата Diamock @
Напиши пожалуйста историю изменений (версий), нужно для справки

В смысле на каком версии, что было исправлена, что было добавлена, вы это имеете ввиду:
Скрытый текст
История:
=========================================
01.02.12 02:17
Версия: 2.0
- Добавлен возможность архивация проекта.
- Объявление функций, типов и констант (через #include).
- И ещё, при запуске VB память очищалось, аддин эту проблему тоже решает.
=========================================
24.01.12 01:49
Версия: 2.0
- Добавлен возможность MDI-вкладки.
=========================================
21.01.12 14:16
Версия: 2.0
- Добавлен возможность выбора языка интерфейса в среде VBA.
=========================================
19.01.12 02:43
Версия: 2.0
- Добавлен возможность назначение горячих клавиш.
=========================================
18.01.12 00:38
Версия: 2.0
- Авто-замена инкрементные (++) и декрементные (--) операции.
- Авто-замена составное присваивание (+=, -=, *=, /=, \=, &=).
=========================================
16.01.12 10:45
Версия: 2.0
- Добавлен возможность быстрый переход к функциям и процедурам.
=========================================
15.01.12 19:42
Версия: 2.0
- Добавлен возможность обработчики ошибок.
=========================================
12.01.12 14:13
Версия: 2.0
- Добавлен возможность выбора языка интерфейса.
=========================================
10.01.12 15:28
Версия: 2.0
- установочная программа заменен на мастеру установки.
=========================================
08.01.12 23:32
Версия: 2.0
- Добавлен установочная программа.
=========================================
03.01.12 14:00
Версия: 2.0
- Авто-вставка шаблона текста при добавлении функции/процедуры
- Нумерация строк кода
=========================================
01.01.12 19:25
Версия: 2.0
- Добавлен возможность подсветки синтаксиса.
- Добавлен возможность выбора стиля интерфейса.
- Проблемы со стилем Windows XP было полностью решено.
- Автовставка знака комментария.
- Установка горячих клавиш.
- В том числе, Ctrl + S - Сохранение модулей в режиме отладки.
- Поддержка новых директивов: '#Region "My region" - '#End Region
=========================================
23.12.11 00:46
Версия: 2.0
- При автоотступе смягчена влиянии на историю изменений.
=========================================
21.12.11 02:44
Версия: 2.0
- Скроллинг с помощью мышиного колеса тепер работает и в других окнах тоже.
=========================================
19.12.11 02:46
Версия: 2.0
- добавлен возможность автовставки текстовых шаблонов (автотекст).
=========================================
17.12.11 21:49
Версия: 2.0
- Исправлен скроллинг в режиме SDI.
=========================================
17.12.11 08:28
Версия: 2.0
- Установка Add-in'a в среду VBA.
- Поддержка режима SDI.
- Автовставка Then для If - ElseIf.
=========================================
07.08.07 17:47
Версия: 1.0
- Добавлен возможность автоматическое расставление отступов.
- Добавлен возможность выбора опций.
=========================================
30.07.07 11:03
Версия: 1.0
- Добавлен скроллинг с помощью мышиного колеса в окне кода.
- Add-in в режиме паузы тоже работает.
=========================================
17.05.07 11:26
Версия: 1.0
- Добавлен поддержка Enum и Type.
=========================================
11.05.2007 17:44
Версия: 1.0
- Аддин считывает количество пробелов, указанное в настройках среды.
- Если оператор уже закрыт, то повторно уже не вставляется конечные конструкторы.
=========================================
08.05.2007 13:02
Версия: 1.0
- При нажатии Return добавилось или убралось отступы.
- И вставлялись конечные конструкторы.
- При нажатии на кнопку Табулировать расставлялось отступы выделенных строк.
=========================================

Автор: Diamock 02.02.12, 04:00
Привет coder!
Поправь отступы, примерно так
user posted image

Автор: coder 02.02.12, 04:08
Слово Настройки убрали?

Добавлено
Чуть-чуть уточнял историю.

Добавлено
Цитата Diamock @
Поправь отступы, примерно так

Посмотрим.

Автор: Diamock 03.02.12, 15:18
Привет coder!
Вот некоторая критика интерфейса :( .
Заметки по интерфейсу
user posted image
user posted image
user posted image
user posted image
user posted image
user posted image

По поводу Истории версии.
Желательно кроме указания числа и версии 2.0 - указывать 2.0.156 (например).

Свой вариант компоновки окна настроек продумаю на выходных :)
С уважением...

Автор: coder 03.02.12, 16:06
Цитата Diamock @
Вот некоторая критика интерфейса .
Заметки по интерфейсу


Бордюры, полосы и выравнивание Frame'ов уже были замечены по предыдущему посту.
По множественному повторению что предлагаете?
Выравнивании элементов можно исправить.
Вставку убираю.
Произвольного текста разворачиваю, а элемента TextBox буду расположить внизу, его тоже буду разворачивать.
Разное расстояние - потому что они опции по разному категорию, их трое присоединить невозможно.
Я вторые "Доступность"и видел на настройках CodeSmart'а, но там первые не были, про обработчиках ошибок тоже так думаете.
Я думаю, что InputBox стандартное форма для изменение простых и однострочных текстов.
Я согласен с вами - кнопка "Обзор" будет выглядеть прекраснее чем трех точек.
Цитата Diamock @
Желательно кроме указания числа и версии 2.0 - указывать 2.0.156 (например).

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

Добавлено
или прописать прямо на сообщении ...

Автор: Diamock 03.02.12, 16:26
Цитата
Могу придумать разные номера, но скачать все аттачи по историю изменений и посмотреть их очень не хочеться,

У меня есть, последнии 20 версий, с этим разберусь сам.
Цитата
ещё на новых обновлениях могу прописать версию в название архива.
- очень хорошо.
По поводу грамотной компоновки окна настроек сам голову ломаю уже не один день. В эти выходные есть побольше времени, придумаю что-нибудь :) .

Автор: UFOpera 03.02.12, 21:33
А вот такое сложно сделать?
user posted image
user posted image
можно и поиск прикрутить до кучи
Extended Find Ver 2.2.1
http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=46543&lngWId=1

Автор: Бяка 04.02.12, 02:31
так, проверил новую версию, с подсветкой уже лучше но все таки глючит :'( иногда непонятно где какой символ:
user posted image
теперь, установил VBStyleCodе > запустил ВБ6 > вроде все пучком, > закрыл ВБ6, > запустил ВБ6 > вроде все пучком , > полез в настройки VBStyleCodе , изменяю любые настройки- > применить> вроде все пучком > закрыл ВБ6, запустил ВБ6 - бах

user posted image
слетают все настройки VBStyleCodе и после этого не работают все фичи , типа подсветки авто-формат авто-замена и тд
переустановил VBStyleCodе , тоже самое

Автор: coder 04.02.12, 02:35
Цитата UFOpera @
А вот такое сложно сделать?

Когда работал с плагином CodeSmart мне не нравилось эти вещи (мне были видны только рисунки, а не коды).
Цитата UFOpera @
можно и поиск прикрутить до кучи
Extended Find Ver 2.2.1

Об этом подумаем ещё.

Добавлено
Цитата Бяка @
с подсветкой уже лучше но все таки глючит иногда непонятно где какой символ:

Значить я нашел вверхную точку, по-моему не нашел ещё левую, можете отключить Indicator Bar? С такими настройками тоже так?
Цитата Бяка @
запустил ВБ6 - бах

Можете выгрузить и прикрепить ветку реестра с VBStyleCode.

Добавлено
Какую настройку меняли?

Автор: Бяка 04.02.12, 23:54
Цитата coder @
Какую настройку меняли?

первым делом - отключал подсветку кода

[HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0\Addins\VBStyleCodeForVB.Connect]
"FriendlyName"="VB Style Code"
"Description"="Add-In, который делает ваш код красивым и читабельным"
"LoadBehavior"=dword:00000003
"CommandLineSafe"=dword:00000000

Export.zip (, : 325)

Автор: UFOpera 05.02.12, 01:05
Цитата coder @
А вот такое сложно сделать?
Когда работал с плагином CodeSmart мне не нравилось эти вещи (мне были видны только рисунки, а не коды).

У меня нормально всё, потому и подсел на это.
Цитата coder @
с подсветкой уже лучше но все таки глючит

я сталкивался с этим когда подсвечивал RichEdit выводил через TextOut
самое проблемное подобрать шрифт CreateFont
помогло StdFont.Charset для установки расстояния символ шрифта
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Function CreateMyFont(StdFont As StdFont) As Long
        Dim I_BOLD As Long
        If StdFont.Bold Then I_BOLD = FW_BOLD Else I_BOLD = FW_NORMAL
        CreateMyFont = CreateFont(-MulDiv(StdFont.Size, GetDeviceCaps(lHdc, LOGPIXELSY), 72), 0, 0, 0, I_BOLD, _
        False, False, False, StdFont.Charset, 0, 0, 0, 0, StdFont.Name)
    End Function

Автор: coder 05.02.12, 03:09
Цитата Бяка @
Прикреплённый файл: Export.zip (1.15 Кбайт, скачиваний: 0)

Все из-за настроек по-моему. Я хотел узнать на каких комбинациях настройки может проявлять такой глюк.
Извините что я точно не сказал, мне нужны были именно: HKEY_CURRENT_USER\Software\Soft Industrial\VBStyleCode\VB
Почему то, туда не попал эта ветка.
Если из-за настроек, можно даже удалить эту ветку или саму программу с помощью мастера установок, а потом заново установить.
Цитата UFOpera @
я сталкивался с этим когда подсвечивал RichEdit выводил через TextOut
самое проблемное подобрать шрифт CreateFont
помогло StdFont.Charset для установки расстояния символ шрифта

У меня с Charset'ом проблемы не имеется, я левую и верхнюю координату определяю с помощью API GetWindowInfo - ClientRect.

Автор: Diamock 05.02.12, 04:31
Привет coder!
В настоящий момент работаю над справкой.
Она, конечно в процессе разработки - это так, посмотреть.
VBStyleCode.zip (, : 318)

Автор: coder 05.02.12, 05:10
Цитата
Вставка Then для конструкций If-ElseIf ― при переходе на следующую строку, происходит добавление Then и End if.

Вставка End if не относиться к "Вставка Then для конструкций If-ElseIf", а на "Вставка конечных конструкторов", и ещё при нажатии клавиши Enter.

Ну конечно, по поводу рисунок, оформлении и примеров получилось очень даже красиво.

Добавлено
Ещё в добавку: на "Исходный код без использования функции Авто-вставки" можно сделать красный текст ошибки.

Автор: Diamock 05.02.12, 05:27
Цитата coder @
Вставка End if не относиться к "Вставка Then для конструкций If-ElseIf", а на "Вставка конечных конструкторов", и ещё при нажатии клавиши Enter.

Ну конечно, по поводу рисунок, оформлении и примеров получилось очень даже красиво.

Добавлено
Ещё в добавку: на "Исходный код без использования функции Авто-вставки" можно сделать красный текст ошибки.

Понял, исправлю :( .

Автор: Бяка 05.02.12, 13:42
Цитата coder @
Извините что я точно не сказал, мне нужны были именно: HKEY_CURRENT_USER\Software\Soft Industrial\VBStyleCode\VB

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    [HKEY_CURRENT_USER\Software\Soft Industrial\VBStyleCode\VB]
    "CommandBar.Position"="1"
    "CommandBar.RowIndex"="2"
    "CommandBar.Left"="0"
    "CommandBar.Top"="25"
    "AutoIndent"="True"
    "AutoIndent.Automatic"="True"
    "CustomIndentWidth"="False"
    "AutoInsert"="True"
    "AutoInsert.EndConstructions"="True"
    "AutoInsert.Then"="True"
    "AutoInsert.Comment"="True"
    "AutoInsert.CustomCode"="True"
    "CustomCode"="On Error Goto ErrorHandler(CrLf)(CrLf)Exit (MemberType)(CrLf)ErrorHandler:(CrLf)MsgBox Error, vbExclamation + vbOkOnly"
    "AutoText"="True"
    "AutoReplace"="True"
    "IncrementAndDecrement"="True"
    "ComponentAssignment"="True"
    "ErrorHandlers"="True"
    "Include"="True"
    "AutoInclude"="True"
    "ProjectsPath"="C:\\Users\\admin\\Мои документы\\Projects"
    "SyntaxColoring"="False"
    "SyntaxColoring.Operators"="True"
    "SyntaxColoring.AdditOperators"="True"
    "SyntaxColoring.Texts"="True"
    "TextColor"="1381814"
    "SyntaxColoring.CustomTexts"="True"
    "Scrolling"="True"
    "CustomScrollHeight"="False"
    "StyleIDE"="True"
    "ShowPalette"="True"
    "LanguageIDE"="True"
    "HotKeys"="True"
    "HotKeys.Format"="Ctrl + Alt + Tab"
    "HotKeys.Save"="Ctrl + S"
    "HotKeys.Redo"="Ctrl + B"
    "HotKeys.Comment"="Ctrl + '"
    "HotKeys.Uncomment"="Ctrl + Shift + '"
    "HotKeys.Bookmark"="F6"
    "HotKeys.NextBookmark"="Shift + F6"
    "HotKeys.PrevBookmark"="Нет"
    "HotKeys.ProcAndFunc"="F11"
    "Numeration"="True"
    "NumerationStart"="10"
    "NumerationStep"="10"
    "SkipLinesInOffensive"="False"
    "AutoNumeration"="False"

удаляю эту ветку - все работает, изменяю любые настройки- > применить - перезапускаю бэйсик - та же ошибка

Автор: Diamock 05.02.12, 16:01
Цитата Бяка @
удаляю эту ветку - все работает, изменяю любые настройки- > применить - перезапускаю бэйсик - та же ошибка

Укажи, какая ОС, судя по скриншотам не XP, а Vista или семёрка.

coder, если вывести иконку VB Style Code на панель VB6 Add-In Toolbar и нажать её, Visual Basic падает не выдавая ни одного сообщения. Было бы замечательно, если на эту кнопку вывести окно настроек.
По поводу архивации: хотелос бы, чтобы в имени архива указывалось кроме даты и времени ещё и текущая версия проекта.
По поводу окна Функции и процедуры: хочеться, что бы в списке выводились все функции и процедуры проекта для быстрой навигации.
Справочный файл
В личных сообщениях оставил ссылку, где можно скачать и посмотреть постоянно обновляющийся файл справки.

С уважением...

Автор: coder 06.02.12, 20:03
Версия: 2.0.450
Добавлен:
- Авто-замена инициализации переменных с объявлением.

Теперь можно написать код по такому:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
      Dim a = 1, c As String = "Иницилизация ..."

Добавлено
Цитата Бяка @
та же ошибка

Обновил архив, теперь попробуйте (я нашел процедуру но ещё не мог найти номер строки, поставил нумерацию, если что - подскажите).
И ещё, к настройкам подсветки тоже временно поставил сдвиг X и Y.

Цитата Diamock @
если на эту кнопку вывести окно настроек.
По поводу архивации: хотелос бы, чтобы в имени архива указывалось кроме даты и времени ещё и текущая версия проекта

Сделал.
Цитата Diamock @
По поводу окна Функции и процедуры: хочеться, что бы в списке выводились все функции и процедуры проекта для быстрой навигации.

Ещё в стадии разработки.

Автор: Бяка 06.02.12, 20:42
Цитата coder @
Обновил архив, теперь попробуйте (я нашел процедуру но ещё не мог найти номер строки

ошибка на 20 строке, потом на 30, 40, 80,90, 100, 110, 120, 140, 150, 160, 170, опять 170, 180, 190, 200-280, 300, 310, 320, 320, 330, 340, 400 ,440, 580, 610-700
Цитата coder @
И ещё, к настройкам подсветки тоже временно поставил сдвиг X и Y


при х=5 у=0 подсветка нормально работает

Автор: coder 07.02.12, 03:19
Все строки с default значением True:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    20 AutoIndent = CBool(GetString(HKEY_CURRENT_USER, RegPath, "AutoIndent", True))


Где можеть появится ошибка?
Больше экспериментов не хочу, можеть быть с объявлениями Variant, можеть быть и на другом.
Скрытый текст
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Public Const REG_SZ = 1 ' Unicode nul terminated string
    Public Const REG_BINARY = 3 ' Free form binary
    Public Const REG_DWORD = 4 ' Free form binary
    Public Enum hiveKey
      HKEY_CLASSES_ROOT = &H80000000      '(Windows 95,98,ME,NT,2000,XP)
      HKEY_CURRENT_USER = &H80000001      '(Windows 95,98,ME,NT,2000,XP)
      HKEY_LOCAL_MACHINE = &H80000002     '(Windows 95,98,ME,NT,2000,XP)
      HKEY_USERS = &H80000003             '(Windows 95,98,ME,NT,2000,XP)
      HKEY_PERFORMANCE_DATA = &H80000004  '(Windows 95,98,ME,NT,2000)
      HKEY_CURRENT_CONFIG = &H80000005    '(Windows 95,98,ME,NT,2000,XP)
      HKEY_DYN_DATA = &H80000006          '(Windows 95,98,ME,NT,2000)
    End Enum
     
    Const REG_OPTION_BACKUP_RESTORE = 4     ' open for backup or restore
    Const REG_OPTION_VOLATILE = 1           ' Key is not preserved when system is rebooted
    Const REG_OPTION_NON_VOLATILE = 0       ' Key is preserved when system is rebooted
    Const STANDARD_RIGHTS_ALL = &H1F0000
    Const SYNCHRONIZE = &H100000
    Const READ_CONTROL = &H20000
    Const STANDARD_RIGHTS_READ = (READ_CONTROL)
    Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
    Const KEY_CREATE_LINK = &H20
    Const KEY_CREATE_SUB_KEY = &H4
    Const KEY_ENUMERATE_SUB_KEYS = &H8
    Const KEY_NOTIFY = &H10
    Const KEY_QUERY_VALUE = &H1
    Const KEY_SET_VALUE = &H2
    Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))
    Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
    Const KEY_EXECUTE = (KEY_READ)
    Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))
     
    Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
    Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
    Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
    Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
    Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
    Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As Any, phkResult As Long, lpdwDisposition As Long) As Long
    Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal samDesired As Long, phkResult As Long) As Long
     
    Public Function RegQueryStringValue(ByVal hKey As Long, ByVal strValueName As String, Optional Default) As String
      Dim lResult As Long, lValueType As Long, strBuf As String, lDataBufSize As Long
      'retrieve information about the key
      lResult = RegQueryValueEx(hKey, strValueName, 0, lValueType, ByVal 0, lDataBufSize)
      If lResult = 0 Then
        If lValueType = REG_SZ Then
          'Create a buffer
          strBuf = String(lDataBufSize, Chr$(0))
          'retrieve the key's content
          lResult = RegQueryValueEx(hKey, strValueName, 0, 0, ByVal strBuf, lDataBufSize)
          If lResult = 0 Then
            'Remove the unnecessary chr$(0)'s
            If lDataBufSize = 0 Then
              RegQueryStringValue = ""
            Else
              RegQueryStringValue = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1)
            End If
          End If
        ElseIf lValueType = REG_DWORD Then
          Dim lngData As Long
          'retrieve the key's value
          lResult = RegQueryValueEx(hKey, strValueName, 0, 0, lngData, lDataBufSize)
          If lResult = 0 Then
            RegQueryStringValue = lngData
          End If
        ElseIf lValueType = REG_BINARY Then
          Dim strData As Integer
          'retrieve the key's value
          lResult = RegQueryValueEx(hKey, strValueName, 0, 0, strData, lDataBufSize)
          If lResult = 0 Then
            RegQueryStringValue = strData
          End If
        End If
      ElseIf Not IsMissing(Default) Then
        RegQueryStringValue = Default
      End If
    End Function
     
    Public Function GetString(hKey As Long, strPath As String, strValue As String, Optional Default)
      Dim Ret
      'Open the key
      RegOpenKey hKey, strPath, Ret
      'Get the key's content
      GetString = RegQueryStringValue(Ret, strValue)
      If GetString = "" Then GetString = Default
      'Close the key
      RegCloseKey Ret
    End Function
     
    Public Sub SaveString(hKey As Long, strPath As String, strValue As String, strData As String)
      Dim Ret
      'Create a new key
      RegCreateKey hKey, strPath, Ret
      'Save a string to the key
      RegSetValueEx Ret, strValue, 0, REG_SZ, ByVal strData, Len(strData)
      'close the key
      RegCloseKey Ret
    End Sub
     
    Public Sub SaveStringLong(hKey As Long, strPath As String, strValue As String, strData As String)
      Dim Ret
      'Create a new key
      RegCreateKey hKey, strPath, Ret
      'Set the key's value
      RegSetValueEx Ret, strValue, 0, REG_BINARY, CByte(strData), 4
      'close the key
      RegCloseKey Ret
    End Sub
     
    Public Sub DelSetting(hKey As Long, strPath As String, strValue As String)
      Dim Ret
      'Create a new key
      RegCreateKey hKey, strPath, Ret
      'Delete the key's value
      RegDeleteValue Ret, strValue
      'close the key
      RegCloseKey Ret
    End Sub
     
    Public Sub DelKey(hKey As Long, strPath As String, strSubKey As String)
      Dim Ret As Long
      'Create a new key
      'RegOpenKeyEx hKey, strPath & "\" & strSubKey, 0, KEY_ALL_ACCESS, Ret
      RegOpenKey hKey, strPath, Ret
      'Delete the key
      RegDeleteKey Ret, strSubKey
      'close the key
      RegCloseKey Ret
    End Sub


Автор: coder 07.02.12, 04:05
Цитата Бяка @
при х=5 у=0 подсветка нормально работает

Например у меня на Spy++ по координатам Client rect, левый отступ является 4:
Spy__.PNG (, : 667)

Автор: Diamock 09.02.12, 16:11
Привет coder!
Вот изображение панели Add-In Toolbar
user posted image
Вместо стандартной иконки - хочется свою.

При написании собственной процедуры получаются следующие глюки:
user posted image пишем процедуру, ставим знак переноса процедуры на следующую строку, нажимаем Enter... Опа
user posted image текст процедуры подсвечен красным, но ошибки нет. Курсор в начале строки, а должен быть на два отступа. Делаем два отступа
user posted image подсветка снова в порядке. Закрываем скобку, нажимаем Enter...
user posted image происходит дублирование.

О справочном файле
Пропиши свойства WhatsThisHelpID для элементов управления. Справка по ссылке обновилась.

С уважением...

Автор: coder 11.02.12, 19:24
Цитата Diamock @
Вместо стандартной иконки - хочется свою.

Ещё не мог найти решение.

Остальные были учтены на новом версии (2.0.467).

Автор: Diamock 12.02.12, 02:37
Привет coder!
Цитата coder @
Цитата Diamock @
Вместо стандартной иконки - хочется свою.

Ещё не мог найти решение.

Остальные были учтены на новом версии (2.0.467).

Вариант кода назначения своей иконки. Код не мой, где-то, когда-то нарыл в сети...
Создайте вспомогательную форму, расположите на ней нужное число элементов управления Image. В каждый элемент поместите иконку в виде растрового изображения 16х16. Кстати, сами иконки можно создавать с помощью того же встроенного редактора окна Customize например пакета Word, копируя их через буфер обмена.

Далее, требуется написать следующий код в метод AddToAddInCommandBar класса Connect:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Dim cbMenuCommandBar As Office.CommandBarButton
     
    Dim cbMenuCommandBar As Office.CommandBarButton
    Dim cbMenu As Object
     
    Set cbMenu = VBInstance.CommandBars("Add-Ins")
     
    If Not cbMenu Is Nothing Then ' меню существует
        ' добавляем его к панели инструментов
        Set cbMenuCommandBar = cbMenu.Controls.Add(1)
        cbMenuCommandBar.Caption = "Наш Add-In"
        ' копируем изображение через буфер обмена
        Clipboard.Clear
        Clipboard.SetData = frmAddIns.ImgMenuPic.Picture
        bMenuCommandBar.PasteFace
        Set AddToAddInCommandBar = cbMenuCommandBar
    End If

К сожалению :( , этот метод для VBA не работает, поскольку объект Clipboard имеется только в VB.

С уважением...

Автор: coder 12.02.12, 03:24
Цитата Diamock @
Вариант кода назначения своей иконки. Код не мой, где-то, когда-то нарыл в сети...

Я именно так и делаю, для всех своих кнопок, это не проблема.

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

Я могу проследить его добавление, но этот Add-in откуда берет иконки, я этого незнаю. Например для API Viewer он сам вставит иконку, я сейчас ищу пути, который заставить VB 6 Add-in Toolbar добавить мою иконку своей функционалом.

Автор: Diamock 12.02.12, 04:10
user posted image
Когда ставиш закрывающуюся скобку и нажимаешь Enter, выскакивает MsgBox. Так и должно быть? Не очень удобно.
Очень большое спасибо за навигацию по процедурам. Есть одно пожелание: у меня есть "дурацкая" привычка описывать функцию в Tools=>Procedure Attributes... Хочется при выделении функции в ListBox видеть её атрибуты и список сделать пошире. Примерно так:
user posted image
И что бы окно было не модальным и было всегда поверх всех окон проекта. А если бы его можно было сделать ещё и Docing (как опцию) - вообще шикарно!

Автор: coder 12.02.12, 04:43
Цитата Diamock @
Когда ставиш закрывающуюся скобку и нажимаешь Enter, выскакивает MsgBox. Так и должно быть? Не очень удобно.

Я при проверке поставлю msgbox'ы, почему то там остался, сейчас уберу.

Автор: coder 12.02.12, 14:09
Цитата Diamock @
А если бы его можно было сделать ещё и Docing (как опцию) - вообще шикарно!

Я думаю что, для Docking'a его нужно сделать ещё деревовидным, как на CodeSmart'е. Так эти две формы можно разделять на две функции.

Обновил архив.

Автор: Old Bat 13.02.12, 10:30
версия 2.0.57
excel2010, пустая книга

при попытке сортировки/фильтрации данных, либо при попытке вставить формулу получаем однократные сообщения: Tipe mismatch с последующим
Object variable or With block variable not set в строке 490

Автор: coder 13.02.12, 21:21
Цитата Old Bat @
Tipe mismatch

Да, при подключении Надстройку VBStyleCodeForVBA.Connect программа не мог конвертировать Application (Microsoft Excel) на VBInstance (VBE), поэтому вылазили эти ошибки (Object variable or With block variable not set - при этом моя переменная VBInstance остался не инициализированным).

Исправил, спасибо за пост.

Автор: coder 18.02.12, 16:33
Версия: 2.0.502
- Тепер в среде VBA тоже можно выбрать стиль интерфейса.

Автор: Сергей85 05.03.12, 17:26
Coder, прошу вас удалять предыдущие варианты ссылок на ваш адд-ин.

Пример. Я на эту тему не заходил давно. У меня в текстовом док-те лежит ссылка (и она работает):
http://forum.sources.ru/index.php?act=Atta...attach_id=14927

Однако, это не последняя версия плагина; и я ошибочно качаю не то, что нужно. В теме-то на текущий момент указана такая ссылка:
http://forum.sources.ru/index.php?act=Atta...attach_id=16231

Автор: coder 06.03.12, 17:07
Цитата Сергей85 @
Coder, прошу вас удалять предыдущие варианты ссылок на ваш адд-ин.

Их могут удалить только модераторы

Автор: Memfivosfey 31.01.13, 22:33
Великолепный АДДИН! Очень много функций, которых действительно так не хватало в среде VB6. Спасибо.

З.Ы. Незнаю, будет ли Вам интересно, будет ли возможность и желание, доработать ваш проект, но мне всё время не хватало в среде Vb6 ещё одной возможности, которая присутствует к примеру в среде VB.Net. Возможность, сворачивать и разворачивать процедуры [+]/[-]. Во время навигации по коду. На мой взгляд очень удобная функция.

Ещё раз благодарю Вас, за хороший Аддин.)))

Автор: Bubaylo 01.02.13, 07:27
Это просто нечто!!!!! Супер! Спасибо!!!! Всегда мучил вопрос,от чего разработчики среды тоже самое не сделали? С другой стороны, они дали возможность делать что угодно самому... Супер просто!

Автор: mamonoff 02.02.13, 07:13
Вещь хорошая но есть один глюк :no:

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

Если кликнуть по другом окну, то эта проблема исчезает.


И если Вам интересно мое мнение то думаю что строки:
- On Error...
- Dim...
лучше смотрятся без отступа, по крайней мере когда находятся в начале процедуры

Автор: coder 03.02.13, 14:51
Цитата Memfivosfey @
З.Ы. Незнаю, будет ли Вам интересно, будет ли возможность и желание, доработать ваш проект, но мне всё время не хватало в среде Vb6 ещё одной возможности, которая присутствует к примеру в среде VB.Net. Возможность, сворачивать и разворачивать процедуры [+]/[-]. Во время навигации по коду. На мой взгляд очень удобная функция.

Да, это осуществима.

Цитата mamonoff @
Вещь хорошая но есть один глюк При открытии проекта, текущая форма или модуль, т.е. активное дочернее окно в проектеневозможно переместить за заголовок или развернуть на всю рабочую областьЕсли кликнуть по другом окну, то эта проблема исчезает.

Да, это проблема есть, исправляем.

Цитата mamonoff @
И если Вам интересно мое мнение то думаю что строки:- On Error...- Dim...лучше смотрятся без отступа, по крайней мере когда находятся в начале процедуры

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

Автор: mamonoff 03.02.13, 17:07
А нельзя ли реализовать механизм самостоятельной настройки где будут какие отступы, по крайней мере для основных конструкций
так же по поводу блока open... close

Автор: Bubaylo 04.02.13, 05:48
Нашел глюк. Когда начинаешь мышкой выделять код, происходит авто-отступы, и появляется вот такая шляпа... см. файл. Gluk.JPG (, : 904)

Автор: mamonoff 04.02.13, 10:02
При описании своего типа
Public Type
весь нижеследующий код сдвигается на один шаг в право, все процедуры, функции, всё

Автор: Bubaylo 04.02.13, 10:09
Я за сегодня уже раза 3-4 перезагружал среду... Что-то там такое происходит, что-то с Handle-ми... Создается такое впечатление, что иногда срабатывает SetParent и какие-то хенделы не правильные передаются.... такой расколбас на экране происходит...

Автор: coder 04.02.13, 18:14
Цитата mamonoff @
А нельзя ли реализовать механизм самостоятельной настройки где будут какие отступы, по крайней мере для основных конструкцийтак же по поводу блока open... close

Можно.

Цитата Bubaylo @
Нашел глюк. Когда начинаешь мышкой выделять код, происходит авто-отступы

Или отключить автоматику, или с начала нужно форматировать вес текст.

Цитата Bubaylo @
и появляется вот такая шляпа... см. файл.Прикреплённый файл: Gluk.JPG (50,37 Кбайт, скачиваний: 6)

Попробовать отключить Подсветка синтаксиса, можеть память не хватает.

Цитата mamonoff @
При описании своего типаPublic Typeвесь нижеследующий код сдвигается на один шаг в право, все процедуры, функции, всё

У меня после Enterʼa автоматом добавился End Type и в низу ничего не сдвигалось. Вообще-то, могу жестко ограничивать отступы для самых процедур.

Цитата Bubaylo @
Я за сегодня уже раза 3-4 перезагружал среду... Что-то там такое происходит, что-то с Handle-ми... Создается такое впечатление, что иногда срабатывает SetParent и какие-то хенделы не правильные передаются.... такой расколбас на экране происходит...

В моем программе функция SetParent нигде не используется. Попробуйте отключить подсветку ...

Автор: Bubaylo 05.02.13, 05:07
coder
Да, спасибо, уже отключил=)
Насчет форматировать весь текст, его очень много и не одним файлом... Может можно как-то сделать, чтоб весь проект сам форматнулся?

Автор: coder 05.02.13, 18:07
Цитата Bubaylo @
Насчет форматировать весь текст, его очень много и не одним файлом... Может можно как-то сделать, чтоб весь проект сам форматнулся?

На данной версии есть только весь модуль, но весь проект ещё не реализовалось.

Автор: mojjevelov 02.05.20, 18:42
Огромнейшая благодарность ВОЛШЕБНИКУ, создавшему это чудо! Особенно радуют вкладки! Очень удобно стало работать в редакторе!
Автозаполнение конструкций чаще приносит удобство (хотя, наверное, неплохо было бы ставить абзац БЕЗ автозаполнения по Ctrl+Enter).
Единственное - когда этот аддин активен, во время отладки при наведении на переменные их значения выплывают ну очень долго. Но можно на время отладки просто выключать аддин.

Автор: coder 04.06.20, 16:56
Цитата mojjevelov @
Огромнейшая благодарность ВОЛШЕБНИКУ, создавшему это чудо! Особенно радуют вкладки! Очень удобно стало работать в редакторе!

Можете попробовать и эту аддин:
https://github.com/VykosX/ModernVB

Ещё удобнее будет работать.

Цитата mojjevelov @
Автозаполнение конструкций чаще приносит удобство (хотя, наверное, неплохо было бы ставить абзац БЕЗ автозаполнения по Ctrl+Enter).

Аддин сам поставить абзац в двух случаях:
1) При нажатии Enter
2) Автоматом (если включен автомат)

Цитата mojjevelov @
Единственное - когда этот аддин активен, во время отладки при наведении на переменные их значения выплывают ну очень долго. Но можно на время отладки просто выключать аддин.

Я не могу отследить такое. У меня сразу появляется значения переменных, при наведении курсора.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)