Tye 用 Visual Studio Code 拡張機能が発表されました

みなさんごきげんよう。本記事は、2021 年 6 月 1 日（米国時間）ポストされた **https://devblogs.microsoft.com/dotnet/announcing-visual-studio-code-extension-for-tye/** の意訳（と、ちょっと手を加えたもの）となります。
内容については下記原文が正となります。ちなみに今日は 6 月 2 日でしたが、昼まで今が 6 月に入っていたと気づいていませんでした。今年は休日もずれるらしいですし、今日が何日かもあんまりよくわからない日々が続きそうです。

さて世迷言はともかくとして、今日勝手に紹介する記事はこちらになります。

https://devblogs.microsoft.com/dotnet/announcing-visual-studio-code-extension-for-tye/

なお書いたついでに、2021 年の休日についての情報もついてにここにリンクおいておきますね。**10 月は休日なしですよ！**

http://www.kantei.go.jp/jp/headline/tokyo2020/shukujitsu.html?fbclid=IwAR3WLVCTjEfKND6Zn4FMI9PGLNy1uYMBSKCkQua107ZFxljWNw1PWueiktw

Visual Studio Code で、[Tye](https://github.com/dotnet/tye) を使用しているアプリの編集、実行、デバッグが捗るようにする、[Tye 用 Visual Studio 拡張機能](https://aka.ms/vscode-tye)が利用可能になりました。やったね。

https://github.com/dotnet/tye

https://aka.ms/vscode-tye

> **uikou 補足 : Project Tye について**
Tye は、マイクロ サービスや分散型アプリケーション開発、テスト、デプロイを支援する、開発者向けツールです。Project Tye には、以下が含まれます。

>  * マイクロ サービスの開発の敷居を下げてくれる、ローカル オーケストレータ
 * 最小限のセッティングでマイクロ サービスを Kubernetes にデプロイする機能

> **Tye ができること**

> マイクロ サービスの開発を容易にしてくれます。

> * 1 つのコマンドで多くのサービスを実行する
> * コンテナ内での依存関係の使用
> * 簡単な規則を利用してたのサービスアドレスを見つける

> Kubernetes への .NET アプリケーションのデプロイを自動化します。

> * .NETアプリケーションの自動コンテナ化
> * 最小限の知識、設定で Kubernetes のマニフェストを生成
> * 開発と同じ規則を使用し一貫性を保つ

> ・・・だいぶ脱線しました。ごめんなさい。本文に戻ります。

https://devblogs.microsoft.com/aspnet/introducing-project-tye/?WT.mc_id=DT-MVP-5002209

実験的なツールという位置づけ (※）である Project Tye ですが、今回のリリースにおいてもそれは変わらず、実験の一環であり、最高のクラウド ネイティブ開発のツール体験とは何かを学ぶための取り組みであるものの、Tye がマイクロ サービスや分散アプリケーションの開発、テスト、デプロイを容易にすることを目指すことは変わりません。まだ Tye を試していない方は、入門ガイドの助けを借りて、是非試してみてください。
(※ uikou 注 : 現時点ではリリースなど、具体的な展開はまだ決定されていない位置づけの文字通り「実験的な」プロジェクトということ)

#Visual Studio Code における Tye アプリケーションの表示・管理
Visual Studio Code 機能拡張を使うと、Visual Studio Code 内から Tye アプリケーションの初期化、実行、表示、管理が簡単にできます。Tye アプリケーションが起動してすぐに、サービスが Tyeエクスプローラに表示されます。(以下ビデオ参照)

<iframe width="556" height="311" src="https://www.youtube.com/embed/-UQau95Fz6U" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

エクスプローラーから、任意のサービスのログの表示や、アクセス可能なエンドポイントを持つサービス参照だけでなく、任意の .NET サービスにデバッガをアタッチすることもできます。
また、ブラウザ ベースの Tye ダッシュボードに素早く移動できるリンクも含まれます。便利。

#Tye アプリケーションをデバッグする
この拡張機能は、デバッグを行わずに Tye アプリケーションを実行したり、すべてのサービスまたは一部のサービスをデバッグしたりすることで、さまざまなデバッグ シナリオを柔軟にサポートします。また、この拡張機能では、`watch` モードでサービスをデバッグすることができます。
このモードでは、デバッガーがコードの変更を監視し、プロセスに再接続することで、アプリケーションを再起動せずにデバッグを続けることができます。

> **Note：** Tye アプリケーションのデバッグには、Tye 特有のタスクと起動設定が必要になります。この機能拡張では、後述セクションで触れているように、`Tye: Scaffold Tye Tasks` コマンドを使って、デフォルトのタスクと起動設定をスキャフォールディングすることができます。

![VSC](https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2021/05/2-breakpoint.png)

#実行中のサービスにデバッガをアタッチする
この拡張機能により、実行中の状態のプロジェクト ベースのサービスにデバッガをアタッチすることが可能になります。すべてのプロジェクト ベースのサービスにデバッガをアタッチするには、**Tye Explorer** を開き、 **Tye Services** セクションの横にある [**Debug**] をクリックします。

また、単一サービスをデバッグするには、デバッグ対象のサービスのレプリカを選択し、レプリカの名前の横にある [**Attach**] ボタンをクリックします。

<iframe width="556" height="311" src="https://www.youtube.com/embed/cupggY6qJ0w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

#Tye 構成でデバッグしてみる
この拡張機能では、**Debug with Tye** 起動構成により、複数サービスのデバッグを実行できます。既定のスキャフォールディング構成では、プロジェクト ベースの全てのサービスにデバッガがアタッチされますが、サービスのサブセットにのみアタッチするよう構成も可能です。なお、複数サービスをデバッグする方法はとても簡単。**Debug with Tye** デバッグ構成を選択し `F5` を押すだけです。

<iframe width="556" height="311" src="https://www.youtube.com/embed/t1Lz_rvT8Kg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

サービスのサブセットをデバッグするには、*.vscode > launch.json* ファイルの **Debug with Tye** 構成の `services` プロパティに、デバッグしたいサービスの配列の値を追加します。

#Watch モードのデバッグで、開発作業を短縮する
この拡張機能は、コードの変更を監視し、コードの変更後、同じところで復活した (respawn) したプロセスに再度アタッチする `watch` モードでのデバッガーのアタッチをサポートしています。`watch` モードでのデバッグでは、コード変更のたびにアプリを再起動したり、デバッガを再アタッチする必要がなく、実装作業とデバッグ作業の反復に集中することができます。

<iframe width="556" height="311" src="https://www.youtube.com/embed/MkqB3G4dHdM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

**`watch` モードでデバッガをアタッチするには**

* *.vscode > tasks.json* を開き、**tye-run** タスクに `"watch": true` プロパティを追加します。
* *.vscode > launch.json* を開き、**Debug with Tye** の起動設定に `"watch": true` プロパティを追加します。

ぜひ、**Debug with Tye** 設定でアプリケーションをデバッグする動作を確認してみてください。

#デバッガをアタッチしないでそのまま Tye アプリケーションを実行する
デバッガをアタッチせずに Tye アプリケーションを実行するには、コマンド パレット (`F1`) を開き、`task` の後に `space` を入れて `tye-run` と入力します。

![VSC1](https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2021/05/7-tye-run.gif)

#Tye タスクを簡単にスキャフォールディングする
拡張機能では、Tye アプリケーションの実行とデバッグを行うために、タスクや起動設定をスキャフォールディングするコマンドを提供しています。コマンドパレット（`F1`）を開き、`Tye:Scaffold Tye Tasks` コマンドを使用します。

* **tye-run** タスクは、Visual Studio Code を離れずして  Tye アプリケーションを実行するために使用できます。
* **Debug with Tye** 設定は、Tye アプリケーションのサービスのデバッグ設定です。

<iframe width="556" height="310" src="https://www.youtube.com/embed/GgX5aehndkU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

#あなたのフィードバックをお待ちしております！
皆様のバグ レポートや、提案は、Tye Project が皆さんの課題解決にどれくらい近づいているかを私たちが知るうえで、とても重要なのです。

なお、Tye に関する問題を報告するには、GitHub の [dotnet/tye](https://github.com/dotnet/tye/issues) に issue をオープンしてください。また、拡張機能に関する問題を報告するには、**Help and Feedback** セクションの **Report Issue** ボタンをクリックするか、GitHub の [vscode-tye](https://github.com/microsoft/vscode-tye) に issue をオープンしてください。

https://github.com/dotnet/tye/issues

https://github.com/microsoft/vscode-tye

#Tye 用 Visual Studio Code 機能拡張をすぐお試しくださいませ！
いかがでしたでしょうか。Tye 用 Visual Studio Code 拡張機能を、使い倒してエンジョイいただけるととてもうれしいです。この拡張機能は、Visual Studio Code の拡張機能のマーケット プレイスからダウンロードいただけます。Visual Studio Code から、**Extensions** ビューを開いて "**Tye**" と検索するか、以下のリンクからご入手してくださいませ。

https://aka.ms/vscode-tye

-------------------

以上、[Pratik](https://devblogs.microsoft.com/dotnet/author/prsanglimicrosoft-com/) さんからでした。

![Pratik](https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2021/05/IMG_0075-150x150.jpg)

それでは皆さん、ごきげんよう。