Microsoft Visual Studio
| Microsoft Visual Studio | |
Внешний вид Visual Studio 2008 SP1 с программой на языке C# в Windows Vista | |
| Тип | |
|---|---|
| Тип | интегрированная среда разработки |
| Разработчики | Microsoft |
| Написана на | C++ [1] и C# [1] |
| Операционная система | Windows |
| Языки интерфейса | китайский язык, английский язык, французский язык,португальский язык,немецкий язык, итальянский язык, японский язык,корейский язык и испанский язык |
| Последняя версия | Visual Studio 2015(20 июля 2015) [2] |
| Лицензия | Пользовательское соглашение |
| Сайт | visualstudio.com |
Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнерсхемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки системконтроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования) или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).
Содержание
Компоненты [ ]
Visual Studio включает один или несколько компонентов из следующих:
Многие варианты поставки также включают:
В прошлом в состав Visual Studio также входили продукты:
Версии [ ]
До выхода Visual Studio Version 4.0 среды разработки Visual Basic 3, Visual C++, Visual FoxPro и Source Safe поставлялись в качестве самостоятельных пакетов.
Visual Studio 97 [ ]
Visual Studio 97 — первая выпущенная версия Visual Studio, в которой впервые были собраны вместе различные средства разработки ПО. Она была выпущена в двух версиях — Professional и Enterprise, и включала в себя Visual Basic 5.0, Visual C++ 5.0, Visual J++ 1.1, Visual FoxPro 5.0 и впервые появившуюся среду разработки ASP — Visual InterDev. Visual Studio 97 была первой попыткой Microsoft создать единую среду для разработки на разных языках программирования: Visual C++, Visual J++, Visual InterDev и MSDN использовали одну среду, называемую Developer Studio. Visual Basic и Visual FoxPro использовали отдельные среды для разработки.
Visual Studio 6.0 (1998) [ ]
Visual Studio 2005 [ ]
Visual Studio 2008 [ ]
Внешний вид Visual Studio 2008 SP1 с программой на языке C# в Windows Vista
Visual Studio 2010 [ ]
Visual Studio 2012 [ ]
Visual Studio 2012 распространяется в тех же редакциях, что и 2010. Изменения коснулись Visual Studio 2012 Express — устанавливаются все языки программирования, а не один, как раньше (Visual Basic 2010 Express, Visual C# 2010 Express), а также теперь существует пять версий Visual Studio Express: Visual Studio Express 2012 для Web, Visual Studio Express 2012 для Windows 8, Visual Studio Express 2012 для Windows Desktop, Visual Studio Express 2012 для Windows Phone и Visual Studio Team Foundation Server Express 2012. Все версии распространяются как отдельные приложения. Visual Studio Express 2012 для Windows 8 позволяет разрабатывать приложения для Windows Store с Modern-интерфейсом, а Visual Studio Express 2012 для Windows Desktop позволяет разрабатывать «классические» приложения для Рабочего стола. Что касается Visual Studio Team Foundation Server Express 2012, то эта версия поставляется с оболочкой Visual Studio 2012.
Visual Studio 2013 [ ]
Visual Studio 2015 [ ]
Visual Studio 2015 предоставляется в трёх редакциях: бесплатной Community Edition, объединяющей все Express-версии, и платных Professional Edition для небольших проектов и Enterprise Edition для крупных проектов.
Редакции [ ]
Visual Studio Express [ ]
Набор легковесных сред разработки, представляющих собой урезанную версию Visual Studio. Она включает в себя небольшой набор инструментов, в отличие от полных версий: отсутствует дизайнер классов и многие другие инструменты, а также поддержка плагинов и удалённых баз данных в дизайнере данных. Компиляторы в 64-битный код также недоступны в Express-редакциях до версий 2010 года (хотя компилятор бесплатно распространяется с Windows SDK и его можно использовать, компилировать автоматически из IDE нельзя). [источник не указан 445 дней] Microsoft позиционирует эту линейку IDE для студентов и любителей. На настоящий момент существуют следующие Express-редакции:
Вместе с Visual Studio 2012 были выпущены новые Express-версии продукта:
Ключевыми особенностями этих express-версий продуктов являются:
Visual Studio LightSwitch [ ]
Основная статья: Visual Studio LightSwitch
Visual Studio Standard [ ]
Данная редакция предоставляет IDE для всех поддерживаемых продуктов и поддерживает полную версию библиотеки MSDN. Поддерживается редактирование XML и XSLT, как и средства для тестирования объектов. Однако отсутствует обозреватель серверов и интеграция с Microsoft SQL Server. Поддержка разработки под мобильные устройства изначально была включена в Visual Studio 2005 Standard, но в версии 2008 она доступна только в Professional-редакции. Начиная с версии 2010 более не существует. [источник не указан 445 дней]
Visual Studio Professional [ ]
Редакция включает все возможности Standard Edition, расширяя их дополнительными, такими, как интеграция с Microsoft SQL Server и поддержка удалённой отладки.
Visual Studio Tools for Office [ ]
Visual Studio Tools for Office включает SDK и расширение для Visual Studio, которое содержит утилиты для разработки под платформу Microsoft Office. Начиная с Visual Studio 2008 включено в версии Professional и выше.
Visual Studio Team System [ ]
Основная статья: Visual Studio Team System
Предоставляет набор инструментов для совместной разработки, подсчета метрик и создания отчётов, в дополнение к возможностям Professional редакции. Имеются различные редакции VSTS, разделяемые по ролям, для которых продукт будет использоваться:
Совмещённая функциональность всех четырёх редакций представлена в отдельном пакете Visual Studio Team Suite Edition. Функциональность Database Edition будет совмещена с Development Edition в будущей версии пакета — Visual Studio 2010.
Помимо клиентских приложений, Team System также включает в себя Team Foundation Server.
Компилятор как сервис [ ]
Дополнения [ ]
Visual Studio построена на архитектуре, поддерживающей возможность использования встраиваемых дополнений (англ. Add-Ins) — плагинов от сторонних разработчиков, что позволяет расширять возможности среды разработки.
Некоторые из наиболее популярных дополнений:
История Visual Studio. Часть I
Как выясняется, C++ — язык довольно сложный для компиляции; да что там — он сложный даже для понимания. Я помню одну беседу о том, какими запутанными могут быть указатели на члены класса. Итоги были потрясающими и сводились к тому, что указатели могут указывать на члены, определенные в виртуальном базовом классе. В этом весь C++: отдельные вещи кажутся простыми, но как только вы начинаете их комбинировать с другими — дело сразу усложняется.
В это время мы были заняты добавлением новых возможностей в наш отладчик. Как выяснилось, создание «Вычислителя выражений» для C++ было так же вполне себе подвигом. «Вычислители» — звери довольно приятные. Они используются для вычисления значений выражений, которые в фактическом контексте компиляции были бы выражениями неверными (например, вычисление значения статической переменной вне текущей области видимости, или вычисление значение глобальной переменной из другого модуля). «Вычислитель» должен был выполнять все эти задачи, попутно будучи похожим по духу на исходный язык и максимально отзывчивым.
Я уже упоминал, что это все могло работать медленно?
В то время я работал над средой разработки для платформы Windows 3.0 — очередного так и не выпущенного проекта — и у нас были проблемы, связанные с попытками заставить windows.h компилироваться в сколько бы то ни было приемлемый отрезок времени.
И именно тогда произошло чудо с предкомпилированными заголовочными файлами.
Опять же: я не называю имен, но достаточно будет сказать, что я очень хорошо знаю того человека, который все это создал и что это было в стиле «да это невозможно», «даже не пытайся», «о, да у тебя получилось!».
В это же время еще одна команда работала над продуктом под названием Quick C for Windows, оказавшимся впоследствии невероятно важным. В этот продукт было вложено много труда; он имел первую настоящую IDE для Windows и настоящую отладку. Однако же все это было недоработано, и чуть позже я скажу, почему доведение всего этого до ума было делом непростым.
Пока суд да дело, та другая компания тоже не стояла на месте, а выпускала классные компиляторы C++. До 1992 года нам было нечем ответить: мы выпустили Microsoft C 7.0 на базе PBW и — буквально в тот же момент — Quick C for Windows (QCW).
Мой проект был закрыт. Да, опять. К счастью, я много где успел отметиться.
К слову сказать, Microsoft C 7.0 был, я думаю, самым тяжелым (именно с точки зрения массы) продуктом из когда-либо нами выпущенных. Я не уверен, что мы когда-то еще пытались выкатить так много книг.
Так вот мы выпустили эту книжную полку, а обстановка тем временем стала довольно интересной.
Еще раз выпустить PBW мы не могли; нам нужна была графическая среда разработки, базой для которой должен был стать QCW и уже шла работа по его обобщению и приспособлению под наши задачи, но работы там было — мама не горюй. К тому же, в нашей реализации C++ отсутствовали некоторые важные возможности; с Microsoft C 7.0 поставлялась очень ограниченная библиотека MFC 1.0. Нам нужно было что-то с этим предпринять. И увеличить скорость тоже не мешало бы.
Каждая из этих задач была пугающей, но я расскажу только о некоторых. Во-первых, отладка.
Отладка в 16-битной Windows (к тому времени, как мы закончили, на дворе уже была Windows 3.1) была волшебством. В Win16 была кооперативная многозадачность и не было «потоков» как таковых: был единственный поток выполнения. А теперь представьте себе, что это значило: процесс нельзя было остановить в принципе. Остановите процесс — и встанет вообще все. Так что если вы пытаетесь добиться того, чтобы GUI-отладчик останавливал отлаживаемую программу, то делать этого не стоило. Вместо того вам надо было сделать так, чтобы все выглядело так, будто программа остановилась, но на деле она продолжала бы работать, но исполнять она должна была не пользовательский код, а безобидный код, предоставленный отладчиком, который продолжал бы обрабатывать оконные сообщения.
Частью этого волшебства было то, что когда отлаживаемый процесс «останавливается», необходимо было «на лету» сабклассить все окна процесса и заменять WndProc на реализацию, отображающую белый прямоугольник вместо полноценной отрисовки, сохраняющую важные сообщения в очереди для последующей обработки и вообще выполняющую некую обработку «по умолчанию» с надеждой, что ничего плохого она не сделает. Фокус становился еще интересней, когда приложение пыталось отправить DDE- или OLE-сообщения. Это и было «чудо» Soft Mode отладки.
Ах да, средства разработки… Была такая штука под названием Windows NT — вы, возможно, о ней слышали. И мы не хотели городить бинарники для различных окружений, так что надо было исправить подсистему «расширения DOS» с тем, чтобы можно было исполнять консольные приложения Windows NT в DOS. Впечатляюще. И все это должно было быть старым добрым DOS’ом. Дважды впечатляюще. Но мы это сделали (не без помощи третьей стороны, которую я называть не буду).
Пока мы занимались компилятором, дела MFC шли вполне себе хорошо. Там появился дизайнер, пара важных мастеров и все хозяйство начало выглядеть как VB: нарисовал, щелкнул, перетащил — готово!
Я обязан сказать пару слов о VB.
Кодовое имя Visual Basic 1.0 было Thunder (гром). Когда я впервые его услышал, оно показалось мне несколько самонадеянным. Я думал, что их поведение в стиле «Почувствуй силу грома!» было просто заносчивым хвастовством мальчишек. И я ошибался.
На то, что все продукты хотели быть похожими на Visual Basic и меняли название на Visual что-то-там, была своя причина. Visual Basic просто был очень хорош. Редко у кого был интерпретатор, обеспечивающий обратную связь «на лету», но воссоздать ключевые элементы Visual Basic’а стремился каждый. К тому времени, как мы закончили, Visual Basic был уже везде, и он глубоко повлиял на дизайн и библиотеки. У нас получился не Visual Basic, но что-то Visual: то был Visual C++ (если вы еще следите: Microsoft C 8.0 и MFC 2.0).
За этим последовал довольно интересный релиз, в котором мы заставили наши 16-битные средства работать под Windows NT в 16-битном же режиме (снимаем шляпу перед парнями из отдела совместимости приложений: нас не так просто было портировать), добавили поддержку OLE и ODBC. Клиентам это все очень нравилось и впервые за все время работы в Microsoft я ясно почувствовал, что у нас появилось преимущество над конкурентами в сфере средств разработки для C/C++. Язык был еще не полон, но то, что было — было действительно крутым.
Пока происходили эти события, часть нашей команды работала над очередной «действительно крутой» вещью: они портировали всё наше хозяйство под 32-битную Windows NT. Планировалось, что релиз состоится к моменту выхода Windows NT 3.5. Это, выпуск локализованной для Японии версии, а так же в принципе поддержка интернационализации, была важной, но абсолютно недооцененной работой.
Так появился Visual C++ 1.1.
Некоторые не совсем сознательные личности полагают, что версия 1.1 не была полноценным продуктом, а была «просто портированным продуктом». Это люди, очевидно, ничего не понимающие в средствах разработки. В системе версии 1.1 был абсолютно новый, 32-х битный, бэкенд компилятора. Мы все знаем, насколько портабельны эти бэкенды. И да, там был абсолютно новый отладчик с совершенно иным механизмом работы: в Windows NT таки были настоящие потоки, которые можно было останавливать. И опять же: модель памяти для всей программы была иной, поскольку исчезли ближние и дальние ( far и near ) указатели. А так да, чо там, это все была мелочевка, а версия 1.1 был просто портом.
Это было в 1993 году, продукт назывался Barracuda. Лично я там почти не отметился, но основные разработчики заслуживают отдельного упоминания в Истории.
Ситуация обещала стать очень интересной; важнейшим релизом набора средств для C++ на моей памяти был Visual C++ 1.0 “Caviar”. Не будь его — не было бы ничего. Но настолько же важным был и следующий релиз, о котором я напишу в следующий раз. Visual C++ 2.0 “Dolphin” впервые и на самом деле интегрировал средства разработки в один программный продукт.













