Что почитать: свежие записи из разных блогов

Записи с тэгом #лайфхак программиста из разных блогов

Luar Soll, блог «Программизмы»

Еще конспекта про WPF и DataBinding кусок

- Мы можем привязываться не только полностью к Collection View, но также и к "текущему" элементу коллекции и к определенному полю внутри коллекции. Возможны вложенные коллекции и привязка к их View. "Текущий элемент" - например, последний выделенный

- DataTemplate - как именно отображать элемент Collection View в UI. Позволяет не только выбрать информацию к отображению, но и "сделать красиво" (причем по-разному в зависимости от параметров отображаемого элемента коллекции). То, что не зависит от параметров отображаемого элемента, лучше настраивать через настройки UI в целом

- Возможно выбирать конкретный Template в зависимости от параметров элемента Collection View (и отображать элементы _совсем_ по-разному), но это уже делается в коде

- ValidationRule - проверка того, что введенные в элемент UI данные можно конвертировать в привязанную к этому элементу переменную. Есть стандартные, можно создавать свои. Как именно выглядит уведомление об ошибке - тоже можно задавать

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

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

- Реально дофига всего можно сделать с Data Binding именно через XAML, не залезая в код. Например, привязаться к Enum. Или задать конкретные параметры для функции валидации

 

Если создается пользовательский класс, объект которого к чему-то привязывается, то:

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

- Свойства объекта, используемые при привязке, должны быть public

- Невозможно привязаться к полям

 

MSDN можно переключить на американскую версию. Но для этого нужно прокрутить до самого низа страницы. Там слева будет переключатель.

Luar Soll, блог «Программизмы»

Конспекты продолжаются

- Если вы пытаетесь создать объект не существующего класса, то VS2015 предложит вам создать этот класс и даже покажет превью

- По буквосочетанию In подсказка VS2015 выдаст не только Input, но и LoadInput. Но не Window, потому что ориентируется на то, что значимые слова в имени переменной/функции начинаются с больших букв. Иногда можно набрать только большие буквы и получить функцию целиком (OSI -> OpenStandardInput)

- Ctrl делает подсказку от IntelliSense прозрачной

- В WPF возможен Binding коллекций. Для этого нужен CollectionView. Сначала в ресурсах нужно привязать CollectionViewSource к коллекции (и дать ему имя), потом параметр ItemsSource элемента интерфейса (например, ListBox) к CollectionViewSource (с конкретным именем). Еще у коллекций есть View по умолчанию, можно привязываться просто к нему. Если мы сортируем/фильтруем ListBox, то это влияет на привязанный View, но не на саму коллекцию

Luar Soll, блог «Программизмы»

Продолжаем писать конспект

- С помощью поиска возможно искать не только текст, но и выражения конкретной структуры (например А.Б = Б для любых А и Б). Замена для них тоже работает, например, превратить все А.Б = Б в Б = А.Б (это было и в предыдущих версиях, но еще ж знать об этом надо)

- Справка по F1 контекстная (по месту курсора или активному элементу)

 

- Внутри проектов могут быть произвольные подпапки, которые используются как namespace (в коде, соответственно, тоже) (C#)

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

- В солюшне есть подпапка для файлов, не входящих в проекты, но зачем-то открываемых в вижле (например, файлов с тестовыми данными)

- Солюшн описывается двумя файлами: .suo и .sln. Первый бинарный, содержит инфу об открытых файлах, брекпойнтах и т.д. Второй - текстовый, список проектов, настройки сборки и т.д.

- Солюшны 2012, 2013 и 2015 совместимы в любую сторону

Luar Soll, блог «Программизмы»

Visual Studio 2015

Продолжаем:

 

- Если нужно посмотреть на текст вызываемой функции, можно не переходить к файлу, а посмотреть его во "врезке" (мысль интересная, но я постоянно !нечаянно! попадаю по этому варианту, а не по стандартному переходу к файлу, и это меня бесит)

- Можно вместо скроллбара сделать своеобразный "силуэт файла" - с моим "я не помню, какая это была страница, но форма текста там была вот такая!" это может быть полезно... но с моей длиной файлов с кодом - скорее вредно))

- Поиск через Navigate To работает с учетом релевантности. Может быть полезно. Но может быть пц нелогично

- Есть окно, где можно в режиме "написал - выполнил" выполнять отдельные кусочки команд - усложненная версия возможности посмотреть значение конкретного выражения на брекпойнте. Может быть полезно при дебаге (гуглить по словам Immediate Window)

- Часть сообщений об ошибках вылезает на этапе редактирования, а не только при компиляции

Luar Soll, блог «Программизмы»

Visual Studio 2015

Вообще в основном я работаю в Qt Creator и пишу на C++. Но бывает, что мне нужно (для определенной задачи или для определенного проекта) мигрировать под Visual Studio, а то и вообще на C#. Вот сейчас как раз такой случай.

Причем если на плюсах под Visual Studio я некоторое время назад уже писала (но студия была 2010 и 2013), то на шарпе я писала дааавноооо. А тут еще ощущение, что пользовательский интерфейс VS2015 очень сильно отличается от пользовательского интерфейса VS2013.

 

С методом ненаучного тыка у меня в последние дни плохо, поэтому, не сумев сразу сделать то, что было надо и обнаружив несколько вроде бы и в общих чертах понятных, но все равно каких-то для меня загадочных фич, я нагло спиратила добыла на просторах интернета книжку по VS2015 и потихоньку ее читаю заодно пополняю свой англоязычный словарный запас*. При этом иногда нахожу такое, что бы вряд ли нашла просто тыкая кнопочки. И что наверняка забуду, если не законспектировать.

 

В общем, пока читаю про пользоавтельский интерфейс VS2015, из интересного уже почерпнула следующее:

- Просто горячих клавиш и сочетаний клавиш с Ctrl и прочим Alt там уже жестоко не хватает, поэтому, скажем, для того, чтобы закомментить блок кода нужно нажать сначала Ctrl+K, потом Ctrl+C

- Если код выровненный и в нескольких строчках подряд должен быть одинаковый кусок текста в одном месте (например, сразу несколько переменных нам надо срочно превратить из float в double), то можно "выделить вертикальный блок кода" и сразу удалить его содержимое или вбить один и тот же текст в нескольких строчках

 

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


Лучшее   Правила сайта   Вход   Регистрация   Восстановление пароля

Материалы сайта предназначены для лиц старше 16 лет (16+)