Максим Павловский twitter: @paulousky

Презентация:



Advertisements
Похожие презентации
Максим Павловский
Advertisements

Евгений Воднев Microsoft Certified Application Developer Microsoft Certified Professional Developer.
1 A + B Операнд 1Операнд 2 Оператор Что такое выражение (expression) ? Что такое инструкция (statement) ? Операторы int max = (a > b) ? a : b;
Microsoft TechDays Олег Аксенов {oleg.gdn at gmail.com}
Язык программирования C# Дмитрий Сошников
Функции с переменным числом аргументов private static int Sum(int a, int b) { return a + b; } static void Main() { int sum = Sum(1, 2); } 1 Функции.
Современные среды программирования. Лекции, практики(22203, 22205): Горинов Николай Александрович Практики 22203, 22204: Ченин Алексей Александрович 22208:
Занятие 2 Инструменты Роман Здебский Тренинг Введение в разработку приложений на Windows Presentation.
1 Коллекции Коллекции.NET 1.0 Классы коллекций заданы как часть пространства имен System.CollectionsSystem.Collections
Microsoft TechDays Михаил Черномордиков Microsoft Developer Evangelist

Дмитрий Филюшин Microsoft Corporation Проблемы Разделенные средства Свои собственные интеграционные компоненты Трудности с Общими отчетами Составление.
Developing a PDMWorks Enterprise add-in in Microsoft VB.NET Jonathan Freeson Senior Consultant / Partner xLM Solutions, LLC.
Microsoft TechDays Никоноров Евгений Ведущий разработчик EPAM Systems.
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО.
Work with server by XMLRPC – library in Java For students Author: Dudnik Oxana.
Microsoft TechDays Назар Андриенко Ведущий разработчик MCAD.
Microsoft TechDays Сергей Попов Независимый разработчик.
Test 17 Вопрос 1. public class TKO { public static void main(String[] args) { String s = "-"; Integer x = 343; long L343 = 343L; if (x.equals(L343)) s.
PARALLELISM В.NET 4.0 И VISUAL STUDIO 2010 Калита Роман TaskManagementSoft.
Транксрипт:

Максим Павловский

Visual Studio 2010 Professional или лучше Visual Studio 2010 SDK

Разработка в Visual Studio 2010; Из чего состоит проект расширения Visual Studio Package; Запуск и отладка в Visual Studio 2010 experimental instance; Публикация в Visual Studio Gallery.

Реализация Microsoft.VisualStudio.Shell.Package; Использование IServiceProvider для доступа к различным составляющим Visual Studio

IVsSolution; IVsStatusbar IVsOutputWindowPane; IVsWebBrowsingService; IVsToolWindowToolbarHost; etc.

private IEnumerable GetProjects(__VSEN UMPROJFLAGS flags, Guid projectGuid) { IEnumHierarchies enumHier; solution.GetProjectEnum((uint)flags, ref proje ctGuid, out enumHier); uint fetched = 1; IVsHierarchy[] hier = new IVsHierarchy[10]; while (fetched > 0) { ErrorHandler.ThrowOnFailure( enumHier.Next(10, hier, out fetched)); for (int n = 0; n < fetched; ++n) yield return hier[n]; } yield break; }

Bitmap bitmap = … IntPtr bitmapHdc = bitmap.GetHbitmap(); Object bitmapObjHdc = (Object)bitmapHdc; //Start animation int isTurnedOn = 1 statusbar.Animation(isTurnedOn, ref bitmapObjHdc); //Set progress text and progress bar value int InProgress = 1; int currentValue = 50; int Total = 100; string message = Processing; statusbar.Progress(ref statusBarId, InProgress, mess age, currentValue, total));

IVsOutputWindow output = provider.GetService(typeof( SVsOutputWindow)) as IVsOutputWindow; //Guid of your outputwindow Guid outputPaneGuid = new Guid(…); output.CreatePane(ref outputPaneGuid, Test", 1, 1); IVsOutputWindowPane pane; output.GetPane(ref outputPaneGuid, out pane); pane.Activate(); pane.OutputString(Output message);

Получение типа (asp.net, библиотека, windows service etc), языка (c#, VB) проекта; Получение свойств проекта; Получение элементов проекта (файлы, папки, классы, простанства имён и т.д.); Обработка reference assemblies проекта.

private IEnumerable GetProjectTypeGuids(Project project) { string projectTypeGuids = string.Empty; IVsHierarchy hierarchy = GetVsHierarchy(project); if (hierarchy as IVsAggregatableProject != null) (hierarchy as IVsAggregatableProject). GetAggregateProjectTypeGuids(out projectTypeGuids); if (string.IsNullOrWhiteSpace(projectTypeGuids)) return Enumerable.Empty (); return projectTypeGuids.Split(';').ToList(); }

ProjectItems items = project.ProjectItems; foreach (ProjectItem item in items){ if (item.FileCodeModel == null) continue; foreach (CodeElement element in item.FileCodeMode l.CodeElements){ if (element.Kind == vsCMElement. vsCMElementNamespace){ foreach (CodeElement elemenentN in (element as CodeNamespace).Members){ if (elemenentN.Kind == vsCMElement.vsCMElementClass) return true; } } } }

project.References.Add( ); project.References.AddProject(projectReference.SourcePr oject);

Xaps Minifier Visual Studio Gallery; m/ m/ Visual Studio SDK Reference us/library/bb aspx us/library/bb aspx VS extensibility resources ddins.aspx ddins.aspx