С прошлой весны наша команда занимается созданием новой интегрированной системы запросов, чтобы повысить удобство совместной работы и предоставить возможность комментировать, просматривать и проверять запросы на включение GitHub напрямую из Visual Studio Code.
Просмотр и обработка запросов на включение
Новое расширение GitHub Pull Requests позволяет просматривать и обрабатывать запросы на включение (pull request, PR) напрямую из Visual Studio Code, а также:
- Подключать Visual Studio Code к GitHub и входить в личный кабинет оттуда же.
- Составлять списки PR и просматривать их в Visual Studio Code.
- Работать с PR прямо из редактора, добавлять комментарии с использованием разметки Markdown.
- Проверять PR непосредственно в редакторе в новом локальном режиме checkout and run, используя разнообразные функции языка программирования, например, Go To Definition и IntelliSense.
- Интегрировать терминал, чтобы интерфейс Visual Studio Code и инструменты командной строки, такие как git, работали вместе.
Совместная работа с командой GitHub
Приступив к переносу запросов на принятие изменений с Visual Studio Code в прошлом году, мы обратились к нашим партнерам. Когда выяснилось, что разработчики редактора GitHub имеют схожие планы, мы объединили наши усилия в апреле для создания новой системы запросов на принятие изменений в Visual Studio Code. Используя набор новых расширений API для Visual Studio Code, мы разработали новое расширение для создания и просмотра запросов на принятие изменений непосредственно в Visual Studio Code.
Более удобная работа с запросами на принятие изменений
На данный момент при проверке исходного кода в большинстве случаев мы вынуждены выходить из «родного» редактора и использовать для просмотра упрощенный веб-интерфейс или дополнительный инструмент, в котором изменения отображаются в другом редакторе. Да, внесенные правки показаны здесь наглядно, но мы не получаем полный контекст фрагмента, в котором они сделаны, и не видим, как они влияют на окружающий исходный код. Оказавшись вне привычной среды разработки, мы лишаемся возможности использовать знакомые сочетания клавиш и настройки. И самое главное, мы не можем выполнять навигацию по исходному коду и проверять, действительно ли просматриваемые изменения работают так, как задумано.
Теперь ситуация улучшилась благодаря новому расширению с новым проводником Pull Requests, который находится в окне Source Control в Visual Studio Code. Здесь мы можем просматривать запросы и обрабатывать их.
Новые открытые расширения API
Наша новая система запросов на принятие изменений использует наборы расширений API, с помощью которых разработчики расширений для Visual Studio Code могут создавать расширения для управления запросами на принятие изменений и связанными с ними метаданными. Благодаря открытой модели расширения поставщики запросов на принятие изменений работают аналогично поставщикам контроля версий: каждый получает возможность написать расширение для Visual Studio Code, позволяющее оставлять комментарии и просматривать исходный код, размещенный на их платформе. Более полная информация о новых API представлена в наших Заметках о выпуске за август 2018 года.
Если вы заинтересовались этим вопросом, то можете узнать больше о выпуске новых API и процессах расширения API здесь.
Перспективы
Мы рады наконец добавить возможность работы с запросами на принятие изменений в Visual Studio Code, поскольку считаем, что это упростит проверку исходного кода. Расширение GitHub – это только первый шаг по интеграции поставщиков платформ контроля версий для проверки кода в Visual Studio Code.
Ознакомьтесь с общедоступной пробной версией GitHub Pull Requests for Visual Studio Code. Как обычно, мы будем рады получить ваши отзывы, поэтому смело обращайтесь к нам на GitHub или в Твиттере @code.
Комментарии (18)
Sly_tom_cat
24.09.2018 11:49Вот только «располнел» VSC за последнее время неслабо, дома на 4GB оперативки уже трудно его запускать стало…
Leopotam
24.09.2018 11:55Можно попробовать поотключать builtin-расширения, может поможет. Делается через вкладку расширений и пункт меню "Show Built-In Extensions". Ненужные можно деактивировать.
rd_nino
24.09.2018 11:59Это не VSC располнел, а его расширения.
Результат развивающейся экосистемы в самом начале пути — некоторые расширения не оптимизированы и кушают память.
Для проверки — удалите расширения и оставьте только два-три самых нужных. Аппетиты по памяти у VSC сразу уменьшатся.Sly_tom_cat
24.09.2018 12:21Так ненужных я и не ставил. Стоит по минимуму всего для GO и Python.
Но раньше работало, а теперь еле ворочается.QtRoS
25.09.2018 00:56Да нет, я бы не сказал, что медленно работает и много памяти — сейчас открыты исходники Go 1.11, потребляет всего 300мб.
sentyaev
24.09.2018 14:07+1В демке показали решение проблем которые не нужно решать на code review.
1. Неиспользуемые переменные? — настроить линтер.
2. Проект не запускается из-за удаленного файла? — а CI & CD на что?
А вообще фича выглядит интересной. Только непонятно зачем она, просто чтобы на гитхаб не заходить чтоли?
Leopotam
Вот когда подвезете нормальную работу с git modules, тогда и поговорим. Сейчас пользоваться штатным контролем версий невозможно на сложных проектах с десятком бранчей и внешними зависимостями в виде модулей.
OnYourLips
А для чего вы используете модули?
В языках, экосистемы которых имеют такие инструменты, как composer, yarn или bundler, не вижу в них каких-либо потребностей, только лишние проблемы.
Leopotam
Наши же библиотеки, разрабатываемые как отдельные проекты, репозитории которых подключаются в виде модулей. Нет перемешивания истории с текущим проектом, обновляется просто и быстро, поддержка так же разных веток по gitflow и т.п. И нет, это не веб / серверсайд.
Laney1
С одной стороны, трудно ожидать от программы с версией 0.1.6 полной функциональности.
С другой, в их issues еще никто не написал про модули. Вряд ли MS запилят фичу, на которую нет спроса. Самое время создать такой issue?
Кстати, лично мне в принципе не нравится этот уход от оригинального git. Его стандартные инструменты (в частности, pull-реквесты с комментариями по email) все больше подменяют чем-то подозрительно напоминающим вендорлок
Leopotam
А вы уверены, что искали и не нашли? Вот, 2 года назад: github.com/Microsoft/vscode/issues/7829
Ну и комментарии соответствующие (спустя год после открытия issue):
Laney1
а. Я думал, вы конкретно про это расширение — https://github.com/Microsoft/vscode-pull-request-github
Leopotam
Нет, вся ветка комментариев про git modules как про часть git-интеграции в vscode:
Kobalt_x
Так issue закрыта же, даже гифка где показывается новый интерфейс
Leopotam
Закрыть — не значит реализовать. Они по сути смерджили в свой реп базовый функционал, реализованный через PR членом community, после чего благополучно посчитали, что все работает как надо и issue можно закрыть. Если почитать комменты, то это не так.
Kant8
Ну так никто же не мешает делать всё по старинке и потом качать изменения. МС просто предлагают логичное продолжение, если мы пулим, пишем, коммитим и пушим через студию, то почему пулл реквесты должны обязательно делаться через другое приложение, которое еще и плохо к этому приспособлено?