Windows Tips & News

VS Code 1.51がリリースされ、タブのピン留めなどが改善されました

click fraud protection

Visual Studio Codeは、開発者に人気のあるアプリです。 これは、最新のWebおよびクラウドアプリケーションを構築およびデバッグするために再定義および最適化されたコードエディターです。 VS Codeには、時間を大幅に節約できるさまざまな拡張機能とヘルパーが付属しています。 Windows、MacOS、Linuxを含むすべての主要なプラットフォームで利用できます。 Microsoftは本日、ピン留めされたタブ、GitHub統合など、さまざまなアプリ機能を改善する新しいバージョンのアプリをリリースしました。

VS Code 1.51は、次の変更点で注目に値します。

注:アプリは公式ウェブサイトからダウンロードできます。

ワークベンチ

より目立つピン留めされたタブ

固定されたタブは、非アクティブな場合でも常にピンアイコンが表示されるようになり、識別しやすくなりました。 エディターが固定されていて、保存されていない変更が含まれている場合、アイコンは両方の状態を反映します。

拡張ツリーはカスタムホバーを使用します

拡張ツリービューでネイティブツールチップを使用する代わりに、クロスプラットフォームで一貫性があり、UX全体によりよく適合するカスタムホバーを使用するようになりました。

同期せずに拡張機能をインストールする

設定の同期が有効になっているときに、同期せずに拡張機能をインストールできるようになりました。

テーマ: GitHubライト

Explorerから拡張機能をインストールする

VS Codeは、VSIXファイルを右クリックして、エクスプローラーから拡張VSIXファイルをインストールすることをサポートするようになりました。 ExtensionVSIXをインストールします コンテキストメニュー項目。

ぼかしコマンドを入力

新しい内部 workbench.action.blur コマンドが使用可能になり、フォーカス可能な入力からフォーカスが削除されます。 このコマンドのキーボードショートカットは、 キーボードショートカットの設定.

統合ターミナル

ローカルエコー

ターミナルで変更を加えるには、従来、影響を受けるために、情報をターミナルプロセスに送信し、処理して、VSCodeに返す必要があります。 これは、接続が不十分または離れている場合に遅くなる可能性があります SSHサーバー また コードスペース.

このリリースでは、端末に「ローカルエコー」モードが追加されています。このモードでは、ローカルで行われた変更とカーソルの動きを予測し、サーバーへのラウンドトリップを必要とせずにUIに表示しようとします。 デフォルトでは、予測される文字は「薄暗い」と表示されます。

これを構成するために使用できる2つの設定があります。

  • terminal.integrated.localEchoLatencyThreshold ローカルエコーがアクティブになる、検出された遅延しきい値をミリ秒単位で構成します。 これはに設定できます 0 機能を常にオンにする、または -1 無効にします。 デフォルトは 30.
  • terminal.integrated.localEchoStyle ローカル文字のスタイルまたは色を設定します。デフォルトは 薄暗い.

IntelliSense

サイズ変更可能な提案

このマイルストーンでは、提案UIにいくつかの改善を加えました。 何よりもまず、サイズを変更できるようになりました。 コントロールのサイズを変更するには、側面またはコーナーをドラッグします。

テーマ: GitHubライト、フォント:FiraCode

提案リストのサイズは、セッション間で保存および復元されます。 詳細ペインのサイズはセッションごとにのみ保存されます。これは、そのサイズがより変動する傾向があるためです。 また、 editor.suggest.maxVisibleSuggestions 設定は廃止されました。

提案のステータスバー

提案コントロールは、ウィンドウの下部に独自のステータスバーを表示できるようになりました。 を使用して有効にします editor.suggest.showStatusBar 設定。 詳細の切り替えが簡単になり、補完が挿入、置換、またはその両方をサポートするかどうかが示されます。

テーマ: GitHubライト、フォント:FiraCode

上記のサンプルでは、​​[挿入]を選択すると次のようになります。 Math.floorceil 「置換」を選択すると、次のようになります。 Math.floor.

