company_banner

GitHub Pull Requests в Visual Studio Code

Автор оригинала: Kenneth Auchenberg
  • Перевод
Как и во многих других проектах с открытым исходным кодом, в сообществе 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.
Microsoft
489,00
Microsoft — мировой лидер в области ПО и ИТ-услуг
Поделиться публикацией

Комментарии 20

    –2
    Вот когда подвезете нормальную работу с git modules, тогда и поговорим. Сейчас пользоваться штатным контролем версий невозможно на сложных проектах с десятком бранчей и внешними зависимостями в виде модулей.
      0
      А для чего вы используете модули?
      В языках, экосистемы которых имеют такие инструменты, как composer, yarn или bundler, не вижу в них каких-либо потребностей, только лишние проблемы.
        +1
        Наши же библиотеки, разрабатываемые как отдельные проекты, репозитории которых подключаются в виде модулей. Нет перемешивания истории с текущим проектом, обновляется просто и быстро, поддержка так же разных веток по gitflow и т.п. И нет, это не веб / серверсайд.
          0
          Посмотрите в строну Cement. Все ваши проекты продолжат быть отдельными git репозиториями, сможете легко их обновлять и ссылаться на нужную ветку зависимости в своём проекте. Единственное, что автоматическая сборка зависимостей только для C#.
        +4
        Вот когда подвезете нормальную работу с git modules, тогда и поговорим

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


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

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

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

            0

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

              +1
              Закрыть — не значит реализовать. Они по сути смерджили в свой реп базовый функционал, реализованный через PR членом community, после чего благополучно посчитали, что все работает как надо и issue можно закрыть. Если почитать комменты, то это не так.
            0
            Ну так никто же не мешает делать всё по старинке и потом качать изменения. МС просто предлагают логичное продолжение, если мы пулим, пишем, коммитим и пушим через студию, то почему пулл реквесты должны обязательно делаться через другое приложение, которое еще и плохо к этому приспособлено?
          0
          Вот только «располнел» VSC за последнее время неслабо, дома на 4GB оперативки уже трудно его запускать стало…
            0

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

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

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

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

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

                  Именно так, чтобы не ходить в гитхаб и тут же на месте иметь открытый проект, чтобы в случае чего подходить по методам из пр, поискать их использования или даже позапускать тесты с иными параметрами


                  Я попробовал, мне даже очень понравилось
                  Не все фичи доступны, конечно
                  Например фото через Ctrl+v не приложить в (

                  0

                  deleted

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое