GitHub Pull Requests в Visual Studio Code +28



Как и во многих других проектах с открытым исходным кодом, в сообществе 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
    /#19149903

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

    • OnYourLips
      /#19149951 / -1

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

      • Leopotam
        /#19149969

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

    • Laney1
      /#19150193 / +3

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

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


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

      • Leopotam
        /#19150237

        Вряд ли 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?

        • Kobalt_x
          /#19150403

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

          • Leopotam
            /#19150753

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

      • Kant8
        /#19151557

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

  2. Sly_tom_cat
    /#19150361

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

    • Leopotam
      /#19150397

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

    • rd_nino
      /#19150419

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

      • Sly_tom_cat
        /#19150569

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

        • dimka11
          /#19153377

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

        • QtRoS
          /#19153535

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

  3. sentyaev
    /#19151213 / +1

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

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

  4. maydjin
    /#19153271

    deleted