新しい editor.suggest.insertMode 設定により、挿入または置換のどちらを優先するかを構成できます。 提案が両方をサポートする場合、あなたの好みがデフォルトになります。

カーソルを移動して提案を選択します

最後になりましたが、提案が表示されている間にカーソルを移動できるようになりました。 たとえば、単語の最後で提案をトリガーし、左に移動して他の提案を表示してから、replaceを使用して単語を上書きできます。

テーマ: GitHubライト

エメット

Emmetのカスタムスニペットが復活しました。 さらに、スニペットファイルを保存するとき、またはスニペットを更新するときに、スニペットが自動的に更新されるようになりました。 emmet.extensionsPath 設定。

ソース管理

ソース管理入力ボックスは、コミットメッセージの履歴を保存します

これは 機能リクエスト SCMコミット履歴をナビゲートします。 押す  (Windows、Linux ) と  (Windows、Linux ) 前のコミットと次のコミットをそれぞれ表示します。 入力ボックスの最初と最後の位置に直接移動するには、を押します。 Alt 対応する矢印キーと組み合わせて。

Git:サブメニューのタグコマンド

タグ関連のGitコマンドがに追加されました ... Gitメニュー。

Git:リベースコマンド

新しい Git:ブランチをリベースします... UIを使用してブランチをリベースできるコマンドが追加されました。

Git:再帰クローンコマンド

とともに Git:クローン(再帰的) コマンドを使用すると、ネストされたGitサブモジュールを含むGitリポジトリを再帰的に複製できるようになりました。

タイムライン:絵文字ショートコードレンダリング

次のような絵文字のショートコードをレンダリングするようになりました :笑顔:、タイムラインビューで。

言語

マークダウンスマートセレクト

次の新しいコマンドを使用して、Markdownドキュメントの選択範囲を拡大および縮小します。

  • 拡大: ⌃⇧⌘→ (Windows、Linux Shift + Alt + Right)
  • 縮む: ⌃⇧⌘← (Windows、Linux Shift + Alt + Left)

選択は以下に適用され、従来の階層パターンに従います。

  • ヘッダー
  • リスト
  • 引用符をブロックする
  • フェンスで囲まれたコードブロック
  • HTMLコードブロック
  • 段落

JavaScriptおよびTypeScriptの空の中括弧フォーマットオプション

新しい javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces と typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces 書式設定オプションは、空の中括弧の間にスペースを挿入するかどうかを制御します。 これらの設定のデフォルト値はtrueです。 たとえば、JavaScriptの場合:

クラスFoo {doFoo(){} }

設定 "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces":false コードをフォーマットすると、次のようになります。

class Foo {doFoo(){} //スペースが削除されていることに注意してください。 }

ブラウザのサポート

フォルダをダウンロード(Edge、Chrome)

新しいものを活用する ファイルシステムアクセス ブラウザで実行されているAPI、VS Codeは、ファイルエクスプローラからフォルダのダウンロードアクションを提供して、すべてのファイルとフォルダをディスクにダウンロードできるようになりました。

ノート: これには、最新バージョンのMicrosoftEdgeまたはGoogleChromeが必要です。

ワークスペースの通知を開く

を含むフォルダを開くと .code-workspace トップレベルのファイルを開くように求める通知が表示されます。 これはデスクトップ用のVSCodeの場合は常に当てはまり、ブラウザーでも機能するようになります。

誤って閉じるのを防ぐ

新しい設定 window.confirmBeforeClose ワークベンチを閉じる前または終了する前に確認ダイアログを表示するために追加されました。

可能な値は次のとおりです。

