VS Codeのエージェントモードを拡張するには、を試してください!

2023年2月 (バージョン 1.76)

更新 1.76.1: この更新は、これらの問題に対処します。

更新 1.76.2: この更新は、これらの問題に対処します。

ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel シリコン | Linux: deb rpm tarball Arm snap


Visual Studio Code 2023年2月リリースへようこそ。このバージョンには、皆様に気に入っていただけるであろう多くのアップデートが含まれています。主なハイライトは以下の通りです。

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com更新 にアクセスしてください。

Insiders: 新機能をいち早く試したいですか?夜間ビルドのInsidersをダウンロードして、利用可能になり次第、最新の更新を試すことができます。

アクセシビリティ

ターミナルコマンド失敗オーディオキュー

シェル統合されたターミナルでコマンドがゼロ以外のコードで終了すると、視覚のあるユーザーはコマンドの装飾を一目見て失敗したことを素早く理解できます。スクリーンリーダーユーザーに失敗を伝えるために、VS CodeはaudioCues.terminalCommandFailedオーディオキューを再生するようになりました。

ヘルプ: オーディオキューをリスト表示ドロップダウンをスクロールすることで、利用可能なオーディオキューサウンドを聞くことができます。

List Audio Cues dropdown with Terminal Command Failed cue selected

エラーオーディオキュー応答性の向上

audioCues.lineHasErrorオーディオキューは、文字ナビゲーション中に再生されるようになり、スクリーンリーダーユーザーがエディター内のエラーの場所をより詳細に把握できるようになりました。

ターミナルアクセシブルバッファーの改善

前回のリレーションでは、スクリーンリーダーユーザーがターミナル: アクセシブルバッファーにフォーカスコマンドでターミナルコンテンツにアクセスできるターミナルアクセシブルバッファーを導入しました。

今回のイテレーションでは、アクセシブルバッファーに選択機能とリンクサポートを追加し、読み取り専用にし、シェル統合の知見を活用して、実行されたコマンド、終了コード(もしあれば)、および出力といった重要なターミナルコンテンツのみに制限することで、アクセシブルバッファーを改善しました。次回のイテレーションでは、この機能の設定を追加する予定です。

コンテキスト固有のTabフォーカスモード

タブキーでフォーカスを移動するを切り替えるコマンドは、ワークベンチまたはエディター/ターミナルがTabキー入力を受け取るかどうかを決定するのに役立ちます。

新しいeditor.tabFocusMode設定により、ユーザーはデフォルトの動作を設定できます。値がtrueに設定されている場合、エディターまたはターミナルではなくワークベンチがTabキー入力を受け取ります。

Windowsにおけるスクリーンリーダーシェル統合のサポート

これまで、このコンテキストにおけるPowerShellサポートの問題により、Windowsでスクリーンリーダーが検出されるとシェル統合が無効になっていました。この問題はほとんどの場合で発生しなくなったと判断されたため、有効化されました。

ターミナルのアクセシビリティヘルプの追加

スクリーンリーダーコミュニティとの議論により、新しいターミナルを作成 (プロファイル付き) および 設定: アクセシビリティ設定を開く コマンドに言及するなど、ターミナル アクセシビリティ ヘルプ ダイアログ () に追加がもたらされました。

プロファイル

プロファイルは、前回のマイルストーンでStable版にリリースされ、現在のワークフローやプロジェクトに合わせてVS Codeの設定を素早く切り替えることができます。設定、拡張機能、キーバインディングなどの一連のカスタマイズを保存し、複数のマシン間で同期したり、同僚と簡単に共有したりできます。

プロファイルバッジ

VS Codeは、管理アクティビティバーアイコンにプロファイル名の最初の2文字をプロファイルバッジとして表示することで、現在のカスタムプロファイルを示すようになりました。

Two profile badges showing the first two letters of the profiles

テーマは、次の2つの新しいテーマ色を設定することで、プロファイルバッジの背景色と前景色をカスタマイズできます。

  • profileBadge.background
  • profileBadge.foreground

プロファイルの切り替え

コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) のプロファイル: プロファイルを切り替えるコマンドで、利用可能なプロファイルのドロップダウンリストが表示され、プロファイルを素早く切り替えることができるようになりました。

