FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 20.01.15 00:32
Оценка:
Еще один БЕСПЛАТНЫЙ инструмент для Visual Studio 2012 и 2013:
www.FeinSoftware.com/FeinBrace

Это улучшенный вариант Edit.GoToBrace (Ctrl+]) команды: набор двойных "аккордов" — Alt+[ или Alt+] для перехода к открывающей или закрывающей фигурной скобке, в зависимости от второй клавиши — [ или ] для блока, F для функции, C для класса, N для namespace.

Критика, замечания, предложения и комплименты приветствуются.
Re: FeinSoftware's FeinBrace 2.0 (free)
От: bazis1 Канада  
Дата: 20.01.15 01:50
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Еще один БЕСПЛАТНЫЙ инструмент для Visual Studio 2012 и 2013:

VF>www.FeinSoftware.com/FeinBrace

VF>Это улучшенный вариант Edit.GoToBrace (Ctrl+]) команды: набор двойных "аккордов" — Alt+[ или Alt+] для перехода к открывающей или закрывающей фигурной скобке, в зависимости от второй клавиши — [ или ] для блока, F для функции, C для класса, N для namespace.


VF>Критика, замечания, предложения и комплименты приветствуются.

запили лучше плагин, который будет по right-click в watch добавлять memory breakpoint по адресу переменной. работы на полчаса, а я бы за такой баксов 5 заплатил. и может быть, не один я.
Re[2]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 20.01.15 03:16
Оценка:
Здравствуйте, bazis1, Вы писали:

B>запили лучше плагин, который будет по right-click в watch добавлять memory breakpoint по адресу переменной. работы на полчаса, а я бы за такой баксов 5 заплатил. и может быть, не один я.


OK
Re[2]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 20.01.15 17:29
Оценка:
Здравствуйте, bazis1, Вы писали:

B>запили лучше плагин, который будет по right-click в watch добавлять memory breakpoint по адресу переменной. работы на полчаса, а я бы за такой баксов 5 заплатил. и может быть, не один я.


полчаса my ass...

Во-первых, я сперва хотел рассказать почему Data Breakpoint — плохая идея. Но подумал, что это будет звучать убедительнее ПОСЛЕ того как я напишу такой плагин.

