kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

GitHub Copilot Appでのの新しい開発

github.blog

GitHub Copilot Appのテクニカルプレビューが開始されました。個人向けプランは現在申し込みが必要ですが、一足お先に少々長い間使っていて、もうこれなしではいられないくらい依存しています。Copilot CLI同様、非常に高頻度に更新されています。

Visual Studio Code/Visual StudioはAIに依頼するまでもない手で修正する場所とかドキュメント修正する、デバッグする、フォルダー構成を全部確認する、といった用途に使っているくらいで、だいたいCopilot App: VS Code / Visual Studio: CLIが8 : 1.5: 0.5 くらいの割合です。

CLIが始まった時試してはいたのですが、いくつかどうしても困ることがありました。

  • TUI固有のIME問題(CLI 1.0.48で直されましたが、たまにIME使う言語圏固有のバグが入る)
  • やっぱtextareaで簡単にカーソル移動させたいよね(マルチバイトだと単語単位で移動がめんどい)

これらの問題は個人的にあまり許容できなかったので、実はCopilot Appのようなものを考えて作り始めていましたが、このアプリのプレビュー招待されて試してみると、「これでいいいか」ということでやめました😉。

VS CodeのAgent Windowによく似ていると思います。最初VS Code Insiderでagentアプリ(最初はアプリだった)見たときは「え、こんなだだかぶりなもの作るの?」と思っていたんですが、GitHub Copilot AppはGitHubに依存しているので、リモートのサービスがGitHub以外の時はAgent Window使えばいいかということになります。主役が完全にエージェントとの対話に焦点があるのはどちらも同じです。

ClaudeとかCodexのアプリほとんど知らないですが、コンセプトは似てると思います。

これでGitHubでアプリを作るときの方法がさらに増えることになります。

  • Webで作り始める(伝統的)。Copilotがあれば初期設定やってもらうこともできます。私はたまにやっていて「awesome copilotレポからAzure+C# 開発に必要なスキルやエージェント取ってきて」って頼んでます。
  • GitHub CLIで作る。わかっている時はこれも使います。そのあと好みの初期設定始めます。
  • VS Codeなどのエディタから
  • GitHub Copilot Appから

ただ使っていて思ったのですが、最初から始めるのはこのアプリじゃないほうが良いな、ということです。私としてはたぶん今後もGitHub CLIやWebで初期セットアップ続けると思います。

GitHubのレポジトリを追加して作業の起点がissueやPRになります(もちろんdraft PRでも良い)。そこからworktreeを作って作業を始めます。worktree作った後は右側のペインでターミナルタブが出せるのでそこでCLI使ったって良いでしょう。

少し残念に思っているのはGitHub(Web)でCopilotにissueの内容を作ってもらう機能がなくなったことですね。個人的には英語のみでしたが便利だったんですけどね…チャットからでも作れるし、今の私のワークフローとしてはCopilotのcostom instructionに「リモートがGitHubの場合、必ずissue作って、そのissueに紐づくpull requestとブランチ作ってから始めること」と書いているので、十分要件は満たせています(Azure Reposの場合も同じようにwork item作ることと、と書いています)。MITライセンスもしくはpublicレポジトリの場合は英語で書いてもらってます。

このアプリはCopilot CLIも内蔵しているので、実際の処理はCopilot CLIがやっているはずです。つまりCLIにできることは大体できる、と言いたいところですが、一部のslash commandがない(使えないことがある)ので、そこだけはCLIを使ってます。典型的な例でいえば /pr fix allです。このアプリにも /pr-resolve-commentsというslash commandがあるんですが、ちょっと使えないケースがあったので、困ってます。バグ報告もしたんですが…。slash commandはどちらも同じ名前で使えてほしいところです。

worktreeからVisual Studio (Code)などを起動できるので、IDEじゃないとできないデバッグなどにも便利です。設定されていればGitHub Copilot App内からデバッグもできるようです(私やったことない)。

設定は全体共通とレポジトリ固有のものがあります。例えばレポジトリ固有のカスタムインストラクション、リモート接続(出先でGitHub Mobile Appを使ってGitHub Copilot Appを制御)ということも可能です。便利。もちろんスリープに入らないためのawakeも可能です。私はPowerToysでawake設定しているのでやらないですが。

一つだけ難点を言えば、設定が複数端末でローミングされないこと。最初のほうでフィードバックしたのですが今のところ計画はないようです…/remoteが使えるので、セッション共有というか、別PCでもコントロールできるので、それで何とかするしかないですかね。dotfileとかapmとか使ってレポジトリの必要なものはコマンドで行けるようになりましたが、やっぱ初期設定は面倒。

Azure DevOps 2026/5/5の更新

Azure DevOps Sprint 273リリースノートの翻訳を行いました。オリジナルはこちらからご覧ください。

learn.microsoft.com

Copilot Cloud Coding Agent使って翻訳やっているのですが、使うたびによくなっているような…モデル指定はしてないです(Azure DevOpsからなので)。レビューもおかしなところというよりは記述が統一されていないところをうまく指摘してくれます。

GHAzDoで無効化、削除されたレポジトリが出てこなくなるのはありがたいです。結構残って困っていました。

作業項目のコピーって私使わないんですが、使う人には便利なんでしょう、きっと。親の実というのは必要なこともあると思います。