Switch Profile command dropdown listing available profiles

リモートワークスペースのプロファイル

リモート拡張機能を含むプロファイルを作成してカスタマイズし、リモート開発ワークスペースでそれらを切り替えることができるようになりました。

以下は、2つの異なるプロファイル ("ドキュメント作成" と "コード") がRemote - SSH経由で2つのインスタンスでアクティブになっている様子です。

Profiles active in two Remote - SSH instances

プロファイルのドキュメント

プロファイルや、プロファイルが役立つシナリオについてさらに詳しく知りたい場合は、新しいVisual Studio Codeのプロファイルトピックをご覧ください。この記事では、プロファイルの作成、変更、共有、再利用の方法について詳しく説明しています。

ワークベンチ

移動可能なエクスプローラービュー

VS Code内のほとんどのビューとビューコンテナは、いくつかの組み込みのものを除いて移動可能です。このリリースでは、エクスプローラービューコンテナ (⇧⌘E (Windows, Linux Ctrl+Shift+E)) が移動可能になり、セカンダリサイドバーまたは下部パネルに配置できるようになり、ワークベンチのさらなるカスタマイズが可能になりました。

以下では、ファイルエクスプローラービューがパネルエリアに移動されています。

File Explorer view moved to the panel area

すべてのビューをデフォルトのレイアウトに戻したい場合は、コマンドパレットからビュー: ビューの位置をリセットを実行できます。

固定幅の中央揃えレイアウト

ビュー: 中央揃えレイアウトを切り替えるコマンド (workbench.action.toggleCenteredLayout) に、固定幅レイアウトオプションが追加されました。このオプションは、新しいworkbench.editor.centeredLayoutFixedWidth設定で有効になります。有効になっていて中央揃えレイアウトがアクティブな場合、エディターは中央に配置され、ウィンドウやパネルのサイズ変更時にも幅を維持しようとします。

複数のクイックディフ

提案された複数のクイックディフAPIの導入により、複数の拡張機能がクイックディフを提供できるようになりました。ファイルに複数のクイックディフがある場合、表示するディフベースを選択するためのドロップダウンが表示されます。

Multiple quick diffs and diff base dropdown

コメント

コメントビューに、既存のすべて折りたたむに加えて、新しいすべて展開コマンドが追加されました。未解決のコメントのガターアイコンは、コメントビューで使用されているアイコンと同じになりました。

デフォルトのログレベルを設定

開発者: ログレベルを設定...コマンドから、VS Codeまたは拡張機能のデフォルトのログレベルを設定できるようになりました。これは再起動後も保持され、複数のマシン間で同期されます。

Default log level dropdown with several extensions listed

拡張機能を選択すると、デフォルトのログレベルと同じログレベルのドロップダウンが表示されます。

拡張機能エディタで検証済み発行元ドメインを表示

拡張機能エディタで、検証済みインジケータの横に検証済み発行元ドメインが表示されるようになりました。以下では、検証済みバッジの右側にprettier.ioドメインが表示されています。

Prettier extension in the extension editor displaying verified publisher domain prettier.io

エディタ

JSONCドキュメントの並べ替え

JSONC(コメント付きJSONドキュメント)ファイルをキーでソートできるようになりました。この機能を使用するには、コマンドパレットからJSON: ドキュメントをソートを選択します。

一致と色付けのための独立した括弧ペア

今回のイテレーションでは、editor.language.bracketseditor.language.colorizedBracketPairsの両方が設定されている場合の挙動を変更しました。以前は、editor.language.colorizedBracketPairsを設定すると、括弧の一致(両方とも同じ括弧ペアツリーを使用するため)に対してeditor.language.bracketsが上書きされました。現在では、両方の設定の結合が括弧の一致に使用されますが、editor.language.colorizedBracketPairsで設定された括弧のみが色付けされます。

ソース管理

Gitコミットの構文ハイライト

VS Codeは、Gitコミットメッセージファイルの構文ハイライトを提供する新しいGit文法を採用しました。この新しい文法は、英語以外の言語に対してもより良いサポートを提供します。

GitとGitHubのドキュメント

ソースコード管理初心者の方でも、経験豊富なGitユーザーの方でも、VS CodeのGit統合については、ドキュメントのソースコード管理セクションで詳しく学ぶことができます。記事には以下が含まれます。

