Visual Studio "15" Preview 5

5 жовтня 2016-го року вийшов Visual Studio «15» Preview 5. Команда розробників сфокусувалася на підвищення продуктивності IDE. У цій статті ми розглянемо деякі з поліпшень. Запускайте інсталятор і, поки він встановлюється, читайте про нововведення в цій статті або в оригінальних release notes.

Значний крок вперед у продуктивності і економії пам'яті
Я хотів би почати з відео, яке дуже добре показує зростання продуктивності в даному превью. Тут показана завантаження проекту Roslyn, яка раніше займала 60 секунд, а в новому превью повністю закінчується вже до 30-ій секунді.



Прискорення завантаження є результатом кількох удосконалень, таких як, наприклад, легка завантаження проектів і завантаження розширень на вимогу. Весь список нововведень включає наступні речі:

Менший час завантаження завдяки новій «легкої» завантаженні. Якщо у вас є сотня проектів — це не означає, що з кожним з них ви будете працювати прямо зараз. VS «15» дає можливість редагувати, збирати і налагоджувати код без необхідності чекати завантаження всіх проектів. Ви можете протестувати цю можливість з керованими (managed) проектами, шляхом включення галочки «Lightweight Solution Load» Tools — > Options -> Projects and Solutions.

Прискорення завантаження завдяки відкладеного завантаження розширень. Ідея проста: завантажувати розширення тоді, коли вони знадобляться, а не відразу при запуску Visual Studio. В даному превью ми почали працювати над тим, щоб завантажувати наші розширення для Python і Xamarin тільки коли (і якщо!) вони знадобляться. У майбутньому всі розширення (як від Microsoft, так і від сторонніх фірм) будуть працювати за цією схемою. Якщо вам цікаво, як те або інше розширення впливає на швидкість завантаження Visual Studio, то тепер ви можете дізнатися, відкривши меню Help -> Manage Visual Studio Performance. Ви розробляєте своє розширення? Незабаром ми опублікуємо рекомендації на рахунок того, як перевести його на нову схему роботи з відкладеним завантаженням.

Переміщення окремих підсистем, що активно використовують пам'ять, з головного процесу Visual Studio в окремі процеси. Ми виділили деякі компоненти, такі як Git Source Control, Javascript і Typescript-сервіси в окремі процеси. Це дозволило зменшити вплив від пауз у їх роботі на чуйність користувальницького інтерфейсу в головному процесі Visual Studio. Крім того, це дозволило піти далі від ліміту 4 ГБ пам'яті на один процес, що накладається 32-бітними версіями операційної системи. Ми плануємо продовжити роботу з виділення підсистем в окремі процеси в наступних релізах.

Більш швидке завантаження, редагування і відладка С++ проектів. Ми окремо підвищили продуктивність роботи з С++ кодом. Перегляньте ось це відео. Ви можете включити цю можливість для своїх проектів за допомогою опції «Enable Faster Project Load», яка знаходиться в Tools — > Options -> Text Editor -> C/C++ -> Experimental. Ми також внесли зміну в програма компонування і механізм завантаження PDB файлів для того, щоб зробити запуск відладчика значно швидшим, а також зменшити споживання пам'яті під час налагодження.

Покращена швидкість роботи Git, налагодження та редагування XAML. Ми прискорили роботу з Git шляхом заміни використання libgit2 на git.exe. Швидкість роботи відладчика підвищена за рахунок оптимізації витрат на ініціалізацію, використання IntelliTrace і Diagnostic Tools. Також вдалося прибрати кілька затримок, що виникають при редагуванні XAML-файлів.

Це тільки початок і ми продовжуємо працювати над тим, щоб зробити Visual Studio швидше, отзывчевее, більш економною до пам'яті. В наступних статтях блогу команди Visual Studio ми постараємося детальніше розповісти про кожного з нововведень.

Поліпшення продуктивності
У Visual Studio «15» є також ряд нових можливостей, спрямованих на підвищення продуктивності праці програміста

" Редагування коду