  • キーボードのみ 確認は、キーバインドを使用して閉じる場合にのみ表示されます(たとえば、 ⌘W (Windows、Linux Ctrl + W)). (ディフォルト)
  • いつも:マウスジェスチャーで閉じても、確認ダイアログが常に表示されます。
  • 一度もない:確認は表示されません。

ノート:この設定はすべての場合をカバーするわけではありません。 ブラウザは、確認なしでタブまたはウィンドウを閉じることを決定する場合があります。

拡張機能への貢献

GitHubプルリクエストと問題

作業は継続されます GitHubプルリクエストと問題 拡張機能。プルリクエストと問題の処理、作成、管理を可能にします。

すべての新機能とアップデートについて学ぶために、あなたは完全を見ることができます 0.22.0の変更ログ 拡張機能のリリース。

リモート開発

作業は継続されます リモート開発拡張機能、コンテナ、リモートマシン、または Linux用のWindowsサブシステム (WSL)フル機能の開発環境として。

1.51の機能のハイライトは次のとおりです。

  • ターミナルセッションを永続化/再接続する機能。
  • ポートフォワーディングエクスペリエンスが向上しました。

新しい拡張機能とバグ修正については、 リモート開発リリースノート.

プレビュー機能

プレビュー機能はリリースの準備ができていませんが、使用するのに十分機能しています。 開発中の初期のフィードバックを歓迎します。

設定の同期

設定の同期により、拡張機能のグローバル状態が同期されるようになりました。 拡張機能は、新しく導入されたものを使用して同期する状態を提供する必要があります setKeysForSync API。

プロキシクレデンシャルを覚えておいてください

ネットワーク接続でプロキシによる認証が必要な場合を表示するログインダイアログを見直しています。 新しい設定、 window.enableExperimentalProxyLoginDialog:trueは、将来のリリースでデフォルトにする予定のこの新しいエクスペリエンスを有効にします。

テーマ: GitHubライト

ダイアログはVSCodeウィンドウ内に表示され、VSCodeを起動するたびに資格情報を提供する必要がないように資格情報を記憶する方法を提供します。 クレデンシャルは、OS標準のクレデンシャルストア(macOSではキーチェーン、WindowsではWindowsクレデンシャルマネージャー、Linuxではgnomeキーリング)に保存されます。

このダイアログはセッションごとに1回だけ表示されますが、将来この決定を再検討する可能性があります。 記憶するように選択したクレデンシャルが有効でない場合は、ダイアログが再び表示されます。 それらを再度提供すると、それらを変更できます。

このオプションを有効にして、何かが期待どおりに機能しない場合はお知らせください 課題追跡システム.

TypeScript4.1ベータサポート

VSCodeは TypeScript4.1ベータ版 とナイトリービルド。 4.1アップデートは、サポートなど、いくつかの新しいTypeScript言語機能をもたらします。 再帰的条件型、およびツールの改善。 1つの重点分野は 初期サポートの追加 にとって @見る JSDocコメントのタグ。

TypeScript 4.1ナイトリービルドの使用を開始するには、 TypeScriptNightly拡張機能. TypeScript 4.1でバグが発生した場合は、フィードバックを共有してお知らせください。

拡張オーサリング

更新された拡張サンプル

いくつかを更新しました 拡張サンプル カラーテーマトークンに接続されているVSCodeのデフォルトスタイルを含めるため。 これは、一般的な要素(テキスト、ボタン、入力)がテーマ化可能であり、製品のデフォルトのスタイルと一致することを意味します。 以下は、これを含む拡張機能です。