ノートブック

カーネルピッカーのデフォルトモード:MRU

カーネルピッカーは、デフォルトで最近使用した(MRU)カーネルを表示するようになりました。これは、以前のすべての利用可能なカーネルを表示する動作からの変更です。最新のJupyterおよびPython拡張機能がインストールされている場合、別のカーネルを選択...というセカンダリピッカーによって、引き続きすべてのカーネルをそのソース(例:Jupyterカーネル、Python環境など)ごとにグループ化して表示できます。

Notebook kernel picker with MRU list and using the Select Another Kernel option

ノートブックレンダラーのパフォーマンス診断

ノートブックセルを実行すると、一部のノートブック出力レンダラーのレンダリングに時間がかかる場合があります。これらのレンダラーを特定するのに役立つよう、ノートブックセルのステータスバーのホバーに診断機能を追加しました。このビューには、各レンダラーの実行にかかった時間と合計実行時間が表示されます。さらに、ホバー内のリンクをクリックすると、レンダラーの名前と実行時間が事前に入力された状態で問題レポートが開くため、レンダラーの実行に時間がかかりすぎると判断した場合に簡単に問題を報告できます。

Image showing the cell Status bar hover with renderer execution times

組み込みのエラーレンダラーは、ファイルと行番号へのリンクをサポートするようになりました。これにより、エラーメッセージ内のファイルパスをクリックして、エディターでファイルを開くことができます。

Jupyter拡張機能のエラーレンダラーは、組み込みのエラーレンダラーを優先して非推奨になりました。

Notebook built-in error renderer

言語

別のMarkdownドキュメント内のヘッダーにリンクしたいけれど、完全なファイルパスを覚えていない、または入力したくないですか?ワークスペースヘッダーの補完を使ってみてください!開始するには、Markdownリンクに##と入力するだけで、現在のワークスペース内のすべてのMarkdownヘッダーのリストが表示されます。

Suggestions for all Markdown headers in the current workspace

これらの補完のいずれかを受け入れると、別のファイルにある場合でも、そのヘッダーへの完全なリンクが挿入されます。

Adding a link to the selected header in another file

Markdown > 提案 > パス: ワークスペースヘッダーの補完を含める設定 (markdown.suggest.paths.includeWorkspaceHeaderCompletions) で、ワークスペースヘッダーの補完を表示するかどうかを設定できます。

有効な設定値は次のとおりです。

  • onDoubleHash (デフォルト) - ##と入力した後にのみワークスペースヘッダーの補完を表示します。
  • onSingleOrDoubleHash - #または##と入力した後にワークスペースヘッダーの補完を表示します。
  • never - ワークスペースヘッダーの補完を一切表示しません。

現在のワークスペース内のすべてのヘッダーを見つけるのはコストがかかる可能性があるため、特に多くのMarkdownファイルがあるワークスペースでは、最初に要求されたときにわずかな遅延が発生する可能性があることに注意してください。

新しいmarkdown.preferredMdPathExtensionStyle設定は、VS CodeがMarkdownファイルへのリンクにファイル拡張子を使用することを好むかどうかを設定します。この設定は、パス補完リンクのリネームなどの言語ツールで使用されます。

有効な設定値は次のとおりです。

  • auto - ファイル拡張子の既存のスタイルを維持しようとします。
  • includeExtension - リンクに末尾の.mdを含めます。
  • removeExtension - リンクから末尾の.mdを削除します。

リモート開発

Remote Development拡張機能を使用すると、開発コンテナ、SSHまたはRemote Tunnels経由のリモートマシン、あるいはWindows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。

Remote Developmentリリースノートで、新しい拡張機能の機能やバグ修正について学ぶことができます。

リモートメニュー

