Сообщений 4 Оценка 115 Оценить |
MSDN - это библия Windows-разработчика. В ней содержится огромное количество важной и полезной информации по всем основным продуктам и технологиям фирмы Microsoft. Но когда информации накапливается слишком много, встаёт другая проблема - проблема поиска именно тех данных, которые требуются в данный момент. В этой статье мы поговорим о том, как искать нужную информацию в MSDN.
ПРИМЕЧАНИЕ Далее речь пойдёт о той версии MSDN, которая распространяется на дисках и используется в качестве хелпа в среде разработки Visual C++. Тем не менее, некоторые рекомендации можно с успехом применять при поиске в Интернете на сайте MSDN Online. |
Базовым инструментом для поиска информации в MSDN служит вкладка Search навигационной панели. Посмотрим, какие средства она нам предоставляет.
Вкладка Search
В верхней части вкладки Search находится поле ввода "Type in word(s) to search for". Оно позволяет вводить и выполнять запросы на поиск информации. Искать можно в статьях MSDN, в заголовках статей (флажок "Search titles only") или в статьях, найденных по предыдущему поисковому запросу (флажок "Search previous results"). Чтобы выполнить запрос, нажмите Enter (или щёлкните по кнопке "List Topics"). Появится список статей, удовлетворяющих запросу. Перейти к любой статье в списке можно, дважды щёлкнув по ней левой клавишей мыши. Можно также выделить нужную статью и щёлкнуть по кнопке "Display". Для удобства список статей можно сортировать по названию, разделу или рангу (то есть по степени соответствия запросу). Для этого нужно щёлкнуть по заголовку соответствующего столбца списка.
СОВЕТ Если вы нашли статью, которая вас заинтересовала, посмотрите, где она находится в оглавлении (для этого нужно нажать кнопку Locate на панели инструментов). Возможно, рядом с ней вы найдёте несколько похожих статей, которые вам пригодятся, или даже целый раздел, посвящённый интересующей вас теме. |
В простейшем случае запрос может состоять из одного-единственного слова. Результатом будет список статей, в которых это слово встречается. При поиске не учитывается регистр букв, поэтому запросы "style", "STYLE" и даже "StYlE" дадут одинаковый результат. Слова, которые вы вводите, могут состоять из любых букв и цифр. Использовать знаки препинания допускается, но они игнорируются при поиске.
Введённое вами слово разыскивается именно в той грамматической форме, в которой вы его набрали. Если вы хотите, чтобы учитывались все возможные формы слова, установите флажок "Match similar words" в нижней части вкладки Search. Если установить этот флажок, то по запросу "develop" будут также обнаружены статьи со словами "developed", "developer" и даже "development".
Можно искать в MSDN не только фиксированное слово, но и фиксированную фразу. Для этого фразу нужно заключить в двойные кавычки. Как и в случае с отдельными словами, можно использовать флажок "Match similar words" для поиска фразы во всех возможный грамматических формах. Если установить этот флажок, то запрос "create dialog" отыщет также статьи с фразами "creating dialog", "created dialog", "create dialogs" и т. п.
В словах можно использовать специальные символы "*" и "?". Они имеют тот же смысл, что и в командном языке Windows: "?" обозначает одну произвольную букву, а "*" - любую последовательность букв. Например, вы можете быстро найти все статьи, в которых рассказывается об уведомлениях элемента ListView, задав запрос "LVN_*".
Для более тонкого отбора нужных статей используются операторы AND, OR, NOT и NEAR. Они вводятся прямо с клавиатуры или из меню, которое появляется при щелчке на стрелочке, расположенной справа от окна с запросом.
ПРЕДУПРЕЖДЕНИЕ Операторы AND, OR и NOT нельзя заменять на позаимствованные из языка C символы &, | и !. Хотя в документации утверждается, что это допустимо, ваши запросы не будут работать. |
С помощью операторов можно связывать как отдельные слова, так и заключённые в кавычки фиксированные фразы. Операторы AND, OR и NOT имеют стандартный смысл "И", "ИЛИ" и "НЕ", а оператор NEAR означает, что связанные им слова (фразы) должны находиться недалеко (в пределах 8 слов) друг от друга. Например, можно задать запрос "debug NEAR release NEAR build" для поиска статей об отличиях отладочной и финальной версии программы в Visual C++. Если вы опускаете оператор между словами, считается, что это оператор AND.
СОВЕТ Обратите особое внимание на оператор NEAR. В MSDN содержатся десятки тысяч статей, многие из них очень большие. Даже если вы объедините несколько слов оператором AND, они могут встретиться в статье, которая совершенно не относится к интересующей вас теме. Использование NEAR существенно повышает вероятность найти именно то, что вам нужно. |
Запросы с операторами всегда читаются слева направо. Никаких приоритетов для операторов не вводится. Чтобы изменить порядок обработки запроса, можно использовать круглые скобки.
Чтобы определить, насколько найденные статьи соответствуют нашим нуждам, часто бывает удобно включить подсветку слов или фраз, которые совпали с нашим запросом. Для этого нужно установить галочку Highlights в меню View.
MSDN часто ругают за то, что в ней вся информация свалена в кучу. Похожие функции есть и в Win32 API, и в MFC, и в Java, и в VB... Попробуйте ввести в индексе функцию типа "print", и вы поймёте, что я имею в виду. К счастью, нас никто не заставляет работать с библиотекой MSDN целиком. Вы можете определить в ней некоторое подмножество разделов, с которым будут работать оглавление, индекс и поиск. Используя подмножества, вы можете существенно сузить круг поиска нужной информации и быстрее найти то, что вам нужно.
Подмножество задаётся в выпадающем списке "Active Subset" в самой верхней части навигационной панели MSDN. Пункт "(Entire Collection)" соответствует всей библиотеке целиком. Кроме этого, в MSDN обычно присутствует несколько удобных предопределённых подмножеств, которыми вы можете воспользоваться. Например, подмножество "MSDN, Knowledge Base" ограничивает круги ваших поисков Базой Знаний фирмы Microsoft (о ней мы подробно поговорим в следующем разделе). А подмножество "Visual C++, Platform SDK, and Enterprise Docs" должно понравиться разработчику на языке C++, так как содержит документацию на сам язык C++ и его стандартную библиотеку, среду Visual C++, Win32 API и библиотеки MFC и ATL.
Если предопределённых подмножеств недостаточно, всегда можно определить свои собственные. Для этого предназначен пункт меню "View0>Define Subset..." (определить подмножество).
Диалог Define Subset
В открывшемся диалоге "Define Subset" вы увидите два дерева. В правом показаны разделы, принадлежащие подмножеству, а в левом - не входящие в него. Раскрывать и сворачивать подразделы можно двойным щелчком левой клавиши мыши. Для перемещения разделов в подмножество и из него используйте кнопки Add, Add All, Remove и Remove All. Из списка "Select subset to display" выбирается подмножество, которое вы будете редактировать (по умолчанию выбирается "New" - новое подмножество). Здесь же можно удалить ненужное подмножество, выбрав его из списка и нажав Delete. Если вы создали новое подмножество, не забудьте назначить ему название в поле "Save new subset as" и сохранить его, нажав Save.
База Знаний (Knowledge Base, KB) - это огромная коллекция технических документов. Эти документы дополняют документацию, описывая решения конкретных проблем, которые могут возникнуть у пользователя или программиста. В Базе Знаний содержатся ответы на многие вопросы, нужно только найти их там.
Каждая статья в KB содержит несколько специальных ключевых слов, которые её довольно точно классифицируют. Все эти слова начинаются с префикса kb. Задавая одно или несколько таких ключевых слов в поисковом запросе, можно вычленить из Базы именно те статьи, которые вам требуются. Список основных ключевых слов приведён в последующих разделах.
Каждая статья в Базе Знаний относится к одной из следующих категорий:
Если вы ищете в Базе Знаний статьи определённой категории (категорий), вы можете использовать в запросе специальные ключевые слова.
Категория | Ключевое слово |
---|---|
HOWTO | kbHOWTO |
INFO | kbINFO |
PRB | kbPRB |
BUG | kbBUG |
FIX | kbFIX |
SAMPLE | kbSAMPLE |
FAQ | kbFAQ |
DOC | kbDOC |
Ключевые слова, связанные с тематикой, можно комбинировать с ключевыми словами, соответствующими конкретным технологиям. Это позволит получить результаты, более точно соответствующие вашим нуждам. Например, если вас интересует безопасность в ASP, вы можете задать запрос "kbASP kbSecurity". Если вас интересует отладка DLL, используйте запрос "kbDLL kbDebug". И так далее.
Тематика | Ключевое слово |
---|---|
Отладка | kbDebug |
Сообщения об ошибках | kbErrMsg |
Скриптовые языки | kbScript |
Незаконченные фрагменты кода (code snippets) | kbCodeSnippet |
Использование визардов | kbwizard |
Безопасность | kbSecurity |
Производительность | kbPerformance |
Масштабируемость | kbScalability |
Развёртывание приложений | kbDeployment |
Локализация | kbLocalization |
Тема | Ключевое слово |
---|---|
Платформа Intel x86 | kbx86 |
Эмуляция Intel x86 | kbEmulatex86 |
DEC Alpha | kbDecAlpha |
Компьютеры Macintosh | kbMAC |
Платформы на базе чипов MIPS | kbMIPS |
Процессоры PowerPC | kbPowerPC |
Процессоры Hitachi SuperH | kbSuperH |
Тема | Ключевое слово |
---|---|
Всё семейство ОС Windows | kbOSWin, kbWinOS |
ОС Windows NT | kbNTOS |
ОС Windows NT 4.0 | kbNTOS400 |
ОС Windows 2000 | kbWinOS2000 |
ОС Windows 95 | kbWinOS95 |
ОС Windows 98 | kbWinOS98 |
ОС Windows CE | kbWinCE |
Unix | kbOSUNIX, kbUNIX |
Тема | Ключевое слово |
---|---|
Только язык C (без C++) | kbConly |
Только язык C++ | kbCPPonly |
Синтаксис языка C | kbLangC |
Синтаксис языка C++ | kbLangCPP |
Библиотека C run-time (CRT) | kbCRT |
Обработка исключений в C++ | kbExceptHandCPP |
Шаблоны | kbtemplate |
Standard Template Library (STL) | kbSTL |
Код, генерируемый компилятором | kbCodeGen |
Компилятор | kbCompiler |
Линкер | kbLinker |
Утилита Nmake | kbNMake |
Тема | Ключевое слово |
---|---|
Общие | |
Visual Studio (все версии) | kbVS |
Visual Studio 97 | kbVS97 |
Visual Studio 6.0 | kbVS600 |
Среда разработки Developer Studio | kbDevStudio |
Интегрированная среда разработки (IDE) | kbIDE |
Visual C++ | |
Visual C++ | kbVC |
Visual C++, версия 6.0 | kbVC600 |
Объектная модель Visual C++ | kbVCObj |
Редактор кода | kbEditor |
Редактор ресурсов | kbResourceEd |
ClassViewer в Visual C++ | kbClassView |
Class Wizard | kbClassWizard |
Галерея компонентов (Component Gallery) | kbCompGallery |
Создание собственных визардов | kbCustomWizard |
Другие среды | |
Visual Basic | kbVBp |
Visual Fox Pro | kbVFP |
Visual InterDev | kbVisID |
Visual Source Safe | kbSSafe |
Тема | Ключевое слово |
---|---|
Различные инструменты | kbMiscTools |
Инструменты для анализа производительности | kbPerformanceTool |
Продукты, поставляемые в составе Platform SDK | kbSDKPlatform |
Windows Kernel Debugger (WinDBG.EXE) | kbWinDBG |
Visual Analyzer | kbVisAnalyzer |
Тема | Ключевое слово |
---|---|
Инсталляция приложений на компьютер пользователя | kbAppSetup |
Проблемы с установкой приложений фирмы Микрософт | kbSetup |
Microsoft Windows Installer (MSI) | kbMSI |
Microsoft Windows Installer, версия 1.0 | kbMSI100 |
Microsoft Windows Installer, версия 1.1 | kbMSI110 |
Visual Studio Installer | kbVSI |
Тема | Ключевое слово |
---|---|
Весь Application Programming Interface (API) | kbAPI |
Структурная обработка исключений в Win32 | kbExceptHandSEH |
Реестр | kbRegistry |
Многопоточность | kbThread |
Динамически подключаемые библиотеки (DLL) | kbDLL |
Программирование сервисов | kbService |
Буфер обмена | kbClipboard |
Файловый ввод/вывод | kbFileIO |
Работа со строками и строковыми ресурсами | kbString |
Дата и время | kbDateTime |
Консоль управления фирмы Микрософт (Microsoft Management Console, MMC) | kbMMC |
Система помощи в старом формате (WinHelp) | kbWinHelp |
Система помощи на базе HTML | kbHTMLHelp |
Общие контролы Windows | kbCmnCtrls |
Стандартные диалоги | kbCmnDlg |
Создание и использование диалоговых окон | kbDlg |
Работа с меню | kbMenu |
Программирование акселераторов ("горячих клавиш") | kbKeyAccel |
Программирование Drag and Drop | kbDragDrop |
Графика средствами GDI | kbGDI |
Печать | kbPrinting |
Сокеты | kbWinsock |
Тема | Ключевое слово |
---|---|
Модель COM/DCOM | |
Вся Component Object Model (COM) | kbCOMt |
Distributed COM (DCOM) | kbDCOM |
ODL-файлы | kbODL |
IDL-файлы | kbIDL |
Компилятор MIDL | kbMIDL |
Внутрипроцессные COM-серверы | kbInprocSvr |
Локальные COM-серверы | kbLocalSvr |
Маршалинг | kbMarshal |
Лицензирование | kbLicensing |
Точки соединения (Connection Points) | kbConnPts |
Подразделения | kbApartment |
Технологии OLE и ActiveX | |
Вся технология Object Linking and Embedding (OLE) | kbOLE |
Все технологии ActiveX | kbActiveX |
Длительное хранение (persistent storage) в OLE | kbPersistSt |
Интерфейс IDataObject | kbDataObject |
События | kbActiveXEvents |
Составные документы (compound documents) | kbCmpDoc |
Контейнеры OLE | kbContainer |
Активизация "по месту" (inplace activation) | kbInplaceAct |
Активные документы (active documents) | kbActiveDocs |
Автоматизация приложений | kbAutomation |
ActiveX-контролы (создание и использование) | kbCtrl |
ActiveX-контролы (только создание) | kbCtrlCreate |
COM+ и MTS | |
Весь COM+ | kbCOMPLus |
Microsoft Transaction Server (MTS) | kbMTS |
Асинхронные вызовы COM+ | kbCOMPlusAsync |
Контексты COM+ | kbCOMPlusContext |
События COM+ | kbCOMPlusLCE |
Тема | Ключевое слово |
---|---|
Все статьи, посвящённые базам данных | kbDatabase |
Microsoft Data Access Components (MDAC) | kbMDAC |
Open Database Connectivity (ODBC) | kbODBC |
Java Database Connectivity (JDBC) | kbJDBC |
Data Access Objects (DAO) | kbDAO |
Data Access Object SDK | kbSDKDAO |
Ядро JET | kbJET |
Remote Data Objects (RDO) | kbRDO |
Remote Data Service (RDS) | kbRDS |
OLE Database Interface (OLEDB) | kbOLEDB |
OLEDB-потребители | kbConsumer |
OLEDB-провайдеры | kbProvider |
Простой OLE DB-провайдер | kbOSP |
ActiveX Data Objects (ADO) | kbADO |
Microsoft SQL Server | kbSQLServ |
Отладчик T-SQL | kbTSQL |
Продукты и технологии Oracle | kbOracle |
Exchange | kbXchge |
Installable ISAM | kbIISAM |
Технологии и формат dBASE | kbDBase |
Excel | kbExcel |
Access | kbAccess |
Создание и распространение драйверов для баз данных | kbDriver |
Тема | Ключевое слово |
---|---|
Active Server Pages (ASP) | kbASP |
XML | kbXML |
Парсер MSMXL (все версии) | kbMSXML |
Парсер MSMXL, версия 2.0 | kbMSXML200 |
Парсер MSMXL, версия 3.0 | kbMSXML300 |
Internet Service API (ISAPI) | kbISAPI |
Веб-серверы | kbWebServer |
Cookies | kbCookies |
Тема | Ключевое слово |
---|---|
Вся библиотека Microsoft Foundation Classes (MFC) | kbMFC |
Архитектура документ/представление | kbDocView |
Многодокументный интерфейс (Multiple Document Interface, MDI) | kbMDI |
Классы MFC, произведённые от CControlBar | kbMFCCtrlBar |
Контекстно-зависимая справка | kbCSHelp |
Программирование панелей инструментов | kbToolbar |
Разработка пользовательского интерфейса | kbUIDesign |
Обработка исключений в MFC | kbExceptHandMFC |
Тема | Ключевое слово |
---|---|
Active Template Library (ATL) | kbATL |
Ver. 1.1 Active Template Library, версия 1.1 | kbATL110 |
Ver. 2.0 Active Template Library, версия 2.0 | kbATL200 |
Ver. 2.1 Active Template Library, версия 2.1 | kbATL210 |
Ver. 3.0 Active Template Library, версия 3.0 | kbATL300 |
Поддержка окон в ATL | kbATLWC |
Провайдеры и потребители в ATL | kbDTL |
Тема | Ключевое слово |
---|---|
Статьи, написанные группами технической поддержки Микрософт | kbDSupport |
Общая информация, не относящаяся к программированию | kbGenInfo |
Взаимодействие с MSDN | kbMSDN |
Компоненты и драйверы третьих фирм | kb3rdparty |
Сообщений 4 Оценка 115 Оценить |