  • custom-editor-sample
  • webview-サンプル
  • webview-view-sample

木のコディコンの色

のファイナライズで ThemeIcon カラーAPI、拡張機能の作成者は、カスタムツリービューのコディコンでテーマの色を使用できます。

グローバル状態の同期

拡張機能は、新しく導入されたキーを使用して、設定の同期が有効になっているときに値を同期する必要があるキーを提供することにより、グローバル状態を同期できるようになりました。 setKeysForSync のAPI globalState メメント。

/ ** *構成、拡張機能、記念品などのユーザーデータを同期するときにデバイス間で値を同期する必要があるキーを設定します。 * *この関数は、値が同期されるキーのセット全体を定義することに注意してください。*-空の配列で呼び出すと、このメモリの同期が停止します*-で呼び出す 空でない配列は、値が同期されているすべてのキーを置き換えます* *任意のキーのセットに対して、この関数は1回だけ呼び出す必要がありますが、*繰り返し呼び出すことによる害はありません。 * * @paramkeys値が同期されるキーのセット。 */ setKeysForSync(keys:string []):void;

コメント 拡張機能は、新しいプロパティを使用してコメントスレッドの返信ボタンの表示を制御できるようになりました。 CommentThread#canReply. に設定されている場合 NS、ユーザーにはコメントスレッドに返信ボタンやコメントボックスは表示されません。

提案された拡張API

すべてのマイルストーンには、新しく提案されたAPIが付属しており、拡張機能の作成者はそれらを試すことができます。 いつものように、私たちはあなたのフィードバックを望んでいます。 これは、提案されたAPIを試すためにあなたがしなければならないことです:

  • 提案されたAPIは頻繁に変更されるため、Insiderを使用する必要があります。
  • あなたはこの行を持っている必要があります package.json あなたの拡張機能のファイル: "enableProposedApi":true.
  • 最新バージョンをコピーします vscode.proposed.d.ts プロジェクトのソースの場所にファイルします。

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

折りたたみ範囲プロバイダー変更イベント

折りたたみ範囲プロバイダーは、折りたたみ範囲を使用して更新する必要があることをエディターに通知できます。 onDidChangeFoldingRanges イベント。

詳細およびフィードバックを提供するには、以下を使用してください。 発行#108929.

パスワードAPI

継続的な作業の一環として 認証プロバイダー、機密情報を保存および取得するためのAPIを導入しました。 内部的には、これはラッパーとして機能します キーター VSCodeがシークレットを保存するために使用するライブラリ。

/ ***キーとともに保存されたパスワードを取得します。 *そのキーに一致するパスワードがない場合はundefinedを返します。 * @paramkeyパスワードが保存されたキー。 */ エクスポート関数getPassword(キー:文字列):Thenable; / ***指定されたキーの下にパスワードを保存します。 * @paramkeyパスワードを保存するためのキー* @ paramvalueパスワード* / エクスポート関数setPassword(キー:文字列、値:文字列):Thenable; / ***ストレージからパスワードを削除します。 * @paramkeyパスワードが保存されたキー。 */ エクスポート関数deletePassword(キー:文字列):Thenable; / ***パスワードが設定または削除されたときに発生します。 */ export const onDidChangePassword:イベント;

エンジニアリング

VSCodeの信頼できるタイプを準拠させる

VSCodeの「信頼できるタイプ」に準拠するための取り組みを続けています。 目標は、DOMベースのクロスサイトスクリプティングの脆弱性を防ぐことです。 信頼できるタイプについて詳しくは、web.devをご覧ください。 信頼できるタイプのサイト で私たちの進歩に従ってください 号#103699.

Chromeはタブ行オーバーフローインジケーターを受け取ります

Chromeはタブ行オーバーフローインジケーターを受け取ります

Google Chromeには、Canaryブランチに新しいタブオーバーフローインジケーターがあります。 現在表示されているよりも多くのタブがあることを簡単に見つけることができ、残りのタブを表示...

続きを読む

Windows10でネイティブGoogleChrome通知を有効または無効にする

Windows10でネイティブGoogleChrome通知を有効または無効にする

ご存知かもしれませんが、GoogleChromeブラウザの背後にあるチーム 仕事をしていました ネイティブWindows通知のサポートの追加について。 これはついに起こった。 本日より、安定した...

続きを読む

Skypeの通話アーカイブを録音する

このWebサイトでは、Cookieを使用して、Webサイト内を移動する際のエクスペリエンスを向上させます。 これらのCookieのうち、必要に応じて分類されたCookieは、Webサイトの基本的...

続きを読む