このマイルストーンでは、ステータスバーの左下にあるリモートインジケータをクリックすることでアクセスできるリモートメニューに、いくつかの使いやすさの改善を行いました。

  1. リモートメニューを開くためのデフォルトのキーバインディングが追加されました: ⌥⌘O (Windows, Linux Ctrl+Alt+O)

  2. リモート拡張機能のリモートメニューへの寄与を減らし、リモートウィンドウに接続するためのすべてのアクションを一目で簡単に確認できるようにしました。

    • リモートウィンドウを開くための基本的なアクションは、リモートメニューで常に利用可能になりました。これにより、すでにリモートウィンドウにいる場合でも、別のリモートに接続するためのアクションを見つけることができます。
    • リモートの設定や開始に関するほとんどのアクションは、リモートメニューのスペースを節約するために、リモートメニューからコマンドパレットに移動しました。
  3. リモートメニューの追加のリモート拡張機能をインストールオプションは、キュレーションされたRemote Development拡張機能のリストを指すようになり、そのような拡張機能がすべてインストールされている場合はリモートメニューから非表示になります。

リモートリポジトリ

このマイルストーンでは、リモートリポジトリ拡張機能にクローンせずにリモートリポジトリを参照&編集ウォークスルーを導入しました。これにより、GitHubやAzure Reposの検索、編集、クイックコミットをローカルにクローンすることなく行うことができます。

また、開始に役立つリモートリポジトリチュートリアルもご覧ください。

Web 用 VS Code

このマイルストーンでは、vscode.devでGitHubおよびAzure ReposリポジトリにホストされているGit LFS追跡ファイルに対する実験的な読み取り専用サポートを追加しました。

以下の短いビデオでは、vscode-docsリポジトリのGit LFSに保存された画像が、vscode.devでMarkdownプレビューをスクロールする際に表示される様子を示しています。

GitHubまたはAzure Reposリポジトリのファイルを表示する場合、.gitattributesの設定に基づいて、ファイルがLFS追跡されており、GitHubまたはAzure ReposのLFSサーバーからフェッチする必要があるかどうかを検出します。

GitHub RepositoriesおよびAzure Repos拡張機能とVS Code Desktopを組み合わせて使用すると、クローンせずにGit LFS追跡ファイルを含むリポジトリを参照することもできます。

この動作は、以下の設定で無効にできます。

  • "githubRepositories.experimental.lfs.read.enabled": false
  • "azureRepos.experimental.lfs.read.enabled": false

VS CodeはまだGit LFS追跡ファイルのコミットをサポートしておらず、github.devにはGit LFS読み取りサポートがありません。

拡張機能

拡張機能検索の関連性の改善

拡張機能ビューおよびマーケットプレイスギャラリーにおける拡張機能検索結果の関連性を改善しました。特に複数ワードのクエリにおいて、結果がより適切になるはずです。

以前 以後
Search results for "mono debugger" showing Java debugger extension as the top result Search results for "mono debugger" showing Mono debug extension as the top result

拡張機能への貢献

Jupyter

IPyWidgets

Jupyter拡張機能は、IPyWidgetsのバージョン8をサポートするようになりました。IPyWidgets 7.*に依存するPythonウィジェットは、バージョン7.*8.*の両方がサポートされているため、引き続き機能します。

インタラクティブウィンドウのカーネル選択

インタラクティブウィンドウのカーネルの自動選択は、新しいカーネルピッカーUIとより良く連携するように変更されました。そのワークスペースでインタラクティブウィンドウに対して以前に別のカーネルが選択されていない限り、現在アクティブなインタープリターが使用され、選択されている場合は以前に選択されたカーネルが使用されます。

Python

pytest IntelliSenseのサポートを改善

Pylance拡張機能には、pytestを使用して明確で簡潔で理解しやすいテストを記述する際に、より効率的かつ効果的に作業するのに役立つ強力な機能が追加されました。

  • pytestフィクスチャとパラメータ化された引数に対する、補完、定義へ移動すべての参照を検索シンボルの名前変更 (F2) のサポート。
  • インレイヒント ("python.analysis.inlayHints.pytestParameters"設定で有効) およびコードアクションによるpytestパラメータの型アノテーションサポート。
  • デコレータに提供されたパラメータ値に基づく、パラメータ化されたpytest引数の型推論。

以下の短いビデオは、これらの新しいpytest機能を強調しています。

GitHub Pull RequestsとIssues

プルリクエストやイシューの作業、作成、管理ができるGitHub Pull Requests and Issues拡張機能はさらに進化しました。主なハイライトは以下の通りです。

  • PRの記述とコメントにおけるパーマリンクのレンダリング。
  • 記述ページからのレビュー再リクエスト。
  • チェックアウトされたPR内のファイルのクイックディフ。