Фільтри IntelliSense тепер доступні для C#, VB і C++. При використанні складних API ви можете звузити область лише до того типу об'єктів, який вас цікавить в даний момент (наприклад, методів, властивостей і подій). В C# і Visual Basic ми визначаємо «потрібний тип», який очікується в поточній позиції і заздалегідь вибираємо зі списку сутності відповідного типу. Це прискорює ваш набір коду і прибирає необхідність перебирати непотрібні пункти у списку.

image

У С++ в нас також з'явилася експериментальна підтримка аналогічної функціональності, вона називається Predictive IntelliSense і точно так само позбавляє програміста від гортання довгих списків автодоповнення. Будуть показуватися тільки актуальні в даному контексті підказки, відсортовані за ймовірності того, наскільки вони можуть бути корисні. Цю можливість можна включити в Tools > Options > Text Editor > C/C++ > Experimental.

Для XAML ми додали можливість автодоповнення для x:Bind, що дозволяє зручно биндиться до властивостей і подій. Автодоповнення імен дозволяє дописувати префікси, якщо посилання на простір імен вже існує. IntelliSense для XAML також був оновлений таким чином, щоб відфільтрувати непотрібні типи і властивості.

Для JavaScript ми повністю переписали сервіс підтримки IntelliSense. Раніше движок JavaScript безперервно виконував набраний код по ходу того, як ви його друкували. Це давало можливість отримати списки автодоповнення на рантайме. Подібний динамізм — хороша штука і взагалі суть JavaScript, однак не найкращий спосіб допомоги програмісту при редагуванні коду. Новий сервіс використовує статичний аналіз для більш якісного автодоповнення, включаючи всі можливості ES6/ES7.

image

швидке редагування і переформатування

Для того, щоб допомогти вам підтримувати ваш код в хорошому, читається стані ми додали ще більше швидких змін (Quick Actions) і можливостей рефакторінгу для C# і Visual Basic. Наприклад, «Move Type to Matching File» переміщує тип в новий файл, який має таке ж ім'я. «Sync File and Type Name» дозволяє перейменувати тип таким чином, щоб його ім'я відповідало назві файлу, в якому він знаходиться (або навпаки). І, нарешті, «Convert to Interpolated String» дозволяє задіяти доступну в C# 6.0 і VB14 можливість використання интерполлированых рядків замість «string.Format».

image

Навігація по коду

Озирнутися навколо і зрозуміти, де знаходишся буває непросто роботи з великою кодовою базою. Ми додали кілька нових можливостей, пов'язаних з навігацією. Go To: (Ctrl +, або Ctrl + T) дозволить вам швидко знайти файли, типи, методи або інші типи сутностей у вашому коді.

image

Знайти всі посилання (Shift+F12) допомагає вам розібратися у зв'язках коду, навіть у дуже великих кодових базах. Ця можливість дозволяє групувати, фільтрувати, сортувати та шукати результати, а для деяких мов також підтримує виділення кольорами, що дозволяє краще зорієнтуватися і зрозуміти залежності в коді.

image

Налагодження

У Preview 5 ми додали нову експериментальну можливість Run to Click. Вам більше не потрібно встановлювати тимчасові точки зупинки для того, щоб не пропустити цікавий вам блок і зупинитися на конкретній рядку. При зупинці в налагоджувач просто клікніть на іконці, яка з'явиться на потрібній вам рядку. Відладчик запустить виконання коду з поточного місця і до позиції, на яку ви вказали. Ви можете включити цю можливість у Debug > Options > Run to Enable Click.

image

Саме час спробувати
У даній статті розміщена розповідь не всі про даному прев'ю, повний список нововведень є release notes.

Кілька важливих особливостей даного превью. Насамперед, воно є непідтримуваних, а значить не варто використовувати його в критичних виробничих процесах. По-друге, дане превью може бути встановлено паралельно з попередніми версіями Visual Studio, але не може бути встановлений паралельно з іншими превью Visual Studio «15», а значить їх доведеться видалити до його встановлення. Детальніше про це можна прочитати в поширених питаннях.

Як завжди, зворотній зв'язок вітається. Для повідомлень про помилки ви можете скористатися вбудованою в Visual Studio і інсталятор функцією Report a Problem. Залишити свій відгук можна на порталі для розробників. Поради та пропозиції приймаються на UserVoice
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.