Ковыряние в меню не укладывается в полчаса, поэтому подвешу это дело на какой-нибудь shortcut.
D (для Data)? Ctrl+D, Ctrl+Alt+D, Ctrl+Shift+D, Shift+Alt+D заняты... Та же картина для B (Breakpoint).
О! Alt+Break! Гениально! Как у нас со временем? 15 минут?
Дальше. Попытка #1. Делаю Breakpoint по адресу выделенной переменной. Сколько байт смотреть? Разумеется, по размеру этой переменной!
Играю с long long. Хмм...
"The breakpoint cannot be set. The hardware does not support monitoring the requested number of bytes."
Без объяснения! Help на это дело (http://msdn.microsoft.com/en-us/library/5557y8b4%28v=vs.120%29.aspx) в секции о Data breakpoints приводит картинку про Function
Далее пишет: "For example, if you type 4,..." А если у мене НЕ 4??? К доктору.
Короче, предлагаю компромис: на x86 будем смотреть 4 байта, на x64 — 8. Или я могу сделать несколько breakpoints, что бы покрыть всю переменную. Но это — за отдельную плату, ver. 2.0
Итак, я уже вышел за пределы полчаса, а мне ещё нужно copyright вставить, пересобрать начисто, upload...
В общем — "вечером стулья"
Только никому не говорите, что я работал почти час за $5.
Re[3]: FeinSoftware's FeinBrace 2.0 (free)
От: bazis1 Канада  
Дата: 20.01.15 17:38
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Здравствуйте, bazis1, Вы писали:


B>>запили лучше плагин, который будет по right-click в watch добавлять memory breakpoint по адресу переменной. работы на полчаса, а я бы за такой баксов 5 заплатил. и может быть, не один я.


VF>полчаса my ass...


VF>Во-первых, я сперва хотел рассказать почему Data Breakpoint — плохая идея. Но подумал, что это будет звучать убедительнее ПОСЛЕ того как я напишу такой плагин.


VF>Ковыряние в меню не укладывается в полчаса, поэтому подвешу это дело на какой-нибудь shortcut.

VF>D (для Data)? Ctrl+D, Ctrl+Alt+D, Ctrl+Shift+D, Shift+Alt+D заняты... Та же картина для B (Breakpoint).
Ковыряние в меню делается с помощью VSCT Powertoy, причем оттуда тупо копипейстится фрагмент в VSCT-файл.
VF>О! Alt+Break! Гениально! Как у нас со временем? 15 минут?
VF>Дальше. Попытка #1. Делаю Breakpoint по адресу выделенной переменной. Сколько байт смотреть? Разумеется, по размеру этой переменной!
VF>Играю с long long. Хмм...
Evaluate sizeof({expression}) и все дела
VF>"The breakpoint cannot be set. The hardware does not support monitoring the requested number of bytes."
VF>Без объяснения! Help на это дело (http://msdn.microsoft.com/en-us/library/5557y8b4%28v=vs.120%29.aspx) в секции о Data breakpoints приводит картинку про Function
VF>Далее пишет: "For example, if you type 4,..." А если у мене НЕ 4??? К доктору.
VF>Короче, предлагаю компромис: на x86 будем смотреть 4 байта, на x64 — 8. Или я могу сделать несколько breakpoints, что бы покрыть всю переменную. Но это — за отдельную плату, ver. 2.0
Можно просто показать диалог и предложить там выбрать (подставив 4 или полученный sizeof() по умолчанию).
VF>Итак, я уже вышел за пределы полчаса, а мне ещё нужно copyright вставить, пересобрать начисто, upload...
VF>В общем — "вечером стулья"
"Вечером стулья" несовместимо с "copyright вставить".
VF>Только никому не говорите, что я работал почти час за $5.
$5 с носа же. Я не думаю, что я единственный юзер студии, которому не хватает этой фичи.
Re[4]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 20.01.15 17:56
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Ковыряние в меню делается с помощью VSCT Powertoy, причем оттуда тупо копипейстится фрагмент в VSCT-файл.

Вставить в VSCT-файл я и сам могу, я говорил про поиск правильного меню (куда вставить).

B>Evaluate sizeof({expression}) и все дела

Я же писал:

VF>>"The breakpoint cannot be set. The hardware does not support monitoring the requested number of bytes."


B>"Вечером стулья" несовместимо с "copyright вставить".

Совместимо, поскольку "чистую" сборку надо делать на чистой машине. Вечером.

VF>>Только никому не говорите, что я работал почти час за $5.

B>$5 с носа же. Я не думаю, что я единственный юзер студии, которому не хватает этой фичи.
Давайте сравним:
Я сейчас могу, выделив в дебагере переменную, нажать "Alt+D, B, D" и получить New Breakpoint диалог, с подставленным выделенным текстом, Byte Count — 1, Language — C++.
Я могу вставить "&", заменить 1 на 4 и кликнуть Enter.
Или, заплатив $5, просто нажать Alt+Break. Хмм... $5???
Re[4]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 21.01.15 00:41
Оценка:
Здравствуйте, bazis1, Вы писали:

B>$5 с носа же. Я не думаю, что я единственный юзер студии, которому не хватает этой фичи.


ОК, готово: http://www.FeinSoftware.com/files/FeinBrace.vsix
Обратите внимание: сообщения об ошибках и об успехе — в Visual Studio status bar.

Критика, замечания, предложения и комплименты приветствуются. (c)
Re[5]: FeinSoftware's FeinBrace 2.0 (free)
От: bazis1 Канада  
Дата: 21.01.15 00:50
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Здравствуйте, bazis1, Вы писали:


B>>$5 с носа же. Я не думаю, что я единственный юзер студии, которому не хватает этой фичи.


VF>ОК, готово: http://www.FeinSoftware.com/files/FeinBrace.vsix

VF>Обратите внимание: сообщения об ошибках и об успехе — в Visual Studio status bar.

VF>Критика, замечания, предложения и комплименты приветствуются. (c)

FeinBrace? Ты ссылку не перепутал?
Re[6]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 21.01.15 02:02
Оценка:
Здравствуйте, bazis1, Вы писали:

VF>>Критика, замечания, предложения и комплименты приветствуются. (c)

B>FeinBrace? Ты ссылку не перепутал?

Перепутал, конечно. Проклятый copy/paste!

http://www.FeinSoftware.com/files/FeinBreak.vsix
Re[7]: FeinSoftware's FeinBrace 2.0 (free)
От: bazis1 Канада  
Дата: 21.01.15 02:48
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Здравствуйте, bazis1, Вы писали:


VF>>>Критика, замечания, предложения и комплименты приветствуются. (c)

B>>FeinBrace? Ты ссылку не перепутал?

VF>Перепутал, конечно. Проклятый copy/paste!

VF>http://www.FeinSoftware.com/files/FeinBreak.vsix
Поставил. Ничего кроме нового плагина в Extensions and Updates не заметил. VS2013Pro.
Скриншот:
http://files.rsdn.org/78510/watch.png
я в идеале хочу, чтобы рядом с edit value и add watch появился пункт "add data breakpoint" (VSIX Powertoy найдет ID этого меню поиском в два счета и сгенерирует snippet для вставки своей команды).
ну ладно, пробовал нажимать alt-break — никакого эффекта. ЧЯНТД?
Re[8]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 21.01.15 09:32
Оценка:
Здравствуйте, bazis1, Вы писали:

B>я в идеале хочу, чтобы рядом с edit value и add watch появился пункт "add data breakpoint" (VSIX Powertoy найдет ID этого меню поиском в два счета и сгенерирует snippet для вставки своей команды).

Посмотрю.
B>ну ладно, пробовал нажимать alt-break — никакого эффекта. ЧЯНТД?
А в статус-строке что-то есть?
Нужно сперва выделить название переменной (например, s.Field2), что бы я знал, за чем следить.
Re[8]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 21.01.15 12:24
Оценка:
Здравствуйте, bazis1, Вы писали:

B>я в идеале хочу, чтобы рядом с edit value и add watch появился пункт "add data breakpoint" (VSIX Powertoy найдет ID этого меню поиском в два счета и сгенерирует snippet для вставки своей команды).



https://social.msdn.microsoft.com/Forums/vstudio/en-US/f4b3d088-44b3-43a2-8551-773f6f73030d/is-there-a-vsct-powertoy-2012-on-the-road?forum=vsx ?

offical link in vs-extension-gallery is dead!

Re[8]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 21.01.15 13:00
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Image: watch.png

B>я в идеале хочу, чтобы рядом с edit value и add watch появился пункт "add data breakpoint" (VSIX Powertoy найдет ID этого меню поиском в два счета и сгенерирует snippet для вставки своей команды).

Новый инсталлятор — по той же ссылке:
http://www.FeinSoftware.com/files/FeinBreak.vsix

Добавил feature: если ничего не выбрано, выбираю текущее слово под курсором.

"по right-click в watch" — в полчаса не влезет, даже само по себе: интерфейс не документирован, текущее выделенное слово так запросто не найти. Это — R&D, по крайней мере несколько часов.
Re: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 21.01.15 16:28
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Еще один БЕСПЛАТНЫЙ инструмент для Visual Studio 2012 и 2013:

VF>www.FeinSoftware.com/FeinBrace

VF>Это улучшенный вариант Edit.GoToBrace (Ctrl+]) команды: набор двойных "аккордов" — Alt+[ или Alt+] для перехода к открывающей или закрывающей фигурной скобке, в зависимости от второй клавиши — [ или ] для блока, F для функции, C для класса, N для namespace.


VF>Критика, замечания, предложения и комплименты приветствуются.


Разговор в этой теме как-то сам собой (?) перешёл на Breakpoints.
А что насчёт FeinBrace? Неужели только у меня одного иногда возникает желание за один шаг перейти к началу (или концу) блока, функции, класса или (как это будет по-русски) namespace?

+ безвоздмездно (т.е. даром)
Отредактировано 21.01.2015 16:30 VladFein . Предыдущая версия .
Re[9]: FeinSoftware's FeinBrace 2.0 (free)
От: bazis1 Канада  
Дата: 21.01.15 19:05
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Здравствуйте, bazis1, Вы писали:


B>>я в идеале хочу, чтобы рядом с edit value и add watch появился пункт "add data breakpoint" (VSIX Powertoy найдет ID этого меню поиском в два счета и сгенерирует snippet для вставки своей команды).

VF>Посмотрю.
B>>ну ладно, пробовал нажимать alt-break — никакого эффекта. ЧЯНТД?
VF>А в статус-строке что-то есть?
VF>Нужно сперва выделить название переменной (например, s.Field2), что бы я знал, за чем следить.
т.е. твой плагин работает только если у меня полное выражение набрано в редакторе? Тогда он чуть более чем полностью бесполезен. Скопировать из редактора я и сам могу.
Сложность возникает, когда я навожу мышь на какую-нибудь переменную, прощелкиваю 5-10 уровней, чтобы докопаться до какого-нибудь reference counter-а и хочу быстро туда поставить break, чтобы увидеть, кто его будет менять. еще было бы полезно memory открывать из того же меню. а уже выделенный в редакторе текст я и сам скопипейстить могу.
Re[10]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 21.01.15 19:49
Оценка:
Здравствуйте, bazis1, Вы писали:

B>т.е. твой плагин работает только если у меня полное выражение набрано в редакторе? Тогда он чуть более чем полностью бесполезен. Скопировать из редактора я и сам могу.

B>Сложность возникает, когда я навожу мышь на какую-нибудь переменную, прощелкиваю 5-10 уровней, чтобы докопаться до какого-нибудь reference counter-а и хочу быстро туда поставить break, чтобы увидеть, кто его будет менять. еще было бы полезно memory открывать из того же меню. а уже выделенный в редакторе текст я и сам скопипейстить могу.

Это то, что можно было сделать "за полчаса".
Как я писал выше, Watch и Datatip своими данными не делятся (документированно).
Будем искать...
Re[11]: FeinSoftware's FeinBrace 2.0 (free)
От: bazis1 Канада  
Дата: 21.01.15 20:02
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Здравствуйте, bazis1, Вы писали:


B>>т.е. твой плагин работает только если у меня полное выражение набрано в редакторе? Тогда он чуть более чем полностью бесполезен. Скопировать из редактора я и сам могу.

B>>Сложность возникает, когда я навожу мышь на какую-нибудь переменную, прощелкиваю 5-10 уровней, чтобы докопаться до какого-нибудь reference counter-а и хочу быстро туда поставить break, чтобы увидеть, кто его будет менять. еще было бы полезно memory открывать из того же меню. а уже выделенный в редакторе текст я и сам скопипейстить могу.

VF>Это то, что можно было сделать "за полчаса".

VF>Как я писал выше, Watch и Datatip своими данными не делятся (документированно).
VF>Будем искать...
см. OleCommandTarget. для контекстного меню довольно легко получается IUnknown объекта, на котором оно активировано. дальше делается QueryInterface, step in в disassembly и смотрится список guid-ов, которые там проверяются. дальше guidы гуглятся и... PROFIT!
Re[12]: FeinSoftware's FeinBrace 2.0 (free)
От: VladFein США www.FeinSoftware.com
Дата: 22.01.15 15:55
Оценка:
Здравствуйте, bazis1, Вы писали:

VF>>Как я писал выше, Watch и Datatip своими данными не делятся (документированно).

VF>>Будем искать...
B>см. OleCommandTarget. для контекстного меню довольно легко получается IUnknown объекта, на котором оно активировано. дальше делается QueryInterface, step in в disassembly и смотрится список guid-ов, которые там проверяются. дальше guidы гуглятся и... PROFIT!

Как найдёшь — поделись

Я пока что нашёл меню (Watch и Datatip), вставил свои команды.
Пытаюсь докопаться до внутренних данных.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.