その他のハイライトについては、拡張機能の0.60.0リリースにおける変更履歴をご覧ください。

プレビュー機能

グローバル検索は、ノートブックエディターに表示される形式でノートブックの検索結果を表示するようになりました。この機能を試すにはsearch.experimental.notebookSearchを有効にし、見つけたバグがあればお知らせください!現在のところ、セル内のセル入力とMarkdownソースの検索のみをサポートしています。

テーマ: Community Material Theme (vscode.devでプレビュー)

非同期トークン化

このリリースでは、実験的な非同期トークン化機能が搭載されています。この機能により、エディターは別のWebワーカーでドキュメントをトークン化でき、ドキュメントが大きい場合の応答性を向上させることができます。

今のところ、非同期トークン化はデフォルトで無効になっていますが、editor.experimental.asyncTokenizationtrueに設定することで有効にできます。

TypeScript 5.0のサポート

このアップデートには、近日公開予定のTypeScript 5.0リリースへのサポートが含まれています。TypeScriptチームが現在取り組んでいる詳細については、TypeScript 5.0 Betaブログ投稿TypeScript 5.0イテレーション計画を参照してください。エディターツールでの主なハイライトは次のとおりです。

  • 新しいswitchcaseの補完機能により、switchステートメントの両セクションをより迅速に埋めることができます。
  • github.devおよびvscode.devでのプロジェクト全体を対象としたIntelliSenseの有効化に関する作業。

TypeScript 5.0ナイトリービルドの使用を開始するには、TypeScript Nightly拡張機能をインストールするか、最新のVS Code 1.76+ Insidersビルドをインストールしてください。

拡張機能作成

今回のイテレーションでは、InputBoxプロンプトと検証メッセージにおけるリンクのサポートを導入しました。これらの文字列では、以下の構文を使用してリンクを作成できるようになりました。

[link text](link target)

リンク先はURLまたはコマンドIDにできます。ユーザーがリンクをクリックすると、リンク先はそれぞれブラウザで開かれるか、コマンドとして実行されます。

const result = await vscode.window.showInputBox({
  prompt:
    'Please enter a valid email address [more info](https://aka.ms/vscode-email-validation)',
  validateInput: text => {
    if (text.indexOf('@') === -1) {
      return 'Please enter a valid email address, [more info](https://aka.ms/vscode-email-validation)';
    }
    return undefined;
  }
});

結果として次のプロンプトが表示されます

Prompt contains a link that is underlined

そして次の検証メッセージ

Validation message contains a link that is underlined

テーマ: Panda Theme (vscode.devでプレビュー)

この動作は、showInputBoxcreateInputBoxの両方のAPIで機能します。

*アクティベーションイベントの情報診断

拡張機能が*(アスタリスク)アクティベーションイベントを使用すると、VS Codeの起動中にアクティベートされます。これにより、VS Codeの起動が遅れる可能性があります。拡張機能作成者が*アクティベーションイベントを使用することの影響を理解できるように、拡張機能が*アクティベーションイベントを使用している場合に表示される情報診断を追加しました。診断は問題ビューに表示され、拡張機能エディタでも確認できます。

Diagnostic for * activation event

*(アスタリスク)アクティベーションの詳細については、アクティベーションイベントのドキュメントをご覧ください。

when句コンテキストの解析に関する今後の変更点

拡張機能マニフェストファイル (package.json) で使用されるwhen句により、拡張機能はコマンドやUI要素 (メニューやビューなど) の貢献を selectively に有効化および無効化できます。次期VS Codeリリースでは、when句の新しいパーサーが搭載される予定です。新しいパーサーは、より多くの機能と正確性を提供しますが、when句に対してより厳格なルールを適用するため、既存のwhen句でいくつかの破損が発生する可能性があります。issue #175540を参照して、破損と新機能について詳しく学んでください。また、新しいパーサーに関する更新 (新機能、破損、移行ガイドラインを含む) を受け取るために、そのissueを購読することをお勧めします。

今後のElectronアップデートにより、ネイティブモジュールに必須の変更が必要となる可能性

