このリポジトリには、次のソース コードが含まれています。
conhost.exe)
関連リポジトリには次のものがあります。
注: Windows ターミナルには、Windows 10 2004 (ビルド 19041) 以降が必要です。
Microsoft Store から Windows ターミナルをインストールします。これにより、自動アップグレードで新しいビルドがリリースされたときに、常に最新バージョンを使用できます。
これが私たちの推奨する方法です。
Microsoft Store から Windows ターミナルをインストールできないユーザーは、リリースされたビルドをこのリポジトリのリリース ページから手動でダウンロードできます。
Assetsセクション
Microsoft.WindowsTerminal_<versionNumber>.msixbundleからファイルをダウンロードします。アプリをインストールするには、ファイルをダブルクリックするだけ で、アプリのインストーラーが自動的に実行されます。何らかの理由で失敗した場合は、PowerShell プロンプトで次のコマンドを試すことができます。
.msixbundle
# NOTE: If you are using PowerShell 7+, please run
# Import-Module Appx -UseWindowsPowerShell
# before using Add-AppxPackage.
Add-AppxPackage Microsoft.WindowsTerminal_<versionNumber>.msixbundle
注: ターミナルを手動でインストールする場合:
- 新しいビルドがリリースされてもターミナルは自動更新されないため、最新の修正と改善をすべて受け取るには、最新のターミナル リリースを定期的にインストールする必要があります。
Microsoft.WindowsTerminalユーザーは、 パッケージをインストールすることで、最新のターミナル リリースをダウンロードしてインストールできます。
winget install --id=Microsoft.WindowsTerminal -e
microsoft-windows-terminalユーザーは、パッケージをインストールすることで、最新のターミナル リリースをダウンロードしてインストールできます。
choco install microsoft-windows-terminal
Chocolatey を使用して Windows ターミナルをアップグレードするには、次のコマンドを実行します。
choco upgrade microsoft-windows-terminal
パッケージのインストール/アップグレード時に問題が発生した場合は、 Windows ターミナル パッケージ ページに移動し、 Chocolatey トリアージ プロセスに従って ください。
windows-terminalユーザーは、パッケージをインストールすることで、最新のターミナル リリースをダウンロードしてインストールできます。
scoop bucket add extras
scoop install windows-terminal
Scoop を使用して Windows ターミナルを更新するには、次のコマンドを実行します。
scoop update windows-terminal
パッケージのインストール/更新時に問題が発生した場合は、Scoop Extras バケット リポジトリの問題ページで同じ問題を検索または報告してください。
Windows ターミナルの計画はここで説明されており、プロジェクトの進行に合わせて更新されます。
計画 | ビルド ステータス |
---|---|
「ターミナル」 | |
カラーツール |
コードに飛び込む前に、以下の概要を確認してください。
Windows ターミナルは、コマンド ライン ユーザー向けの最新の機能豊富で生産的なターミナル アプリケーションです。タブ、リッチ テキスト、グローバリゼーション、構成可能性、テーマとスタイリングなどのサポートを含む、Windows コマンド ライン コミュニティから最も頻繁に要求される機能の多くが含まれています。
ターミナルは、高速で効率的であり、大量のメモリや電力を消費しないようにするための目標と対策も満たす必要があります。
Windows コンソール ホスト は
conhost.exe、Windows 独自のコマンド ライン ユーザー エクスペリエンスです。また、Windows のコマンドライン インフラストラクチャと Windows コンソール API サーバー、入力エンジン、レンダリング エンジン、ユーザー設定などもホストします。このリポジトリ内のコンソール ホスト コードは
conhost.exe、Windows 自体が構築される実際のソースです。
2014 年に Windows コマンドラインの所有権を取得して以来、チームはコンソールにいくつかの新機能を追加しました。これには、背景の透明度、行ベースの選択、ANSI / 仮想端末シーケンスのサポート、24 ビット カラー、疑似コンソール ("ConPTY" )など。
ただし、Windows コンソールの主な目的は下位互換性を維持することであるため、タブ、Unicode テキスト、絵文字など、コミュニティ (およびチーム) が過去数年間求めていた多くの機能を追加できませんでした。
これらの制限により、新しい Windows ターミナルが作成されました。
一般的なコマンド ラインの進化、特に Windows コマンド ラインの詳細 については、コマンド ライン チームのブログに掲載されている一連のブログ記事を参照してください。
Windows コンソールをオーバーホールしながら、コードベースを大幅に最新化し、論理エンティティをモジュールとクラスに明確に分離し、いくつかの重要な拡張ポイントを導入し、いくつかの古い自家製のコレクションとコンテナーをより安全で効率的なSTL コンテナーに置き換え、コードをよりシンプルでシンプルなものにしました。 Microsoft のWindows 実装ライブラリ - WILを使用することで、より安全になります。
このオーバーホールにより、コンソールの主要コンポーネントのいくつかが、Windows 上の任意の端末実装で再利用できるようになりました。これらのコンポーネントには、新しい DirectWrite ベースのテキスト レイアウトおよびレンダリング エンジン、UTF-16 と UTF-8 の両方を格納できるテキスト バッファー、VT パーサー/エミッターなどが含まれます。
新しい Windows ターミナル アプリケーションの計画を開始したとき、いくつかのアプローチとテクノロジ スタックを調査し、評価しました。最終的に、C++ コードベースへの投資を継続することで目標を達成するのが最善であると判断しました。これにより、前述の最新化されたコンポーネントのいくつかを既存のコンソールと新しいターミナルの両方で再利用できるようになります。さらに、これにより、他のユーザーが独自のアプリケーションに組み込むことができる再利用可能な UI コントロールとして、ターミナルのコア自体の多くを構築できることに気付きました。
この作業の結果は、このレポに含まれており、Microsoft Store からダウンロードできる Windows ターミナル アプリケーションとして配信されるか 、このレポのリリースから直接提供されます。
Windows ターミナルの詳細については、次のリソースのいくつかが便利で興味深いものとなる場合があります。
原因: Visual Studio で不適切なソリューションを起動しています。
CascadiaPackage解決策: Visual Studio でプロジェクトをビルドおよびデプロイしていることを確認してください。
注:
OpenConsole.exeはローカルに構築されたconhost.exe、Windows のコマンドライン インフラストラクチャをホストする従来の Windows コンソールです。OpenConsole は、( ConPtyを介して) コマンドライン アプリケーションに接続して通信するために、Windows ターミナルによって使用されます 。
すべてのプロジェクト ドキュメントはaka.ms/terminal-docsにあります。ドキュメントに貢献したい場合は、Windows ターミナル ドキュメント リポジトリでプル リクエストを送信してください。
Windows ターミナルを構築および強化するために、私たちの素晴らしいコミュニティである皆さんと協力できることを楽しみにしています。
機能/修正の作業を開始する前に、貢献者のガイドを読んで従い、 無駄な作業や重複した作業を避けるようにしてください。
チームとコミュニケーションをとる最も簡単な方法は、GitHub の問題を使用することです。
新しい問題、機能のリクエスト、および提案を提出してください。ただし、新しい問題を作成する前に、同様のオープン/クローズ済みの既存の問題を検索してください。
(まだ) 問題が発生しないと思われる質問をしたい場合は、Twitter からご連絡ください。
このリポジトリは、その依存関係の一部にgit サブモジュールを使用します。サブモジュールが復元または更新されていることを確認するには、ビルドする前に必ず次を実行してください。
git submodule update --init --recursive
OpenConsole.sln は、Visual Studio 内から、または/toolsディレクトリにある一連の便利なスクリプトとツールを使用してコマンド ラインからビルドできます。
Import-Module .\tools\OpenConsole.psm1
Set-MsBuildDevEnvironment
Invoke-OpenConsoleBuild
.\tools\razzle.cmd
bcz
CascadiaPackageVS で Windows ターミナルをデバッグするには、(ソリューション エクスプローラーで) を右クリックし、プロパティに移動します。[デバッグ] メニューで、[アプリケーション プロセス] と [バックグラウンド タスク プロセス] を [ネイティブのみ] に変更します。
その後、 を押してターミナル プロジェクトをビルドおよびデバッグできるはず F5です。「x64」または「x86」プラットフォームのいずれかを必ず選択してください。ターミナルは「Any Cpu」用にはビルドされません (ターミナルは C# アプリケーションではなく C++ アプリケーションであるため)。
👉 WindowsTerminal.exe を実行してターミナルを直接起動することはできません。理由の詳細については、 #926、 #4043を参照してください。
当社のコーディング慣行については、以下の簡単なドキュメントを参照してください。
👉 これらのドキュメントに欠けているものを見つけた場合は、リポジトリ内の任意のドキュメント ファイルに自由に投稿してください (または新しいドキュメントを作成してください!)。
これは進行中の作業であり、プロジェクトに効果的に貢献するために人々に提供する必要があるものを学んでいます。
このプロジェクトは、Microsoft オープン ソース行動規範を採用しています。詳細については、行動規範に関する FAQ を参照するか、 opencode@microsoft.comに連絡して追加の質問やコメントをお寄せください。