GitHub統合のREST APIで自動トークン更新がサポートされるのはありがたいです。ちょっとやりたいことはある。

Windows Arm64エージェントがパブリックプレビュー!GitHubにも来ていたので来るかなと思っていましたが、これはありがたい…のですが、Windows Client OSってサービス提供しちゃいけないような…自社製品だからいいの?と思ってしまいます。占有だったらギリ言い訳はできると思うんですが。

pull requestのステータスチェックとか未解決コメント表示されるようになったのはありがたい。GitHubでこれはうらやましいもののひとつでした。

Gitのオブジェクト数1憶という制限があったそうで、ちょっと想像ができないですが、Windowsの開発に使っているということなので必要なんでしょうね。GitHubには容量のハードリミットがありますが、Azure Reposにはない(少なくとも仕様として公開されていない)ので、巨大なモノレポ作る人には有利だと思います。

ISO/TR 80002-2:2017には実際の結果を含めなければならないという規定があるそうで、これを管理できないことがAzure Test Plansのギャップの一つで、長い間リクエストされていました。これ初めて聞いたときは「あそういえばそうだな」と思ったのでよく覚えてます。6年たってようやくパブリックプレビューになりました。プライベートプレビューの話はうっすら聞いていましたが、ちょっと協力できそうになかったのでお手伝いはしませんでしたが…めでたい。

ではまた三週間後。

translate to Japanese to Azure DevOps release not…

WorkIQを使う拡張機能ContextRelay for Microsoft 365

長年(でもない)アイディアを温めていて、ようやく公開にこぎつけることができました。新しいVisual Studio Code用拡張機能です。

marketplace.visualstudio.com

Microsoft 365リソースにアクセスするという拡張機能という性格上、ソースコードも公開しています。

github.com

MicrosoftもWork IQのMCPサーバーを公開しているので、通常そちらを使えば大丈夫です。ただ、あちらはGitHub CopilotのPremium Request使っちゃうんですよね。Microsoft 365 CopilotのライセンスがあるんだからWork IQのAPIを呼び出したいと思っていたのですが、5/1からパブリックプレビューになったので、拡張機能に追加しました。

techcommunity.microsoft.com

Work IQ追加前のもともとの想定としてはGraphで対象リソースを探し、それをコンテキストにしてCopilotにハンドオフ資料を作ってもらうという想定です。

拡張機能初期セットアップ

EntraにAPIを使用するための登録が必要です。ドキュメントにも書いていますが、これだけ使います。

不要なコネクターはオプションで無効化できます。

テナントIDとアプリケーションIDを登録してください。

使い方(Graph API編)

拡張機能のウィンドウはGitHub CopilotのUI準拠にしています。コマンドパレットでcontextrelayから呼び出してください。

Microsoft 365 CopilotのライセンスがあるEntraアカウントでログインしてください。

スラッシュコマンドに/allを指定したらすべてのリソース(Exchange, Teams, OneDrive, SharePoint, To Do, Planner, OneNote, Connector)から探します。組み合わせもできます。

例えば、勤怠アプリの仕様書をOneDriveから探す場合、/onedriveを指定して「勤怠管理」と検索すると、このように出てきます。そして、pinをクリックします。

pinを立てると、そのファイルをコンテキストとしてCopilotに渡して処理されます。

もちろん複数のファイルにpinを指定してもいいです。結果はコンテキストとプロンプトに依存します。

使い方(Work IQ編)

/workiqを指定するとWorkIQを使って検索します。/workiqはほかのコマンドと排他で、優先されます。

単にチャットする

/ask を指定すると、コンテキストなしでCopilotとチャットできます。Web検索を有効にしているので、Microsoft 365 CopilotのWebでのチャットと変わらない、はずです。

後始末

/clearでチャットをクリアして新しいチャットの開始ができます。

仕様・制限事項

現在Copilot 拡張APIにモデル指定機能がないので、自動のみです。

今後の予定

APIの追従にはついていこうと思っています。/onedriveとか指定した時のレンダリングがちょっと不満なので、改良したいと思っています。

Visual Studio版も内部でテスト中です。アプリケーション IDは別になります。

Azure DevOps 2026/4/14の更新

Azure DevOps Sprint 272リリースノートの翻訳を行いました。オリジナルはこちらからご覧ください。

learn.microsoft.com

今まで、コード検索は無料の拡張機能でしたが、組み込みになったそうです。これはめでたい。追加の構成(どこをインデックスするか)も必要でしたが、不要になったそうです。

CodeQLのデフォルトセットアップがパブリックプレビューになりました。プライベートプレビューから使っていましたが、便利です。organization全体で有効にするとライセンスインパクトがあるかもしれないのでご注意を。

セキュリティ概要ページアラートビューとキャンペーンの状態が見えるようになったのは便利だなと思います。共有しやすい。これPower BIで見えるようにならんかな…。

Markdownエディターも改良されて助かります。az boardsコマンドで作ると自動的に古いリッチエディターなんですが、markdownで作られないかな…。聞いてみるか。

ボードのフィルター処理もカスタマイズ便利そう。すごく昔から出ていた要望の一つなんですが、実現してありがたい。

サービス接続の情報見えるのはうれしいですね。これちょっと困っていたので。でも当たり前ですが新規だけか。

今回は2週間というやや短めスプリントでしたが、普通に機能が入っていますね。ではまた三週間後。

translate to Japanese to Azure DevOps release not…