Microsoft visual studio 2010 shell isolated что это
Is it some sort of pre-built GUI scaffolding?
Why would I Want it instead of a WinForms UI, which is quick to set up?
What does it give me that I would have to spend time writing?
Do I get floating windows and docking, like in Visual Studio 2008? Is there a money-cost to using it?
What does the deployment look like - is my app a standalone EXE, or is it shipped as some sort of one-off package or archive that runs within the shell?
Is Eclipse RCP a good comparable, and if so, how do they compare?
5 Answers 5
I would like to mention that SQL Server Management Studio 2012 requires both of these entries in Add/Remove programs:
- Microsoft Visual Studio 2010 Shell (Isolated) - ENU
- Visual Studio 2010 Prerequisites - English
I know this because I uninstalled them, broke SSMS, and had to repair from the installation media, upon which those 2 items reappeared.
That would explain why removing all VS 2015 components causes ssms 2016 to crash. (Microsoft Visual Studio 2015 Shell (Isolated))
@Multinerd This should only have happened for the May 2016 version release and later, which was when SSMS was updated to use the Visual Studio 2015 Isolated Shell.
@TylerH my post was on march 8 2017 so im not sure which version i had. Im now using SSMS 2017 and it also relies on VS 2015 IS. Heres to hoping it would use 2017 when its released.
Dependencies goes like: Microsoft Visual Studio 2015 Shell if SQL Server 2016 Management Studio or higher is installed. Microsoft Visual Studio 2010 Shell if SQL Server 2012/2014 Management Studio is installed. Microsoft Visual Studio 2008 Shell if SQL Server 2008 Management Studio is installed.
Visual Studio Shell enables developers to rapidly create and distribute their own custom tools by building on a streamlined Visual Studio IDE.
A Visual Studio isolated shell-based application has full access to Visual Studio services and supports customization and branding. There are several ways you can customize a shell-based application, as follows:
- You can use add-ins and VSPackages to extend an isolated shell-based application just as you would use them to extend Visual Studio itself.
- To make Visual Studio features and menu command groups available or unavailable, update the .vsct file in the user interface (UI) project of the application.
- To remove Options pages or other Visual Studio shell components from the application, update the .pkgundef file of the application.
- To modify other aspects of the appearance or behavior of the shell, update the .pkgdef file of the application.
- Some aspects of the shell can also be specified when the application is started. To do this, update the parameters in the call to the Start entry point of the appenvstub.dll.
The Visual Studio Shell is freely available as part of the Visual Studio SDK. Visual Studio Shell is royalty-free for building and deploying applications.
Your isolated shell application can be installed on any computer that has the Visual Studio 2008 Shell (isolated mode) Redistributable Package.
Each isolated Shell-based application to be deployed must have a valid shell load key (SLK). The SLK is uniquely related to the application and cannot be used to load any other application. You can obtain SLKs on the Visual Studio Extensibility Developer Center Web site.
After you obtain a shell load key (SLK), you must add it to your Shell project. Follow this procedure to add an SLK to a project that was created by using the Visual Studio Shell Isolated template.
Note: Everything said up to this point has been copied and pasted from various Microsoft documentation pages. A good place to start might be Walkthrough: A Basic Isolated Shell Application.
Буду использовать жаргонизмы и варваризмы, потому что пишу на русском, а русских аналогов нужных терминов нет или они не совсем точно передают смысл.
Данная статья имеет задачу в первом приближении проинформировать интересующихся о возможностях расширения функционала Visual Studio — «технологии» Visual Studio Extensibility.
Visual Studio Extensibility
Как известно, Microsoft Visual Studio — среда для разработки (IDE). Причём расширяемая среда.
В связи с тем, что среда непростая, имеет продолжительную историю и позволяет реализовывать серьёзные вещи на своей основе, появился термин Visual Studio Extensibility (VSX), который объединяет в себе всё, что относится к расширению функционала студии (буду называть её так).
Ядро студии от версии к версии остаётся в основном тем же, что и у 2002-й версии, а большинство новых возможностей (VS2005, VS2008 и VS2010) реализованы с использованием мощи VSX.
К сожалению, разработчику, который будет работать с VSX, придётся столкнуться с «очаровательным кодом», который разрабатывался на протяжении нескольких лет разными людьми, и перерабатывался множество раз. А если учесть природу студии и, возможно, сжатые сроки её разработки, можно представить сколько интересного и удивительного разработчик может увидеть. Всё к тому же сожалению, именование сущностей тоже несколько хромает.
И, наконец, такой аспект, как наличие обширной и понятной документации, а точнее её отсутствие, рождает непонятное и магическое влечение к использованию VSX профессиональными разработчиками. Что может быть увлекательнее, чем исследование уже реализованных решений и изобретение новых на их основе?
Зачем расширять студию?
Сразу стоит заметить: расширение студии доступно в двух вариантах — Isolated Mode и Integrated Mode. Различие тут в том, что само ядро студии и её API доступно всегда, но функционал, который присутствует в обычной студии будет доступен только в интегрированном режиме (например, сишарп и вижуал-бейсик, веб-проекты, всяческие окна и инструменты). В изолированном мы получим исключительно оболочку, шелл.
Важно отметить, что расширения в интегрированном режиме доступны только в неэкспресс-версиях. Т. е. в бесплатных версиях невозможно установить никаких расширений. Зато этот интегрированный режим можно использовать для создания и внедрения новых языков программирования, дополнительного инструментария разработки в уже приобретённую и установленную студию. Примеры языков и технологий были выше.
Если же мы хотим обойтись без приобретения дорогостоящей копии Visual Studio Standard, Professional или версии Team System, то специально для нас есть бесплатный Visual Studio Isolated Shell, который можно использовать для создания своих стендэлон-продуктов, например специфических редакторов.
Возможности VSX
- макрос (macros),
- надстройка (add-in),
- пэкедж (integration package).
Вернёмся к расширениям. Макросы и надстройки доступны всегда, но создание пэкеджей требует наличие Visual Studio SDK.
Для того чтобы получить полную отдачу от VS SDK лучше сначала поставить VS 2008 SDK 1.0, а уже потом VS 2008 SDK 1.1. В 1.1 по какой-то причине отсутствует Project Base, о котором будет рассказано позже.
В общем, после установки VS SDK появится возможность создавать надстройки и пэкеджи, а после установки Visual Studio 2008 Shell (isolated mode) with SP1 — VS Shell-based-решения. Отмечу, что изолированный шелл существует в десяти локализациях.
Исключительно тремя вариантами VSX ограничивается только технически. А так, есть ещё и визуалайзеры (Visualizers), окна (Tool Window), проекты (Project Templates), MSBuild-расширения, DSL Tools и уже упомянутый VS Shell Isolated.
Основой VSX является Managed Package Framework (MPF). Он позволяет создавать пэкеджи с управляемым кодом. MPF содержит инкапсулированные имплементации множества интерфейсов пэкеджей, что позволяет обходиться меньшим количеством кода для создания собственных пэкеджей.
MPF-неймспейсы
Следующий список неймспейсов становится доступен после установки SDK:
Неймспейс | Описание |
Microsoft.VisualStudio | Классы для работы с COM-ошибками, константам студии и вин32-окнами |
Microsoft.VisualStudio.Package | Обёртки из управляемого кода для проектов студии, редакторов кода и MSBuild |
Microsoft.VisualStudio.Package.Automation | Обёртки для объектов автоматизации |
Microsoft.VisualStudio.Shell | Базовые классы MPF, имплементирующие множество основных объектов студии, от которых можно наследоваться |
Microsoft.VisualStudio.Shell.Design | Расширения дизайнеров |
Microsoft.VisualStudio.Shell.Design.Serialization | Расширения сериализации дизайнеров |
Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom | CodeDOM-расширения дизайнеров |
Microsoft.VisualStudio.Shell.Flavor | Поддержка подтипов проектов |
VSXtra
- неполное покрытие ключевых сервисов студии в MPF;
- необходимость написания огромного количества дополнительного кода (тысячи строк для реализации реальных расширений);
- использование устаревших подходов, отсутствие дженериков и LINQ.
Главная задача этого продукта подтолкнуть команду разработчиков студии к созданию нового современного MPF. Ну, а побочная — помочь разработчикам и развлечь своего автора.
Visual Studio 2010 SDK
- шаблоны создания окон и команд;
- новый набор шаблонов расширений редактора;
- новые билд-таски для создания VSIX-манифестов и VSIX-контейнеров, которые можно загрузить в Visual Studio Gallery, позволяющую расшарить ваше расширение;
- редактор VSIX-манифестов;
- пустой VSIX-проект, который позволит завернуть в VSIX-контейнер уже существующие проекты расширений.
- DSL Tools вынесены за пределы SDK и теперь доступны в самой студии;
- примеры SDK доступны только онлайн;
- документация SDK доступна только онлайн;
- улучшение процесса разработки расширений;
- добавление дополнительных шаблонов проектов для расширений;
- создание дополнительных инструментов создания и отладки расширений;
- появляются дополнительных примеров создания расширений для десятой студии.
- использование пэкеджей совместно с Managed Extensibility Framework;
- расширение функциональности дизайнера данных;
- интеграция с системами управления версиями;
- кастомизация дебаггера или создание нового;
- создание инструментов для тестирования.
Использование пэкеджей и MEF для расширения возможностей студии
Редактор студии создан на основе пэкеджа, дополненного несколькими MEF-расширениями. Для расширения функциональности редактора можно создавать эти расширения самостоятельно.
Расширение функциональности дизайнера данных для работы с внешними источниками
Расширение возможностей дизайнера данных (Data Designer Extensibility, DDEX) позволяет работать с множеством внешних источников данных в режиме разработки. Иерархии этих источников отображаются в сервер-эксплорере (Server Explorer). DDEX даёт возможность получить функциональность по отношению к внешним источникам данных, работать с видимостью свойств и другие возможности дизайнеров студии.
DDEX SDK предоставляет документацию, примеры и прочую информацию для помощи в создании собственных DDEX-провайдеров.
Интеграция с системами управления версиями
Студия поддерживает два типа интеграции: плагин, созданный на основе соответствующего апи (Source Control API, известный раньше как MSSCCI API), и предоставляющий базовую функциональность; решение, основанное на пэкеджах, с более широкими возможностями.
Кастомизация или создание дебаггеров
SDK позволяет кастомизировать компоненты студии, предназначенные для отладки или же создавать собственные компоненты для интеграции в IDE.
В студии отладка происходит вне процесса отлаживаемого приложения. Появилась возможность создания своих компонентов, которые взаимодействуют с дебаггером, но не влияют на отлаживаемое приложение.
- самой среде студии (Visual Studio IDE);
- ;
- ATL COM.
Создание инструментов для тестирования
Студия включает в себя инструментарий для тестирования, который глубоко интегрирован с другими возможностями среды. Инструментарий работает не только со своим собственным тестировочным фреймворком, но так же и с фреймворком инструментария жизненного цикла программного обеспечения.
Эти инструменты позволяют создавать, управлать, редактировать и запускать ручные и автоматические тесты, сохраняя результаты тестирования. Имеется возможность создавать собственные типы тестов.
Visual Studio Shell permette ai partner di Visual Studio di creare strumenti e applicazioni nell’IDE di Visual Studio. Usando la modalità integrata è possibile rilasciare un’estensione di Visual Studio per l’uso da parte dei clienti che non hanno installato Visual Studio. Nella modalità isolata è possibile rilasciare un’applicazione personalizzata che usa un sottoinsieme di funzionalità dell’IDE di Visual Studio.
Visual Studio Shell è disponibile per Visual Studio 2015, Visual Studio 2013, Visual Studio 2012 e Visual Studio 2010. Non è disponibile per Visual Studio 2017 e versioni successive.
Per accedere ai download e alla documentazione di Visual Studio Shell, devi accettare le condizioni di licenza software Microsoft disponibili più avanti.
CONDIZIONI DI LICENZA SOFTWARE MICROSOFT | MICROSOFT VISUAL STUDIO SHELL ISOLATED E INTEGRATED
Queste condizioni di licenza sono un accordo tra Microsoft Corporation (o, in base al luogo di residenza del licenziatario, una delle sue consociate) e il licenziatario. Le presenti condizioni si applicano al suddetto software. Si applicano anche a tutti i servizi o agli aggiornamenti Microsoft per il software, tranne nella misura in cui questi siano forniti con condizioni diverse.
QUALORA SI ATTENGA ALLE PRESENTI CONDIZIONI DI LICENZA, IL LICENZIATARIO DISPORRÀ DEI DIRITTI INDICATI DI SEGUITO.
1. DIRITTI DI INSTALLAZIONE E DI UTILIZZO.
a. Installazione e utilizzo. L’utente e la rispettiva organizzazione possono usare copie di Visual Studio Shell Isolated o Integrated (“software” o “Shell”) con Visual Studio 2008, Visual Studio 2010, Visual Studio 2012, Visual Studio 2013 o Visual Studio 2015 per lo sviluppo e il test delle applicazioni.
b. Uso come demo. L’uso consentito in base a quanto riportato sopra comprende l’uso del software nella dimostrazione di applicazioni.
c. Codice e modelli di esempio. L’utente e l’organizzazione possono usare e modificare il codice e i modelli di esempio nel software per personalizzare le applicazioni.
d. Componenti di terze parti. Il software può includere componenti di terze parti con note legali separate o disciplinati da altri contratti, descritti in uno o più file ThirdPartyNotices associati al software. Anche se tali componenti sono disciplinati da altri contratti, si applicano anche le dichiarazioni di non responsabilità e le limitazioni di responsabilità ed esclusioni di danni riportate di seguito.
2. CODICE DISTRIBUIBILE. Il software contiene codice che il licenziatario potrà distribuire nelle applicazioni che svilupperà, purché si attenga alle condizioni di seguito riportate. (Per questa sezione il termine “distribuzione” indica inoltre la distribuzione delle applicazioni per l’accesso da parte di terze parti tramite Internet).
a. Diritti di distribuzione.
- Shell. L’utente può copiare e distribuire il codice oggetto non modificato del software fornito da Microsoft. È possibile modificare determinati
file di configurazione, come indicato nella documentazione per il software. - Distribuzione da parte di terzi. È possibile consentire ai distributori delle proprie applicazioni di copiare e distribuire il software come parte di tali applicazioni.
b. Requisiti per la distribuzione. Per distribuire la Shell è necessario:
- Aggiungere funzionalità principali significative nelle applicazioni.
- Far accettare ai distributori e agli utenti finali esterni condizioni che garantiscano al software almeno lo stesso livello di tutela definito nel presente contratto.
- Indennizzare, difendere e ritenere Microsoft estraneo a qualunque reclamo, incluse le spese legali, le spese relative alla distribuzione o all’uso delle proprie applicazioni, tranne nella misura in cui qualunque reclamo sia basato esclusivamente sul codice distribuibile descritto nella Sezione 2 precedente.
c. Restrizioni per la distribuzione. L’utente non potrà:
- Usare i marchi di Microsoft nei nomi delle applicazioni o in modo tale da far presumere che le applicazioni provengano o siano approvate da Microsoft.
- Distribuire eventuale script di estrazione fornito da Microsoft.
- Modificare o distribuire il software in modo che qualsiasi parte di tale software sia soggetto a una Licenza Esclusa. Per Licenza Esclusa si intende qualsiasi licenza che come condizione per l’utilizzo, la modifica o la distribuzione richieda che (i) il software sia divulgato o distribuito sotto forma di codice sorgente oppure (ii) altri abbiano il diritto di modificarlo.
- Limiti relativi a estensioni e funzionalità. L’utente non sarà autorizzato a
sviluppare o permettere ad altri di sviluppare funzionalità per
eventuali estensioni al software che eludano le limitazioni tecniche implementate nel software o che siano sostanzialmente
simili o altrimenti in competizione con eventuali prodotti Microsoft. - Nessun impatto negativo su Visual Studio. L’utente sarà tenuto a progettare e testare
l’installazione, la disinstallazione e il funzionamento delle proprie applicazioni per
assicurare che tali processi non disabilitino alcuna funzionalità o influiscano
negativamente sulle funzionalità di qualsiasi edizione della famiglia di prodotti di Visual.
3. DATI.
a. Raccolta e uso. Il software può raccogliere informazioni sull’utente e sull’uso del software e inviarle a Microsoft. Microsoft può usare queste informazioni per offrire servizi e per migliorare i prodotti e i servizi. È possibile rifiutare esplicitamente molti di questi scenari, ma non tutti, come descritto nella documentazione del prodotto. Esistono inoltre alcune funzionalità del software che possono consentire all’utente e a Microsoft di raccogliere dati
dagli utenti delle proprie applicazioni. Se si usano queste funzionalità, è necessario rispettare la legislazione applicabile, inclusa la fornitura di avvisi adeguati agli utenti delle proprie applicazioni, ed è necessario fornire una copia dell’informativa sulla privacy agli utenti. L’informativa sulla privacy Microsoft è disponibile qui.
È possibile ottenere altre informazioni sulla raccolta dati, sull’uso nella documentazione della Guida e sull’informativa sulla privacy. L’uso del software viene considerato come autorizzazione all’applicazione di queste procedure.
4. AMBITO DELLA LICENZA. Il software non viene venduto, ma è concesso in licenza. Il presente contratto concede al licenziatario solo alcuni diritti di utilizzo del software. Microsoft si riserva tutti gli altri diritti. Nel limite massimo consentito dalla legge applicabile, il licenziatario potrà usare il software esclusivamente nei modi espressamente concessi nel presente contratto. Così facendo, l’utente deve rispettare tutte le limitazioni tecniche nel software che consentono solo di usarlo in determinati modi.
L’utente non potrà:
- Aggirare qualsiasi limitazione tecnica nel software.
- Decodificare, decompilare o disassemblare il software o tentare in altro modo di derivare il codice sorgente per il software ad eccezione di quanto indicato e nella misura richiesta dai contratti di licenza di terzi che regolamentano l’uso di determinati componenti open source che potrebbero essere inclusi nel software.
- Rimuovere, ridurre al minimo, bloccare o modificare eventuali avvisi di Microsoft o dei rispettivi fornitori nel software.
- Usare il software in qualsiasi modo illegale.
- Condividere, pubblicare, noleggiare o concedere in leasing il software o fornire il software come soluzione host autonoma per l’uso da parte di altri utenti oppure trasferire il
software o il presente contratto a terzi.
6. SERVIZI DI SUPPORTO TECNICO. Poiché il presente software viene fornito “così com’è”, non è prevista la fornitura di servizi di supporto tecnico da parte di Microsoft.
7. CONTRATTO COMPLESSIVO. Il presente contratto e le condizioni che disciplinano l’uso dei supplementi, degli aggiornamenti, dei servizi basati su Internet e dei servizi di supporto tecnico usati dal licenziatario costituiscono l’intero accordo relativo al software e ai servizi di supporto tecnico.
8. LEGGE APPLICABILE. Qualora il software sia stato acquistato negli Stati Uniti, la legislazione dello Stato di Washington sarà applicabile all’interpretazione e ai reclami aventi ad oggetto gli inadempimenti contrattuali e tutti gli altri reclami saranno disciplinati dalle leggi dello stato in cui si risiede. Se il software è stato acquistato in qualunque altro paese, si applicano le rispettive leggi.
9. DIRITTI DEL CONSUMATORE – VARIAZIONI IN BASE ALL’AREA GEOGRAFICA. Nel presente contratto vengono concessi alcuni diritti. È possibile che la legislazione dello stato o del paese di residenza del licenziatario, inclusi i diritti del consumatore, riconoscano al destinatario diritti aggiuntivi. Separatamente rispetto alla relazione del licenziatario con Microsoft, è possibile che il licenziatario abbia diritti correlati alla parte da cui è stato acquistato il software. Il presente contratto non modifica tali diritti se la legislazione dello stato o del paese di residenza del licenziatario non ne consentono la modifica. Se ad esempio il software è stato acquistato in una delle aree riportate più avanti o in caso di applicazione obbligatoria della legislazione specifica del paese, verranno applicate al licenziatario le disposizioni seguenti:
a. Australia. Il licenziatario è soggetto alle garanzie di legge previste ai sensi della legge australiana a tutela dei consumatori (Australian Consumer Law) e nessuna disposizione contenuta nel presente contratto influisce su tali diritti.
b. Canada. Se il software è stato acquistato in Canada, è possibile interrompere la ricezione di aggiornamenti disattivando la funzionalità di aggiornamento automatico, disconnettendo il dispositivo da Internet (se e quando il licenziatario si riconnette a Internet, tuttavia, il software riprenderà la ricerca e l’installazione di aggiornamenti) o disinstallando il software. La documentazione del prodotto, se disponibile, può includere informazioni sulla procedura di disattivazione di aggiornamenti per il dispositivo o il software specifico.
c. Germania e Austria.
(i) Garanzia. Il software concesso correttamente in licenza offre prestazioni sostanzialmente analoghe a quelle illustrate nei materiali Microsoft di accompagnamento del software. Microsoft non offre tuttavia alcuna garanzia contrattuale in relazione al software concesso in licenza.
(ii) Limitazione di responsabilità. In caso di condotta intenzionale, colpa grave, reclami basati su responsabilità prodotto e in caso di morte o di danni fisici o alla persona, Microsoft sarà ritenuto responsabile nella misura richiesta dalla legge imperativa.
In conformità con la precedente clausola (ii), Microsoft sarà ritenuto responsabile solo per lieve negligenza nel caso in cui Microsoft abbia violato gli obblighi contrattuali materiali (definiti “obblighi cardinali”), il cui rispetto agevola l’applicazione corretta del presente contratto, la cui violazione metterebbe a rischio le finalità del presente contratto e il cui rispetto consentirebbe alle parti di ritenere attendibile il contratto. In altri casi di lieve negligenza,
Microsoft non sarà ritenuto responsabile di lieve negligenza.
10. ESCLUSIONE DI GARANZIA. IL SOFTWARE È CONCESSO IN LICENZA “COSÌ COM’È”. IL RISCHIO DERIVANTE DAL SUO UTILIZZO È TOTALMENTE A CARICO DELL’UTENTE. MICROSOFT NON FORNISCE GARANZIE O CONDIZIONI ESPLICITE. NELLA MISURA MASSIMA CONSENTITA DALLA LEGGE LOCALE DEL LICENZIATARIO, MICROSOFT ESCLUDE EVENTUALI GARANZIE IMPLICITE DI COMMERCIABILITÀ, DI IDONEITÀ PER UNO SCOPO SPECIFICO E DI NON VIOLAZIONE DEI DIRITTI ALTRUI.
11. LIMITAZIONE DI RESPONSABILITÀ ED ESCLUSIONE DI DANNI. L’UTENTE POTRÀ RICHIEDERE A MICROSOFT E AI SUOI FORNITORI SOLO IL RISARCIMENTO PER I DANNI DIRETTI NEL LIMITE DI CINQUE DOLLARI (US$ 5). L’UTENTE NON POTRÀ RICHIEDERE IL RISARCIMENTO PER EVENTUALI ALTRI DANNI, INCLUSI I DANNI CONSEQUENZIALI, SPECIALI, INDIRETTI O ACCIDENTALI O RELATIVI ALLA PERDITA DI PROFITTI.
Questa limitazione si applica a (a) qualunque elemento relativo al software, ai servizi, al contenuto (compreso il codice) sui siti Internet di terzi o in applicazioni di terzi e (b) reclami relativi a inadempimento contrattuale, inadempimenti della garanzia o delle condizioni, responsabilità oggettiva, negligenza o altro illecito civile, nella misura massima consentita dalla legge applicabile. Tali limitazioni si applicano anche nel caso in cui Microsoft era informata o avrebbe dovuto essere informata della possibilità del verificarsi di tali danni. Poiché il paese dell’utente non ammette l’esclusione o la limitazione di responsabilità per danni incidentali o consequenziali o di altro tipo, la limitazione o le esclusioni di cui sopra potrebbero non essere applicabili all’utente.
Разработка Diablo IV в Blizzard и отладка дампов памяти из Linux в Visual Studio
В блоге Microsoft недавно была опубликована статья, которую написал Билл Рэндольф, старший инженер-программист Blizzard, занимающийся разработкой Diablo IV. В этой статье раскрыты некоторые особенности работы над Diablo IV и, в частности, рассказано об использовании Visual Studio для отладки кода, рассчитанного на Linux. Сегодня мы предлагаем вашему вниманию перевод этого материала.
Выпущена новая версия Python Tools for Visual Studio 2.0
Для загрузки доступна новая версия инструментов разработки на языке Python в среде Visual Studio. Инструменты Python Tools for Visual Studio распространяются с открытым кодом и предлагают следующие возможности: поддержка CPython, IronPython, функциональный редактор кода, Intellisense, отладка, профилирование, HPC-кластеры, IPython, Django и облачные решения с клиентскими библиотеками для Windows, Linux и MacOS.
Python Tools for Visual Studio 2.0 Alpha содержит важные нововведения, такие как: усовершенствованные анализ кода и intellisense для Python, virtualEnviroment for Python, удаленная отладка из Linux/OSX, функция Debug as a Script (для быстрой отладки).
Visual Studio 2010 Release Candidate доступна для всех желающих
-
(25.3MB) (1.2MB) (11.5MB) (69.7MB) (69.7MB) (408.4MB) (213.3MB) (302.9MB) (214.3MB) (514.7MB) (1568.7MB) (199.4MB) (2249.9MB) (2167.0MB) (2257.1MB)
Приятной работы с новой студией, коллеги!
Встречайте ReSharper C++
Чем же может быть полезен ReSharper C++? Разберем основные возможности продукта.
Вышла первая версия модуля интеграции Cppcheck в Visual Studio с открытым кодом
Здравствуйте, с вами снова говорит редактор блога ABBYY. На днях ко мне пришли разработчики и принесли с необъятных просторов ГитХаба новость, которая не имеет прямого отношения к нашей компании, но, по их словам, порадует всех наших разработчиков, а заодно и многих не наших. Коллегам они уже рассказали на кухне, для остальных — этот пост.
Продолжаем стихийный сериал о статическом анализе кода на C++ (предыдущие серии: один, два, три, четыре, пять, шесть, семь). Бесплатный анализатор с открытым кодом Cppcheck до недавнего времени отличался фатальным недостатком – не было модуля для его интеграции в Visual Studio.
Помощь в отладке для Visual Studio — Debugger Visualizers
Отладка любой программы сложна сама по себе и что бы, ее хоть как то облегчить – можно воспользоваться визуализаторами для Visual Studio (Debugger Visualizers).
Визуализатор – это компонент пользовательского интерфейса отладчика Visual Studio. Он создает диалоговое окно или другой элемент интерфейса, в котором переменная или объект отображается осмысленным образом, подходящим для этого типа данных. Например, HTML-визуализатор интерпретирует строку HTML и отображает результат в том виде, в каком она будет выглядеть в окне обозревателя, визуализатор точечных рисунков распознает структуру точечного рисунка и отображает его и т. д. Некоторые визуализаторы позволяют не только просматривать, но и редактировать данные.
Отладчик Visual Studio содержит четыре стандартных визуализатора. Это визуализаторы текста, HTML и XML, которые работают со строковыми объектами, и визуализатор наборов данных, который работает с объектами DataSet, DataTable и DataView.
Кроме стандартных визуализаторов из поставки Visual Studio, существуют еще и другие — вот о них и пойдет речь дальше.
Как убрать КАПС из меню Visual Studio 2012 RC
Недавно была выпущена Visual Studio 2012 RC, в которой, наравне с многочисленными изменениями интерфейса, было представлено главное меню с элементами набранными капсом. Не всем это пришлось по душе (хотя, лично мне нравится, тут можно почитать где и когда применим капс). Ниже представлен способ приведения меню в старое состояние
Для возврата старого меню внесите следующие изменения в реестр Windows:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\General\SuppressUppercaseConversion
REG_DWORD value: 1
Сборка Qt5 в Visual Studio 2012 или я могу пришить глаз кенгуру пока течет мой любимый кетчуп
Не так давно вышел новый Qt, обещающий большое и светлое будущее, и я решил опробовать сие чудо. Но для начала работы с этим чудом мне понадобилось собрать его для моей установленной студии 2012 года из исходных файлов. А сборка оказалась далеко не тривиальной (хотя кривость моих рук никто не отменял – таким студентам, как я, руки необходимо об забор выпрямлять).
Bing code search
Что еще за Rider?
Внимание! Опасный баг в реализации C++ std::map::merge и std::set::merge в Visual Studio 2017
Если Вы используете стандарт C++17 в MS Visual Studio 2017 — будьте осторожны: текущая версия содержит критический баг в реализации std::map::merge и std::set::merge. Подробности — под катом.
saneex.c: try/catch/finally на базе setjmp/longjmp (C99) быстрее стандартных исключений C++¹
Пока писал эту сугубо техническую статью, Хабр успел превратиться в местное отделение ВОЗ и теперь мне даже стыдно ее публиковать… но в душе теплится надежда, что айтишники еще не разбежались и она найдет своего читателя. Или нет?
Меня всегда восхищала стандартная библиотека Си, да и сам Си — при всей своей минималистичности от них так и веет духом тех самых первых красноглазиков хакеров. В черновике первого официального стандарта (ANSI C, он же C89, он же ANS X3.159-1989, он же, позднее, C90 и IEC 9899:1990) определяется 145 функций и макросов, из них около 25 — это вариации (ввиду отсутствия в языке перегрузок), а 26 чисто математических. K&R во второй редакции² приводят 114 функций (плюс математические), считая остальные за экзотику. В черновике³ C11 функций уже 348, но больше сотни — математика, а еще штук 90 это «перегрузки». А теперь посмотрим на Boost, где одних только библиотек — 160. Чур меня…
И среди этой сотни-полутора функций всегда были: обработка сигналов, вариативные функции (которые до интерпретируемого PHP дошли 25 лет спустя, а в Delphi, бурно развивавшемся одно время, их нет до сих пор) и порядка 50 строковых функций вроде printf() (м-м-м… JavaScript), strftime() (…) и scanf() (дешевая альтернатива регуляркам).
А еще всегда были setjmp()/longjmp(), которые позволяют реализовать привычный по другим языкам механизм исключений, не выходя за рамки переносимого Си. Вот о них и поговорим — Quake World, стеки, регистры, ассемблеры и прочая матчасть, а вишенкой будет занятная статистика (спойлер: Visual Studio непостоянна, как мартовский заяц, а throw saneex.c в два раза быстрее всех).
Наверняка многие уже знают, что в семействе версий Visual Studio 2008 случилось прибавление (относительно версий предыдущих): появилась Visual Studio Shell.
VS Shell — это "пустая" оболочка "студии", которую можно наполнять нужной функциональностью. Так что, если ваше приложение должно содержать меню, статус, различные панельки и тулбоксы — не проходите мимо, присмотритесь к VS Shell.
Тем более, что лицензия на нее такова, что можно совершенно бесплатно использовать в любых (и коммерческих тоже) приложениях.
VS Shell существует в двух видах: Integrated и Isolated. Первый из них означает, что в качестве оболочки будет использована уже установленная версия Visual Studio, а второй — что вы получите отдельное приложение-оболочку от "студии", которую вы можете кастомизировать, наполнить функционалом и раздавать своим клиентам.
Сегодня я начал разбираться с Isolated-версией.
Функциональность VS Shell расширяется за счет установки модулей-пакетов (packages). Например, таким пакетом может быть поддержка нового языка программирования, или редактора какого-нибудь хитрого формата файла и т.д.
Создание же пакетов для Isolated и Integrated версий друг от друга не отличаются — для того, чтобы добавить новый пакет в солюшн, просто кликаем на нужном шаблоне проекта (на этот раз он находится в правильном месте), проходим визард и получаем заготовку.
Для того, чтобы подключить его к собственной Isolated-копии Visual Studio необходимо сделать несколько дополнительных телодвижений:
- Воспользовавшись утилитой regpkg.exe из комплекта VS SDK сгенерировать регистрационный файл для пакета:
regpkg.exe /pkgdeffile:MyPackage.pkgdef /codebase - Сгенерированный MyPackage.pkgdef положить в папку PackagesToLoad, которая находится там же, где исполняемый файл вашего скомпилированного VS Shell.
- Запустить ваш VS Shell c ключем /setup — произойдет регистрация пакета.
Естественно, что пункты 1 и 2 можно запихнуть в Post-Buld Event проекта пакета и все будет делаться каждый раз автоматически.
На сегодня все. А я ближайшее время буду разбираться с тем, что и как можно делать внутри самих пакетов.
Читайте также: