Как и во многих других проектах с открытым исходным кодом, в сообществе Visual Studio Code используются запросы на принятие изменений. С их помощью разработчики совместно исправляют ошибки и добавляют новые функции. Недавно мы обновили общедоступную пробную версию GitHub Pull Requests for Visual Studio Code, тем самым устранив проблему, с которой мы и миллионы разработчиков сталкиваемся каждый день: невозможность просматривать исходный код там, где он был написан, — в редакторе.



С прошлой весны наша команда занимается созданием новой интегрированной системы запросов, чтобы повысить удобство совместной работы и предоставить возможность комментировать, просматривать и проверять запросы на включение 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)


  1. Leopotam
    24.09.2018 10:18

    Вот когда подвезете нормальную работу с git modules, тогда и поговорим. Сейчас пользоваться штатным контролем версий невозможно на сложных проектах с десятком бранчей и внешними зависимостями в виде модулей.


    1. OnYourLips
      24.09.2018 10:27
      -1

      А для чего вы используете модули?
      В языках, экосистемы которых имеют такие инструменты, как composer, yarn или bundler, не вижу в них каких-либо потребностей, только лишние проблемы.


      1. Leopotam
        24.09.2018 10:29

        Наши же библиотеки, разрабатываемые как отдельные проекты, репозитории которых подключаются в виде модулей. Нет перемешивания истории с текущим проектом, обновляется просто и быстро, поддержка так же разных веток по gitflow и т.п. И нет, это не веб / серверсайд.


    1. Laney1
      24.09.2018 11:13
      +3

      Вот когда подвезете нормальную работу с git modules, тогда и поговорим

      С одной стороны, трудно ожидать от программы с версией 0.1.6 полной функциональности.
      С другой, в их issues еще никто не написал про модули. Вряд ли MS запилят фичу, на которую нет спроса. Самое время создать такой issue?


      Кстати, лично мне в принципе не нравится этот уход от оригинального git. Его стандартные инструменты (в частности, pull-реквесты с комментариями по email) все больше подменяют чем-то подозрительно напоминающим вендорлок


      1. Leopotam
        24.09.2018 11:20

        Вряд ли MS запилят фичу, на которую нет спроса. Самое время создать такой issue?

        А вы уверены, что искали и не нашли? Вот, 2 года назад: github.com/Microsoft/vscode/issues/7829
        Ну и комментарии соответствующие (спустя год после открытия issue):
        This feature is a basic usage of git, i really don't understand why the project maintainers haven't yet implemented it. Maybe they don't use anymore VSCode at work?


        1. Laney1
          24.09.2018 11:23

          а. Я думал, вы конкретно про это расширение — https://github.com/Microsoft/vscode-pull-request-github


          1. Leopotam
            24.09.2018 11:26

            Нет, вся ветка комментариев про git modules как про часть git-интеграции в vscode:



        1. Kobalt_x
          24.09.2018 11:56

          Так issue закрыта же, даже гифка где показывается новый интерфейс


          1. Leopotam
            24.09.2018 12:49

            Закрыть — не значит реализовать. Они по сути смерджили в свой реп базовый функционал, реализованный через PR членом community, после чего благополучно посчитали, что все работает как надо и issue можно закрыть. Если почитать комменты, то это не так.


      1. Kant8
        24.09.2018 15:20

        Ну так никто же не мешает делать всё по старинке и потом качать изменения. МС просто предлагают логичное продолжение, если мы пулим, пишем, коммитим и пушим через студию, то почему пулл реквесты должны обязательно делаться через другое приложение, которое еще и плохо к этому приспособлено?


  1. Sly_tom_cat
    24.09.2018 11:49

    Вот только «располнел» VSC за последнее время неслабо, дома на 4GB оперативки уже трудно его запускать стало…


    1. Leopotam
      24.09.2018 11:55

      Можно попробовать поотключать builtin-расширения, может поможет. Делается через вкладку расширений и пункт меню "Show Built-In Extensions". Ненужные можно деактивировать.


    1. rd_nino
      24.09.2018 11:59

      Это не VSC располнел, а его расширения.
      Результат развивающейся экосистемы в самом начале пути — некоторые расширения не оптимизированы и кушают память.
      Для проверки — удалите расширения и оставьте только два-три самых нужных. Аппетиты по памяти у VSC сразу уменьшатся.


      1. Sly_tom_cat
        24.09.2018 12:21

        Так ненужных я и не ставил. Стоит по минимуму всего для GO и Python.
        Но раньше работало, а теперь еле ворочается.


        1. dimka11
          24.09.2018 22:59

          Раньше он был 32-битным, а сейчас 64.


        1. QtRoS
          25.09.2018 00:56

          Да нет, я бы не сказал, что медленно работает и много памяти — сейчас открыты исходники Go 1.11, потребляет всего 300мб.


  1. sentyaev
    24.09.2018 14:07
    +1

    В демке показали решение проблем которые не нужно решать на code review.
    1. Неиспользуемые переменные? — настроить линтер.
    2. Проект не запускается из-за удаленного файла? — а CI & CD на что?

    А вообще фича выглядит интересной. Только непонятно зачем она, просто чтобы на гитхаб не заходить чтоли?


  1. maydjin
    24.09.2018 22:12

    deleted