次回の安定版リリースでElectron 22にアップデートする予定です。これにより、V8メモリケージの有効化により、ネイティブモジュールを利用する拡張機能に影響が出ます。外部(「ヒープ外」)メモリを指すArrayBuffersは許可されなくなります。つまり、V8のこの機能に依存するネイティブモジュールは、VS Code 1.77以降で引き続き機能するようにリファクタリングする必要があります。

将来のバージョンのVS Codeでネイティブモジュールが機能するようにする方法については、Electronブログ記事のアドバイスに従ってください。

言語サーバープロトコル

言語サーバープロトコル(LSP)クライアント(8.1.0)とサーバー(8.1.0)のnpmパッケージの新しいバージョンがリリースされました。これらはバグ修正リリース(主に全文ドキュメント同期使用時のリクエスト順序の問題に対処するため)であり、JSON-RPCライブラリへのカスタムメッセージ処理用のAPI追加が含まれています。

提案されたAPI

すべてのマイルストーンには新しい提案された API が含まれており、拡張機能の作者はそれらを試すことができます。いつものように、皆様からのフィードバックを歓迎します。提案された API を試す手順は次のとおりです。

  1. 試したい提案を見つけて、その名前をpackage.json#enabledApiProposalsに追加します。
  2. 最新のvscode-dtsを使用して、vscode-dts devを実行してください。これにより、対応するd.tsファイルがワークスペースにダウンロードされます。
  3. これで提案に対してプログラミングできます。

提案された API を使用する拡張機能を公開することはできません。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊すことは望ましくありません。

OpenDialogOptions allowUIResources

リモート拡張機能ホストで実行されていることを認識している拡張機能は、allowUIResourcesを使用して、ファイルを開くダイアログにローカルを表示ボタンを表示させることができます。allowUIResourcesを使用する拡張機能は、常に返されるURIのスキームをチェックする必要があります。

QuickPickItemのツールチップ

今回のイテレーションでは、QuickPickItemtooltipプロパティの新しい提案APIを導入しました。このプロパティを使用すると、Quick Pickの各アイテムにツールチップを指定できます。ツールチップは、ユーザーがアイテムにカーソルを合わせたときに表示されるか、Ctrl+Spaceで切り替えることができます。

await vscode.window.showQuickPick(
  [
    {
      label: 'label',
      tooltip: 'tooltip'
    },
    {
      label: 'label2',
      tooltip: new vscode.MarkdownString('tooltip2 [link](https://github.com)')
    }
  ],
  {
    placeHolder: 'placeholder'
  }
);

結果として、次のQuick Pickが表示されます。

テーマ: Panda Theme (vscode.devでプレビュー)

もちろん、これはツールチップを必要としない簡単な例です。ツールチップは、複数行または追加のリソースへのリンクを含む長い説明を提供したい場合に役立ちます。

このプロパティはQuick Pick APIへの良い追加であると考えており、皆様からのフィードバックを楽しみにしています。

エンジニアリング

より多くのElectron UtilityProcessの採用

我々のプロセスサンドボックスの旅の一環として、アプリケーションにNode.jsが有効なブラウザウィンドウがこれ以上存在しないことを確認したいと考えています。今回のマイルストーンでは、最後に残っていたプロセスを隠されたNode.jsブラウザウィンドウからElectronのUtilityProcessに変換し始めました。この作業の一環として、ファイルウォッチャープロセスも独自のユーティリティプロセスに移動する必要がありました。

新しい設定window.experimental.sharedProcessUseUtilityProcessによりUtilityProcessの使用が有効になり、次回のリリースではこれがデフォルトになる予定です。

macOS 10.11と10.12のサポート終了

1.75リリースノートで言及したように、1.76はmacOS 10.11 (OS X El Capitan) および10.12 (macOS Sierra) をサポートする最後のリリースとなります。詳細については、FAQを参照してください。

注目すべき修正点

  • 168939 バッジ非表示の状態をリロードやビューの移動後も保持する。
  • 164397 RTL macOSでレイアウトコントロールが間違った場所にある。

ありがとうございます

最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。

問題追跡

問題追跡への貢献者

プルリクエスト

vscodeへの貢献者

vscode-pull-request-githubへの貢献者

vscode-vsceへのコントリビューション

monaco-editorへのコントリビューション