Аддоны к студии для отладки (c#)
От: okon  
Дата: 24.10.16 01:46
Оценка:
Часто возникает необходимость анализировать списки каких-нибудь объектов с иерархией наследования и большим кол-вом полей.
В результате использование DataTips превращается в ад , нужно каждый элемент развернуть до нужной иерархии и поглядеть, также значения не остаются на экране из-за чего их очень не удобно сравнивать.
Есть ли какие-нибудь популярные must have аддоны для визуализации отладки списков и не только ?

Пока мне достаточно было бы такой функциональности — есть список , если наименование полей, вывести таблицей отдельными колонками значения этих полей.

зы. студия 2015, не должно быть конфликтов с Resharper 2016.2
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Отредактировано 24.10.2016 1:48 okon . Предыдущая версия .
Re: Аддоны к студии для отладки (c#)
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 24.10.16 06:50
Оценка:
Здравствуйте, okon, Вы писали:

O>Есть ли какие-нибудь популярные must have аддоны для визуализации отладки списков и не только ?


Это не сойдёт?
Не совсем оно, конечно. Тут можно только что-то сравнительно простое напечатать, а не развёрнутую иерархическую структуру. Но иногда и этого хватает.
С уважением, Artem Korneev.
Re: А есть ли спрос?
От: Mihas  
Дата: 24.10.16 07:36
Оценка:
Здравствуйте, okon, Вы писали:

O>Пока мне достаточно было бы такой функциональности — есть список , если наименование полей, вывести таблицей отдельными колонками значения этих полей.

Когда-то было желание нашароварить именно такой аддон. Но не собрался.
Пользуясь случаем, спрошу у целевой аудитории: был бы спрос на такую штуку?
Отредактировано 24.10.2016 7:40 Mihas . Предыдущая версия .
Re: Аддоны к студии для отладки (c#)
От: Vladek Россия Github
Дата: 24.10.16 10:00
Оценка:
Здравствуйте, okon, Вы писали:

O>Пока мне достаточно было бы такой функциональности — есть список , если наименование полей, вывести таблицей отдельными колонками значения этих полей.


Добавляй переменные в окно Watch — они оттуда не пропадают и окно показывает какие поля изменили своё значение после каждого шага отладки. Кроме того, там можно сразу указывать целые выражения.
Re[2]: Аддоны к студии для отладки (c#)
От: okon  
Дата: 25.10.16 02:14
Оценка:
Здравствуйте, Vladek, Вы писали:

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


O>>Пока мне достаточно было бы такой функциональности — есть список , если наименование полей, вывести таблицей отдельными колонками значения этих полей.


V>Добавляй переменные в окно Watch — они оттуда не пропадают и окно показывает какие поля изменили своё значение после каждого шага отладки. Кроме того, там можно сразу указывать целые выражения.


Например вот код. Ставим точку останова в Console.ReadKey().

Хотим узнать например есть ли в коллекции элементы у которых Weight = 0 или сколько элементов у которых Weight > 10.
Или хотим визуально вывести все 20 элементов и видеть сразу их Id и Weight для удобного сравнения и возможностью сортировки по Id и Weight.

Попытка использования linq в Watch приводит к ошибке
Expression cannot contain lambda expressions

Чтобы проанализировать нужно развернуть в дереве все 20 элементов вручную. Если там будут еще другие поля то уже будет очень не удобно сравнивать

        public class Class1
        {
            public int Id;
            public int Weight;
        }

        static void Main(string[] args)
        {

            var list = new List<Class1>();
            var rnd = new Random();
            for (int i = 0; i < 20; i++)
            {
                list.Add(new Class1() { Id = i, Weight = rnd.Next(1,20) });
            }

            Console.ReadKey();
        }
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[2]: Аддоны к студии для отладки (c#)
От: okon  
Дата: 25.10.16 02:20
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

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


O>>Есть ли какие-нибудь популярные must have аддоны для визуализации отладки списков и не только ?


AK>Это не сойдёт?

AK>Не совсем оно, конечно. Тут можно только что-то сравнительно простое напечатать, а не развёрнутую иерархическую структуру. Но иногда и этого хватает.

но не всегда поможет, особенно когда надо провести анализ прямо "здесь и сейчас" или когда одни и те же данные нужно в разных представлениях смотреть, заранее не известно в каких полях будут проблемы и какие потребуется анализировать.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[3]: Аддоны к студии для отладки (c#)
От: kbaj  
Дата: 25.10.16 02:25
Оценка:
Здравствуйте, okon, Вы писали:

O>Хотим узнать например есть ли в коллекции элементы у которых Weight = 0 или сколько элементов у которых Weight > 10.

открываем Immediate window, пишем там

list.Any(x => x.Weight == 0)
list.Select(x => x.Weight > 10).ToList().Count


Problem solved. (в immediate поддерживается autocomplete есличо)
Re[4]: Аддоны к студии для отладки (c#)
От: okon  
Дата: 25.10.16 02:27
Оценка:
Здравствуйте, kbaj, Вы писали:

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


O>>Хотим узнать например есть ли в коллекции элементы у которых Weight = 0 или сколько элементов у которых Weight > 10.

K>открываем Immediate window, пишем там

K>
K>list.Any(x => x.Weight == 0)
K>list.Select(x => x.Weight > 10).ToList().Count
K>


K>Problem solved. (в immediate поддерживается autocomplete есличо)



Хотя нет, не решается, сейчас попробовал получаю в Immediate Window то же самое что и в Watch

list.Any(x=>x.Weight>0)
Expression cannot contain lambda expressions

А у вас работает ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Отредактировано 25.10.2016 2:36 okon . Предыдущая версия .
Re[2]: А есть ли спрос?
От: okon  
Дата: 25.10.16 02:31
Оценка:
Здравствуйте, Mihas, Вы писали:

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


O>>Пока мне достаточно было бы такой функциональности — есть список , если наименование полей, вывести таблицей отдельными колонками значения этих полей.

M>Когда-то было желание нашароварить именно такой аддон. Но не собрался.
M>Пользуясь случаем, спрошу у целевой аудитории: был бы спрос на такую штуку?

Думаю что спрос бы был 100% если сделать именно удобно , помимо табличных представлений иногда было бы удобно и графическое , например вы сделали список с Id и IdParent и хотите визуально увидеть его связи или у вас есть массив Plot и вы хотите увидеть их распределение
Вообще потребность вроде как с палеолита, идеи как это сделать на поверхности и по идее уже должно все быть реализовано.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re: Аддоны к студии для отладки (c#)
От: wl. Россия  
Дата: 25.10.16 08:36
Оценка:
Здравствуйте, okon, Вы писали:

http://www.oz-code.com/ — вот это не подойдет?
там есть триал на 30 дней
Re[2]: Аддоны к студии для отладки (c#)
От: okon  
Дата: 25.10.16 09:42
Оценка:
Здравствуйте, wl., Вы писали:

wl.>Здравствуйте, okon, Вы писали:


wl.>http://www.oz-code.com/ — вот это не подойдет?

wl.>там есть триал на 30 дней

Да его смотрел, но там вылезли такие проблемы — он в процессе отладки занимается подсветкой значений и прикрепленные datatips уезжают за пределы экрана. В общем интеграция со студией у него получилась какая-то кривенькая. По той проблеме что описана , да есть там поиск фильтр полей, немного удобнее становится чем в стандартном, но опять же не совсем то чего хотелось бы, а именно табличный вид выбранных полей + сортировка.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[5]: Аддоны к студии для отладки (c#)
От: Sharov Россия  
Дата: 25.10.16 10:41
Оценка: -1
Здравствуйте, okon, Вы писали:

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


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


O>>>Хотим узнать например есть ли в коллекции элементы у которых Weight = 0 или сколько элементов у которых Weight > 10.

K>>открываем Immediate window, пишем там

K>>
K>>list.Any(x => x.Weight == 0)
K>>list.Select(x => x.Weight > 10).ToList().Count
K>>


K>>Problem solved. (в immediate поддерживается autocomplete есличо)



O>Хотя нет, не решается, сейчас попробовал получаю в Immediate Window то же самое что и в Watch


O>list.Any(x=>x.Weight>0)

O>Expression cannot contain lambda expressions

O>А у вас работает ?


Ни у кого не работает. Так какие с этим трудноразрешимые проблемы. Лень ссылку на пруф искать.
Кодом людям нужно помогать!
Re[5]: Аддоны к студии для отладки (c#)
От: kbaj  
Дата: 25.10.16 16:30
Оценка:
Здравствуйте, okon, Вы писали:
O>А у вас работает ?
работает. Всю жизнь работало Что я делаю неправильно?

Отредактировано 25.10.2016 16:36 kbaj . Предыдущая версия .
Re[6]: Аддоны к студии для отладки (c#)
От: kbaj  
Дата: 25.10.16 16:36
Оценка:
Здравствуйте, Sharov, Вы писали:
S>Ни у кого не работает. Так какие с этим трудноразрешимые проблемы. Лень ссылку на пруф искать.
Отучаемся говорить за всех — http://rsdn.org/forum/dotnet/6593192.1
Автор: kbaj
Дата: 25.10.16
Re: Аддоны к студии для отладки (c#)
От: kbaj  
Дата: 25.10.16 16:38
Оценка: +1
Здравствуйте, okon, Вы писали:

люто, бешено рекомендую посмотреть на linqpad. Это не совсем то, что вы просите, но идеально подходит для быстрого прототипирования и умеет показывать результаты выполнения операций в любом виде (хошь XML, хошь csv, хошь таблица).
Re[6]: Аддоны к студии для отладки (c#)
От: okon  
Дата: 25.10.16 16:44
Оценка:
Здравствуйте, kbaj, Вы писали:

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

O>>А у вас работает ?
K>работает. Всю жизнь работало Что я делаю неправильно?

Хм, есть подозрение может это от версии зависит и в Ultimate работает ?
Может какие-то настройки.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[2]: Аддоны к студии для отладки (c#)
От: okon  
Дата: 25.10.16 16:47
Оценка:
Здравствуйте, kbaj, Вы писали:

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


K>люто, бешено рекомендую посмотреть на linqpad. Это не совсем то, что вы просите, но идеально подходит для быстрого прототипирования и умеет показывать результаты выполнения операций в любом виде (хошь XML, хошь csv, хошь таблица).


Смотрел, но для решения задач отладки особенно кода с множеством зависимостей и источников данных он не подойдет, тогда надо весь проект в него будет перенести и он станет студией.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[7]: Аддоны к студии для отладки (c#)
От: kbaj  
Дата: 25.10.16 16:47
Оценка:
Здравствуйте, okon, Вы писали:

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


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

O>>>А у вас работает ?
K>>работает. Всю жизнь работало Что я делаю неправильно?

O>Хм, есть подозрение может это от версии зависит и в Ultimate работает ?

O>Может какие-то настройки.
у меня Enterprise 2015 update 3
Re[8]: Аддоны к студии для отладки (c#)
От: okon  
Дата: 25.10.16 16:48
Оценка:
Здравствуйте, kbaj, Вы писали:

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


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


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

O>>>>А у вас работает ?
K>>>работает. Всю жизнь работало Что я делаю неправильно?

O>>Хм, есть подозрение может это от версии зависит и в Ultimate работает ?

O>>Может какие-то настройки.
K>у меня Enterprise 2015 update 3
пиратский ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[3]: Аддоны к студии для отладки (c#)
От: kbaj  
Дата: 25.10.16 16:49
Оценка:
Здравствуйте, okon, Вы писали:

задач отладки особенно кода с множеством зависимостей и источников данных он не подойдет, тогда надо весь проект в него будет перенести и он станет студией.
к нему можно подключить уже собраный код в качестве references. И прототипировать вызовы готового кода. Это такой REPL для сишарпа который done right в отличие от монстроидальной студии. Но да, совсем все в нем делать неудобно. Для вашего случая в принципе должно подойти immediate window.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.