From 314bf8ac9e7b2ea250d69531910640fe187d09c1 Mon Sep 17 00:00:00 2001 From: David Wengier Date: Thu, 2 Nov 2023 15:10:18 +1100 Subject: [PATCH 01/16] Add a timeout for telemetry downloading --- src/packageManager/fileDownloader.ts | 5 +++++ src/razor/src/extension.ts | 13 ++++++++++++- src/razor/src/razorLanguageServerClient.ts | 11 +++-------- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/packageManager/fileDownloader.ts b/src/packageManager/fileDownloader.ts index 935e8b4cc..a39919651 100644 --- a/src/packageManager/fileDownloader.ts +++ b/src/packageManager/fileDownloader.ts @@ -66,6 +66,7 @@ async function downloadFile( agent: getProxyAgent(url, proxy, strictSSL), port: url.port, rejectUnauthorized: strictSSL, + timeout: 5 * 60 * 1000, // timeout is in milliseconds }; const buffers: any[] = []; @@ -129,6 +130,10 @@ async function downloadFile( }); }); + request.on('timeout', () => { + request.destroy(new Error(`Timed out trying to download ${urlString}.`)); + }); + request.on('error', (err) => { reject(new NestedError(`Request error: ${err.message || 'NONE'}`, err)); }); diff --git a/src/razor/src/extension.ts b/src/razor/src/extension.ts index 07c5fbde4..ca0dd488e 100644 --- a/src/razor/src/extension.ts +++ b/src/razor/src/extension.ts @@ -6,6 +6,7 @@ import * as path from 'path'; import * as vscode from 'vscode'; import * as vscodeapi from 'vscode'; +import * as util from '../../common'; import { ExtensionContext } from 'vscode'; import { BlazorDebugConfigurationProvider } from './blazorDebug/blazorDebugConfigurationProvider'; import { CodeActionsHandler } from './codeActions/codeActionsHandler'; @@ -99,9 +100,19 @@ export async function activate( // Save user's DOTNET_ROOT env-var value so server can recover the user setting when needed env.DOTNET_ROOT_USER = process.env.DOTNET_ROOT ?? 'EMPTY'; + let telemetryExtensionDllPath = ''; // Set up DevKit environment for telemetry if (csharpDevkitExtension) { await setupDevKitEnvironment(env, csharpDevkitExtension, logger); + + const telemetryExtensionPath = path.join( + util.getExtensionPath(), + '.razortelemetry', + 'Microsoft.VisualStudio.DevKit.Razor.dll' + ); + if (await util.fileExists(telemetryExtensionPath)) { + telemetryExtensionDllPath = telemetryExtensionPath; + } } const languageServerClient = new RazorLanguageServerClient( @@ -109,7 +120,7 @@ export async function activate( languageServerDir, razorTelemetryReporter, vscodeTelemetryReporter, - csharpDevkitExtension !== undefined, + telemetryExtensionDllPath, env, dotnetInfo.path, logger diff --git a/src/razor/src/razorLanguageServerClient.ts b/src/razor/src/razorLanguageServerClient.ts index 842a312ca..292dbf817 100644 --- a/src/razor/src/razorLanguageServerClient.ts +++ b/src/razor/src/razorLanguageServerClient.ts @@ -3,10 +3,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as path from 'path'; import * as cp from 'child_process'; import { EventEmitter } from 'events'; -import * as util from '../../common'; import * as vscode from 'vscode'; import { RequestHandler, RequestType } from 'vscode-jsonrpc'; import { GenericNotificationHandler, InitializeResult, LanguageClientOptions, State } from 'vscode-languageclient'; @@ -40,7 +38,7 @@ export class RazorLanguageServerClient implements vscode.Disposable { private readonly languageServerDir: string, private readonly razorTelemetryReporter: RazorTelemetryReporter, private readonly vscodeTelemetryReporter: TelemetryReporter, - private readonly isCSharpDevKitActivated: boolean, + private readonly telemetryExtensionDllPath: string, private readonly env: NodeJS.ProcessEnv, private readonly dotnetExecutablePath: string, private readonly logger: RazorLogger @@ -249,13 +247,10 @@ export class RazorLanguageServerClient implements vscode.Disposable { args.push('--UpdateBuffersForClosedDocuments'); args.push('true'); - if (this.isCSharpDevKitActivated) { + if (this.telemetryExtensionDllPath.length > 0) { args.push('--telemetryLevel', this.vscodeTelemetryReporter.telemetryLevel); args.push('--sessionId', getSessionId()); - args.push( - '--telemetryExtensionPath', - path.join(util.getExtensionPath(), '.razortelemetry', 'Microsoft.VisualStudio.DevKit.Razor.dll') - ); + args.push('--telemetryExtensionPath', this.telemetryExtensionDllPath); } } From bc6a10d12acf15a4805942dfe11e97b18484046c Mon Sep 17 00:00:00 2001 From: David Barbet Date: Mon, 6 Nov 2023 16:37:28 -0800 Subject: [PATCH 02/16] Increment prerelease version --- version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.json b/version.json index ceec3649c..4c02a173e 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "2.10", + "version": "2.11", "publicReleaseRefSpec": [ "^refs/heads/release$", "^refs/heads/main$", From 33aadae00f91bb7be73483630566d717557accbb Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 7 Nov 2023 01:36:49 +0000 Subject: [PATCH 03/16] Localization result of ddcc60795214c063466ffb389a787cfa517ba941. --- l10n/bundle.l10n.de.json | 24 ++++++++++++------------ l10n/bundle.l10n.fr.json | 8 ++++---- l10n/bundle.l10n.ja.json | 24 ++++++++++++------------ l10n/bundle.l10n.pl.json | 8 ++++---- l10n/bundle.l10n.tr.json | 8 ++++---- l10n/bundle.l10n.zh-cn.json | 8 ++++---- 6 files changed, 40 insertions(+), 40 deletions(-) diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index f62efc5aa..2a42266d7 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -29,9 +29,9 @@ "Could not find '{0}' in or above '{1}'.": "\"{0}\" wurde in oder über \"{1}\" nicht gefunden.", "Could not find Razor Language Server executable within directory '{0}'": "Die ausführbare Datei des Razor-Sprachservers wurde im Verzeichnis \"{0}\" nicht gefunden.", "Could not find a process id to attach.": "Es wurde keine anzufügende Prozess-ID gefunden.", - "Could not locate .NET Core project in '{0}'. Assets were not generated.": "Could not locate .NET Core project in '{0}'. Assets were not generated.", + "Could not locate .NET Core project in '{0}'. Assets were not generated.": "Das .NET Core-Projekt wurde in \"{0}\" nicht gefunden. Ressourcen wurden nicht generiert.", "Couldn't create self-signed certificate. See output for more information.": "Das selbstsignierte Zertifikat konnte nicht erstellt werden. Weitere Informationen finden Sie in der Ausgabe.", - "Couldn't create self-signed certificate. {0}\r\ncode: {1}\r\nstdout: {2}": "Couldn't create self-signed certificate. {0}\r\ncode: {1}\r\nstdout: {2}", + "Couldn't create self-signed certificate. {0}\r\ncode: {1}\r\nstdout: {2}": "Selbstsigniertes Zertifikat konnte nicht erstellt werden. {0}\r\nCode: {1}\r\nstdout: {2}", "Description of the problem": "Beschreibung des Problems", "Disable message in settings": "Nachricht in Einstellungen deaktivieren", "Do not load any": "Keine laden", @@ -103,16 +103,16 @@ "Required assets to build and debug are missing from '{0}'. Add them?": "Erforderliche Ressourcen zum Erstellen und Debuggen fehlen in \"{0}\". Sie hinzufügen?", "Restart": "Neu starten", "Restart Language Server": "Sprachserver neu starten", - "Restore": "Restore", - "Restore already in progress": "Restore already in progress", - "Restore {0}": "Restore {0}", + "Restore": "Wiederherstellen", + "Restore already in progress": "Wiederherstellung wird bereits ausgeführt", + "Restore {0}": "\"{0}\" wiederherstellen", "Run and Debug: A valid browser is not installed. Please install Edge or Chrome.": "Ausführen und Debuggen: Es ist kein gültiger Browser installiert. Installieren Sie Edge oder Chrome.", "Run and Debug: auto-detection found {0} for a launch browser": "Ausführen und Debuggen: Die automatische Erkennung hat {0} für einen Startbrowser gefunden.", "See {0} output": "{0}-Ausgabe anzeigen", "Select the process to attach to": "Prozess auswählen, an den angefügt werden soll", "Select the project to launch": "Wählen Sie das Projekt aus, das gestartet werden soll.", "Self-signed certificate sucessfully {0}": "Selbstsigniertes Zertifikat erfolgreich {0}", - "Sending request": "Sending request", + "Sending request": "Anforderung wird gesendet", "Server failed to start after retrying 5 times.": "Der Server konnte nach fünf Wiederholungsversuchen nicht gestartet werden.", "Show Output": "Ausgabe Anzeigen", "Start": "Start", @@ -120,20 +120,20 @@ "Steps to reproduce": "Schritte für Reproduktion", "Stop": "Beenden", "Synchronization timed out": "Timeout bei der Synchronisierung", - "The .NET Core SDK cannot be located: {0}. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.": "The .NET Core SDK cannot be located: {0}. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.", - "The .NET Core SDK located on the path is too old. .NET Core debugging will not be enabled. The minimum supported version is {0}.": "The .NET Core SDK located on the path is too old. .NET Core debugging will not be enabled. The minimum supported version is {0}.", + "The .NET Core SDK cannot be located: {0}. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.": "Das .NET Core SDK kann nicht gefunden werden: {0}. Das .NET Core-Debuggen wird nicht aktiviert. Stellen Sie sicher, dass das .NET Core SDK installiert ist und sich im Pfad befindet.", + "The .NET Core SDK located on the path is too old. .NET Core debugging will not be enabled. The minimum supported version is {0}.": "Das .NET Core SDK auf dem Pfad ist zu alt. Das .NET Core-Debuggen wird nicht aktiviert. Die unterstützte Mindestversion ist {0}.", "The C# extension is still downloading packages. Please see progress in the output window below.": "Die C#-Erweiterung lädt weiterhin Pakete herunter. Den Fortschritt finden Sie unten im Ausgabefenster.", "The C# extension was unable to automatically decode projects in the current workspace to create a runnable launch.json file. A template launch.json file has been created as a placeholder.\r\n\r\nIf the server is currently unable to load your project, you can attempt to resolve this by restoring any missing project dependencies (example: run 'dotnet restore') and by fixing any reported errors from building the projects in your workspace.\r\nIf this allows the server to now load your project then --\r\n * Delete this file\r\n * Open the Visual Studio Code command palette (View->Command Palette)\r\n * run the command: '.NET: Generate Assets for Build and Debug'.\r\n\r\nIf your project requires a more complex launch configuration, you may wish to delete this configuration and pick a different template using the 'Add Configuration...' button at the bottom of this file.": "Die C#-Erweiterung konnte Projekte im aktuellen Arbeitsbereich nicht automatisch decodieren, um eine ausführbare Datei \"launch.json\" zu erstellen. Eine launch.json-Vorlagendatei wurde als Platzhalter erstellt.\r\n\r\nWenn der Server Ihr Projekt zurzeit nicht laden kann, können Sie versuchen, dies zu beheben, indem Sie fehlende Projektabhängigkeiten wiederherstellen (Beispiel: \"dotnet restore\" ausführen), und alle gemeldeten Fehler beim Erstellen der Projekte in Ihrem Arbeitsbereich beheben.\r\nWenn der Server ihr Projekt jetzt laden kann, dann --\r\n * Diese Datei löschen\r\n * Öffnen Sie die Visual Studio Code-Befehlspalette (Ansicht -> Befehlspalette).\r\n * Führen Sie den Befehl \".NET: Assets für Build und Debug generieren\" aus.\r\n\r\nWenn ihr Projekt eine komplexere Startkonfiguration erfordert, können Sie diese Konfiguration löschen und eine andere Vorlage auswählen, mithilfe der Schaltfläche \"Konfiguration hinzufügen...\" am Ende dieser Datei.", "The selected launch configuration is configured to launch a web browser but no trusted development certificate was found. Create a trusted self-signed certificate?": "Die ausgewählte Startkonfiguration ist so konfiguriert, dass ein Webbrowser gestartet wird, es wurde jedoch kein vertrauenswürdiges Entwicklungszertifikat gefunden. Vertrauenswürdiges selbstsigniertes Zertifikat erstellen?", - "The value '{0}' for 'targetArchitecture' in launch configuraiton is invalid. Expected 'x86_64' or 'arm64'.": "The value '{0}' for 'targetArchitecture' in launch configuraiton is invalid. Expected 'x86_64' or 'arm64'.", + "The value '{0}' for 'targetArchitecture' in launch configuraiton is invalid. Expected 'x86_64' or 'arm64'.": "Der Wert \"{0}\" für \"targetArchitecture\" in der Startkonfiguration ist ungültig. \"x86_64\" oder \"arm64\" wurde erwartet.", "There was an unexpected error while launching your debugging session. Check the console for helpful logs and visit the debugging docs for more info.": "Unerwarteter Fehler beim Starten der Debugsitzung. Überprüfen Sie die Konsole auf hilfreiche Protokolle, und besuchen Sie die Debugdokumentation, um weitere Informationen zu erhalten.", "Token cancellation requested: {0}": "Tokenabbruch angefordert: {0}", "Transport attach could not obtain processes list.": "Beim Anhängen an den Transport konnte die Prozessliste nicht abgerufen werden.", "Tried to bind on notification logic while server is not started.": "Es wurde versucht, eine Bindung für die Benachrichtigungslogik auszuführen, während der Server nicht gestartet wurde.", "Tried to bind on request logic while server is not started.": "Es wurde versucht, eine Bindung für die Anforderungslogik auszuführen, während der Server nicht gestartet wurde.", "Tried to send requests while server is not started.": "Es wurde versucht, Anforderungen zu senden, während der Server nicht gestartet wurde.", - "Unable to determine RuntimeId. Please set 'targetArchitecture' in your launch.json configuration.": "Unable to determine RuntimeId. Please set 'targetArchitecture' in your launch.json configuration.", - "Unable to determine a configuration for '{0}'. Please generate C# debug assets instead.": "Unable to determine a configuration for '{0}'. Please generate C# debug assets instead.", + "Unable to determine RuntimeId. Please set 'targetArchitecture' in your launch.json configuration.": "RuntimeId kann nicht bestimmt werden. Legen Sie \"targetArchitecture\" in Ihrer launch.json-Konfiguration fest.", + "Unable to determine a configuration for '{0}'. Please generate C# debug assets instead.": "Es kann keine Konfiguration für \"{0}\" ermittelt werden. Generieren Sie stattdessen C#-Debugressourcen.", "Unable to determine debug settings for project '{0}'": "Debugeinstellungen für Projekt \"{0}\" können nicht ermittelt werden.", "Unable to find Razor extension version.": "Die Razor-Erweiterungsversion wurde nicht gefunden.", "Unable to generate assets to build and debug. {0}.": "Objekte zum Erstellen und Debuggen können nicht generiert werden. {0}.", @@ -161,7 +161,7 @@ "[ERROR] The debugger cannot be installed. The debugger requires macOS 10.12 (Sierra) or newer.": "[FEHLER] Der Debugger kann nicht installiert werden. Der Debugger erfordert macOS 10.12 (Sierra) oder höher.", "[ERROR] The debugger cannot be installed. Unknown platform.": "[FEHLER] Der Debugger kann nicht installiert werden. Unbekannte Plattform.", "[ERROR]: C# Extension failed to install the debugger package.": "[FEHLER]: Fehler beim Installieren des Debuggerpakets durch die C#-Erweiterung.", - "[WARNING]: x86 Windows is not supported by the .NET debugger. Debugging will not be available.": "[WARNING]: x86 Windows is not supported by the .NET debugger. Debugging will not be available.", + "[WARNING]: x86 Windows is not supported by the .NET debugger. Debugging will not be available.": "[WARNUNG]: x86 Windows wird vom .NET-Debugger nicht unterstützt. Debuggen ist nicht verfügbar.", "dotnet.server.useOmnisharp option has changed. Please reload the window to apply the change": "Die Option \"dotnet.server.useOmnisharp\" wurde geändert. Laden Sie das Fenster neu, um die Änderung anzuwenden.", "pipeArgs must be a string or a string array type": "pipeArgs muss eine Zeichenfolge oder ein Zeichenfolgenarraytyp sein.", "{0} Keyword": "{0}-Schlüsselwort", diff --git a/l10n/bundle.l10n.fr.json b/l10n/bundle.l10n.fr.json index 13e96ce17..2458cdb58 100644 --- a/l10n/bundle.l10n.fr.json +++ b/l10n/bundle.l10n.fr.json @@ -103,16 +103,16 @@ "Required assets to build and debug are missing from '{0}'. Add them?": "Les ressources requises pour la génération et le débogage sont manquantes dans « {0} ». Les ajouter ?", "Restart": "Redémarrer", "Restart Language Server": "Redémarrer le serveur de langue", - "Restore": "Restore", - "Restore already in progress": "Restore already in progress", - "Restore {0}": "Restore {0}", + "Restore": "Restaurer", + "Restore already in progress": "La restauration est déjà en cours", + "Restore {0}": "Restaurer {0}", "Run and Debug: A valid browser is not installed. Please install Edge or Chrome.": "Exécuter et déboguer : aucun navigateur valide n’est installé. Installez Edge ou Chrome.", "Run and Debug: auto-detection found {0} for a launch browser": "Exécuter et déboguer : détection automatique détectée {0} pour un navigateur de lancement", "See {0} output": "Voir la sortie {0}", "Select the process to attach to": "Sélectionner le processus à attacher", "Select the project to launch": "Sélectionner le projet à lancer", "Self-signed certificate sucessfully {0}": "Certificat auto-signé {0}", - "Sending request": "Sending request", + "Sending request": "Envoi de la demande", "Server failed to start after retrying 5 times.": "Le serveur n’a pas pu démarrer après 5 tentatives.", "Show Output": "Afficher la sortie", "Start": "Début", diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 9bc8b8ce4..db969bcf6 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -29,9 +29,9 @@ "Could not find '{0}' in or above '{1}'.": "'{1}' 以上に '{0}' が見つかりませんでした。", "Could not find Razor Language Server executable within directory '{0}'": "ディレクトリ '{0}' 内に Razor 言語サーバーの実行可能ファイルが見つかりませんでした", "Could not find a process id to attach.": "アタッチするプロセス ID が見つかりませんでした。", - "Could not locate .NET Core project in '{0}'. Assets were not generated.": "Could not locate .NET Core project in '{0}'. Assets were not generated.", + "Could not locate .NET Core project in '{0}'. Assets were not generated.": "'{0}' で .NET Core プロジェクトが見つかりませんでした。アセットは生成されませんでした。", "Couldn't create self-signed certificate. See output for more information.": "自己署名証明書を作成できませんでした。詳細については、出力を参照してください。", - "Couldn't create self-signed certificate. {0}\r\ncode: {1}\r\nstdout: {2}": "Couldn't create self-signed certificate. {0}\r\ncode: {1}\r\nstdout: {2}", + "Couldn't create self-signed certificate. {0}\r\ncode: {1}\r\nstdout: {2}": "自己署名証明書を作成できませんでした。{0}\r\nコード: {1}\r\nstdOut: {2}", "Description of the problem": "問題の説明", "Disable message in settings": "設定でメッセージを無効にする", "Do not load any": "何も読み込まない", @@ -103,16 +103,16 @@ "Required assets to build and debug are missing from '{0}'. Add them?": "ビルドおよびデバッグに必要な資産が '{0}' にありません。追加しますか?", "Restart": "再起動", "Restart Language Server": "言語サーバーの再起動", - "Restore": "Restore", - "Restore already in progress": "Restore already in progress", - "Restore {0}": "Restore {0}", + "Restore": "復元", + "Restore already in progress": "復元は既に進行中です", + "Restore {0}": "{0} の復元", "Run and Debug: A valid browser is not installed. Please install Edge or Chrome.": "実行とデバッグ: 有効なブラウザーがインストールされていません。Edge または Chrome をインストールしてください。", "Run and Debug: auto-detection found {0} for a launch browser": "実行とデバッグ: 起動ブラウザーの自動検出で {0} が見つかりました", "See {0} output": "{0} 出力を参照", "Select the process to attach to": "アタッチするプロセスを選択する", "Select the project to launch": "開始するプロジェクトを選択する", "Self-signed certificate sucessfully {0}": "自己署名証明書が正常に {0} されました", - "Sending request": "Sending request", + "Sending request": "要求を送信しています", "Server failed to start after retrying 5 times.": "5 回再試行した後、サーバーを起動できませんでした。", "Show Output": "出力の表示", "Start": "開始", @@ -120,20 +120,20 @@ "Steps to reproduce": "再現手順", "Stop": "停止", "Synchronization timed out": "同期がタイムアウトしました", - "The .NET Core SDK cannot be located: {0}. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.": "The .NET Core SDK cannot be located: {0}. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.", - "The .NET Core SDK located on the path is too old. .NET Core debugging will not be enabled. The minimum supported version is {0}.": "The .NET Core SDK located on the path is too old. .NET Core debugging will not be enabled. The minimum supported version is {0}.", + "The .NET Core SDK cannot be located: {0}. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.": ".NET Core SDKが見つかりません: {0}.NET Core デバッグは有効になりません。.NET Core SDK がインストールされ、パス上にあることを確認します。", + "The .NET Core SDK located on the path is too old. .NET Core debugging will not be enabled. The minimum supported version is {0}.": "パスにある .NET Core SDK が古すぎます。.NET Core デバッグは有効になりません。サポートされている最小バージョンは {0} です。", "The C# extension is still downloading packages. Please see progress in the output window below.": "C# 拡張機能は引き続きパッケージをダウンロードしています。下の出力ウィンドウで進行状況を確認してください。", "The C# extension was unable to automatically decode projects in the current workspace to create a runnable launch.json file. A template launch.json file has been created as a placeholder.\r\n\r\nIf the server is currently unable to load your project, you can attempt to resolve this by restoring any missing project dependencies (example: run 'dotnet restore') and by fixing any reported errors from building the projects in your workspace.\r\nIf this allows the server to now load your project then --\r\n * Delete this file\r\n * Open the Visual Studio Code command palette (View->Command Palette)\r\n * run the command: '.NET: Generate Assets for Build and Debug'.\r\n\r\nIf your project requires a more complex launch configuration, you may wish to delete this configuration and pick a different template using the 'Add Configuration...' button at the bottom of this file.": "C# 拡張機能は、現在のワークスペースのプロジェクトを自動的にデコードして、実行可能な launch.json ファイルを作成できませんでした。テンプレート launch.json ファイルがプレースホルダーとして作成されました。\r\n\r\nサーバーで現在プロジェクトを読み込みできない場合は、不足しているプロジェクトの依存関係 (例: 'dotnet restore' の実行) を復元し、ワークスペースでのプロジェクトのビルドで報告されたエラーを修正することで、この問題の解決を試みることができます。\r\nこれにより、サーバーでプロジェクトを読み込めるようになった場合は、--\r\n * このファイルを削除します\r\n * Visual Studio Code コマンド パレットを開きます ([表示] > [コマンド パレット])\r\n * 次のコマンドを実行します: '.NET: ビルドおよびデバッグ用に資産を生成する'。\r\n\r\nプロジェクトでより複雑な起動構成が必要な場合は、この構成を削除し、このファイルの下部にある [構成の追加] ボタンを使用して、別のテンプレートを選択できます。", "The selected launch configuration is configured to launch a web browser but no trusted development certificate was found. Create a trusted self-signed certificate?": "選択した起動構成では Web ブラウザーを起動するように構成されていますが、信頼された開発証明書が見つかりませんでした。信頼された自己署名証明書を作成しますか?", - "The value '{0}' for 'targetArchitecture' in launch configuraiton is invalid. Expected 'x86_64' or 'arm64'.": "The value '{0}' for 'targetArchitecture' in launch configuraiton is invalid. Expected 'x86_64' or 'arm64'.", + "The value '{0}' for 'targetArchitecture' in launch configuraiton is invalid. Expected 'x86_64' or 'arm64'.": "起動構成の 'targetArchitecture' の値 '{0}' が無効です。'x86_64' または 'arm64' が必要です。", "There was an unexpected error while launching your debugging session. Check the console for helpful logs and visit the debugging docs for more info.": "デバッグ セッションの起動中に予期しないエラーが発生しました。 コンソールで役立つログを確認し、詳細についてはデバッグ ドキュメントにアクセスしてください。", "Token cancellation requested: {0}": "トークンのキャンセルが要求されました: {0}", "Transport attach could not obtain processes list.": "転送アタッチでプロセス一覧を取得できませんでした。", "Tried to bind on notification logic while server is not started.": "サーバーが起動していないときに、通知ロジックでバインドしようとしました。", "Tried to bind on request logic while server is not started.": "サーバーが起動していないときに、要求ロジックでバインドしようとしました。", "Tried to send requests while server is not started.": "サーバーが起動していないときに要求を送信しようとしました。", - "Unable to determine RuntimeId. Please set 'targetArchitecture' in your launch.json configuration.": "Unable to determine RuntimeId. Please set 'targetArchitecture' in your launch.json configuration.", - "Unable to determine a configuration for '{0}'. Please generate C# debug assets instead.": "Unable to determine a configuration for '{0}'. Please generate C# debug assets instead.", + "Unable to determine RuntimeId. Please set 'targetArchitecture' in your launch.json configuration.": "RuntimeId を特定できません。launch.json 構成で 'targetArchitecture' を設定してください。", + "Unable to determine a configuration for '{0}'. Please generate C# debug assets instead.": "'{0}' の構成を特定できません。代わりに、C# デバッグ アセットを生成してください。", "Unable to determine debug settings for project '{0}'": "プロジェクト '{0}' のデバッグ設定を特定できません", "Unable to find Razor extension version.": "Razor 拡張機能のバージョンが見つかりません。", "Unable to generate assets to build and debug. {0}.": "ビルドおよびデバッグする資産を生成できません。{0}。", @@ -161,7 +161,7 @@ "[ERROR] The debugger cannot be installed. The debugger requires macOS 10.12 (Sierra) or newer.": "[エラー] デバッガーをインストールできません。デバッガーには macOS 10.12 (Sierra) 以降が必要です。", "[ERROR] The debugger cannot be installed. Unknown platform.": "[エラー] デバッガーをインストールできません。不明なプラットフォームです。", "[ERROR]: C# Extension failed to install the debugger package.": "[エラー]: C# 拡張機能でデバッガー パッケージをインストールできませんでした。", - "[WARNING]: x86 Windows is not supported by the .NET debugger. Debugging will not be available.": "[WARNING]: x86 Windows is not supported by the .NET debugger. Debugging will not be available.", + "[WARNING]: x86 Windows is not supported by the .NET debugger. Debugging will not be available.": "[警告]: x86 Windows は .NET デバッガーではサポートされていません。デバッグは使用できません。", "dotnet.server.useOmnisharp option has changed. Please reload the window to apply the change": "dotnet.server.useOmnisharp オプションが変更されました。変更を適用するために、ウィンドウを再読み込みしてください", "pipeArgs must be a string or a string array type": "pipeArgs は文字列型または文字列配列型である必要があります", "{0} Keyword": "{0} キーワード", diff --git a/l10n/bundle.l10n.pl.json b/l10n/bundle.l10n.pl.json index 794fb408a..a65ae6bf6 100644 --- a/l10n/bundle.l10n.pl.json +++ b/l10n/bundle.l10n.pl.json @@ -103,16 +103,16 @@ "Required assets to build and debug are missing from '{0}'. Add them?": "Brak wymaganych zasobów do kompilowania i debugowania z „{0}”. Dodać je?", "Restart": "Uruchom ponownie", "Restart Language Server": "Ponownie uruchom serwer języka", - "Restore": "Restore", - "Restore already in progress": "Restore already in progress", - "Restore {0}": "Restore {0}", + "Restore": "Przywróć", + "Restore already in progress": "Przywracanie jest już w toku", + "Restore {0}": "Przywróć plik {0}", "Run and Debug: A valid browser is not installed. Please install Edge or Chrome.": "Uruchom i debuguj: nie zainstalowano prawidłowej przeglądarki. Zainstaluj przeglądarkę Edge lub Chrome.", "Run and Debug: auto-detection found {0} for a launch browser": "Uruchamianie i debugowanie: automatyczne wykrywanie znalazło {0} dla przeglądarki uruchamiania", "See {0} output": "Zobacz dane wyjściowe {0}", "Select the process to attach to": "Wybierz docelowy proces dołączania", "Select the project to launch": "Wybierz projekt do uruchomienia", "Self-signed certificate sucessfully {0}": "Pomyślnie {0} certyfikat z podpisem własnym", - "Sending request": "Sending request", + "Sending request": "Wysyłanie żądania", "Server failed to start after retrying 5 times.": "Nie można uruchomić serwera po ponowieniu próby 5 razy.", "Show Output": "Pokaż dane wyjściowe", "Start": "Uruchom", diff --git a/l10n/bundle.l10n.tr.json b/l10n/bundle.l10n.tr.json index 4271b3776..49ce7bd0b 100644 --- a/l10n/bundle.l10n.tr.json +++ b/l10n/bundle.l10n.tr.json @@ -103,16 +103,16 @@ "Required assets to build and debug are missing from '{0}'. Add them?": "'{0}' derleme ve hata ayıklama için gerekli varlıklara sahip değil. Eklensin mi?", "Restart": "Yeniden Başlat", "Restart Language Server": "Dil Sunucusunu Yeniden Başlat", - "Restore": "Restore", - "Restore already in progress": "Restore already in progress", - "Restore {0}": "Restore {0}", + "Restore": "Geri yükle", + "Restore already in progress": "Geri yükleme zaten devam ediyor", + "Restore {0}": "{0} öğesini geri yükle", "Run and Debug: A valid browser is not installed. Please install Edge or Chrome.": "Çalıştır ve Hata Ayıkla: Geçerli bir tarayıcı yüklü değil. Lütfen Edge veya Chrome tarayıcısını yükleyin.", "Run and Debug: auto-detection found {0} for a launch browser": "Çalıştır ve Hata Ayıkla: otomatik algılama bir başlatma tarayıcısı için {0} buldu", "See {0} output": "{0} çıktısını göster", "Select the process to attach to": "Eklenilecek işlemi seçin", "Select the project to launch": "Başlatılacak projeyi seçin", "Self-signed certificate sucessfully {0}": "Otomatik olarak imzalanan sertifika başarıyla {0}", - "Sending request": "Sending request", + "Sending request": "İstek gönderiliyor", "Server failed to start after retrying 5 times.": "Sunucu 5 kez yeniden denendikten sonra başlatılamadı.", "Show Output": "Çıktıyı Göster", "Start": "Başlangıç", diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 4d97d26b5..81b8a5778 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -103,16 +103,16 @@ "Required assets to build and debug are missing from '{0}'. Add them?": "\"{0}\" 中缺少生成和调试所需的资产。添加它们?", "Restart": "重启", "Restart Language Server": "重启语言服务器", - "Restore": "Restore", - "Restore already in progress": "Restore already in progress", - "Restore {0}": "Restore {0}", + "Restore": "还原", + "Restore already in progress": "还原已在进行中", + "Restore {0}": "还原 {0}", "Run and Debug: A valid browser is not installed. Please install Edge or Chrome.": "运行和调试: 未安装有效的浏览器。请安装 Microsoft Edge 或 Chrome。", "Run and Debug: auto-detection found {0} for a launch browser": "运行和调试: 为启动浏览器找到 {0} 自动检测", "See {0} output": "查看 {0} 输出", "Select the process to attach to": "选择要附加到的进程", "Select the project to launch": "选择要启动的项目", "Self-signed certificate sucessfully {0}": "自签名证书成功 {0}", - "Sending request": "Sending request", + "Sending request": "正在发送请求", "Server failed to start after retrying 5 times.": "重试 5 次后服务器启动失败。", "Show Output": "显示输出", "Start": "启动", From 8fa357a384eea3f7034c77619284029dd9d5e799 Mon Sep 17 00:00:00 2001 From: David Barbet Date: Wed, 8 Nov 2023 15:34:55 -0800 Subject: [PATCH 04/16] Fix release yaml --- azure-pipelines/release.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/azure-pipelines/release.yml b/azure-pipelines/release.yml index dc040c813..f258b77e0 100644 --- a/azure-pipelines/release.yml +++ b/azure-pipelines/release.yml @@ -47,15 +47,15 @@ stages: npm install --global vsce displayName: 'Install vsce' - pwsh: | - $artifactFolderPrefix = "VSIX_Release_" + $artifactFolder = "VSIX_Release" if ("${{ parameters.uploadPrerelease }}" -eq "true") { - $artifactFolderPrefix = "VSIX_Prerelease_" + $artifactFolder = "VSIX_Prerelease" } - Write-Host "Using artifacts from $artifactFolderPrefix" + Write-Host "Using artifacts from $artifactFolder" # Our build pipeline would generated build based on attempt number. Publishing the latest attempt. - $allArtifacts = Get-ChildItem -Path "$artifactFolderPrefix*" | Sort-Object -Descending + $allArtifacts = Get-ChildItem -Path "$artifactFolder*" | Sort-Object -Descending if ($allArtifacts.Length -eq 0) { throw "No Artifacts is downloaded." } From 39402dc07a404cdc0a1de3b1087d2118745596fe Mon Sep 17 00:00:00 2001 From: David Barbet Date: Wed, 8 Nov 2023 16:32:14 -0800 Subject: [PATCH 05/16] Update changelog version number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59d2e9b26..164bdefc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ - [O# Parity] Nuget restore [#5725](https://github.com/dotnet/vscode-csharp/issues/5725) - Debug from .csproj and .sln [#5876](https://github.com/dotnet/vscode-csharp/issues/5876) -## Latest +## 2.10.28 * Fix C# Debugger telemetry (PR: [#6627](https://github.com/dotnet/vscode-csharp/pull/6627)) * Add support for deduping build diagnostics from C# Devkit (PR: [#6543](https://github.com/dotnet/vscode-csharp/pull/6543)) * Update Roslyn to 4.9.0-1.23530.4 (PR: [#6603](https://github.com/dotnet/vscode-csharp/pull/6603)) From 089faf86038f7c655ade0a75d697923f8fe5273f Mon Sep 17 00:00:00 2001 From: Fred Silberberg Date: Thu, 9 Nov 2023 15:41:30 -0800 Subject: [PATCH 06/16] Rearrange the settings sections into actual categories (#6652) This puts settings into discrete categories ("Project", "Text Editor", "Debugger", "LSP Server", and "OmniSharp") so that our settings can be reasonably navigated by a human, rather than being a giant blob that cannot be properly viewed. --- package.json | 1002 +++++++++-------- .../unitTests/configurationMiddleware.test.ts | 43 +- test/unitTests/migrateOptions.test.ts | 10 +- 3 files changed, 559 insertions(+), 496 deletions(-) diff --git a/package.json b/package.json index 13867b91b..b900a6c78 100644 --- a/package.json +++ b/package.json @@ -1054,287 +1054,20 @@ ], "configuration": [ { - "title": "OmniSharp", + "title": "Project", + "order": 0, "properties": { - "dotnet.server.useOmnisharp": { - "type": "boolean", - "default": false, - "description": "Switches to use the Omnisharp server for language features when enabled (requires restart). This option will not be honored with C# Dev Kit installed.", - "order": 0 - }, - "csharp.format.enable": { - "type": "boolean", - "default": true, - "description": "Enable/disable default C# formatter (requires restart)." - }, - "csharp.suppressDotnetInstallWarning": { - "type": "boolean", - "default": false, - "description": "Suppress the warning that the .NET Core SDK is not on the path." - }, - "csharp.suppressDotnetRestoreNotification": { - "type": "boolean", - "default": false, - "description": "Suppress the notification window to perform a 'dotnet restore' when dependencies can't be resolved." - }, - "csharp.suppressProjectJsonWarning": { - "type": "boolean", - "default": false, - "description": "Suppress the warning that project.json is no longer a supported project format for .NET Core applications" - }, - "csharp.suppressBuildAssetsNotification": { - "type": "boolean", - "default": false, - "description": "Suppress the notification window to add missing assets to build or debug the application." - }, - "csharp.suppressHiddenDiagnostics": { - "type": "boolean", - "default": true, - "description": "Suppress 'hidden' diagnostics (such as 'unnecessary using directives') from appearing in the editor or the Problems pane." - }, - "csharp.referencesCodeLens.filteredSymbols": { - "type": "array", - "items": { - "type": "string" - }, - "default": [], - "description": "Array of custom symbol names for which CodeLens should be disabled." - }, - "csharp.maxProjectFileCountForDiagnosticAnalysis": { - "type": "number", - "default": 1000, - "description": "Specifies the maximum number of files for which diagnostics are reported for the whole workspace. If this limit is exceeded, diagnostics will be shown for currently opened files only. Specify 0 or less to disable the limit completely." - }, - "csharp.semanticHighlighting.enabled": { - "type": "boolean", - "default": true, - "description": "Enable/disable Semantic Highlighting for C# files (Razor files currently unsupported). Defaults to false. Close open files for changes to take effect.", - "scope": "window" - }, - "csharp.showOmnisharpLogOnError": { - "type": "boolean", - "default": true, - "description": "Shows the OmniSharp log in the Output pane when OmniSharp reports an error." - }, - "omnisharp.useModernNet": { - "type": "boolean", - "default": true, - "scope": "window", - "title": "Use .NET 6 build of OmniSharp", - "description": "Use OmniSharp build for .NET 6. This version _does not_ support non-SDK-style .NET Framework projects, including Unity. SDK-style Framework, .NET Core, and .NET 5+ projects should see significant performance improvements." - }, - "omnisharp.sdkPath": { - "type": "string", - "scope": "window", - "description": "Specifies the path to a .NET SDK installation to use for project loading instead of the highest version installed. Applies when \"useModernNet\" is set to true. Example: /home/username/dotnet/sdks/6.0.300." - }, - "omnisharp.sdkVersion": { - "type": "string", - "scope": "window", - "description": "Specifies the version of the .NET SDK to use for project loading instead of the highest version installed. Applies when \"useModernNet\" is set to true. Example: 6.0.300." - }, - "omnisharp.sdkIncludePrereleases": { - "type": "boolean", - "scope": "window", - "default": true, - "description": "Specifies whether to include preview versions of the .NET SDK when determining which version to use for project loading. Applies when \"useModernNet\" is set to true." - }, - "omnisharp.monoPath": { - "type": "string", - "scope": "machine", - "description": "Specifies the path to a mono installation to use when \"useModernNet\" is set to false, instead of the default system one. Example: \"/Library/Frameworks/Mono.framework/Versions/Current\"" - }, - "omnisharp.loggingLevel": { - "type": "string", - "default": "information", - "enum": [ - "trace", - "debug", - "information", - "warning", - "error", - "critical" - ], - "description": "Specifies the level of logging output from the OmniSharp server." - }, - "omnisharp.autoStart": { - "type": "boolean", - "default": true, - "description": "Specifies whether the OmniSharp server will be automatically started or not. If false, OmniSharp can be started with the 'Restart OmniSharp' command" - }, - "omnisharp.projectFilesExcludePattern": { - "type": "string", - "default": "**/node_modules/**,**/.git/**,**/bower_components/**", - "description": "The exclude pattern used by OmniSharp to find all project files." - }, - "omnisharp.projectLoadTimeout": { - "type": "number", - "default": 60, - "description": "The time Visual Studio Code will wait for the OmniSharp server to start. Time is expressed in seconds." - }, - "omnisharp.maxProjectResults": { - "type": "number", - "default": 250, - "description": "The maximum number of projects to be shown in the 'Select Project' dropdown (maximum 250)." - }, - "omnisharp.useEditorFormattingSettings": { - "type": "boolean", - "default": true, - "description": "Specifes whether OmniSharp should use VS Code editor settings for C# code formatting (use of tabs, indentation size)." - }, - "omnisharp.minFindSymbolsFilterLength": { - "type": "number", - "default": 0, - "description": "The minimum number of characters to enter before 'Go to Symbol in Workspace' operation shows any results." - }, - "omnisharp.maxFindSymbolsItems": { - "type": "number", - "default": 1000, - "description": "The maximum number of items that 'Go to Symbol in Workspace' operation can show. The limit is applied only when a positive number is specified here." - }, - "omnisharp.disableMSBuildDiagnosticWarning": { - "type": "boolean", - "default": false, - "description": "Specifies whether notifications should be shown if OmniSharp encounters warnings or errors loading a project. Note that these warnings/errors are always emitted to the OmniSharp log" - }, - "omnisharp.enableMsBuildLoadProjectsOnDemand": { - "type": "boolean", - "default": false, - "description": "If true, MSBuild project system will only load projects for files that were opened in the editor. This setting is useful for big C# codebases and allows for faster initialization of code navigation features only for projects that are relevant to code that is being edited. With this setting enabled OmniSharp may load fewer projects and may thus display incomplete reference lists for symbols." - }, - "omnisharp.enableEditorConfigSupport": { - "type": "boolean", - "default": true, - "description": "Enables support for reading code style, naming convention and analyzer settings from .editorconfig." - }, - "omnisharp.enableDecompilationSupport": { - "type": "boolean", - "default": false, - "scope": "machine", - "description": "Enables support for decompiling external references instead of viewing metadata." - }, - "omnisharp.enableLspDriver": { - "type": "boolean", - "default": false, - "description": "Enables support for the experimental language protocol based engine (requires reload to setup bindings correctly)" - }, - "omnisharp.organizeImportsOnFormat": { - "type": "boolean", - "default": false, - "description": "Specifies whether 'using' directives should be grouped and sorted during document formatting." - }, - "omnisharp.enableAsyncCompletion": { - "type": "boolean", - "default": false, - "description": "(EXPERIMENTAL) Enables support for resolving completion edits asynchronously. This can speed up time to show the completion list, particularly override and partial method completion lists, at the cost of slight delays after inserting a completion item. Most completion items will have no noticeable impact with this feature, but typing immediately after inserting an override or partial method completion, before the insert is completed, can have unpredictable results." - }, - "omnisharp.dotNetCliPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Paths to a local download of the .NET CLI to use for running any user code.", - "uniqueItems": true - }, - "razor.plugin.path": { + "dotnet.defaultSolution": { "type": "string", - "scope": "machine", - "description": "Overrides the path to the Razor plugin dll." - }, - "razor.devmode": { - "type": "boolean", - "default": false, - "description": "Forces the omnisharp-vscode extension to run in a mode that enables local Razor.VSCode deving." - }, - "razor.format.enable": { - "type": "boolean", - "scope": "window", - "default": true, - "description": "Enable/disable default Razor formatter." - }, - "razor.completion.commitElementsWithSpace": { - "type": "boolean", - "scope": "window", - "default": "false", - "description": "Specifies whether to commit tag helper and component elements with a space." + "description": "%configuration.dotnet.defaultSolution.description%", + "order": 0 } } }, { - "title": "C#", + "title": "Text Editor", + "order": 1, "properties": { - "dotnet.defaultSolution": { - "type": "string", - "description": "%configuration.dotnet.defaultSolution.description%", - "order": 0 - }, - "dotnet.dotnetPath": { - "type": "string", - "scope": "machine-overridable", - "description": "%configuration.dotnet.dotnetPath%" - }, - "dotnet.server.path": { - "type": "string", - "scope": "machine-overridable", - "description": "%configuration.dotnet.server.path%" - }, - "dotnet.server.startTimeout": { - "type": "number", - "scope": "machine-overridable", - "default": 30000, - "description": "%configuration.dotnet.server.startTimeout%" - }, - "dotnet.server.waitForDebugger": { - "type": "boolean", - "scope": "machine-overridable", - "default": false, - "description": "%configuration.dotnet.server.waitForDebugger%" - }, - "dotnet.server.trace": { - "scope": "window", - "type": "string", - "enum": [ - "Trace", - "Debug", - "Information", - "Warning", - "Error", - "Critical", - "None" - ], - "default": "Information", - "description": "%configuration.dotnet.server.trace%" - }, - "dotnet.server.extensionPaths": { - "scope": "machine-overridable", - "type": [ - "array", - null - ], - "items": { - "type": "string" - }, - "default": null, - "description": "%configuration.dotnet.server.extensionPaths%" - }, - "dotnet.server.crashDumpPath": { - "scope": "machine-overridable", - "type": "string", - "default": null, - "description": "%configuration.dotnet.server.crashDumpPath%" - }, - "dotnet.projects.binaryLogPath": { - "scope": "machine-overridable", - "type": "string", - "default": null, - "description": "Sets a path where MSBuild binary logs are written to when loading projects, to help diagnose loading errors." - }, - "dotnet.preferCSharpExtension": { - "scope": "resource", - "type": "boolean", - "default": false, - "description": "%configuration.dotnet.preferCSharpExtension%" - }, "dotnet.implementType.insertionBehavior": { "type": "string", "enum": [ @@ -1441,93 +1174,302 @@ "description": "%configuration.csharp.inlayHints.enableInlayHintsForImplicitObjectCreation%", "order": 50 }, - "csharp.inlayHints.enableInlayHintsForImplicitVariableTypes": { + "csharp.inlayHints.enableInlayHintsForImplicitVariableTypes": { + "type": "boolean", + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForImplicitVariableTypes%", + "order": 50 + }, + "csharp.inlayHints.enableInlayHintsForLambdaParameterTypes": { + "type": "boolean", + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForLambdaParameterTypes%", + "order": 50 + }, + "csharp.inlayHints.enableInlayHintsForTypes": { + "type": "boolean", + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForTypes%", + "order": 50 + }, + "dotnet.inlayHints.enableInlayHintsForIndexerParameters": { + "type": "boolean", + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForIndexerParameters%", + "order": 50 + }, + "dotnet.inlayHints.enableInlayHintsForLiteralParameters": { + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters%", + "order": 50 + }, + "dotnet.inlayHints.enableInlayHintsForObjectCreationParameters": { + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.inlayHints.enableInlayHintsForObjectCreationParameters%", + "order": 50 + }, + "dotnet.inlayHints.enableInlayHintsForOtherParameters": { + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.inlayHints.enableInlayHintsForOtherParameters%", + "order": 50 + }, + "dotnet.inlayHints.enableInlayHintsForParameters": { + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.inlayHints.enableInlayHintsForParameters%", + "order": 50 + }, + "dotnet.inlayHints.suppressInlayHintsForParametersThatDifferOnlyBySuffix": { + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatDifferOnlyBySuffix%", + "order": 50 + }, + "dotnet.inlayHints.suppressInlayHintsForParametersThatMatchArgumentName": { + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatMatchArgumentName%", + "order": 50 + }, + "dotnet.inlayHints.suppressInlayHintsForParametersThatMatchMethodIntent": { + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatMatchMethodIntent%", + "order": 50 + }, + "dotnet.navigation.navigateToDecompiledSources": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.navigation.navigateToDecompiledSources%", + "order": 60 + }, + "dotnet.quickInfo.showRemarksInQuickInfo": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.quickInfo.showRemarksInQuickInfo%", + "order": 70 + }, + "dotnet.symbolSearch.searchReferenceAssemblies": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.symbolSearch.searchReferenceAssemblies%", + "order": 80 + } + } + }, + { + "title": "Debugger", + "order": 8, + "properties": { + "csharp.debug.stopAtEntry": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", + "default": false + }, + "csharp.debug.console": { + "type": "string", + "enum": [ + "internalConsole", + "integratedTerminal", + "externalTerminal" + ], + "enumDescriptions": [ + "%generateOptionsSchema.console.internalConsole.enumDescription%", + "%generateOptionsSchema.console.integratedTerminal.enumDescription%", + "%generateOptionsSchema.console.externalTerminal.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.console.settingsDescription%", + "default": "internalConsole" + }, + "csharp.debug.sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + }, + "default": {} + }, + "csharp.debug.justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "csharp.debug.requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "csharp.debug.enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "csharp.debug.logging.exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "csharp.debug.logging.moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "csharp.debug.logging.programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "csharp.debug.logging.browserStdOut": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "default": true + }, + "csharp.debug.logging.elapsedTiming": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "default": false + }, + "csharp.debug.logging.threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "csharp.debug.logging.processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + }, + "csharp.debug.logging.engineLogging": { + "type": "boolean", + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "default": false + }, + "csharp.debug.logging.diagnosticsLog.protocolMessages": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "default": false + }, + "csharp.debug.logging.diagnosticsLog.dispatcherMessages": { + "type": "string", + "enum": [ + "none", + "error", + "important", + "normal" + ], + "enumDescriptions": [ + "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.none.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.error.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.important.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.normal.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.markdownDescription%", + "default": "none" + }, + "csharp.debug.logging.diagnosticsLog.debugEngineAPITracing": { + "type": "string", + "enum": [ + "none", + "error", + "all" + ], + "enumDescriptions": [ + "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.none.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.error.enumDescription%", + "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.all.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.markdownDescription%", + "default": "none" + }, + "csharp.debug.logging.diagnosticsLog.debugRuntimeEventTracing": { "type": "boolean", - "default": false, - "description": "%configuration.csharp.inlayHints.enableInlayHintsForImplicitVariableTypes%", - "order": 50 + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false }, - "csharp.inlayHints.enableInlayHintsForLambdaParameterTypes": { + "csharp.debug.logging.diagnosticsLog.expressionEvaluationTracing": { "type": "boolean", - "default": false, - "description": "%configuration.csharp.inlayHints.enableInlayHintsForLambdaParameterTypes%", - "order": 50 + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false }, - "csharp.inlayHints.enableInlayHintsForTypes": { + "csharp.debug.logging.diagnosticsLog.startDebuggingTracing": { "type": "boolean", - "default": false, - "description": "%configuration.csharp.inlayHints.enableInlayHintsForTypes%", - "order": 50 + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false }, - "dotnet.inlayHints.enableInlayHintsForIndexerParameters": { + "csharp.debug.logging.consoleUsageMessage": { "type": "boolean", - "default": false, - "description": "%configuration.csharp.inlayHints.enableInlayHintsForIndexerParameters%", - "order": 50 + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true }, - "dotnet.inlayHints.enableInlayHintsForLiteralParameters": { + "csharp.debug.suppressJITOptimizations": { "type": "boolean", - "default": false, - "description": "%configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters%", - "order": 50 + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false }, - "dotnet.inlayHints.enableInlayHintsForObjectCreationParameters": { - "type": "boolean", - "default": false, - "description": "%configuration.dotnet.inlayHints.enableInlayHintsForObjectCreationParameters%", - "order": 50 + "csharp.debug.symbolOptions.searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] }, - "dotnet.inlayHints.enableInlayHintsForOtherParameters": { + "csharp.debug.symbolOptions.searchMicrosoftSymbolServer": { "type": "boolean", - "default": false, - "description": "%configuration.dotnet.inlayHints.enableInlayHintsForOtherParameters%", - "order": 50 + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false }, - "dotnet.inlayHints.enableInlayHintsForParameters": { + "csharp.debug.symbolOptions.searchNuGetOrgSymbolServer": { "type": "boolean", - "default": false, - "description": "%configuration.dotnet.inlayHints.enableInlayHintsForParameters%", - "order": 50 + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false }, - "dotnet.inlayHints.suppressInlayHintsForParametersThatDifferOnlyBySuffix": { - "type": "boolean", - "default": false, - "description": "%configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatDifferOnlyBySuffix%", - "order": 50 + "csharp.debug.symbolOptions.cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" }, - "dotnet.inlayHints.suppressInlayHintsForParametersThatMatchArgumentName": { - "type": "boolean", - "default": false, - "description": "%configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatMatchArgumentName%", - "order": 50 + "csharp.debug.symbolOptions.moduleFilter.mode": { + "type": "string", + "enum": [ + "loadAllButExcluded", + "loadOnlyIncluded" + ], + "enumDescriptions": [ + "%generateOptionsSchema.symbolOptions.moduleFilter.mode.loadAllButExcluded.enumDescription%", + "%generateOptionsSchema.symbolOptions.moduleFilter.mode.loadOnlyIncluded.enumDescription%" + ], + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.mode.description%", + "default": "loadAllButExcluded" }, - "dotnet.inlayHints.suppressInlayHintsForParametersThatMatchMethodIntent": { - "type": "boolean", - "default": false, - "description": "%configuration.dotnet.inlayHints.suppressInlayHintsForParametersThatMatchMethodIntent%", - "order": 50 + "csharp.debug.symbolOptions.moduleFilter.excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] }, - "dotnet.navigation.navigateToDecompiledSources": { - "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.navigation.navigateToDecompiledSources%", - "order": 60 + "csharp.debug.symbolOptions.moduleFilter.includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] }, - "dotnet.quickInfo.showRemarksInQuickInfo": { + "csharp.debug.symbolOptions.moduleFilter.includeSymbolsNextToModules": { "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.quickInfo.showRemarksInQuickInfo%", - "order": 70 + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true }, - "dotnet.symbolSearch.searchReferenceAssemblies": { + "csharp.debug.allowFastEvaluate": { "type": "boolean", - "default": true, - "description": "%configuration.dotnet.symbolSearch.searchReferenceAssemblies%", - "order": 80 - }, - "dotnet.unitTests.runSettingsPath": { - "type": "string", - "description": "Path to the .runsettings file which should be used when running unit tests. (Previously `omnisharp.testRunSettings`)" + "description": "%generateOptionsSchema.allowFastEvaluate.description%", + "default": true }, "dotnet.unitTestDebuggingOptions": { "type": "object", @@ -1723,6 +1665,83 @@ } } }, + "dotnet.unitTests.runSettingsPath": { + "type": "string", + "description": "Path to the .runsettings file which should be used when running unit tests. (Previously `omnisharp.testRunSettings`)" + } + } + }, + { + "title": "LSP Server", + "order": 9, + "properties": { + "dotnet.preferCSharpExtension": { + "scope": "resource", + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.preferCSharpExtension%" + }, + "dotnet.dotnetPath": { + "type": "string", + "scope": "machine-overridable", + "description": "%configuration.dotnet.dotnetPath%" + }, + "dotnet.server.path": { + "type": "string", + "scope": "machine-overridable", + "description": "%configuration.dotnet.server.path%" + }, + "dotnet.server.startTimeout": { + "type": "number", + "scope": "machine-overridable", + "default": 30000, + "description": "%configuration.dotnet.server.startTimeout%" + }, + "dotnet.server.waitForDebugger": { + "type": "boolean", + "scope": "machine-overridable", + "default": false, + "description": "%configuration.dotnet.server.waitForDebugger%" + }, + "dotnet.server.trace": { + "scope": "window", + "type": "string", + "enum": [ + "Trace", + "Debug", + "Information", + "Warning", + "Error", + "Critical", + "None" + ], + "default": "Information", + "description": "%configuration.dotnet.server.trace%" + }, + "dotnet.server.extensionPaths": { + "scope": "machine-overridable", + "type": [ + "array", + null + ], + "items": { + "type": "string" + }, + "default": null, + "description": "%configuration.dotnet.server.extensionPaths%" + }, + "dotnet.server.crashDumpPath": { + "scope": "machine-overridable", + "type": "string", + "default": null, + "description": "%configuration.dotnet.server.crashDumpPath%" + }, + "dotnet.projects.binaryLogPath": { + "scope": "machine-overridable", + "type": "string", + "default": null, + "description": "Sets a path where MSBuild binary logs are written to when loading projects, to help diagnose loading errors." + }, "razor.languageServer.directory": { "type": "string", "scope": "machine-overridable", @@ -1751,213 +1770,214 @@ ], "description": "%configuration.razor.trace%", "order": 90 - }, - "csharp.debug.stopAtEntry": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", - "default": false - }, - "csharp.debug.console": { - "type": "string", - "enum": [ - "internalConsole", - "integratedTerminal", - "externalTerminal" - ], - "enumDescriptions": [ - "%generateOptionsSchema.console.internalConsole.enumDescription%", - "%generateOptionsSchema.console.integratedTerminal.enumDescription%", - "%generateOptionsSchema.console.externalTerminal.enumDescription%" - ], - "markdownDescription": "%generateOptionsSchema.console.settingsDescription%", - "default": "internalConsole" - }, - "csharp.debug.sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - }, - "default": {} - }, - "csharp.debug.justMyCode": { + } + } + }, + { + "title": "OmniSharp", + "order": 10, + "properties": { + "dotnet.server.useOmnisharp": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true + "default": false, + "description": "Switches to use the Omnisharp server for language features when enabled (requires restart). This option will not be honored with C# Dev Kit installed.", + "order": 0 }, - "csharp.debug.requireExactSource": { + "csharp.format.enable": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true + "default": true, + "description": "Enable/disable default C# formatter (requires restart)." }, - "csharp.debug.enableStepFiltering": { + "csharp.suppressDotnetInstallWarning": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true + "default": false, + "description": "Suppress the warning that the .NET Core SDK is not on the path." }, - "csharp.debug.logging.exceptions": { + "csharp.suppressDotnetRestoreNotification": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true + "default": false, + "description": "Suppress the notification window to perform a 'dotnet restore' when dependencies can't be resolved." }, - "csharp.debug.logging.moduleLoad": { + "csharp.suppressProjectJsonWarning": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true + "default": false, + "description": "Suppress the warning that project.json is no longer a supported project format for .NET Core applications" }, - "csharp.debug.logging.programOutput": { + "csharp.suppressBuildAssetsNotification": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true + "default": false, + "description": "Suppress the notification window to add missing assets to build or debug the application." }, - "csharp.debug.logging.browserStdOut": { + "csharp.suppressHiddenDiagnostics": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", - "default": true + "default": true, + "description": "Suppress 'hidden' diagnostics (such as 'unnecessary using directives') from appearing in the editor or the Problems pane." }, - "csharp.debug.logging.elapsedTiming": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", - "default": false + "csharp.referencesCodeLens.filteredSymbols": { + "type": "array", + "items": { + "type": "string" + }, + "default": [], + "description": "Array of custom symbol names for which CodeLens should be disabled." }, - "csharp.debug.logging.threadExit": { + "csharp.maxProjectFileCountForDiagnosticAnalysis": { + "type": "number", + "default": 1000, + "description": "Specifies the maximum number of files for which diagnostics are reported for the whole workspace. If this limit is exceeded, diagnostics will be shown for currently opened files only. Specify 0 or less to disable the limit completely." + }, + "csharp.semanticHighlighting.enabled": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false + "default": true, + "description": "Enable/disable Semantic Highlighting for C# files (Razor files currently unsupported). Defaults to false. Close open files for changes to take effect.", + "scope": "window" }, - "csharp.debug.logging.processExit": { + "csharp.showOmnisharpLogOnError": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true + "default": true, + "description": "Shows the OmniSharp log in the Output pane when OmniSharp reports an error." }, - "csharp.debug.logging.engineLogging": { + "omnisharp.useModernNet": { "type": "boolean", - "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", - "default": false + "default": true, + "scope": "window", + "title": "Use .NET 6 build of OmniSharp", + "description": "Use OmniSharp build for .NET 6. This version _does not_ support non-SDK-style .NET Framework projects, including Unity. SDK-style Framework, .NET Core, and .NET 5+ projects should see significant performance improvements." }, - "csharp.debug.logging.diagnosticsLog.protocolMessages": { + "omnisharp.sdkPath": { + "type": "string", + "scope": "window", + "description": "Specifies the path to a .NET SDK installation to use for project loading instead of the highest version installed. Applies when \"useModernNet\" is set to true. Example: /home/username/dotnet/sdks/6.0.300." + }, + "omnisharp.sdkVersion": { + "type": "string", + "scope": "window", + "description": "Specifies the version of the .NET SDK to use for project loading instead of the highest version installed. Applies when \"useModernNet\" is set to true. Example: 6.0.300." + }, + "omnisharp.sdkIncludePrereleases": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", - "default": false + "scope": "window", + "default": true, + "description": "Specifies whether to include preview versions of the .NET SDK when determining which version to use for project loading. Applies when \"useModernNet\" is set to true." }, - "csharp.debug.logging.diagnosticsLog.dispatcherMessages": { + "omnisharp.monoPath": { "type": "string", - "enum": [ - "none", - "error", - "important", - "normal" - ], - "enumDescriptions": [ - "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.none.enumDescription%", - "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.error.enumDescription%", - "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.important.enumDescription%", - "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.normal.enumDescription%" - ], - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.dispatcherMessages.markdownDescription%", - "default": "none" + "scope": "machine", + "description": "Specifies the path to a mono installation to use when \"useModernNet\" is set to false, instead of the default system one. Example: \"/Library/Frameworks/Mono.framework/Versions/Current\"" }, - "csharp.debug.logging.diagnosticsLog.debugEngineAPITracing": { + "omnisharp.loggingLevel": { "type": "string", + "default": "information", "enum": [ - "none", + "trace", + "debug", + "information", + "warning", "error", - "all" - ], - "enumDescriptions": [ - "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.none.enumDescription%", - "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.error.enumDescription%", - "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.all.enumDescription%" + "critical" ], - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugEngineAPITracing.markdownDescription%", - "default": "none" + "description": "Specifies the level of logging output from the OmniSharp server." }, - "csharp.debug.logging.diagnosticsLog.debugRuntimeEventTracing": { + "omnisharp.autoStart": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false + "default": true, + "description": "Specifies whether the OmniSharp server will be automatically started or not. If false, OmniSharp can be started with the 'Restart OmniSharp' command" }, - "csharp.debug.logging.diagnosticsLog.expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false + "omnisharp.projectFilesExcludePattern": { + "type": "string", + "default": "**/node_modules/**,**/.git/**,**/bower_components/**", + "description": "The exclude pattern used by OmniSharp to find all project files." }, - "csharp.debug.logging.diagnosticsLog.startDebuggingTracing": { + "omnisharp.projectLoadTimeout": { + "type": "number", + "default": 60, + "description": "The time Visual Studio Code will wait for the OmniSharp server to start. Time is expressed in seconds." + }, + "omnisharp.maxProjectResults": { + "type": "number", + "default": 250, + "description": "The maximum number of projects to be shown in the 'Select Project' dropdown (maximum 250)." + }, + "omnisharp.useEditorFormattingSettings": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false + "default": true, + "description": "Specifes whether OmniSharp should use VS Code editor settings for C# code formatting (use of tabs, indentation size)." }, - "csharp.debug.logging.consoleUsageMessage": { + "omnisharp.minFindSymbolsFilterLength": { + "type": "number", + "default": 0, + "description": "The minimum number of characters to enter before 'Go to Symbol in Workspace' operation shows any results." + }, + "omnisharp.maxFindSymbolsItems": { + "type": "number", + "default": 1000, + "description": "The maximum number of items that 'Go to Symbol in Workspace' operation can show. The limit is applied only when a positive number is specified here." + }, + "omnisharp.disableMSBuildDiagnosticWarning": { "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true + "default": false, + "description": "Specifies whether notifications should be shown if OmniSharp encounters warnings or errors loading a project. Note that these warnings/errors are always emitted to the OmniSharp log" }, - "csharp.debug.suppressJITOptimizations": { + "omnisharp.enableMsBuildLoadProjectsOnDemand": { "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false + "default": false, + "description": "If true, MSBuild project system will only load projects for files that were opened in the editor. This setting is useful for big C# codebases and allows for faster initialization of code navigation features only for projects that are relevant to code that is being edited. With this setting enabled OmniSharp may load fewer projects and may thus display incomplete reference lists for symbols." }, - "csharp.debug.symbolOptions.searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] + "omnisharp.enableEditorConfigSupport": { + "type": "boolean", + "default": true, + "description": "Enables support for reading code style, naming convention and analyzer settings from .editorconfig." }, - "csharp.debug.symbolOptions.searchMicrosoftSymbolServer": { + "omnisharp.enableDecompilationSupport": { "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false + "default": false, + "scope": "machine", + "description": "Enables support for decompiling external references instead of viewing metadata." }, - "csharp.debug.symbolOptions.searchNuGetOrgSymbolServer": { + "omnisharp.enableLspDriver": { "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false + "default": false, + "description": "Enables support for the experimental language protocol based engine (requires reload to setup bindings correctly)" }, - "csharp.debug.symbolOptions.cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" + "omnisharp.organizeImportsOnFormat": { + "type": "boolean", + "default": false, + "description": "Specifies whether 'using' directives should be grouped and sorted during document formatting." }, - "csharp.debug.symbolOptions.moduleFilter.mode": { - "type": "string", - "enum": [ - "loadAllButExcluded", - "loadOnlyIncluded" - ], - "enumDescriptions": [ - "%generateOptionsSchema.symbolOptions.moduleFilter.mode.loadAllButExcluded.enumDescription%", - "%generateOptionsSchema.symbolOptions.moduleFilter.mode.loadOnlyIncluded.enumDescription%" - ], - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.mode.description%", - "default": "loadAllButExcluded" + "omnisharp.enableAsyncCompletion": { + "type": "boolean", + "default": false, + "description": "(EXPERIMENTAL) Enables support for resolving completion edits asynchronously. This can speed up time to show the completion list, particularly override and partial method completion lists, at the cost of slight delays after inserting a completion item. Most completion items will have no noticeable impact with this feature, but typing immediately after inserting an override or partial method completion, before the insert is completed, can have unpredictable results." }, - "csharp.debug.symbolOptions.moduleFilter.excludedModules": { + "omnisharp.dotNetCliPaths": { "type": "array", "items": { "type": "string" }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] + "description": "Paths to a local download of the .NET CLI to use for running any user code.", + "uniqueItems": true }, - "csharp.debug.symbolOptions.moduleFilter.includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] + "razor.plugin.path": { + "type": "string", + "scope": "machine", + "description": "Overrides the path to the Razor plugin dll." }, - "csharp.debug.symbolOptions.moduleFilter.includeSymbolsNextToModules": { + "razor.devmode": { "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true + "default": false, + "description": "Forces the omnisharp-vscode extension to run in a mode that enables local Razor.VSCode deving." }, - "csharp.debug.allowFastEvaluate": { + "razor.format.enable": { "type": "boolean", - "description": "%generateOptionsSchema.allowFastEvaluate.description%", - "default": true + "scope": "window", + "default": true, + "description": "Enable/disable default Razor formatter." + }, + "razor.completion.commitElementsWithSpace": { + "type": "boolean", + "scope": "window", + "default": "false", + "description": "Specifies whether to commit tag helper and component elements with a space." } } } diff --git a/test/unitTests/configurationMiddleware.test.ts b/test/unitTests/configurationMiddleware.test.ts index 530328d0a..db08c07ce 100644 --- a/test/unitTests/configurationMiddleware.test.ts +++ b/test/unitTests/configurationMiddleware.test.ts @@ -7,11 +7,13 @@ import { readFileSync } from 'fs'; import { convertServerOptionNameToClientConfigurationName } from '../../src/lsptoolshost/optionNameConverter'; import * as jestLib from '@jest/globals'; +const editorBehaviorSection = 1; const testData = [ { serverOption: 'csharp|symbol_search.dotnet_search_reference_assemblies', vsCodeConfiguration: 'dotnet.symbolSearch.searchReferenceAssemblies', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|symbol_search.dotnet_search_reference_assemblies', @@ -22,6 +24,7 @@ const testData = [ serverOption: 'csharp|implement_type.dotnet_insertion_behavior', vsCodeConfiguration: 'dotnet.implementType.insertionBehavior', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|implement_type.dotnet_insertion_behavior', @@ -32,6 +35,7 @@ const testData = [ serverOption: 'csharp|implement_type.dotnet_property_generation_behavior', vsCodeConfiguration: 'dotnet.implementType.propertyGenerationBehavior', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|implement_type.dotnet_property_generation_behavior', @@ -42,6 +46,7 @@ const testData = [ serverOption: 'csharp|completion.dotnet_show_name_completion_suggestions', vsCodeConfiguration: 'dotnet.completion.showNameCompletionSuggestions', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|completion.dotnet_show_name_completion_suggestions', @@ -52,6 +57,7 @@ const testData = [ serverOption: 'csharp|completion.dotnet_provide_regex_completions', vsCodeConfiguration: 'dotnet.completion.provideRegexCompletions', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|completion.dotnet_provide_regex_completions', @@ -62,6 +68,7 @@ const testData = [ serverOption: 'csharp|completion.dotnet_show_completion_items_from_unimported_namespaces', vsCodeConfiguration: 'dotnet.completion.showCompletionItemsFromUnimportedNamespaces', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|completion.dotnet_show_completion_items_from_unimported_namespaces', @@ -72,6 +79,7 @@ const testData = [ serverOption: 'csharp|quick_info.dotnet_show_remarks_in_quick_info', vsCodeConfiguration: 'dotnet.quickInfo.showRemarksInQuickInfo', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|quick_info.dotnet_show_remarks_in_quick_info', @@ -82,11 +90,13 @@ const testData = [ serverOption: 'navigation.dotnet_navigate_to_decompiled_sources', vsCodeConfiguration: 'dotnet.navigation.navigateToDecompiledSources', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|highlighting.dotnet_highlight_related_regex_components', vsCodeConfiguration: 'dotnet.highlighting.highlightRelatedRegexComponents', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|highlighting.dotnet_highlight_related_regex_components', @@ -97,77 +107,95 @@ const testData = [ serverOption: 'csharp|highlighting.dotnet_highlight_related_json_components', vsCodeConfiguration: 'dotnet.highlighting.highlightRelatedJsonComponents', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|Highlighting.dotnet_highlight_related_json_components', vsCodeConfiguration: null, declareInPackageJson: false, }, - { serverOption: 'text_editor.tab_width', vsCodeConfiguration: 'textEditor.tabWidth', declareInPackageJson: false }, + { + serverOption: 'text_editor.tab_width', + vsCodeConfiguration: 'textEditor.tabWidth', + declareInPackageJson: false, + }, { serverOption: 'csharp|inlay_hints.dotnet_enable_inlay_hints_for_parameters', vsCodeConfiguration: 'dotnet.inlayHints.enableInlayHintsForParameters', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.dotnet_enable_inlay_hints_for_literal_parameters', vsCodeConfiguration: 'dotnet.inlayHints.enableInlayHintsForLiteralParameters', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.dotnet_enable_inlay_hints_for_indexer_parameters', vsCodeConfiguration: 'dotnet.inlayHints.enableInlayHintsForIndexerParameters', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.dotnet_enable_inlay_hints_for_object_creation_parameters', vsCodeConfiguration: 'dotnet.inlayHints.enableInlayHintsForObjectCreationParameters', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.dotnet_enable_inlay_hints_for_other_parameters', vsCodeConfiguration: 'dotnet.inlayHints.enableInlayHintsForOtherParameters', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.dotnet_suppress_inlay_hints_for_parameters_that_differ_only_by_suffix', vsCodeConfiguration: 'dotnet.inlayHints.suppressInlayHintsForParametersThatDifferOnlyBySuffix', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.dotnet_suppress_inlay_hints_for_parameters_that_match_method_intent', vsCodeConfiguration: 'dotnet.inlayHints.suppressInlayHintsForParametersThatMatchMethodIntent', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.dotnet_suppress_inlay_hints_for_parameters_that_match_argument_name', vsCodeConfiguration: 'dotnet.inlayHints.suppressInlayHintsForParametersThatMatchArgumentName', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.csharp_enable_inlay_hints_for_types', vsCodeConfiguration: 'csharp.inlayHints.enableInlayHintsForTypes', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.csharp_enable_inlay_hints_for_implicit_variable_types', vsCodeConfiguration: 'csharp.inlayHints.enableInlayHintsForImplicitVariableTypes', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.csharp_enable_inlay_hints_for_lambda_parameter_types', vsCodeConfiguration: 'csharp.inlayHints.enableInlayHintsForLambdaParameterTypes', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|inlay_hints.csharp_enable_inlay_hints_for_implicit_object_creation', vsCodeConfiguration: 'csharp.inlayHints.enableInlayHintsForImplicitObjectCreation', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'csharp|code_style.formatting.indentation_and_spacing.tab_width', vsCodeConfiguration: 'codeStyle.formatting.indentationAndSpacing.tabWidth', declareInPackageJson: false, + section: editorBehaviorSection, }, { serverOption: 'csharp|code_style.formatting.indentation_and_spacing.indent_size', @@ -193,6 +221,7 @@ const testData = [ serverOption: 'csharp|background_analysis.dotnet_analyzer_diagnostics_scope', vsCodeConfiguration: 'dotnet.backgroundAnalysis.analyzerDiagnosticsScope', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|background_analysis.dotnet_analyzer_diagnostics_scope', @@ -203,6 +232,7 @@ const testData = [ serverOption: 'csharp|background_analysis.dotnet_compiler_diagnostics_scope', vsCodeConfiguration: 'dotnet.backgroundAnalysis.compilerDiagnosticsScope', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|background_analysis.dotnet_compiler_diagnostics_scope', @@ -213,6 +243,7 @@ const testData = [ serverOption: 'csharp|code_lens.dotnet_enable_references_code_lens', vsCodeConfiguration: 'dotnet.codeLens.enableReferencesCodeLens', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|code_lens.dotnet_enable_references_code_lens', @@ -223,6 +254,7 @@ const testData = [ serverOption: 'csharp|code_lens.dotnet_enable_tests_code_lens', vsCodeConfiguration: 'dotnet.codeLens.enableTestsCodeLens', declareInPackageJson: true, + section: editorBehaviorSection, }, { serverOption: 'mystery_language|code_lens.dotnet_enable_tests_code_lens', @@ -233,7 +265,11 @@ const testData = [ jestLib.describe('Server option name to vscode configuration name test', () => { const packageJson = JSON.parse(readFileSync('package.json').toString()); - const configurations = Object.keys(packageJson['contributes']['configuration'][1]['properties']); + const configurations = packageJson['contributes']['configuration']; + const numConfigurations = 5; + jestLib.test('Max server sections are expected', () => { + jestLib.expect(configurations.length).toBe(numConfigurations); + }); testData.forEach((data) => { jestLib.test( @@ -242,7 +278,8 @@ jestLib.describe('Server option name to vscode configuration name test', () => { const actualName = convertServerOptionNameToClientConfigurationName(data.serverOption); jestLib.expect(actualName).toBe(data.vsCodeConfiguration); if (data.declareInPackageJson) { - jestLib.expect(configurations).toContain(data.vsCodeConfiguration); + const section = Object.keys(configurations[data.section!]['properties']); + jestLib.expect(section).toContain(data.vsCodeConfiguration); } } ); diff --git a/test/unitTests/migrateOptions.test.ts b/test/unitTests/migrateOptions.test.ts index c5ef26e63..ddd8de4b9 100644 --- a/test/unitTests/migrateOptions.test.ts +++ b/test/unitTests/migrateOptions.test.ts @@ -9,8 +9,14 @@ import * as jestLib from '@jest/globals'; jestLib.describe('Migrate configuration should in package.json', () => { const packageJson = JSON.parse(readFileSync('package.json').toString()); - const properties = packageJson.contributes.configuration[1].properties; - const configurations = Object.keys(properties); + const configuration = packageJson.contributes.configuration; + // Read the "Project", "Text Editor", "Debugger", "LSP Server" sections of the package.json + const configurations = [ + ...Object.keys(configuration[0].properties), + ...Object.keys(configuration[1].properties), + ...Object.keys(configuration[2].properties), + ...Object.keys(configuration[3].properties), + ]; migrateOptions.forEach((data) => { jestLib.test(`Should have ${data.roslynOption} in package.json`, () => { From 901c288be9c62487f2aebbe0886a3cc6470a0d40 Mon Sep 17 00:00:00 2001 From: David Barbet Date: Thu, 9 Nov 2023 16:35:08 -0800 Subject: [PATCH 07/16] Throw instead of rejecting promises to get better integration test errors --- src/features/commands.ts | 4 ++-- src/omnisharp/server.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/features/commands.ts b/src/features/commands.ts index f57ecd8b2..646bb7ae2 100644 --- a/src/features/commands.ts +++ b/src/features/commands.ts @@ -198,13 +198,13 @@ async function dotnetRestoreAllProjects(server: OmniSharpServer, eventStream: Ev async function getProjectDescriptors(server: OmniSharpServer): Promise { if (!server.isRunning()) { - return Promise.reject('OmniSharp server is not running.'); + throw new Error('OmniSharp server is not running.'); } const info = await serverUtils.requestWorkspaceInformation(server); const descriptors = protocol.getDotNetCoreProjectDescriptors(info); if (descriptors.length === 0) { - return Promise.reject('No .NET Core projects found'); + throw new Error('No .NET Core projects found'); } return descriptors; diff --git a/src/omnisharp/server.ts b/src/omnisharp/server.ts index 8163b1d66..9475672d6 100644 --- a/src/omnisharp/server.ts +++ b/src/omnisharp/server.ts @@ -741,7 +741,7 @@ export class OmniSharpServer { public async makeRequest(command: string, data?: any, token?: CancellationToken): Promise { if (this._state.status !== ServerState.Started) { - return Promise.reject('OmniSharp server is not running.'); + throw new Error('OmniSharp server is not running.'); } const { engine } = this._state; From 3f654aa5e5dd19c3073298329959fa558d6899f4 Mon Sep 17 00:00:00 2001 From: David Wengier Date: Fri, 10 Nov 2023 21:39:31 +1100 Subject: [PATCH 08/16] Show a progress bar and allow the user to cancel --- l10n/bundle.l10n.json | 1 + .../downloadAndInstallPackages.ts | 13 ++++++-- src/packageManager/fileDownloader.ts | 20 ++++++----- src/razor/razorTelemetryDownloader.ts | 33 ++++++++++++------- tasks/offlinePackagingTasks.ts | 6 ++-- 5 files changed, 49 insertions(+), 24 deletions(-) diff --git a/l10n/bundle.l10n.json b/l10n/bundle.l10n.json index 859647485..790179d16 100644 --- a/l10n/bundle.l10n.json +++ b/l10n/bundle.l10n.json @@ -36,6 +36,7 @@ "Cancel": "Cancel", "Replace existing build and debug assets?": "Replace existing build and debug assets?", "Unable to generate assets to build and debug. {0}.": "Unable to generate assets to build and debug. {0}.", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Cannot load Razor language server because the directory was not found: '{0}'": "Cannot load Razor language server because the directory was not found: '{0}'", "Could not find '{0}' in or above '{1}'.": "Could not find '{0}' in or above '{1}'.", "Invalid trace setting for Razor language server. Defaulting to '{0}'": "Invalid trace setting for Razor language server. Defaulting to '{0}'", diff --git a/src/packageManager/downloadAndInstallPackages.ts b/src/packageManager/downloadAndInstallPackages.ts index 7a35a0a52..817bd73d7 100644 --- a/src/packageManager/downloadAndInstallPackages.ts +++ b/src/packageManager/downloadAndInstallPackages.ts @@ -15,12 +15,14 @@ import { InstallationFailure, IntegrityCheckFailure } from '../omnisharp/logging import { mkdirpSync } from 'fs-extra'; import { PackageInstallStart } from '../omnisharp/loggingEvents'; import { DownloadValidator } from './isValidDownload'; +import { CancellationToken } from 'vscode'; export async function downloadAndInstallPackages( packages: AbsolutePathPackage[], provider: NetworkSettingsProvider, eventStream: EventStream, - downloadValidator: DownloadValidator + downloadValidator: DownloadValidator, + token?: CancellationToken ): Promise { eventStream.post(new PackageInstallStart()); for (const pkg of packages) { @@ -33,7 +35,14 @@ export async function downloadAndInstallPackages( while (willTryInstallingPackage()) { count = count + 1; installationStage = 'downloadPackage'; - const buffer = await DownloadFile(pkg.description, eventStream, provider, pkg.url, pkg.fallbackUrl); + const buffer = await DownloadFile( + pkg.description, + eventStream, + provider, + pkg.url, + pkg.fallbackUrl, + token + ); if (downloadValidator(buffer, pkg.integrity, eventStream)) { installationStage = 'installPackage'; await InstallZip(buffer, pkg.description, pkg.installPath, pkg.binaries, eventStream); diff --git a/src/packageManager/fileDownloader.ts b/src/packageManager/fileDownloader.ts index a39919651..2dcec511e 100644 --- a/src/packageManager/fileDownloader.ts +++ b/src/packageManager/fileDownloader.ts @@ -17,18 +17,20 @@ import { NestedError } from '../nestedError'; import { parse as parseUrl } from 'url'; import { getProxyAgent } from './proxy'; import { NetworkSettingsProvider } from '../networkSettings'; +import { CancellationToken } from 'vscode'; export async function DownloadFile( description: string, eventStream: EventStream, networkSettingsProvider: NetworkSettingsProvider, url: string, - fallbackUrl?: string + fallbackUrl?: string, + token?: CancellationToken ): Promise { eventStream.post(new DownloadStart(description)); try { - const buffer = await downloadFile(description, url, eventStream, networkSettingsProvider); + const buffer = await downloadFile(description, url, eventStream, networkSettingsProvider, token); eventStream.post(new DownloadSuccess(` Done!`)); return buffer; } catch (primaryUrlError) { @@ -54,7 +56,8 @@ async function downloadFile( description: string, urlString: string, eventStream: EventStream, - networkSettingsProvider: NetworkSettingsProvider + networkSettingsProvider: NetworkSettingsProvider, + token?: CancellationToken ): Promise { const url = parseUrl(urlString); const networkSettings = networkSettingsProvider(); @@ -66,12 +69,15 @@ async function downloadFile( agent: getProxyAgent(url, proxy, strictSSL), port: url.port, rejectUnauthorized: strictSSL, - timeout: 5 * 60 * 1000, // timeout is in milliseconds }; const buffers: any[] = []; return new Promise((resolve, reject) => { + token?.onCancellationRequested(() => { + return reject(new NestedError(`Cancelled downloading ${urlString}.`)); + }); + const request = https.request(options, (response) => { if (response.statusCode === 301 || response.statusCode === 302) { // Redirect - download from new location @@ -82,7 +88,7 @@ async function downloadFile( return reject(new NestedError('Missing location')); } return resolve( - downloadFile(description, response.headers.location, eventStream, networkSettingsProvider) + downloadFile(description, response.headers.location, eventStream, networkSettingsProvider, token) ); } else if (response.statusCode !== 200) { // Download failed - print error message @@ -130,10 +136,6 @@ async function downloadFile( }); }); - request.on('timeout', () => { - request.destroy(new Error(`Timed out trying to download ${urlString}.`)); - }); - request.on('error', (err) => { reject(new NestedError(`Request error: ${err.message || 'NONE'}`, err)); }); diff --git a/src/razor/razorTelemetryDownloader.ts b/src/razor/razorTelemetryDownloader.ts index 4a434ddcc..6d5ea2d20 100644 --- a/src/razor/razorTelemetryDownloader.ts +++ b/src/razor/razorTelemetryDownloader.ts @@ -3,6 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ +import * as vscode from 'vscode'; import { PlatformInformation } from '../shared/platform'; import { PackageInstallation, LogPlatformInfo, InstallationSuccess } from '../omnisharp/loggingEvents'; import { EventStream } from '../eventStream'; @@ -42,17 +43,27 @@ export class RazorTelemetryDownloader { if (packagesToInstall.length > 0) { this.eventStream.post(new PackageInstallation(`Razor Telemetry Version = ${version}`)); this.eventStream.post(new LogPlatformInfo(this.platformInfo)); - if ( - await downloadAndInstallPackages( - packagesToInstall, - this.networkSettingsProvider, - this.eventStream, - isValidDownload - ) - ) { - this.eventStream.post(new InstallationSuccess()); - return true; - } + await vscode.window.withProgress( + { + location: vscode.ProgressLocation.Notification, + title: vscode.l10n.t('Downloading Razor Telemetry Package'), + cancellable: true, + }, + async (_, token) => { + if ( + await downloadAndInstallPackages( + packagesToInstall, + this.networkSettingsProvider, + this.eventStream, + isValidDownload, + token + ) + ) { + this.eventStream.post(new InstallationSuccess()); + return true; + } + } + ); } return false; diff --git a/tasks/offlinePackagingTasks.ts b/tasks/offlinePackagingTasks.ts index 420f73de5..3fbd5c77f 100644 --- a/tasks/offlinePackagingTasks.ts +++ b/tasks/offlinePackagingTasks.ts @@ -29,6 +29,7 @@ import { getPackageJSON } from '../tasks/packageJson'; import { createPackageAsync } from '../tasks/vsceTasks'; import { isValidDownload } from '../src/packageManager/isValidDownload'; import path = require('path'); +import { CancellationToken } from 'vscode'; // There are no typings for this library. // eslint-disable-next-line @typescript-eslint/no-var-requires const argv = require('yargs').argv; @@ -153,7 +154,8 @@ async function installDebugger(packageJSON: any, platformInfo: PlatformInformati async function installPackageJsonDependency( dependencyName: string, packageJSON: any, - platformInfo: PlatformInformation + platformInfo: PlatformInformation, + token?: CancellationToken ) { const eventStream = new EventStream(); const logger = new Logger((message) => process.stdout.write(message)); @@ -168,7 +170,7 @@ async function installPackageJsonDependency( codeExtensionPath ); const provider = () => new NetworkSettings('', true); - if (!(await downloadAndInstallPackages(packagesToInstall, provider, eventStream, isValidDownload))) { + if (!(await downloadAndInstallPackages(packagesToInstall, provider, eventStream, isValidDownload, token))) { throw Error('Failed to download package.'); } } From f26d525efb6c23efaa1fc2fe8a86f446cf29b306 Mon Sep 17 00:00:00 2001 From: David Barbet Date: Thu, 9 Nov 2023 18:13:41 -0800 Subject: [PATCH 09/16] Attempt to fix O# integration test flakiness --- .../diagnostics.integration.test.ts | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/omnisharptest/omnisharpIntegrationTests/diagnostics.integration.test.ts b/omnisharptest/omnisharpIntegrationTests/diagnostics.integration.test.ts index 4c550b172..b35b4f8cb 100644 --- a/omnisharptest/omnisharpIntegrationTests/diagnostics.integration.test.ts +++ b/omnisharptest/omnisharpIntegrationTests/diagnostics.integration.test.ts @@ -7,6 +7,7 @@ import { describe, expect, test, beforeAll, afterAll } from '@jest/globals'; import * as vscode from 'vscode'; import * as path from 'path'; import { + ActivationResult, activateCSharpExtension, describeIfNotGenerator, describeIfNotRazorOrGenerator, @@ -39,8 +40,10 @@ describeIfNotGenerator(`DiagnosticProvider: ${testAssetWorkspace.description}`, let razorFileUri: vscode.Uri; let virtualRazorFileUri: vscode.Uri; + let activation: ActivationResult; + beforeAll(async function () { - const activation = await activateCSharpExtension(); + activation = await activateCSharpExtension(); await testAssetWorkspace.restoreAndWait(activation); const fileName = 'diagnostics.cs'; @@ -53,10 +56,12 @@ describeIfNotGenerator(`DiagnosticProvider: ${testAssetWorkspace.description}`, virtualRazorFileUri = vscode.Uri.file(razorFileUri.fsPath + '__virtual.cs'); }); + afterAll(async () => { + await testAssetWorkspace.cleanupWorkspace(); + }); + describeIfRazor('razor workspace', () => { beforeAll(async function () { - const activation = await activateCSharpExtension(); - await testAssetWorkspace.restore(); await vscode.commands.executeCommand('vscode.open', razorFileUri); await testAssetWorkspace.waitForIdle(activation.eventStream); }); @@ -82,18 +87,11 @@ describeIfNotGenerator(`DiagnosticProvider: ${testAssetWorkspace.description}`, } ); }); - - afterAll(async () => { - await testAssetWorkspace.cleanupWorkspace(); - }); }); describeIfNotRazorOrGenerator('small workspace (based on maxProjectFileCountForDiagnosticAnalysis setting)', () => { beforeAll(async function () { - const activation = await activateCSharpExtension(); - await testAssetWorkspace.restore(); await vscode.commands.executeCommand('vscode.open', fileUri); - await testAssetWorkspace.waitForIdle(activation.eventStream); }); @@ -162,10 +160,6 @@ describeIfNotGenerator(`DiagnosticProvider: ${testAssetWorkspace.description}`, (res) => expect(res.length).toBeGreaterThan(0) ); }); - - afterAll(async () => { - await testAssetWorkspace.cleanupWorkspace(); - }); }); const describeCondition = @@ -179,8 +173,6 @@ describeIfNotGenerator(`DiagnosticProvider: ${testAssetWorkspace.description}`, describeCondition('large workspace (based on maxProjectFileCountForDiagnosticAnalysis setting)', () => { beforeAll(async function () { await setDiagnosticWorkspaceLimit(1); - const activation = await activateCSharpExtension(); - await testAssetWorkspace.restore(); await restartOmniSharpServer(); await testAssetWorkspace.waitForIdle(activation.eventStream); }); @@ -208,9 +200,5 @@ describeIfNotGenerator(`DiagnosticProvider: ${testAssetWorkspace.description}`, (secondaryDiag) => expect(secondaryDiag.length).toEqual(0) ); }); - - afterAll(async () => { - await testAssetWorkspace.cleanupWorkspace(); - }); }); }); From 12caffff0bafb6551a216e0c47ac191519977150 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Sat, 11 Nov 2023 22:24:36 +0000 Subject: [PATCH 10/16] Localization result of 87bcff018972352321f45474f0fe4c3370f20ad9. --- l10n/bundle.l10n.cs.json | 1 + l10n/bundle.l10n.de.json | 1 + l10n/bundle.l10n.es.json | 1 + l10n/bundle.l10n.fr.json | 1 + l10n/bundle.l10n.it.json | 1 + l10n/bundle.l10n.ja.json | 1 + l10n/bundle.l10n.ko.json | 1 + l10n/bundle.l10n.pl.json | 1 + l10n/bundle.l10n.pt-br.json | 1 + l10n/bundle.l10n.ru.json | 1 + l10n/bundle.l10n.tr.json | 1 + l10n/bundle.l10n.zh-cn.json | 1 + l10n/bundle.l10n.zh-tw.json | 1 + 13 files changed, 13 insertions(+) diff --git a/l10n/bundle.l10n.cs.json b/l10n/bundle.l10n.cs.json index 9dff4e285..d680d8700 100644 --- a/l10n/bundle.l10n.cs.json +++ b/l10n/bundle.l10n.cs.json @@ -37,6 +37,7 @@ "Do not load any": "Nic nenačítat", "Does not contain .NET Core projects.": "Neobsahuje projekty .NET Core.", "Don't Ask Again": "Příště už se neptat", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Povolit spuštění webového prohlížeče při spuštění ASP.NET Core. Další informace: {0}", "Error Message: ": "Chybová zpráva: ", "Expand": "Rozbalit", diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 2a42266d7..dbc473ce9 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -37,6 +37,7 @@ "Do not load any": "Keine laden", "Does not contain .NET Core projects.": "Enthält keine .NET Core-Projekte.", "Don't Ask Again": "Nicht mehr fragen", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Aktivieren Sie das Starten eines Webbrowsers, wenn ASP.NET Core gestartet wird. Weitere Informationen: {0}", "Error Message: ": "Fehlermeldung: ", "Expand": "Erweitern", diff --git a/l10n/bundle.l10n.es.json b/l10n/bundle.l10n.es.json index 1e33a96ce..29dbbd1c3 100644 --- a/l10n/bundle.l10n.es.json +++ b/l10n/bundle.l10n.es.json @@ -37,6 +37,7 @@ "Do not load any": "No cargar ninguno", "Does not contain .NET Core projects.": "No contiene proyectos de .NET Core.", "Don't Ask Again": "No volver a preguntar", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Habilite el inicio de un explorador web cuando se inicie ASP.NET Core. Para obtener más información: {0}", "Error Message: ": "Mensaje de error: ", "Expand": "Expandir", diff --git a/l10n/bundle.l10n.fr.json b/l10n/bundle.l10n.fr.json index 2458cdb58..bb0dfeda3 100644 --- a/l10n/bundle.l10n.fr.json +++ b/l10n/bundle.l10n.fr.json @@ -37,6 +37,7 @@ "Do not load any": "Ne charger aucun", "Does not contain .NET Core projects.": "Ne contient pas de projets .NET Core.", "Don't Ask Again": "Ne plus me poser la question", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Activez le lancement d’un navigateur web au démarrage de ASP.NET Core. Pour plus d’informations : {0}", "Error Message: ": "Message d'erreur : ", "Expand": "Développer", diff --git a/l10n/bundle.l10n.it.json b/l10n/bundle.l10n.it.json index c9bb68ab9..521e0f830 100644 --- a/l10n/bundle.l10n.it.json +++ b/l10n/bundle.l10n.it.json @@ -37,6 +37,7 @@ "Do not load any": "Non caricare", "Does not contain .NET Core projects.": "Non contiene progetti .NET Core.", "Don't Ask Again": "Non chiedere più", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Abilita l'avvio di un Web browser all'avvio di ASP.NET Core. Per ulteriori informazioni: {0}", "Error Message: ": "Messaggio di errore: ", "Expand": "Espandi", diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index db969bcf6..743b48f69 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -37,6 +37,7 @@ "Do not load any": "何も読み込まない", "Does not contain .NET Core projects.": ".NET Core プロジェクトが含まれていません。", "Don't Ask Again": "今後このメッセージを表示しない", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "ASP.NET Core の起動時に Web ブラウザーの起動を有効にします。詳細については、次を参照してください: {0}", "Error Message: ": "エラー メッセージ: ", "Expand": "展開する", diff --git a/l10n/bundle.l10n.ko.json b/l10n/bundle.l10n.ko.json index b28aec97e..f84823b08 100644 --- a/l10n/bundle.l10n.ko.json +++ b/l10n/bundle.l10n.ko.json @@ -37,6 +37,7 @@ "Do not load any": "로드 안 함", "Does not contain .NET Core projects.": ".NET Core 프로젝트가 포함되어 있지 않습니다.", "Don't Ask Again": "다시 묻지 않음", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "ASP.NET Core가 시작될 때 웹 브라우저 실행을 활성화합니다. 자세한 내용: {0}", "Error Message: ": "오류 메시지: ", "Expand": "확장", diff --git a/l10n/bundle.l10n.pl.json b/l10n/bundle.l10n.pl.json index a65ae6bf6..d1e34ac02 100644 --- a/l10n/bundle.l10n.pl.json +++ b/l10n/bundle.l10n.pl.json @@ -37,6 +37,7 @@ "Do not load any": "Nie ładuj żadnych", "Does not contain .NET Core projects.": "Nie zawiera projektów platformy .NET Core.", "Don't Ask Again": "Nie pytaj ponownie", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Włącz uruchamianie przeglądarki internetowej po uruchomieniu platformy ASP.NET Core. Aby uzyskać więcej informacji: {0}", "Error Message: ": "Komunikat o błędzie: ", "Expand": "Rozwiń", diff --git a/l10n/bundle.l10n.pt-br.json b/l10n/bundle.l10n.pt-br.json index 0bc14426e..f5d415488 100644 --- a/l10n/bundle.l10n.pt-br.json +++ b/l10n/bundle.l10n.pt-br.json @@ -37,6 +37,7 @@ "Do not load any": "Não carregue nenhum", "Does not contain .NET Core projects.": "Não contém projetos do .NET Core.", "Don't Ask Again": "Não perguntar novamente", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Habilitar a inicialização de um navegador da web quando o ASP.NET Core for iniciado. Para obter mais informações: {0}", "Error Message: ": "Mensagem de Erro: ", "Expand": "Expandir", diff --git a/l10n/bundle.l10n.ru.json b/l10n/bundle.l10n.ru.json index c99e9150d..31f3a0104 100644 --- a/l10n/bundle.l10n.ru.json +++ b/l10n/bundle.l10n.ru.json @@ -37,6 +37,7 @@ "Do not load any": "Не загружать", "Does not contain .NET Core projects.": "Не содержит проектов .NET Core.", "Don't Ask Again": "Больше не спрашивать", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Включите запуск веб-браузера при запуске ASP.NET Core. Для получения дополнительных сведений: {0}", "Error Message: ": "Сообщение об ошибке: ", "Expand": "Развернуть", diff --git a/l10n/bundle.l10n.tr.json b/l10n/bundle.l10n.tr.json index 49ce7bd0b..54fe97f69 100644 --- a/l10n/bundle.l10n.tr.json +++ b/l10n/bundle.l10n.tr.json @@ -37,6 +37,7 @@ "Do not load any": "Hiçbir şey yükleme", "Does not contain .NET Core projects.": ".NET Core projeleri içermiyor.", "Don't Ask Again": "Bir Daha Sorma", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "ASP.NET Core başlatıldığında bir web tarayıcısını başlatmayı etkinleştirin. Daha fazla bilgi için: {0}", "Error Message: ": "Hata İletisi: ", "Expand": "Genişlet", diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 81b8a5778..8dcf5f4d3 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -37,6 +37,7 @@ "Do not load any": "请勿加载任何", "Does not contain .NET Core projects.": "不包含 .NET Core 项目。", "Don't Ask Again": "不再询问", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "启用在启动 ASP.NET Core 时启动 Web 浏览器。有关详细信息: {0}", "Error Message: ": "错误消息: ", "Expand": "展开", diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index b29697e82..a73d9dd50 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -37,6 +37,7 @@ "Do not load any": "不要載入", "Does not contain .NET Core projects.": "不包含 .NET Core 專案。", "Don't Ask Again": "不要再詢問", + "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "啟用在 ASP.NET Core 開始時啟動網頁瀏覽器。如需詳細資訊: {0}", "Error Message: ": "錯誤訊息: ", "Expand": "展開", From 691eec9e4f6edb0ae3b037e8513089b37add0a22 Mon Sep 17 00:00:00 2001 From: David Barbet Date: Mon, 13 Nov 2023 11:10:24 -0800 Subject: [PATCH 11/16] Replace jestlib import with regular import --- .../optionChangeObserver.test.ts | 114 +++++++-------- .../lspInlayHints.integration.test.ts | 20 +-- .../unitTests.integration.test.ts | 106 +++++++------- .../unitTests/configurationMiddleware.test.ts | 25 ++-- test/unitTests/json.test.ts | 72 +++++----- ...languageServerConfigChangeObserver.test.ts | 131 ++++++++---------- test/unitTests/migrateOptions.test.ts | 8 +- test/unitTests/packageNlsJson.test.ts | 8 +- 8 files changed, 223 insertions(+), 261 deletions(-) diff --git a/omnisharptest/omnisharpUnitTests/optionChangeObserver.test.ts b/omnisharptest/omnisharpUnitTests/optionChangeObserver.test.ts index 27f0f13ca..f24983699 100644 --- a/omnisharptest/omnisharpUnitTests/optionChangeObserver.test.ts +++ b/omnisharptest/omnisharpUnitTests/optionChangeObserver.test.ts @@ -7,11 +7,11 @@ import { timeout } from 'rxjs/operators'; import { from as observableFrom, Subject, BehaviorSubject } from 'rxjs'; import { registerOmnisharpOptionChanges } from '../../src/omnisharp/omnisharpOptionChanges'; -import * as jestLib from '@jest/globals'; +import { describe, beforeEach, test, expect } from '@jest/globals'; import * as vscode from 'vscode'; import { getVSCodeWithConfig, updateConfig } from '../../test/unitTests/fakes'; -jestLib.describe('OmniSharpConfigChangeObserver', () => { +describe('OmniSharpConfigChangeObserver', () => { let doClickOk: () => void; let doClickCancel: () => void; let signalCommandDone: () => void; @@ -20,7 +20,7 @@ jestLib.describe('OmniSharpConfigChangeObserver', () => { let invokedCommand: string | undefined; let optionObservable: Subject; - jestLib.beforeEach(() => { + beforeEach(() => { resetMocks(); optionObservable = new BehaviorSubject(undefined); infoMessage = undefined; @@ -40,80 +40,64 @@ jestLib.describe('OmniSharpConfigChangeObserver', () => { { config: 'omnisharp', section: 'useModernNet', value: false }, { config: 'omnisharp', section: 'loggingLevel', value: 'verbose' }, ].forEach((elem) => { - jestLib.describe(`When the ${elem.config} ${elem.section} changes`, () => { - jestLib.beforeEach(() => { - jestLib.expect(infoMessage).toBe(undefined); - jestLib.expect(invokedCommand).toBe(undefined); + describe(`When the ${elem.config} ${elem.section} changes`, () => { + beforeEach(() => { + expect(infoMessage).toBe(undefined); + expect(invokedCommand).toBe(undefined); updateConfig(vscode, elem.config, elem.section, elem.value); optionObservable.next(); }); - jestLib.test(`The information message is shown`, async () => { - jestLib - .expect(infoMessage) - .toEqual( - 'C# configuration has changed. Would you like to relaunch the Language Server with your changes?' - ); + test(`The information message is shown`, async () => { + expect(infoMessage).toEqual( + 'C# configuration has changed. Would you like to relaunch the Language Server with your changes?' + ); }); - jestLib.test( - 'Given an information message if the user clicks cancel, the command is not executed', - async () => { - doClickCancel(); - const from = observableFrom(commandDone!).pipe(timeout(1)); - const fromPromise = from.toPromise(); - await jestLib.expect(fromPromise).rejects.toThrow(); - jestLib.expect(invokedCommand).toBe(undefined); - } - ); - - jestLib.test( - 'Given an information message if the user clicks Reload, the command is executed', - async () => { - doClickOk(); - await commandDone; - jestLib.expect(invokedCommand).toEqual('o.restart'); - } - ); + test('Given an information message if the user clicks cancel, the command is not executed', async () => { + doClickCancel(); + const from = observableFrom(commandDone!).pipe(timeout(1)); + const fromPromise = from.toPromise(); + await expect(fromPromise).rejects.toThrow(); + expect(invokedCommand).toBe(undefined); + }); + + test('Given an information message if the user clicks Reload, the command is executed', async () => { + doClickOk(); + await commandDone; + expect(invokedCommand).toEqual('o.restart'); + }); }); }); [{ config: 'dotnet', section: 'server.useOmnisharp', value: true }].forEach((elem) => { - jestLib.describe(`When the ${elem.config} ${elem.section} changes`, () => { - jestLib.beforeEach(() => { - jestLib.expect(infoMessage).toBe(undefined); - jestLib.expect(invokedCommand).toBe(undefined); + describe(`When the ${elem.config} ${elem.section} changes`, () => { + beforeEach(() => { + expect(infoMessage).toBe(undefined); + expect(invokedCommand).toBe(undefined); updateConfig(vscode, elem.config, elem.section, elem.value); optionObservable.next(); }); - jestLib.test(`The information message is shown`, async () => { - jestLib - .expect(infoMessage) - .toEqual( - 'dotnet.server.useOmnisharp option has changed. Please reload the window to apply the change' - ); + test(`The information message is shown`, async () => { + expect(infoMessage).toEqual( + 'dotnet.server.useOmnisharp option has changed. Please reload the window to apply the change' + ); }); - jestLib.test( - 'Given an information message if the user clicks cancel, the command is not executed', - async () => { - doClickCancel(); - const from = observableFrom(commandDone!).pipe(timeout(1)); - const fromPromise = from.toPromise(); - await jestLib.expect(fromPromise).rejects.toThrow(); - jestLib.expect(invokedCommand).toBe(undefined); - } - ); - - jestLib.test( - 'Given an information message if the user clicks Reload, the command is executed', - async () => { - doClickOk(); - await commandDone; - jestLib.expect(invokedCommand).toEqual('workbench.action.reloadWindow'); - } - ); + test('Given an information message if the user clicks cancel, the command is not executed', async () => { + doClickCancel(); + const from = observableFrom(commandDone!).pipe(timeout(1)); + const fromPromise = from.toPromise(); + await expect(fromPromise).rejects.toThrow(); + expect(invokedCommand).toBe(undefined); + }); + + test('Given an information message if the user clicks Reload, the command is executed', async () => { + doClickOk(); + await commandDone; + expect(invokedCommand).toEqual('workbench.action.reloadWindow'); + }); }); }); @@ -127,12 +111,12 @@ jestLib.describe('OmniSharpConfigChangeObserver', () => { { config: 'omnisharp', section: 'projectLoadTimeout', value: 1000 }, { config: 'omnisharp', section: 'autoStart', value: false }, ].forEach((elem) => { - jestLib.test(`Information Message is not shown on change in ${elem.config}.${elem.section}`, () => { - jestLib.expect(infoMessage).toBe(undefined); - jestLib.expect(invokedCommand).toBe(undefined); + test(`Information Message is not shown on change in ${elem.config}.${elem.section}`, () => { + expect(infoMessage).toBe(undefined); + expect(invokedCommand).toBe(undefined); updateConfig(vscode, elem.config, elem.section, elem.value); optionObservable.next(); - jestLib.expect(infoMessage).toBe(undefined); + expect(infoMessage).toBe(undefined); }); }); diff --git a/test/integrationTests/lspInlayHints.integration.test.ts b/test/integrationTests/lspInlayHints.integration.test.ts index 2bc54c858..c476179bb 100644 --- a/test/integrationTests/lspInlayHints.integration.test.ts +++ b/test/integrationTests/lspInlayHints.integration.test.ts @@ -5,13 +5,13 @@ import * as path from 'path'; import * as vscode from 'vscode'; -import * as jestLib from '@jest/globals'; +import { describe, beforeAll, afterAll, test, expect } from '@jest/globals'; import testAssetWorkspace from './testAssets/testAssetWorkspace'; import * as integrationHelpers from './integrationHelpers'; import { InlayHint, InlayHintKind, Position } from 'vscode-languageserver-protocol'; -jestLib.describe(`[${testAssetWorkspace.description}] Test LSP Inlay Hints `, function () { - jestLib.beforeAll(async function () { +describe(`[${testAssetWorkspace.description}] Test LSP Inlay Hints `, function () { + beforeAll(async function () { const editorConfig = vscode.workspace.getConfiguration('editor'); await editorConfig.update('inlayHints.enabled', true); const dotnetConfig = vscode.workspace.getConfiguration('dotnet'); @@ -34,11 +34,11 @@ jestLib.describe(`[${testAssetWorkspace.description}] Test LSP Inlay Hints `, fu await integrationHelpers.activateCSharpExtension(); }); - jestLib.afterAll(async () => { + afterAll(async () => { await testAssetWorkspace.cleanupWorkspace(); }); - jestLib.test('Hints retrieved for region', async () => { + test('Hints retrieved for region', async () => { const range = new vscode.Range(new vscode.Position(4, 8), new vscode.Position(15, 85)); const activeDocument = vscode.window.activeTextEditor?.document.uri; if (!activeDocument) { @@ -50,7 +50,7 @@ jestLib.describe(`[${testAssetWorkspace.description}] Test LSP Inlay Hints `, fu range ); - jestLib.expect(hints).toHaveLength(6); + expect(hints).toHaveLength(6); assertInlayHintEqual(hints[0], InlayHint.create(Position.create(6, 12), 'InlayHints', InlayHintKind.Type)); assertInlayHintEqual(hints[1], InlayHint.create(Position.create(7, 27), 'InlayHints', InlayHintKind.Type)); @@ -61,10 +61,10 @@ jestLib.describe(`[${testAssetWorkspace.description}] Test LSP Inlay Hints `, fu function assertInlayHintEqual(actual: vscode.InlayHint, expected: InlayHint) { const actualLabel = actual.label as string; - jestLib.expect(actualLabel).toBe(expected.label); - jestLib.expect(actual.position.line).toBe(expected.position.line); - jestLib.expect(actual.position.character).toBe(expected.position.character); - jestLib.expect(actual.kind).toBe(expected.kind); + expect(actualLabel).toBe(expected.label); + expect(actual.position.line).toBe(expected.position.line); + expect(actual.position.character).toBe(expected.position.character); + expect(actual.kind).toBe(expected.kind); } }); }); diff --git a/test/integrationTests/unitTests.integration.test.ts b/test/integrationTests/unitTests.integration.test.ts index c57a5427b..c2e64b1ed 100644 --- a/test/integrationTests/unitTests.integration.test.ts +++ b/test/integrationTests/unitTests.integration.test.ts @@ -5,17 +5,17 @@ import * as vscode from 'vscode'; import * as path from 'path'; -import * as jestLib from '@jest/globals'; +import { describe, beforeAll, beforeEach, afterAll, test, expect } from '@jest/globals'; import testAssetWorkspace from './testAssets/testAssetWorkspace'; import { activateCSharpExtension, openFileInWorkspaceAsync } from './integrationHelpers'; import { TestProgress } from '../../src/lsptoolshost/roslynProtocol'; -jestLib.describe(`[${testAssetWorkspace.description}] Test Unit Testing`, function () { - jestLib.beforeAll(async function () { +describe(`[${testAssetWorkspace.description}] Test Unit Testing`, function () { + beforeAll(async function () { await activateCSharpExtension(); }); - jestLib.beforeEach(async function () { + beforeEach(async function () { vscode.workspace .getConfiguration() .update('dotnet.unitTests.runSettingsPath', undefined, vscode.ConfigurationTarget.Workspace); @@ -23,69 +23,69 @@ jestLib.describe(`[${testAssetWorkspace.description}] Test Unit Testing`, functi await openFileInWorkspaceAsync(fileName); }); - jestLib.afterAll(async () => { + afterAll(async () => { await testAssetWorkspace.cleanupWorkspace(); }); - jestLib.test('Unit test code lens items are displayed', async () => { + test('Unit test code lens items are displayed', async () => { const codeLenses = await getCodeLensesAsync(); - jestLib.expect(codeLenses).toHaveLength(9); + expect(codeLenses).toHaveLength(9); const classRange = new vscode.Range(new vscode.Position(5, 17), new vscode.Position(5, 26)); // Class level debug all tests - jestLib.expect(codeLenses[1].command?.command).toBe('dotnet.test.run'); - jestLib.expect(codeLenses[1].command?.title).toBe('Debug All Tests'); - jestLib.expect(codeLenses[1].command?.arguments![0].attachDebugger).toBe(true); - jestLib.expect(codeLenses[1].range).toStrictEqual(classRange); + expect(codeLenses[1].command?.command).toBe('dotnet.test.run'); + expect(codeLenses[1].command?.title).toBe('Debug All Tests'); + expect(codeLenses[1].command?.arguments![0].attachDebugger).toBe(true); + expect(codeLenses[1].range).toStrictEqual(classRange); // Class level run all tests - jestLib.expect(codeLenses[2].command?.command).toBe('dotnet.test.run'); - jestLib.expect(codeLenses[2].command?.title).toBe('Run All Tests'); - jestLib.expect(codeLenses[2].command?.arguments![0].attachDebugger).toBe(false); - jestLib.expect(codeLenses[2].range).toStrictEqual(classRange); + expect(codeLenses[2].command?.command).toBe('dotnet.test.run'); + expect(codeLenses[2].command?.title).toBe('Run All Tests'); + expect(codeLenses[2].command?.arguments![0].attachDebugger).toBe(false); + expect(codeLenses[2].range).toStrictEqual(classRange); let methodRange = new vscode.Range(new vscode.Position(8, 20), new vscode.Position(8, 25)); // Method level run and debug test - jestLib.expect(codeLenses[4].command?.command).toBe('dotnet.test.run'); - jestLib.expect(codeLenses[4].command?.title).toBe('Debug Test'); - jestLib.expect(codeLenses[4].command?.arguments![0].attachDebugger).toBe(true); - jestLib.expect(codeLenses[4].range).toStrictEqual(methodRange); - jestLib.expect(codeLenses[5].command?.command).toBe('dotnet.test.run'); - jestLib.expect(codeLenses[5].command?.title).toBe('Run Test'); - jestLib.expect(codeLenses[5].command?.arguments![0].attachDebugger).toBe(false); - jestLib.expect(codeLenses[5].range).toStrictEqual(methodRange); + expect(codeLenses[4].command?.command).toBe('dotnet.test.run'); + expect(codeLenses[4].command?.title).toBe('Debug Test'); + expect(codeLenses[4].command?.arguments![0].attachDebugger).toBe(true); + expect(codeLenses[4].range).toStrictEqual(methodRange); + expect(codeLenses[5].command?.command).toBe('dotnet.test.run'); + expect(codeLenses[5].command?.title).toBe('Run Test'); + expect(codeLenses[5].command?.arguments![0].attachDebugger).toBe(false); + expect(codeLenses[5].range).toStrictEqual(methodRange); methodRange = new vscode.Range(new vscode.Position(15, 20), new vscode.Position(15, 25)); - jestLib.expect(codeLenses[7].command?.command).toBe('dotnet.test.run'); - jestLib.expect(codeLenses[7].command?.title).toBe('Debug Test'); - jestLib.expect(codeLenses[7].command?.arguments![0].attachDebugger).toBe(true); - jestLib.expect(codeLenses[7].range).toStrictEqual(methodRange); - jestLib.expect(codeLenses[8].command?.command).toBe('dotnet.test.run'); - jestLib.expect(codeLenses[8].command?.title).toBe('Run Test'); - jestLib.expect(codeLenses[8].command?.arguments![0].attachDebugger).toBe(false); - jestLib.expect(codeLenses[8].range).toStrictEqual(methodRange); + expect(codeLenses[7].command?.command).toBe('dotnet.test.run'); + expect(codeLenses[7].command?.title).toBe('Debug Test'); + expect(codeLenses[7].command?.arguments![0].attachDebugger).toBe(true); + expect(codeLenses[7].range).toStrictEqual(methodRange); + expect(codeLenses[8].command?.command).toBe('dotnet.test.run'); + expect(codeLenses[8].command?.title).toBe('Run Test'); + expect(codeLenses[8].command?.arguments![0].attachDebugger).toBe(false); + expect(codeLenses[8].range).toStrictEqual(methodRange); }); - jestLib.test('Code lens command executes tests', async () => { + test('Code lens command executes tests', async () => { const codeLenses = await getCodeLensesAsync(); - jestLib.expect(codeLenses).toHaveLength(9); + expect(codeLenses).toHaveLength(9); const runAllTestsCommand = codeLenses[2].command!; - jestLib.expect(runAllTestsCommand.title).toBe('Run All Tests'); + expect(runAllTestsCommand.title).toBe('Run All Tests'); const testResults = await vscode.commands.executeCommand( runAllTestsCommand.command, runAllTestsCommand.arguments![0] ); - jestLib.expect(testResults).toBeDefined(); - jestLib.expect(testResults?.totalTests).toEqual(2); - jestLib.expect(testResults?.testsPassed).toEqual(2); - jestLib.expect(testResults?.testsFailed).toEqual(0); - jestLib.expect(testResults?.testsSkipped).toEqual(0); + expect(testResults).toBeDefined(); + expect(testResults?.totalTests).toEqual(2); + expect(testResults?.testsPassed).toEqual(2); + expect(testResults?.testsFailed).toEqual(0); + expect(testResults?.testsSkipped).toEqual(0); }); - jestLib.test('dotnet.test.runTestsInContext executes tests', async () => { + test('dotnet.test.runTestsInContext executes tests', async () => { const activeEditor = vscode.window.activeTextEditor; if (!activeEditor) { throw new Error('No active editor'); @@ -97,31 +97,31 @@ jestLib.describe(`[${testAssetWorkspace.description}] Test Unit Testing`, functi 'dotnet.test.runTestsInContext', activeEditor ); - jestLib.expect(testResults).toBeDefined(); - jestLib.expect(testResults?.totalTests).toEqual(1); - jestLib.expect(testResults?.testsPassed).toEqual(1); - jestLib.expect(testResults?.testsFailed).toEqual(0); - jestLib.expect(testResults?.testsSkipped).toEqual(0); + expect(testResults).toBeDefined(); + expect(testResults?.totalTests).toEqual(1); + expect(testResults?.testsPassed).toEqual(1); + expect(testResults?.testsFailed).toEqual(0); + expect(testResults?.testsSkipped).toEqual(0); }); - jestLib.test('Run tests uses .runsettings', async () => { + test('Run tests uses .runsettings', async () => { await vscode.workspace.getConfiguration().update('dotnet.unitTests.runSettingsPath', '.runsettings'); const codeLenses = await getCodeLensesAsync(); - jestLib.expect(codeLenses).toHaveLength(9); + expect(codeLenses).toHaveLength(9); const runAllTestsCommand = codeLenses[2].command!; - jestLib.expect(runAllTestsCommand.title).toBe('Run All Tests'); + expect(runAllTestsCommand.title).toBe('Run All Tests'); const testResults = await vscode.commands.executeCommand( runAllTestsCommand.command, runAllTestsCommand.arguments![0] ); - jestLib.expect(testResults).toBeDefined(); - jestLib.expect(testResults?.totalTests).toEqual(1); - jestLib.expect(testResults?.testsPassed).toEqual(1); - jestLib.expect(testResults?.testsFailed).toEqual(0); - jestLib.expect(testResults?.testsSkipped).toEqual(0); + expect(testResults).toBeDefined(); + expect(testResults?.totalTests).toEqual(1); + expect(testResults?.testsPassed).toEqual(1); + expect(testResults?.testsFailed).toEqual(0); + expect(testResults?.testsSkipped).toEqual(0); }); }); diff --git a/test/unitTests/configurationMiddleware.test.ts b/test/unitTests/configurationMiddleware.test.ts index db08c07ce..001f46c29 100644 --- a/test/unitTests/configurationMiddleware.test.ts +++ b/test/unitTests/configurationMiddleware.test.ts @@ -5,7 +5,7 @@ import { readFileSync } from 'fs'; import { convertServerOptionNameToClientConfigurationName } from '../../src/lsptoolshost/optionNameConverter'; -import * as jestLib from '@jest/globals'; +import { describe, test, expect } from '@jest/globals'; const editorBehaviorSection = 1; const testData = [ @@ -263,25 +263,22 @@ const testData = [ }, ]; -jestLib.describe('Server option name to vscode configuration name test', () => { +describe('Server option name to vscode configuration name test', () => { const packageJson = JSON.parse(readFileSync('package.json').toString()); const configurations = packageJson['contributes']['configuration']; const numConfigurations = 5; - jestLib.test('Max server sections are expected', () => { - jestLib.expect(configurations.length).toBe(numConfigurations); + test('Max server sections are expected', () => { + expect(configurations.length).toBe(numConfigurations); }); testData.forEach((data) => { - jestLib.test( - `Server option name ${data.serverOption} should be converted to ${data.vsCodeConfiguration}`, - () => { - const actualName = convertServerOptionNameToClientConfigurationName(data.serverOption); - jestLib.expect(actualName).toBe(data.vsCodeConfiguration); - if (data.declareInPackageJson) { - const section = Object.keys(configurations[data.section!]['properties']); - jestLib.expect(section).toContain(data.vsCodeConfiguration); - } + test(`Server option name ${data.serverOption} should be converted to ${data.vsCodeConfiguration}`, () => { + const actualName = convertServerOptionNameToClientConfigurationName(data.serverOption); + expect(actualName).toBe(data.vsCodeConfiguration); + if (data.declareInPackageJson) { + const section = Object.keys(configurations[data.section!]['properties']); + expect(section).toContain(data.vsCodeConfiguration); } - ); + }); }); }); diff --git a/test/unitTests/json.test.ts b/test/unitTests/json.test.ts index 99fc54a97..6a55dcd55 100644 --- a/test/unitTests/json.test.ts +++ b/test/unitTests/json.test.ts @@ -4,10 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import { tolerantParse } from '../../src/json'; -import * as jestLib from '@jest/globals'; +import { describe, test, expect } from '@jest/globals'; -jestLib.describe('JSON', () => { - jestLib.test('no comments', () => { +describe('JSON', () => { + test('no comments', () => { const text = `{ "hello": "world" }`; @@ -15,10 +15,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(text); + expect(result).toEqual(text); }); - jestLib.test('no comments (minified)', () => { + test('no comments (minified)', () => { const text = `{"hello":"world","from":"json"}`; const expected = `{ @@ -29,10 +29,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('single-line comment before JSON', () => { + test('single-line comment before JSON', () => { const text = `// comment { "hello": "world\\"" // comment @@ -45,10 +45,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('single-line comment on separate line', () => { + test('single-line comment on separate line', () => { const text = `{ // comment "hello": "world" @@ -61,10 +61,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('single-line comment at end of line', () => { + test('single-line comment at end of line', () => { const text = `{ "hello": "world" // comment }`; @@ -76,10 +76,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('single-line comment at end of text', () => { + test('single-line comment at end of text', () => { const text = `{ "hello": "world" } // comment`; @@ -91,10 +91,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('ignore single-line comment inside string', () => { + test('ignore single-line comment inside string', () => { const text = `{ "hello": "world // comment" }`; @@ -102,10 +102,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(text); + expect(result).toEqual(text); }); - jestLib.test('single-line comment after string with escaped double quote', () => { + test('single-line comment after string with escaped double quote', () => { const text = `{ "hello": "world\\"" // comment }`; @@ -117,10 +117,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('multi-line comment at start of text', () => { + test('multi-line comment at start of text', () => { const text = `/**/{ "hello": "world" }`; @@ -132,10 +132,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('comment out key/value pair', () => { + test('comment out key/value pair', () => { const text = `{ /*"hello": "world"*/ "from": "json" @@ -148,10 +148,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('multi-line comment at end of text', () => { + test('multi-line comment at end of text', () => { const text = `{ "hello": "world" }/**/`; @@ -163,10 +163,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('ignore multi-line comment inside string', () => { + test('ignore multi-line comment inside string', () => { const text = `{ "hello": "wo/**/rld" }`; @@ -178,10 +178,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('ignore BOM', () => { + test('ignore BOM', () => { const text = `\uFEFF{ "hello": "world" }`; @@ -193,10 +193,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('ignore trailing comma in object member list', () => { + test('ignore trailing comma in object member list', () => { const text = `{ "obj": { "hello": "world", @@ -214,10 +214,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('ignore trailing comma in array element list', () => { + test('ignore trailing comma in array element list', () => { const text = `{ "array": [ "element1", @@ -235,10 +235,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('ignore trailing comma in object member list with leading and trailing whitespace', () => { + test('ignore trailing comma in object member list with leading and trailing whitespace', () => { const text = `{ "obj": { "a" : 1 , } }`; @@ -252,10 +252,10 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); - jestLib.test('single-line comments in multiple locations', () => { + test('single-line comments in multiple locations', () => { const text = ` // This comment should be allowed. { @@ -287,6 +287,6 @@ jestLib.describe('JSON', () => { const json = tolerantParse(text); const result = JSON.stringify(json, null, 4); - jestLib.expect(result).toEqual(expected); + expect(result).toEqual(expected); }); }); diff --git a/test/unitTests/languageServerConfigChangeObserver.test.ts b/test/unitTests/languageServerConfigChangeObserver.test.ts index d9cc72e76..d16b53ac1 100644 --- a/test/unitTests/languageServerConfigChangeObserver.test.ts +++ b/test/unitTests/languageServerConfigChangeObserver.test.ts @@ -7,11 +7,11 @@ import { timeout } from 'rxjs/operators'; import { from as observableFrom, Subject, BehaviorSubject } from 'rxjs'; import { registerLanguageServerOptionChanges } from '../../src/lsptoolshost/optionChanges'; -import * as jestLib from '@jest/globals'; +import { describe, beforeEach, test, expect } from '@jest/globals'; import * as vscode from 'vscode'; import { getVSCodeWithConfig, updateConfig } from './fakes'; -jestLib.describe('Option changes observer', () => { +describe('Option changes observer', () => { let doClickOk: () => void; let doClickCancel: () => void; let signalCommandDone: () => void; @@ -20,7 +20,7 @@ jestLib.describe('Option changes observer', () => { let invokedCommand: string | undefined; let optionObservable: Subject; - jestLib.beforeEach(() => { + beforeEach(() => { resetMocks(); optionObservable = new BehaviorSubject(undefined); infoMessage = undefined; @@ -38,80 +38,64 @@ jestLib.describe('Option changes observer', () => { { config: 'dotnet', section: 'server.trace', value: 'trace' }, { config: 'dotnet', section: 'preferCSharpExtension', value: true }, ].forEach((elem) => { - jestLib.describe(`When the ${elem.config}.${elem.section} changes`, () => { - jestLib.beforeEach(() => { - jestLib.expect(infoMessage).toBe(undefined); - jestLib.expect(invokedCommand).toBe(undefined); + describe(`When the ${elem.config}.${elem.section} changes`, () => { + beforeEach(() => { + expect(infoMessage).toBe(undefined); + expect(invokedCommand).toBe(undefined); updateConfig(vscode, elem.config, elem.section, elem.value); optionObservable.next(); }); - jestLib.test(`The information message is shown`, async () => { - jestLib - .expect(infoMessage) - .toEqual( - 'C# configuration has changed. Would you like to reload the window to apply your changes?' - ); + test(`The information message is shown`, async () => { + expect(infoMessage).toEqual( + 'C# configuration has changed. Would you like to reload the window to apply your changes?' + ); }); - jestLib.test( - 'Given an information message if the user clicks cancel, the command is not executed', - async () => { - doClickCancel(); - const from = observableFrom(commandDone!).pipe(timeout(1)); - const fromPromise = from.toPromise(); - await jestLib.expect(fromPromise).rejects.toThrow(); - jestLib.expect(invokedCommand).toBe(undefined); - } - ); - - jestLib.test( - 'Given an information message if the user clicks Reload, the command is executed', - async () => { - doClickOk(); - await commandDone; - jestLib.expect(invokedCommand).toEqual('workbench.action.reloadWindow'); - } - ); + test('Given an information message if the user clicks cancel, the command is not executed', async () => { + doClickCancel(); + const from = observableFrom(commandDone!).pipe(timeout(1)); + const fromPromise = from.toPromise(); + await expect(fromPromise).rejects.toThrow(); + expect(invokedCommand).toBe(undefined); + }); + + test('Given an information message if the user clicks Reload, the command is executed', async () => { + doClickOk(); + await commandDone; + expect(invokedCommand).toEqual('workbench.action.reloadWindow'); + }); }); }); [{ config: 'dotnet', section: 'server.useOmnisharp', value: true }].forEach((elem) => { - jestLib.describe(`When the ${elem.config}.${elem.section} changes`, () => { - jestLib.beforeEach(() => { - jestLib.expect(infoMessage).toBe(undefined); - jestLib.expect(invokedCommand).toBe(undefined); + describe(`When the ${elem.config}.${elem.section} changes`, () => { + beforeEach(() => { + expect(infoMessage).toBe(undefined); + expect(invokedCommand).toBe(undefined); updateConfig(vscode, elem.config, elem.section, elem.value); optionObservable.next(); }); - jestLib.test(`The information message is shown`, async () => { - jestLib - .expect(infoMessage) - .toEqual( - 'dotnet.server.useOmnisharp option has changed. Please reload the window to apply the change' - ); + test(`The information message is shown`, async () => { + expect(infoMessage).toEqual( + 'dotnet.server.useOmnisharp option has changed. Please reload the window to apply the change' + ); }); - jestLib.test( - 'Given an information message if the user clicks cancel, the command is not executed', - async () => { - doClickCancel(); - const from = observableFrom(commandDone!).pipe(timeout(1)); - const fromPromise = from.toPromise(); - await jestLib.expect(fromPromise).rejects.toThrow(); - jestLib.expect(invokedCommand).toBe(undefined); - } - ); - - jestLib.test( - 'Given an information message if the user clicks Reload, the command is executed', - async () => { - doClickOk(); - await commandDone; - jestLib.expect(invokedCommand).toEqual('workbench.action.reloadWindow'); - } - ); + test('Given an information message if the user clicks cancel, the command is not executed', async () => { + doClickCancel(); + const from = observableFrom(commandDone!).pipe(timeout(1)); + const fromPromise = from.toPromise(); + await expect(fromPromise).rejects.toThrow(); + expect(invokedCommand).toBe(undefined); + }); + + test('Given an information message if the user clicks Reload, the command is executed', async () => { + doClickOk(); + await commandDone; + expect(invokedCommand).toEqual('workbench.action.reloadWindow'); + }); }); }); @@ -119,16 +103,13 @@ jestLib.describe('Option changes observer', () => { { config: 'dotnet', section: 'server.documentSelector', value: ['csharp'] }, { config: 'dotnet', section: 'server.trace', value: 'Information' }, ].forEach((elem) => { - jestLib.test( - `Information Message is not shown if no change in value for ${elem.config}.${elem.section}`, - () => { - jestLib.expect(infoMessage).toBe(undefined); - jestLib.expect(invokedCommand).toBe(undefined); - updateConfig(vscode, elem.config, elem.section, elem.value); - optionObservable.next(); - jestLib.expect(infoMessage).toBe(undefined); - } - ); + test(`Information Message is not shown if no change in value for ${elem.config}.${elem.section}`, () => { + expect(infoMessage).toBe(undefined); + expect(invokedCommand).toBe(undefined); + updateConfig(vscode, elem.config, elem.section, elem.value); + optionObservable.next(); + expect(infoMessage).toBe(undefined); + }); }); [ @@ -137,12 +118,12 @@ jestLib.describe('Option changes observer', () => { { config: 'files', section: 'exclude', value: false }, { config: 'search', section: 'exclude', value: 1000 }, ].forEach((elem) => { - jestLib.test(`Information Message is not shown on change in ${elem.config}.${elem.section}`, () => { - jestLib.expect(infoMessage).toBe(undefined); - jestLib.expect(invokedCommand).toBe(undefined); + test(`Information Message is not shown on change in ${elem.config}.${elem.section}`, () => { + expect(infoMessage).toBe(undefined); + expect(invokedCommand).toBe(undefined); updateConfig(vscode, elem.config, elem.section, elem.value); optionObservable.next(); - jestLib.expect(infoMessage).toBe(undefined); + expect(infoMessage).toBe(undefined); }); }); diff --git a/test/unitTests/migrateOptions.test.ts b/test/unitTests/migrateOptions.test.ts index ddd8de4b9..ababacb0c 100644 --- a/test/unitTests/migrateOptions.test.ts +++ b/test/unitTests/migrateOptions.test.ts @@ -5,9 +5,9 @@ import { readFileSync } from 'fs'; import { migrateOptions } from '../../src/shared/migrateOptions'; -import * as jestLib from '@jest/globals'; +import { describe, test, expect } from '@jest/globals'; -jestLib.describe('Migrate configuration should in package.json', () => { +describe('Migrate configuration should in package.json', () => { const packageJson = JSON.parse(readFileSync('package.json').toString()); const configuration = packageJson.contributes.configuration; // Read the "Project", "Text Editor", "Debugger", "LSP Server" sections of the package.json @@ -19,8 +19,8 @@ jestLib.describe('Migrate configuration should in package.json', () => { ]; migrateOptions.forEach((data) => { - jestLib.test(`Should have ${data.roslynOption} in package.json`, () => { - jestLib.expect(configurations).toContain(data.roslynOption); + test(`Should have ${data.roslynOption} in package.json`, () => { + expect(configurations).toContain(data.roslynOption); }); }); }); diff --git a/test/unitTests/packageNlsJson.test.ts b/test/unitTests/packageNlsJson.test.ts index cb7c1877e..b4dd49fdc 100644 --- a/test/unitTests/packageNlsJson.test.ts +++ b/test/unitTests/packageNlsJson.test.ts @@ -4,9 +4,9 @@ *--------------------------------------------------------------------------------------------*/ import { readFileSync } from 'fs'; -import * as jestLib from '@jest/globals'; +import { describe, test, expect } from '@jest/globals'; -jestLib.describe('package.nls.json validation tests', () => { +describe('package.nls.json validation tests', () => { const langCodes = ['cs', 'de', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt-br', 'ru', 'tr', 'zh-cn', 'zh-tw']; const keysWithURLExamples = [ 'generateOptionsSchema.symbolOptions.searchPaths.description', @@ -15,12 +15,12 @@ jestLib.describe('package.nls.json validation tests', () => { ]; langCodes.forEach((lang) => { - jestLib.test(`Verify \\u200b exists in example URLs in package.nls.${lang}.json`, () => { + test(`Verify \\u200b exists in example URLs in package.nls.${lang}.json`, () => { const filename = `package.nls.${lang}.json`; const packageNLSJson = JSON.parse(readFileSync(filename).toString()); for (const key of keysWithURLExamples) { try { - jestLib.expect(packageNLSJson[key]).toContain('\u200b'); + expect(packageNLSJson[key]).toContain('\u200b'); } catch (e) { throw "Missing \\u200b in example urls, please run 'gulp fixLocURLs' and check in those changes."; } From 8ec02bbb1dd13f7dfa0c30f3152ecc1f9e21981c Mon Sep 17 00:00:00 2001 From: Gregg Miskelly Date: Mon, 13 Nov 2023 11:39:03 -0800 Subject: [PATCH 12/16] Remove `https://aka.ms/VSCode-CS-LaunchJson#...` (#6659) OptionsSchema.json referenced `https://aka.ms/VSCode-CS-LaunchJson` with a hash link inside the doc. This isn't flexible enough to redirect to https://code.visualstudio.com/docs/csharp/debugger-settings since the names of the page sections are different. So this updates to use unique aka.ms links for each section. --- package.json | 2 +- package.nls.cs.json | 6 ++--- package.nls.de.json | 6 ++--- package.nls.es.json | 6 ++--- package.nls.fr.json | 6 ++--- package.nls.it.json | 6 ++--- package.nls.ja.json | 6 ++--- package.nls.json | 6 ++--- package.nls.ko.json | 6 ++--- package.nls.pl.json | 6 ++--- package.nls.pt-br.json | 6 ++--- package.nls.ru.json | 6 ++--- package.nls.tr.json | 6 ++--- package.nls.zh-cn.json | 6 ++--- package.nls.zh-tw.json | 6 ++--- src/tools/OptionsSchema.json | 12 +++++----- src/tools/generateOptionsSchema.ts | 35 +++++++++++++++++++++--------- 17 files changed, 74 insertions(+), 59 deletions(-) diff --git a/package.json b/package.json index b900a6c78..91cf46cae 100644 --- a/package.json +++ b/package.json @@ -5692,4 +5692,4 @@ } ] } -} +} \ No newline at end of file diff --git a/package.nls.cs.json b/package.nls.cs.json index 3a3b4f642..d6da12528 100644 --- a/package.nls.cs.json +++ b/package.nls.cs.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Proměnné prostředí se předaly programu.", "generateOptionsSchema.envFile.markdownDescription": "Proměnné prostředí předané do programu souborem. Příklad: ${workspaceFolder}/.env", "generateOptionsSchema.externalConsole.markdownDescription": "Atribut externalConsole je zastaralý.Použijte místo něj argument console. Výchozí hodnota této možnosti je false.", - "generateOptionsSchema.justMyCode.markdownDescription": "Pokud je tato možnost povolená (výchozí), ladicí program zobrazí a vkročí do uživatelského kódu (Můj kód), přičemž ignoruje systémový kód a další kód, který je optimalizovaný nebo který nemá symboly ladění. [Další informace](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "Pokud je tato možnost povolená (výchozí), ladicí program zobrazí a vkročí do uživatelského kódu (Můj kód), přičemž ignoruje systémový kód a další kód, který je optimalizovaný nebo který nemá symboly ladění. [Další informace](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Argumenty, které se mají předat příkazu pro otevření prohlížeče. Používá se jenom v případě, že element specifický pro platformu (osx, linux nebo windows) neurčuje hodnotu pro args. Pomocí ${auto-detect-url} můžete automaticky použít adresu, na které server naslouchá.", "generateOptionsSchema.launchBrowser.description": "Popisuje možnosti spuštění webového prohlížeče v rámci spuštění.", "generateOptionsSchema.launchBrowser.enabled.description": "Určuje, jestli je povolené spuštění webového prohlížeče. Výchozí hodnota této možnosti je true.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Příznak, který vyžaduje, aby aktuální zdrojový kód odpovídal souboru pdb. Výchozí hodnota této možnosti je true.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Mapuje cesty k místním zdrojovým umístěním v době sestavení (build-time). Všechny instance cesty v době sestavení budou nahrazeny místní zdrojovou cestou.\r\n\r\nPříklad:\r\n\r\n{\"\":\"\"}", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Je pro tuto adresu URL povolený nástroj Source Link? Pokud je tato možnost nezadaná, výchozí hodnota je true.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Možnosti řízení způsobu připojení Source Link k webovým serverům. [Další informace](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Možnosti řízení způsobu připojení Source Link k webovým serverům. [Další informace](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Při hodnotě true by se ladicí program měl zastavit na vstupním bodu cíle. Výchozí hodnota této možnosti je false.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Pokud je hodnota nastavená na true, při načtení optimalizovaného modulu (.dll zkompilovaného v konfiguraci verze) v cílovém procesu ladicí program požádá kompilátor JIT o vygenerování kódu se zakázanými optimalizacemi. [Další informace](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Pokud je hodnota nastavená na true, při načtení optimalizovaného modulu (.dll zkompilovaného v konfiguraci verze) v cílovém procesu ladicí program požádá kompilátor JIT o vygenerování kódu se zakázanými optimalizacemi. [Další informace](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Adresář, do kterého by se měly ukládat symboly stažené ze serverů se symboly. Pokud není zadaný, bude výchozí ladicí program systému Windows %TEMP% \\SymbolCache a systémů Linux a macOS ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Možnosti kontroly způsobu, jakým se hledají a načítají symboly (soubory .pdb).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Poskytuje možnosti pro kontrolu, pro které moduly (soubory DLL) se ladicí program pokusí načíst symboly (soubory. pdb).", diff --git a/package.nls.de.json b/package.nls.de.json index 5cebf6b56..9f2092f34 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Umgebungsvariablen, die an das Programm übergeben werden.", "generateOptionsSchema.envFile.markdownDescription": "Umgebungsvariablen, die von einer Datei an das Programm übergeben werden. Beispiel: \"${workspaceFolder}/.env\"", "generateOptionsSchema.externalConsole.markdownDescription": "Das Attribut \"externalConsole\" ist veraltet. Verwenden Sie stattdessen \"console\". Diese Option ist standardmäßig auf \"false\" festgelegt.", - "generateOptionsSchema.justMyCode.markdownDescription": "Wenn diese Option aktiviert ist (Standardeinstellung), wird der Debugger nur angezeigt und in den Benutzercode (\"Mein Code\") eingeschritten. Dabei werden Systemcode und anderer Code ignoriert, der optimiert ist oder über keine Debugsymbole verfügt. [Weitere Informationen](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "Wenn diese Option aktiviert ist (Standardeinstellung), wird der Debugger nur angezeigt und in den Benutzercode (\"Mein Code\") eingeschritten. Dabei werden Systemcode und anderer Code ignoriert, der optimiert ist oder über keine Debugsymbole verfügt. [Weitere Informationen](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Die Argumente, die an den Befehl übergeben werden sollen, um den Browser zu öffnen. Dies wird nur verwendet, wenn das plattformspezifische Element (\"osx\", \"linux\" oder \"windows\") keinen Wert für \"args\" angibt. Verwenden Sie ${auto-detect-url}, um automatisch die Adresse zu verwenden, an der der Server lauscht.", "generateOptionsSchema.launchBrowser.description": "Beschreibt Optionen zum Starten eines Webbrowsers als Teil des Starts.", "generateOptionsSchema.launchBrowser.enabled.description": "Gibt an, ob das Starten des Webbrowsers aktiviert ist. Diese Option wird standardmäßig auf \"true\" festgelegt.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Kennzeichnung, dass der aktuelle Quellcode dem PDB entsprechen muss. Diese Option wird standardmäßig auf \"true\" festgelegt.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Ordnet Buildzeitpfade lokalen Quellspeicherorten zu. Alle Instanzen des Buildzeitpfads werden durch den lokalen Quellpfad ersetzt.\r\n\r\nBeispiel:\r\n\r\n'{\"\":\"\"}'", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Ist Source Link für diese URL aktiviert? Wenn keine Angabe erfolgt, wird diese Option standardmäßig auf \"true\" festgelegt.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Optionen zum Steuern der Verbindung von Source Link mit Webservern. [Weitere Informationen](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Optionen zum Steuern der Verbindung von Source Link mit Webservern. [Weitere Informationen](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Bei \"true\" sollte der Debugger am Einstiegspunkt des Ziels beendet werden. Diese Option ist standardmäßig auf \"false\" festgelegt.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Bei \"true\" fordert der Debugger den Just-In-Time-Compiler auf, Code mit deaktivierten Optimierungen zu generieren, wenn ein optimiertes Modul (DLL- kompiliert in der Releasekonfiguration) im Zielprozess geladen wird. [Weitere Informationen](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Bei \"true\" fordert der Debugger den Just-In-Time-Compiler auf, Code mit deaktivierten Optimierungen zu generieren, wenn ein optimiertes Modul (DLL- kompiliert in der Releasekonfiguration) im Zielprozess geladen wird. [Weitere Informationen](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Verzeichnis, in dem von Symbolservern heruntergeladene Symbole zwischengespeichert werden sollen. Wenn nicht angegeben, wird der Debugger unter Windows standardmäßig auf %TEMP%\\SymbolCache festgelegt, und unter Linux und macOS wird der Debugger standardmäßig auf ~/.dotnet/symbolcache festgelegt.", "generateOptionsSchema.symbolOptions.description": "Optionen zum Steuern, wie Symbole (PDB-Dateien) gefunden und geladen werden.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Stellt Optionen bereit, um zu steuern, für welche Module (DLL-Dateien) der Debugger versuchen soll, Symbole (PDB-Dateien) zu laden.", diff --git a/package.nls.es.json b/package.nls.es.json index 2f76cadb0..150d032a8 100644 --- a/package.nls.es.json +++ b/package.nls.es.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Variables de entorno pasadas al programa.", "generateOptionsSchema.envFile.markdownDescription": "Variables de entorno pasadas al programa por un archivo. Por ejemplo, \"${workspaceFolder}/.env\"", "generateOptionsSchema.externalConsole.markdownDescription": "El atributo \"externalConsole\" está en desuso; use \"console\" en su lugar. El valor predeterminado de esta opción es \"false\".", - "generateOptionsSchema.justMyCode.markdownDescription": "Cuando está habilitado (valor predeterminado), el depurador solo muestra y avanza en el código de usuario (\"Mi código\"), omitiendo el código del sistema y otro código que está optimizado o que no tiene símbolos de depuración. [Obtener más información](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "Cuando está habilitado (valor predeterminado), el depurador solo muestra y avanza en el código de usuario (\"Mi código\"), omitiendo el código del sistema y otro código que está optimizado o que no tiene símbolos de depuración. [Obtener más información](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Argumentos que se van a pasar al comando para abrir el explorador. Solo se usa si el elemento específico de la plataforma (“osx”, “linux” o “windows”) no especifica un valor para “args”. Use ${auto-detect-url} para usar automáticamente la dirección a la que escucha el servidor.", "generateOptionsSchema.launchBrowser.description": "Describe las opciones para iniciar un explorador web como parte del inicio", "generateOptionsSchema.launchBrowser.enabled.description": "Indica si el inicio del explorador web está habilitado. Esta opción tiene como valor predeterminado \"true\".", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Marca para requerir que el código fuente actual coincida con el pdb. Esta opción tiene como valor predeterminado \"true\".", "generateOptionsSchema.sourceFileMap.markdownDescription": "Asigna rutas de acceso en tiempo de compilación a ubicaciones de origen locales. Todas las instancias de la ruta de acceso en tiempo de compilación se reemplazarán por la ruta de acceso de origen local.\r\n\r\nEjemplo:\r\n\r\n\"{\"\":\"\"}\"", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "¿Está habilitado Source Link para esta dirección URL? Si no se especifica, el valor predeterminado de esta opción es \"true\".", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opciones para controlar cómo se conecta Source Link a los servidores web. [Obtener más información](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opciones para controlar cómo se conecta Source Link a los servidores web. [Obtener más información](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Si es true, el depurador debe detenerse en el punto de entrada del destino. El valor predeterminado de esta opción es \"false\".", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Si es true, cuando un módulo optimizado (.dll compilado en la configuración de la versión) se carga en el proceso de destino, el depurador pedirá al compilador Just-In-Time que genere código con las optimizaciones deshabilitadas. [Obtener más información](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Si es true, cuando un módulo optimizado (.dll compilado en la configuración de la versión) se carga en el proceso de destino, el depurador pedirá al compilador Just-In-Time que genere código con las optimizaciones deshabilitadas. [Obtener más información](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Directorio donde se deben almacenar en caché los símbolos descargados de los servidores de símbolos. Si no se especifica, en Windows, el depurador tendrá como valor predeterminado %TEMP%\\SymbolCache y, en Linux y macOS, el depurador tendrá como valor predeterminado ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Opciones para controlar cómo se encuentran y se cargan los símbolos (archivos .pdb).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Proporciona opciones para controlar los módulos (archivos .dll) para los que el depurador intenta cargar los símbolos (archivos .pdb).", diff --git a/package.nls.fr.json b/package.nls.fr.json index 8d0440766..95dba427b 100644 --- a/package.nls.fr.json +++ b/package.nls.fr.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Variables d'environnement passées au programme.", "generateOptionsSchema.envFile.markdownDescription": "Variables d’environnement passées au programme par un fichier. Par ex., « ${workspaceFolder}/.env »", "generateOptionsSchema.externalConsole.markdownDescription": "L’attribut « externalConsole » est déprécié. Utilisez plutôt « console ». Cette option a la valeur par défaut « false ».", - "generateOptionsSchema.justMyCode.markdownDescription": "Lorsqu’il est activé (valeur par défaut), le débogueur affiche uniquement le code utilisateur (« Mon code »), en ignorant le code système et tout autre code optimisé ou qui n’a pas de symboles de débogage. [More information](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "Lorsqu’il est activé (valeur par défaut), le débogueur affiche uniquement le code utilisateur (« Mon code »), en ignorant le code système et tout autre code optimisé ou qui n’a pas de symboles de débogage. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Arguments à passer à la commande pour ouvrir le navigateur. Ceci est utilisé uniquement si l’élément spécifique à la plateforme ('osx', 'linux' ou 'windows') ne spécifie pas de valeur pour 'args'. Utilisez ${auto-detect-url} pour utiliser automatiquement l’adresse que le serveur écoute.", "generateOptionsSchema.launchBrowser.description": "Décrit les options de lancement d’un navigateur web dans le cadre du lancement", "generateOptionsSchema.launchBrowser.enabled.description": "Indique si le lancement du navigateur web est activé. Cette option a la valeur par défaut 'true'.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Indicateur qui exige que le code source actuel corresponde au fichier pdb. Cette option a la valeur par défaut 'true'.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Mappe les chemins d’accès au moment de la génération aux emplacements sources locaux. Toutes les instances du chemin d’accès au moment de la génération seront remplacées par le chemin d’accès source local.\r\n\r\nExemple:\r\n\r\n'{\"\":\"\"}'", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Est-ce que Source Link est activé pour cette URL ? Si elle n’est pas spécifiée, cette option a la valeur par défaut « true ».", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options permettant de contrôler la façon dont Source Link se connecte aux serveurs web. [More information](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options permettant de contrôler la façon dont Source Link se connecte aux serveurs web. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Si la valeur est true, le débogueur doit s’arrêter au point d’entrée de la cible. Cette option a la valeur par défaut « false ».", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Si la valeur est true, quand un module optimisé (.dll compilé dans la configuration release) se charge dans le processus cible, le débogueur demande au compilateur juste-à-temps de générer du code avec des optimisations désactivées. [More information](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Si la valeur est true, quand un module optimisé (.dll compilé dans la configuration release) se charge dans le processus cible, le débogueur demande au compilateur juste-à-temps de générer du code avec des optimisations désactivées. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Répertoire dans lequel les symboles téléchargés à partir des serveurs de symboles doivent être mis en cache. S’il n’est pas spécifié, sur Windows, le débogueur a la valeur par défaut %TEMP%\\SymbolCache, et sur Linux et macOS, le débogueur a la valeur par défaut ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Options permettant de contrôler la façon dont les symboles (fichiers .pdb) sont trouvés et chargés.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Fournit des options pour contrôler les modules (fichiers .dll) pour lesquels le débogueur tentera de charger des symboles (fichiers .pdb).", diff --git a/package.nls.it.json b/package.nls.it.json index 4b1ebeae6..f8ea24f48 100644 --- a/package.nls.it.json +++ b/package.nls.it.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Variabili di ambiente passate al programma.", "generateOptionsSchema.envFile.markdownDescription": "Variabili di ambiente passate al programma da un file. Ad esempio: '${workspaceFolder}/.env'", "generateOptionsSchema.externalConsole.markdownDescription": "L'attributo 'externalConsole' è deprecato. Usare 'console'. L'impostazione predefinita di questa opzione è 'false'.", - "generateOptionsSchema.justMyCode.markdownDescription": "Quando abilitato (il valore predefinito), il debugger mostra ed esegue solo il codice utente (\"Just My Code\"), ignorando il codice di sistema e altro codice che è ottimizzato o che non ha simboli di debug. [Altre informazioni](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "Quando abilitato (il valore predefinito), il debugger mostra ed esegue solo il codice utente (\"Just My Code\"), ignorando il codice di sistema e altro codice che è ottimizzato o che non ha simboli di debug. [Altre informazioni](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Gli argomenti da passare al comando per aprire il browser. Viene usato solo se l'elemento specifico della piattaforma ('osx', 'linux' o 'windows') non specifica un valore per 'args'. Utilizzare ${auto-detect-url} per usare automaticamente l'indirizzo che il server sta ascoltando.", "generateOptionsSchema.launchBrowser.description": "Descrive le opzioni per avviare un browser web come parte dell'avvio", "generateOptionsSchema.launchBrowser.enabled.description": "Indica se l'avvio del Web browser è abilitato. Il valore predefinito per questa opzione è 'true'.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Flag che richiede che il codice sorgente corrente corrisponda al file PDB. Il valore predefinito per questa opzione è 'true'.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Esegue il mapping dei percorsi in fase di compilazione alle posizioni di origine locali. Tutte le istanze del percorso in fase di compilazione verranno sostituite con il percorso di origine locale.\r\n\r\nEsempio:\r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Source Link è abilitato per questo URL? Se non viene specificato, il valore predefinito per questa opzione è 'true'.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opzioni per controllare la modalità di connessione Source Link ai server Web. [Altre informazioni](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opzioni per controllare la modalità di connessione Source Link ai server Web. [Altre informazioni](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Se impostato su true, il debugger deve arrestarsi al punto di ingresso della destinazione. Il valore predefinito per questa opzione è 'true'.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Se impostato su true, quando un modulo ottimizzato.(dll compilato nella configurazione di versione) viene caricato nel processo di destinazione, il debugger richiederà al compilatore JIT di generare il codice con le ottimizzazioni disabilitate. [Altre informazioni](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Se impostato su true, quando un modulo ottimizzato.(dll compilato nella configurazione di versione) viene caricato nel processo di destinazione, il debugger richiederà al compilatore JIT di generare il codice con le ottimizzazioni disabilitate. [Altre informazioni](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Directory in cui i simboli, scaricati dai server di simboli, devono essere memorizzati nella cache. Se non specificato, il debugger in Windows sarà impostato per impostazione predefinita su %TEMP%\\SymbolCache, mentre in Linux e macOS sarà impostato su ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Opzioni per controllare il modo in cui vengono trovati e caricati i simboli (file PDB).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Fornisce le opzioni per controllare i moduli (file DLL) per i quali il debugger tenterà di caricare i simboli (file PDB).", diff --git a/package.nls.ja.json b/package.nls.ja.json index 393c1be06..aa6df3769 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "プログラムに渡される環境変数。", "generateOptionsSchema.envFile.markdownDescription": "ファイルによってプログラムに渡される環境変数。例: `${workspaceFolder}/.env`", "generateOptionsSchema.externalConsole.markdownDescription": "属性 `externalConsole` は非推奨です。代わりに `console` を使用してください。このオプションの既定値は `false` です。", - "generateOptionsSchema.justMyCode.markdownDescription": "有効 (既定) の場合、デバッガーはユーザー コード (\"マイ コード\") のみを表示してステップ インし、最適化されたシステム コードやその他のコード、またはデバッグ シンボルを含まないコードを無視します。[詳細情報](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "有効 (既定) の場合、デバッガーはユーザー コード (\"マイ コード\") のみを表示してステップ インし、最適化されたシステム コードやその他のコード、またはデバッグ シンボルを含まないコードを無視します。[詳細情報](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "ブラウザーを開くためにコマンドに渡す引数。これは、プラットフォーム固有の要素 ('osx'、'linux'、または 'windows') で 'args' の値が指定されていない場合にのみ使用されます。${auto-detect-url} を使用して、サーバーがリッスンしているアドレスを自動的に使用します。", "generateOptionsSchema.launchBrowser.description": "起動の一環として Web ブラウザーを起動するためのオプションについて説明します", "generateOptionsSchema.launchBrowser.enabled.description": "Web ブラウザーの起動が有効になっているかどうか。このオプションの既定値は `true` です。", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "PDB に一致する現在のソース コードを必要とするフラグです。このオプションの規定値は `true` です。", "generateOptionsSchema.sourceFileMap.markdownDescription": "ビルド時のパスをローカル ソースの場所にマップします。ビルド時のパスのすべてのインスタンスは、ローカル ソース パスに置き換えられます。\r\n\r\n例: \r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "この URL の Source Link は有効になっていますか? 指定しない場合、このオプションの既定値は `true` です。", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Source Link が Web サーバーに接続する方法を制御するオプション。[詳細情報](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Source Link が Web サーバーに接続する方法を制御するオプション。[詳細情報](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "true の場合、デバッガーはターゲットのエントリ ポイントで停止する必要があります。このオプションの既定値は `false` です。", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "true の場合、最適化されたモジュール (リリース構成でコンパイルされた .dll) がターゲット プロセスに読み込まれると、デバッガーは最適化を無効にしてコードをするよう Just-In-Time コンパイラに要求します。[詳細情報](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "true の場合、最適化されたモジュール (リリース構成でコンパイルされた .dll) がターゲット プロセスに読み込まれると、デバッガーは最適化を無効にしてコードをするよう Just-In-Time コンパイラに要求します。[詳細情報](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "シンボル サーバーからダウンロードしたシンボルをキャッシュするディレクトリです。指定しない場合、Windows のデバッガーの規定値は %TEMP%\\SymbolCache に、Linux および macOS のデバッガーの既定値は ~/.dotnet/symbolcache になります。", "generateOptionsSchema.symbolOptions.description": "シンボル (.pdb ファイル) の検索と読み込みの方法を制御するオプションです。", "generateOptionsSchema.symbolOptions.moduleFilter.description": "デバッガーが、シンボル (.pdb ファイル) を読み込もうとするモジュール (.dll ファイル) を制御するオプションを提供します。", diff --git a/package.nls.json b/package.nls.json index a0f6ed630..fedc83a97 100644 --- a/package.nls.json +++ b/package.nls.json @@ -216,7 +216,7 @@ "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered." ] }, - "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.requireExactSource.markdownDescription": { "message": "Flag to require current source code to match the pdb. This option defaults to `true`.", "comment": [ @@ -347,7 +347,7 @@ "generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description": "Stringified version of command line arguments passed to the pipe program. Token ${debuggerCommand} in pipeArgs will get replaced by the full debugger command, this token can be specified inline with other arguments. If ${debuggerCommand} isn't used in any argument, the full debugger command will be instead be added to the end of the argument list.", "generateOptionsSchema.pipeTransport.linux.quoteArgs.description": "Should arguments that contain characters that need to be quoted (example: spaces) be quoted? Defaults to 'true'. If set to false, the debugger command will no longer be automatically quoted.", "generateOptionsSchema.pipeTransport.linux.pipeEnv.description": "Environment variables passed to the pipe program.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.description": "Options to control how symbols (.pdb files) are found and loaded.", "generateOptionsSchema.symbolOptions.searchPaths.description": { "message": "Array of symbol server URLs (example: http\u200b://MyExampleSymbolServer) or directories (example: /build/symbols) to search for .pdb files. These directories will be searched in addition to the default locations -- next to the module and the path where the pdb was originally dropped to.", @@ -378,7 +378,7 @@ "generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description": "Array of modules that the debugger should NOT load symbols for. Wildcards (example: MyCompany.*.dll) are supported.\n\nThis property is ignored unless 'mode' is set to 'loadAllButExcluded'.", "generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description": "Array of modules that the debugger should load symbols for. Wildcards (example: MyCompany.*.dll) are supported.\n\nThis property is ignored unless 'mode' is set to 'loadOnlyIncluded'.", "generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description": "If true, for any module NOT in the 'includedModules' array, the debugger will still check next to the module itself and the launching executable, but it will not check paths on the symbol search list. This option defaults to 'true'.\n\nThis property is ignored unless 'mode' is set to 'loadOnlyIncluded'.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": { "message": "Is Source Link enabled for this URL? If unspecified, this option defaults to `true`.", "comment": [ diff --git a/package.nls.ko.json b/package.nls.ko.json index d6f5858e6..2badfee68 100644 --- a/package.nls.ko.json +++ b/package.nls.ko.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "프로그램에 전달된 환경 변수입니다.", "generateOptionsSchema.envFile.markdownDescription": "파일에 의해 프로그램에 전달되는 환경 변수입니다(예: `${workspaceFolder}/.env`).", "generateOptionsSchema.externalConsole.markdownDescription": "`externalConsole` 속성은 더 이상 사용되지 않습니다. 대신 `console`을 사용하세요. 이 옵션의 기본값은 `false`입니다.", - "generateOptionsSchema.justMyCode.markdownDescription": "활성화된 경우(기본값) 디버거는 사용자 코드(\"내 코드\")만 표시하고 단계적으로 들어가며 시스템 코드 및 최적화되었거나 디버깅 기호가 없는 기타 코드는 무시합니다. [자세한 정보](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "활성화된 경우(기본값) 디버거는 사용자 코드(\"내 코드\")만 표시하고 단계적으로 들어가며 시스템 코드 및 최적화되었거나 디버깅 기호가 없는 기타 코드는 무시합니다. [자세한 정보](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "브라우저를 여는 명령에 전달할 인수입니다. 플랫폼별 요소(`osx`, `linux` 또는 `windows`)가 `args`에 대한 값을 지정하지 않는 경우에만 사용됩니다. ${auto-detect-url}을(를) 사용하여 서버가 수신하는 주소를 자동으로 사용하세요.", "generateOptionsSchema.launchBrowser.description": "시작의 일부로 웹 브라우저를 시작하는 옵션을 설명합니다.", "generateOptionsSchema.launchBrowser.enabled.description": "웹 브라우저 실행이 활성화되었는지 여부입니다. 이 옵션의 기본값은 `true`입니다.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "현재 원본 코드가 pdb와 일치하도록 요구하는 플래그입니다. 이 옵션의 기본값은 `true`입니다.", "generateOptionsSchema.sourceFileMap.markdownDescription": "빌드 시간 경로를 로컬 원본 위치에 매핑합니다. 빌드 시간 경로의 모든 인스턴스는 로컬 원본 경로로 대체됩니다.\r\n\r\n예:\r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "이 URL에 대해 Source Link가 활성화되어 있나요? 지정하지 않으면 이 옵션의 기본값은 `true`입니다.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Source Link가 웹 서버에 연결하는 방법을 제어하는 옵션입니다. [추가 정보](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Source Link가 웹 서버에 연결하는 방법을 제어하는 옵션입니다. [추가 정보](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "true인 경우 디버거는 대상의 진입점에서 중지해야 합니다. 이 옵션의 기본값은 `false`입니다.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "true인 경우 최적화된 모듈(릴리스 구성에서 컴파일된 .dll)이 대상 프로세스에 로드될 때 디버거는 최적화가 비활성화된 코드를 생성하도록 Just-In-Time 컴파일러에 요청합니다. [추가 정보](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "true인 경우 최적화된 모듈(릴리스 구성에서 컴파일된 .dll)이 대상 프로세스에 로드될 때 디버거는 최적화가 비활성화된 코드를 생성하도록 Just-In-Time 컴파일러에 요청합니다. [추가 정보](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "기호 서버에서 다운로드한 기호가 캐시되어야 하는 디렉토리입니다. 지정하지 않으면 Windows에서 디버거는 기본적으로 %TEMP%\\SymbolCache로 설정되고 Linux 및 macOS에서는 디버거가 기본적으로 ~/.dotnet/symbolcache로 설정됩니다.", "generateOptionsSchema.symbolOptions.description": "기호(.pdb 파일)를 찾아서 로드하는 방법을 제어하는 옵션입니다.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "디버거에서 기호(.pdb 파일)를 로드하려고 시도할 모듈(.dll 파일)을 제어하는 옵션을 제공합니다.", diff --git a/package.nls.pl.json b/package.nls.pl.json index 6ff0d3e46..d623456ab 100644 --- a/package.nls.pl.json +++ b/package.nls.pl.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Zmienne środowiskowe przekazywane do programu.", "generateOptionsSchema.envFile.markdownDescription": "Zmienne środowiskowe przekazywane do programu przez plik, np. „${workspaceFolder}/.env”", "generateOptionsSchema.externalConsole.markdownDescription": "Atrybut „externalConsole” jest przestarzały. Użyj zamiast niego atrybutu „console”. Ta opcja jest ustawiona domyślnie na wartość „false”.", - "generateOptionsSchema.justMyCode.markdownDescription": "Gdy ta opcja jest włączona (wartość domyślna), debuger wyświetla tylko kod użytkownika dotyczący informacji o krokach („Mój kod”), ignorując kod systemowy i inny zoptymalizowany kod lub który nie ma symboli debugowania. [Więcej informacji](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "Gdy ta opcja jest włączona (wartość domyślna), debuger wyświetla tylko kod użytkownika dotyczący informacji o krokach („Mój kod”), ignorując kod systemowy i inny zoptymalizowany kod lub który nie ma symboli debugowania. [Więcej informacji](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Argumenty do przekazania do polecenia w celu otwarcia przeglądarki. Jest to używane tylko wtedy, gdy element specyficzny dla platformy („osx”, „linux” lub „windows”) nie określa wartości dla elementu „args”. Użyj *polecenia ${auto-detect-url}, aby automatycznie używać adresu, na którym nasłuchuje serwer.", "generateOptionsSchema.launchBrowser.description": "Opisuje opcje służące do uruchamiania przeglądarki internetowej w ramach uruchamiania", "generateOptionsSchema.launchBrowser.enabled.description": "Określa, czy jest włączone uruchamianie przeglądarki internetowej. Ta opcja jest ustawiona domyślnie na wartość „true”.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Flaga wymagająca, aby bieżący kod źródłowy był zgodny z bazą danych pdb. Ta opcja jest ustawiona domyślnie na wartość „true”.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Mapuje ścieżki czasu kompilacji z lokalnymi lokalizacjami źródłowymi. Wszystkie wystąpienia ścieżki czasu kompilacji zostaną zastąpione lokalną ścieżką źródłową.\r\n\r\nPrzykład:\r\n\r\n„{\"\":\"\"}”", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Czy dla tego adresu URL jest włączone narzędzie Source Link? Jeśli nie zostanie określone, ta opcja zostanie domyślnie ustawiona na wartość „true”.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opcje określające sposób łączenia Source Link z serwerami sieci Web. [Więcej infiormacji](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opcje określające sposób łączenia Source Link z serwerami sieci Web. [Więcej infiormacji](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "W przypadku wartości true debuger powinien zostać zatrzymany w punkcie wejścia elementu docelowego. Ta opcja jest ustawiona domyślnie na wartość „false”.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "W przypadku ustawienia na wartość true, gdy zoptymalizowany moduł (.dll skompilowany w konfiguracji wydania) zostanie załadowany w procesie docelowym, debuger poprosi kompilator Just In Time o wygenerowanie kodu z wyłączonymi optymalizacjami. [Więcej informacji](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "W przypadku ustawienia na wartość true, gdy zoptymalizowany moduł (.dll skompilowany w konfiguracji wydania) zostanie załadowany w procesie docelowym, debuger poprosi kompilator Just In Time o wygenerowanie kodu z wyłączonymi optymalizacjami. [Więcej informacji](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Katalog, w którym powinny być buforowane symbole pobrane z serwerów symboli. Jeśli nie zostanie określony, w systemie Windows debuger będzie domyślnie ustawiony na %TEMP%\\SymbolCache, a w systemach Linux i macOS debuger będzie domyślnie ustawiony na ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Opcje umożliwiające kontrolowanie sposobu znajdowania i ładowania symboli (plików PDB).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Udostępnia opcje umożliwiające kontrolowanie modułów (plików DLL), dla których debuger będzie próbował załadować symbole (pliki PDB).", diff --git a/package.nls.pt-br.json b/package.nls.pt-br.json index 2c9777d55..864224695 100644 --- a/package.nls.pt-br.json +++ b/package.nls.pt-br.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Variáveis de ambiente passadas para o programa.", "generateOptionsSchema.envFile.markdownDescription": "Variáveis de ambiente passadas para o programa por um arquivo. Por exemplo. `${workspaceFolder}/.env`", "generateOptionsSchema.externalConsole.markdownDescription": "O atributo `externalConsole` está preterido, use `console` em seu lugar. Esta opção padrão é `false`.", - "generateOptionsSchema.justMyCode.markdownDescription": "Quando habilitado (o padrão), o depurador apenas exibe e avança no código do usuário (\"Meu Código\"), ignorando o código do sistema e outro código otimizado ou que não possui símbolos de depuração. [Mais informações](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "Quando habilitado (o padrão), o depurador apenas exibe e avança no código do usuário (\"Meu Código\"), ignorando o código do sistema e outro código otimizado ou que não possui símbolos de depuração. [Mais informações](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Os argumentos a serem passados ao comando para abrir o navegador. Isso é usado apenas se o elemento específico da plataforma (`osx`, `linux` ou `windows`) não especificar um valor para `args`. Use ${auto-detect-url} para usar automaticamente o endereço que o servidor está ouvindo.", "generateOptionsSchema.launchBrowser.description": "Descreve as opções para iniciar um navegador da Web como parte do lançamento", "generateOptionsSchema.launchBrowser.enabled.description": "Se a inicialização do navegador da web está habilitada. Esta opção é padronizada como `true`.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Sinalize para exigir que o código-fonte atual corresponda ao pdb. Esta opção é padronizada como `true`.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Mapeia caminhos de tempo de construção para locais de origem local. Todas as instâncias do caminho de tempo de compilação serão substituídas pelo caminho de origem local.\r\n\r\nExemplo:\r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "O Source Link está habilitado para este URL? Se não for especificado, esta opção assume como padrão `true`.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opções para controlar como o Source Link se conecta aos servidores da web. [Mais informações](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opções para controlar como o Source Link se conecta aos servidores da web. [Mais informações](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Se verdadeiro, o depurador deve parar no ponto de entrada do destino. Esta opção padrão é `false`.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Se verdadeiro, quando um módulo otimizado (.dll compilado na configuração do Release) for carregado no processo de destino, o depurador solicitará ao compilador Just-In-Time que gere código com as otimizações desativadas. [Mais informações](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Se verdadeiro, quando um módulo otimizado (.dll compilado na configuração do Release) for carregado no processo de destino, o depurador solicitará ao compilador Just-In-Time que gere código com as otimizações desativadas. [Mais informações](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Diretório onde os símbolos baixados dos servidores de símbolos devem ser armazenados em cache. Se não for especificado, no Windows, o depurador será padronizado como %TEMP%\\SymbolCache, e no Linux e macOS, o depurador será padronizado como ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Opções para controlar como os símbolos (arquivos .pdb) são encontrados e carregados.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Fornece opções para controlar para quais módulos (arquivos .dll) o depurador tentará carregar símbolos (arquivos .pdb).", diff --git a/package.nls.ru.json b/package.nls.ru.json index 52a10d018..d38d02096 100644 --- a/package.nls.ru.json +++ b/package.nls.ru.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Переменные среды, переданные в программу.", "generateOptionsSchema.envFile.markdownDescription": "Переменные среды, передаваемые в программу файлом. Например, \"${workspaceFolder}/.env\"", "generateOptionsSchema.externalConsole.markdownDescription": "Атрибут externalConsole является нерекомендуемым. Используйте вместо него атрибут console. По умолчанию этот параметр принимает значение false.", - "generateOptionsSchema.justMyCode.markdownDescription": "Если этот параметр включен (по умолчанию), отладчик отображает только пользовательский код (\"Мой код\"), игнорируя системный код и другой код, который оптимизирован или не содержит отладочных символов. [Дополнительные сведения](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "Если этот параметр включен (по умолчанию), отладчик отображает только пользовательский код (\"Мой код\"), игнорируя системный код и другой код, который оптимизирован или не содержит отладочных символов. [Дополнительные сведения](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Аргументы, передаваемые команде для открытия браузера. Используется, только если в элементе платформы (\"osx\", \"linux\" или \"windows\") не указано значение для \"args\". Используйте ${auto-detect-url}, чтобы автоматически применять адрес, прослушиваемый сервером.", "generateOptionsSchema.launchBrowser.description": "Описание параметров для начала работы веб-браузера в рамках запуска", "generateOptionsSchema.launchBrowser.enabled.description": "Включен ли запуск веб-браузера. По умолчанию этот параметр принимает значение true.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Флаг, требующий соответствие текущего исходного кода PDB-файлу. По умолчанию этот параметр принимает значение true.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Сопоставляет пути во время сборки с локальными исходными расположениями. Все экземпляры пути во время сборки будут заменены путем к локальному источнику.\r\n\r\nПример:\r\n\r\n\"{\"\":\"\"}\"", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Включен ли Source Link для этого URL-адреса? Если не указано, этот параметр принимает значение true по умолчанию.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Параметры для управления подключением Source Link к веб-серверам. [Дополнительные сведения](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Параметры для управления подключением Source Link к веб-серверам. [Дополнительные сведения](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Если значение равно true, отладчик должен остановиться в точке входа целевого объекта. По умолчанию этот параметр принимает значение true.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Если присвоено значение true, при загрузке оптимизированного модуля (с компиляцией .dll в конфигурации выпуска) в целевом процессе отладчик запросит у JIT-компилятора создание кода с отключенной оптимизацией. [Дополнительные сведения](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Если присвоено значение true, при загрузке оптимизированного модуля (с компиляцией .dll в конфигурации выпуска) в целевом процессе отладчик запросит у JIT-компилятора создание кода с отключенной оптимизацией. [Дополнительные сведения](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Каталог, в котором должны кэшироваться символы, скачанные с серверов символов. Если не указано, отладчик в Windows будет по умолчанию использовать %TEMP%\\SymbolCache, а в Linux и macOS — ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Параметры, управляющие поиском и загрузкой символов (PDB-файлов).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Предоставляет параметры для управления тем, для каких модулей (DLL-файлы) отладчик будет пытаться загружать символы (PDB-файлы).", diff --git a/package.nls.tr.json b/package.nls.tr.json index 2775cbbd2..5d3dce417 100644 --- a/package.nls.tr.json +++ b/package.nls.tr.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Programa geçirilen ortam değişkenleri.", "generateOptionsSchema.envFile.markdownDescription": "Bir dosya tarafından programa geçirilen ortam değişkenleri. Ör. '${workspaceFolder}/.env'", "generateOptionsSchema.externalConsole.markdownDescription": "`externalConsole` özniteliği kullanım dışı, bunun yerine `console` özniteliğini kullanın. Bu seçenek varsayılan olarak `false` değerini alır.", - "generateOptionsSchema.justMyCode.markdownDescription": "Etkinleştirildiğinde (varsayılan), hata ayıklayıcısı sistem kodunu ve iyileştirilmiş ya da hata ayıklama sembollerine sahip olmayan diğer kodu yoksayarak yalnızca kullanıcı kodunu (\"Kodum\") görüntüler ve bu koda adımlar. [Daha fazla bilgi](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "Etkinleştirildiğinde (varsayılan), hata ayıklayıcısı sistem kodunu ve iyileştirilmiş ya da hata ayıklama sembollerine sahip olmayan diğer kodu yoksayarak yalnızca kullanıcı kodunu (\"Kodum\") görüntüler ve bu koda adımlar. [Daha fazla bilgi](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Tarayıcıyı açmak için komuta geçirilecek bağımsız değişkenler. Bu yalnızca platforma özgü öğe (`osx`, `linux` veya `windows`) `args` için bir değer belirtmiyorsa kullanılır. Sunucunun dinlediği adresi otomatik olarak kullanmak için ${auto-detect-url} kullanın.", "generateOptionsSchema.launchBrowser.description": "Başlatmanın bir parçası olarak web tarayıcısı başlatma seçeneklerini açıklar", "generateOptionsSchema.launchBrowser.enabled.description": "Web tarayıcısı başlatmanın etkin olup olmadığını belirtir. Bu seçenek varsayılan olarak `true` değerini alır.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Geçerli kaynak kodunun pdb ile eşleşmesini gerektiren bayrak. Bu seçenek varsayılan olarak `true` değerini alır.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Derleme zamanı yollarını yerel kaynak konumlara eşler. Derleme zamanı yolunun tüm örnekleri yerel kaynak yolu ile değiştirilir.\r\n\r\nÖrnek:\r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Bu URL için Source Link etkin mi? Belirtilmezse bu seçenek varsayılan olarak `true` değerini alır.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Source Link’in web sunucularına nasıl bağlanacağını denetleme seçenekleri. [Daha fazla bilgi](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Source Link’in web sunucularına nasıl bağlanacağını denetleme seçenekleri. [Daha fazla bilgi](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "True ise hata ayıklayıcısı hedefin giriş noktasında durmalıdır. Bu seçenek varsayılan olarak `false` değerini alır.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "True ise hedef işlemde iyileştirilmiş bir modül (Sürüm yapılandırmasındaki .dll derlemesi) yüklendiğinde hata ayıklayıcısı JIT derleyicisinden iyileştirmelerin devre dışı olduğu kod oluşturmasını ister. [Daha fazla bilgi](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "True ise hedef işlemde iyileştirilmiş bir modül (Sürüm yapılandırmasındaki .dll derlemesi) yüklendiğinde hata ayıklayıcısı JIT derleyicisinden iyileştirmelerin devre dışı olduğu kod oluşturmasını ister. [Daha fazla bilgi](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Sembol sunucularından indirilen sembollerin önbelleğe alınacağı dizin. Belirtilmezse Windows'da hata ayıklayıcısı varsayılan olarak %TEMP%\\SymbolCache değerini alır. Linux ve macOS'ta ise hata ayıklayıcısı varsayılan olarak ~/.dotnet/symbolcache değerini alır.", "generateOptionsSchema.symbolOptions.description": "Simgelerin (.pdb dosyaları) nasıl bulunup yüklendiğini denetleme seçenekleri.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Hata ayıklayıcısının simgeleri (.pdb dosyaları) yüklemeye çalışacağı modülü (.dll dosyaları) denetlemeye yönelik seçenekleri sağlar.", diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index bcc5bedb8..3246d9c27 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "传递给程序的环境变量。", "generateOptionsSchema.envFile.markdownDescription": "文件传递给程序的环境变量。例如 \"${workspaceFolder}/.env\"", "generateOptionsSchema.externalConsole.markdownDescription": "特性 \"externalConsole\" 已弃用,请改用 \"console\"。此选项默认为 \"false\"。", - "generateOptionsSchema.justMyCode.markdownDescription": "启用(默认)后,调试器仅显示并单步执行用户代码(“我的代码”),忽略系统代码和其他经过优化或没有调试符号的代码。[详细信息](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "启用(默认)后,调试器仅显示并单步执行用户代码(“我的代码”),忽略系统代码和其他经过优化或没有调试符号的代码。[详细信息](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "要传递给命令以打开浏览器的参数。只有当平台特定的元素 (\"osx\"、\"linux\" 或 \"windows\") 没有为 \"args\" 指定值时,才使用此选项。使用 ${auto-detect-url} 以自动使用服务器正在侦听的地址。", "generateOptionsSchema.launchBrowser.description": "描述在启动过程中启动 Web 浏览器的选项", "generateOptionsSchema.launchBrowser.enabled.description": "是否已启用 Web 浏览器启动。此选项默认为 \"true\"。", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "要求当前源代码与 pdb 匹配的标志。此选项默认为 \"true\"。", "generateOptionsSchema.sourceFileMap.markdownDescription": "将生成时路径映射到本地源位置。生成时路径的所有实例都将替换为本地源路径。\r\n\r\n例子:\r\n\r\n\"{\"\":\"\"}\"", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "是否为此 URL 启用了 Source Link? 如果未指定,此选项默认为 \"true\"。", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "用于控制 Source Link 如何连接到 Web 服务器的选项。[详细信息](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "用于控制 Source Link 如何连接到 Web 服务器的选项。[详细信息](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "如果为 true,调试器应在目标的入口点停止。此选项默认为 \"false\"。", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "如果为 true,则在目标进程中加载优化模块(发布配置中编译的 .dll)时,调试器将要求实时编译器生成禁用优化的代码。[详细信息](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "如果为 true,则在目标进程中加载优化模块(发布配置中编译的 .dll)时,调试器将要求实时编译器生成禁用优化的代码。[详细信息](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "应缓存从符号服务器下载的符号的目录。如果未指定,则在 Windows 上,调试器将默认为 %TEMP%\\SymbolCache;在 Linux 和 macOS 上,调试器将默认为 ~/.dotnet/symbolcache。", "generateOptionsSchema.symbolOptions.description": "用于控制如何找到和加载符号(.pdb 文件)的选项。", "generateOptionsSchema.symbolOptions.moduleFilter.description": "提供选项来控制调试程序将尝试为哪些模块(.dll 文件)加载符号(.pdb 文件)。", diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index ded85ae05..4e7a4d404 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "傳遞給程式的環境變數。", "generateOptionsSchema.envFile.markdownDescription": "檔案傳遞給程式的環境變數。例如 '${workspaceFolder}/.env'", "generateOptionsSchema.externalConsole.markdownDescription": "屬性 'externalConsole' 已逾時,請改用 'console'。此選項預設為 'false'。", - "generateOptionsSchema.justMyCode.markdownDescription": "啟用 (預設) 時,偵錯工具只會顯示使用者程式碼 (「我的程式碼」) 中的步驟,忽略系統程式碼及其他已最佳化或沒有偵錯符號的程式碼。[詳細資訊](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "generateOptionsSchema.justMyCode.markdownDescription": "啟用 (預設) 時,偵錯工具只會顯示使用者程式碼 (「我的程式碼」) 中的步驟,忽略系統程式碼及其他已最佳化或沒有偵錯符號的程式碼。[詳細資訊](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "要傳遞至命令以開啟瀏覽器的引數。只有當平台特定元素 ('osx'、'linux' 或 'windows') 未指定 'args' 的值時,才會使用此功能。使用 ${auto-detect-url} 自動使用伺服器正在接聽的位址。", "generateOptionsSchema.launchBrowser.description": "描述啟動網頁瀏覽器的選項", "generateOptionsSchema.launchBrowser.enabled.description": "是否已啟用網頁瀏覽器啟動。此選項預設為 'true'。", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "旗標,要求目前的原始程式碼與 pdb 相符。此選項預設為 'true'。", "generateOptionsSchema.sourceFileMap.markdownDescription": "將組建時間路徑對應到本機來源位置。將以本機來源路徑取代所有建置時間路徑的執行個體。\r\n\r\n範例:\r\n\r\n'{\"\":\"\"}'", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "此 URL 的 Source Link 是否已啟用? 若未指定,此選項預設為 'true'。", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "控制 Source Link 連線至網頁伺服器方式的選項。[詳細資訊](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "控制 Source Link 連線至網頁伺服器方式的選項。[詳細資訊](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "若為 true,偵錯工具應在目標的進入點停止。此選項預設為 'false'。", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "如果為 true,則當在 Release 組態中編譯最佳化模組 (.dll) 在目標處理常式中載入時,偵錯工具會要求 Just-In-Time 編譯器產生已停用最佳化的程式碼。[詳細資訊](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "如果為 true,則當在 Release 組態中編譯最佳化模組 (.dll) 在目標處理常式中載入時,偵錯工具會要求 Just-In-Time 編譯器產生已停用最佳化的程式碼。[詳細資訊](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "應該快取從符號伺服器下載符號的目錄。若未指定,偵錯工具在 Windows 上的預設值為 %TEMP%\\SymbolCache,而在 Linux 和 macOS 上,偵錯工具將預設為 ~/.dotnet/symbolcache。", "generateOptionsSchema.symbolOptions.description": "控制如何找到並載入符號 (.pdb 檔案) 的選項。", "generateOptionsSchema.symbolOptions.moduleFilter.description": "提供選項,以控制偵錯工具會嘗試為其載入符號 (.pdb 檔案) 的模組 (.dll 檔案)。", diff --git a/src/tools/OptionsSchema.json b/src/tools/OptionsSchema.json index 0b3755fe1..3db5affba 100644 --- a/src/tools/OptionsSchema.json +++ b/src/tools/OptionsSchema.json @@ -411,7 +411,7 @@ }, "justMyCode": { "type": "boolean", - "markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson#just-my-code)", + "markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "default": true }, "requireExactSource": { @@ -434,7 +434,7 @@ }, "suppressJITOptimizations": { "type": "boolean", - "markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "default": false }, "symbolOptions": { @@ -448,7 +448,7 @@ }, "sourceLinkOptions": { "$ref": "#/definitions/SourceLinkOptions", - "markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "default": { "*": { "enabled": true } } @@ -530,7 +530,7 @@ }, "suppressJITOptimizations": { "type": "boolean", - "markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson#suppress-jit-optimizations)", + "markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "default": false }, "symbolOptions": { @@ -544,7 +544,7 @@ }, "sourceLinkOptions": { "$ref": "#/definitions/SourceLinkOptions", - "markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "default": { "*": { "enabled": true } } @@ -563,7 +563,7 @@ }, "SourceLinkOptions": { "type": "object", - "markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-CS-LaunchJson#source-link-options)", + "markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "additionalItems": { "type": "object", "properties": { diff --git a/src/tools/generateOptionsSchema.ts b/src/tools/generateOptionsSchema.ts index e81cd800a..70838273a 100644 --- a/src/tools/generateOptionsSchema.ts +++ b/src/tools/generateOptionsSchema.ts @@ -390,19 +390,25 @@ export function GenerateOptionsSchema() { 'For debug extension development only: if a port is specified VS Code tries to connect to a debug adapter running in server mode', default: 4711, }; - packageJSON.contributes.configuration[1].properties['dotnet.unitTestDebuggingOptions'].properties = - unitTestDebuggingOptions; - // #region Generate package.json settings + let debuggerConfiguration = null; + for (const configuration of packageJSON.contributes.configuration) { + if (configuration.title === 'Debugger') { + debuggerConfiguration = configuration; + break; + } + } - // Delete old debug options - const originalContributeDebugKeys = Object.keys(packageJSON.contributes.configuration[1].properties).filter((x) => - x.startsWith('csharp.debug') - ); - for (const key of originalContributeDebugKeys) { - delete packageJSON.contributes.configuration[1].properties[key]; + if (!debuggerConfiguration) { + throw Error("Unable to find the 'Debugger' configuration in package.json"); } + // #region Generate package.json settings + + // Clear out all the old properties + const originalProperties = debuggerConfiguration.properties; + debuggerConfiguration.properties = {}; + // Remove the options that should not be shown in the settings editor. const ignoreOptions: Set = new Set([ 'program', @@ -425,9 +431,18 @@ export function GenerateOptionsSchema() { 'csharp.debug', schemaJSON.definitions.LaunchOptions.properties, ignoreOptions, - packageJSON.contributes.configuration[1].properties + debuggerConfiguration.properties ); + // Put back the non-debug options (currently the unit test options) + for (const key in originalProperties) { + if (key.startsWith('csharp.debug') === false) { + debuggerConfiguration.properties[key] = originalProperties[key]; + } + } + + // Replace the unit test debugging properties + debuggerConfiguration.properties['dotnet.unitTestDebuggingOptions'].properties = unitTestDebuggingOptions; // #endregion // Write package.json and package.nls.json to disk From 9b3fe559c0023df779837322d14ba13106d94533 Mon Sep 17 00:00:00 2001 From: David Barbet Date: Mon, 13 Nov 2023 12:56:02 -0800 Subject: [PATCH 13/16] Enable eslint rule ensuring rejected promises throw an error --- .eslintrc.js | 1 + src/features/codeActionProvider.ts | 4 ++-- src/features/commands.ts | 4 ++-- src/features/inlayHintProvider.ts | 6 +++--- src/lsptoolshost/roslynLanguageServer.ts | 5 +++-- src/omnisharp/server.ts | 2 +- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index ed45cab54..5a1fd3933 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -33,6 +33,7 @@ module.exports = { ], "@typescript-eslint/no-namespace": "off", "@typescript-eslint/promise-function-async": "error", + "prefer-promise-reject-errors": "error", "curly": "error", "prettier/prettier": [ "error", { "endOfLine": "auto" } ], "unicorn/filename-case": [ diff --git a/src/features/codeActionProvider.ts b/src/features/codeActionProvider.ts index 5ab024d14..1ba942444 100644 --- a/src/features/codeActionProvider.ts +++ b/src/features/codeActionProvider.ts @@ -78,7 +78,7 @@ export default class OmniSharpCodeActionProvider }; }); } catch (error) { - return Promise.reject(`Problem invoking 'GetCodeActions' on OmniSharp server: ${error}`); + return Promise.reject(new Error(`Problem invoking 'GetCodeActions' on OmniSharp server: ${error}`)); } } @@ -107,7 +107,7 @@ export default class OmniSharpCodeActionProvider return buildEditForResponse(response.Changes, this._languageMiddlewareFeature, token); } } catch (error) { - return Promise.reject(`Problem invoking 'RunCodeAction' on OmniSharp server: ${error}`); + return Promise.reject(new Error(`Problem invoking 'RunCodeAction' on OmniSharp server: ${error}`)); } return undefined; diff --git a/src/features/commands.ts b/src/features/commands.ts index f57ecd8b2..72ad650ce 100644 --- a/src/features/commands.ts +++ b/src/features/commands.ts @@ -198,13 +198,13 @@ async function dotnetRestoreAllProjects(server: OmniSharpServer, eventStream: Ev async function getProjectDescriptors(server: OmniSharpServer): Promise { if (!server.isRunning()) { - return Promise.reject('OmniSharp server is not running.'); + return Promise.reject(new Error('OmniSharp server is not running.')); } const info = await serverUtils.requestWorkspaceInformation(server); const descriptors = protocol.getDotNetCoreProjectDescriptors(info); if (descriptors.length === 0) { - return Promise.reject('No .NET Core projects found'); + return Promise.reject(new Error('No .NET Core projects found')); } return descriptors; diff --git a/src/features/inlayHintProvider.ts b/src/features/inlayHintProvider.ts index fc25fb76b..0b7c974b6 100644 --- a/src/features/inlayHintProvider.ts +++ b/src/features/inlayHintProvider.ts @@ -67,14 +67,14 @@ export default class OmniSharpInlayHintProvider extends AbstractProvider impleme return mappedHint; }); } catch (error) { - return Promise.reject(`Problem invoking 'GetInlayHints' on OmniSharpServer: ${error}`); + return Promise.reject(new Error(`Problem invoking 'GetInlayHints' on OmniSharpServer: ${error}`)); } } async resolveInlayHint?(hint: vscode.InlayHint, token: vscode.CancellationToken): Promise { const inlayHint = this._hintsMap.get(hint); if (inlayHint === undefined) { - return Promise.reject(`Outdated inlay hint was requested to be resolved, aborting.`); + return Promise.reject(new Error(`Outdated inlay hint was requested to be resolved, aborting.`)); } const request: InlayHintResolveRequest = { Hint: inlayHint }; @@ -83,7 +83,7 @@ export default class OmniSharpInlayHintProvider extends AbstractProvider impleme const result = await serverUtils.resolveInlayHints(this._server, request, token); return this.toVSCodeHint(result); } catch (error) { - return Promise.reject(`Problem invoking 'ResolveInlayHints' on OmniSharpServer: ${error}`); + return Promise.reject(new Error(`Problem invoking 'ResolveInlayHints' on OmniSharpServer: ${error}`)); } } diff --git a/src/lsptoolshost/roslynLanguageServer.ts b/src/lsptoolshost/roslynLanguageServer.ts index 5136769af..4eba16339 100644 --- a/src/lsptoolshost/roslynLanguageServer.ts +++ b/src/lsptoolshost/roslynLanguageServer.ts @@ -572,8 +572,9 @@ export class RoslynLanguageServer { // Error information will be captured from the stdout/stderr streams above. childProcess.on('exit', (code) => { if (code && code !== 0) { - _channel.appendLine(`Language server process exited with ${code}`); - reject(); + const message = `Language server process exited with ${code}`; + _channel.appendLine(message); + reject(new Error(message)); } }); }); diff --git a/src/omnisharp/server.ts b/src/omnisharp/server.ts index 8163b1d66..f01f04acf 100644 --- a/src/omnisharp/server.ts +++ b/src/omnisharp/server.ts @@ -741,7 +741,7 @@ export class OmniSharpServer { public async makeRequest(command: string, data?: any, token?: CancellationToken): Promise { if (this._state.status !== ServerState.Started) { - return Promise.reject('OmniSharp server is not running.'); + return Promise.reject(new Error('OmniSharp server is not running.')); } const { engine } = this._state; From 97eafb52d03a09b939238194c0875423dc4687e1 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Mon, 13 Nov 2023 21:02:29 +0000 Subject: [PATCH 14/16] Localization result of 765b1dbf817f90569aa0a260496a868dd963b400. --- l10n/bundle.l10n.cs.json | 2 +- l10n/bundle.l10n.de.json | 2 +- l10n/bundle.l10n.es.json | 2 +- l10n/bundle.l10n.ja.json | 2 +- l10n/bundle.l10n.ko.json | 2 +- l10n/bundle.l10n.pl.json | 2 +- l10n/bundle.l10n.pt-br.json | 2 +- l10n/bundle.l10n.ru.json | 2 +- l10n/bundle.l10n.zh-cn.json | 2 +- l10n/bundle.l10n.zh-tw.json | 2 +- package.nls.cs.json | 6 +++--- package.nls.de.json | 6 +++--- package.nls.es.json | 6 +++--- package.nls.fr.json | 6 +++--- package.nls.it.json | 6 +++--- package.nls.ja.json | 6 +++--- package.nls.ko.json | 6 +++--- package.nls.pl.json | 6 +++--- package.nls.pt-br.json | 6 +++--- package.nls.ru.json | 6 +++--- package.nls.tr.json | 6 +++--- package.nls.zh-cn.json | 6 +++--- package.nls.zh-tw.json | 6 +++--- 23 files changed, 49 insertions(+), 49 deletions(-) diff --git a/l10n/bundle.l10n.cs.json b/l10n/bundle.l10n.cs.json index d680d8700..d8a8c74e1 100644 --- a/l10n/bundle.l10n.cs.json +++ b/l10n/bundle.l10n.cs.json @@ -37,7 +37,7 @@ "Do not load any": "Nic nenačítat", "Does not contain .NET Core projects.": "Neobsahuje projekty .NET Core.", "Don't Ask Again": "Příště už se neptat", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "Stahuje se balíček telemetrie Razor.", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Povolit spuštění webového prohlížeče při spuštění ASP.NET Core. Další informace: {0}", "Error Message: ": "Chybová zpráva: ", "Expand": "Rozbalit", diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index dbc473ce9..64654b6ed 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -37,7 +37,7 @@ "Do not load any": "Keine laden", "Does not contain .NET Core projects.": "Enthält keine .NET Core-Projekte.", "Don't Ask Again": "Nicht mehr fragen", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "Razor-Telemetriepaket wird heruntergeladen", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Aktivieren Sie das Starten eines Webbrowsers, wenn ASP.NET Core gestartet wird. Weitere Informationen: {0}", "Error Message: ": "Fehlermeldung: ", "Expand": "Erweitern", diff --git a/l10n/bundle.l10n.es.json b/l10n/bundle.l10n.es.json index 29dbbd1c3..e1ae16adb 100644 --- a/l10n/bundle.l10n.es.json +++ b/l10n/bundle.l10n.es.json @@ -37,7 +37,7 @@ "Do not load any": "No cargar ninguno", "Does not contain .NET Core projects.": "No contiene proyectos de .NET Core.", "Don't Ask Again": "No volver a preguntar", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "Descarga del paquete de telemetría Razor", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Habilite el inicio de un explorador web cuando se inicie ASP.NET Core. Para obtener más información: {0}", "Error Message: ": "Mensaje de error: ", "Expand": "Expandir", diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 743b48f69..cbada28bf 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -37,7 +37,7 @@ "Do not load any": "何も読み込まない", "Does not contain .NET Core projects.": ".NET Core プロジェクトが含まれていません。", "Don't Ask Again": "今後このメッセージを表示しない", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "Razor テレメトリ パッケージのダウンロード", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "ASP.NET Core の起動時に Web ブラウザーの起動を有効にします。詳細については、次を参照してください: {0}", "Error Message: ": "エラー メッセージ: ", "Expand": "展開する", diff --git a/l10n/bundle.l10n.ko.json b/l10n/bundle.l10n.ko.json index f84823b08..416d88b17 100644 --- a/l10n/bundle.l10n.ko.json +++ b/l10n/bundle.l10n.ko.json @@ -37,7 +37,7 @@ "Do not load any": "로드 안 함", "Does not contain .NET Core projects.": ".NET Core 프로젝트가 포함되어 있지 않습니다.", "Don't Ask Again": "다시 묻지 않음", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "Razor 원격 분석 패키지 다운로드", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "ASP.NET Core가 시작될 때 웹 브라우저 실행을 활성화합니다. 자세한 내용: {0}", "Error Message: ": "오류 메시지: ", "Expand": "확장", diff --git a/l10n/bundle.l10n.pl.json b/l10n/bundle.l10n.pl.json index d1e34ac02..a00b329bd 100644 --- a/l10n/bundle.l10n.pl.json +++ b/l10n/bundle.l10n.pl.json @@ -37,7 +37,7 @@ "Do not load any": "Nie ładuj żadnych", "Does not contain .NET Core projects.": "Nie zawiera projektów platformy .NET Core.", "Don't Ask Again": "Nie pytaj ponownie", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "Pobieranie pakietu telemetrii Razor", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Włącz uruchamianie przeglądarki internetowej po uruchomieniu platformy ASP.NET Core. Aby uzyskać więcej informacji: {0}", "Error Message: ": "Komunikat o błędzie: ", "Expand": "Rozwiń", diff --git a/l10n/bundle.l10n.pt-br.json b/l10n/bundle.l10n.pt-br.json index f5d415488..8a1ca1317 100644 --- a/l10n/bundle.l10n.pt-br.json +++ b/l10n/bundle.l10n.pt-br.json @@ -37,7 +37,7 @@ "Do not load any": "Não carregue nenhum", "Does not contain .NET Core projects.": "Não contém projetos do .NET Core.", "Don't Ask Again": "Não perguntar novamente", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "Baixando o Pacote de Telemetria Razor", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Habilitar a inicialização de um navegador da web quando o ASP.NET Core for iniciado. Para obter mais informações: {0}", "Error Message: ": "Mensagem de Erro: ", "Expand": "Expandir", diff --git a/l10n/bundle.l10n.ru.json b/l10n/bundle.l10n.ru.json index 31f3a0104..5220d1b3f 100644 --- a/l10n/bundle.l10n.ru.json +++ b/l10n/bundle.l10n.ru.json @@ -37,7 +37,7 @@ "Do not load any": "Не загружать", "Does not contain .NET Core projects.": "Не содержит проектов .NET Core.", "Don't Ask Again": "Больше не спрашивать", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "Скачивание пакета телеметрии Razor", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Включите запуск веб-браузера при запуске ASP.NET Core. Для получения дополнительных сведений: {0}", "Error Message: ": "Сообщение об ошибке: ", "Expand": "Развернуть", diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 8dcf5f4d3..566d90a60 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -37,7 +37,7 @@ "Do not load any": "请勿加载任何", "Does not contain .NET Core projects.": "不包含 .NET Core 项目。", "Don't Ask Again": "不再询问", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "正在下载 Razor 遥测包", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "启用在启动 ASP.NET Core 时启动 Web 浏览器。有关详细信息: {0}", "Error Message: ": "错误消息: ", "Expand": "展开", diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index a73d9dd50..bc495827c 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -37,7 +37,7 @@ "Do not load any": "不要載入", "Does not contain .NET Core projects.": "不包含 .NET Core 專案。", "Don't Ask Again": "不要再詢問", - "Downloading Razor Telemetry Package": "Downloading Razor Telemetry Package", + "Downloading Razor Telemetry Package": "下載 Razor 遙測套件", "Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "啟用在 ASP.NET Core 開始時啟動網頁瀏覽器。如需詳細資訊: {0}", "Error Message: ": "錯誤訊息: ", "Expand": "展開", diff --git a/package.nls.cs.json b/package.nls.cs.json index d6da12528..98fcd3246 100644 --- a/package.nls.cs.json +++ b/package.nls.cs.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Proměnné prostředí se předaly programu.", "generateOptionsSchema.envFile.markdownDescription": "Proměnné prostředí předané do programu souborem. Příklad: ${workspaceFolder}/.env", "generateOptionsSchema.externalConsole.markdownDescription": "Atribut externalConsole je zastaralý.Použijte místo něj argument console. Výchozí hodnota této možnosti je false.", - "generateOptionsSchema.justMyCode.markdownDescription": "Pokud je tato možnost povolená (výchozí), ladicí program zobrazí a vkročí do uživatelského kódu (Můj kód), přičemž ignoruje systémový kód a další kód, který je optimalizovaný nebo který nemá symboly ladění. [Další informace](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Argumenty, které se mají předat příkazu pro otevření prohlížeče. Používá se jenom v případě, že element specifický pro platformu (osx, linux nebo windows) neurčuje hodnotu pro args. Pomocí ${auto-detect-url} můžete automaticky použít adresu, na které server naslouchá.", "generateOptionsSchema.launchBrowser.description": "Popisuje možnosti spuštění webového prohlížeče v rámci spuštění.", "generateOptionsSchema.launchBrowser.enabled.description": "Určuje, jestli je povolené spuštění webového prohlížeče. Výchozí hodnota této možnosti je true.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Příznak, který vyžaduje, aby aktuální zdrojový kód odpovídal souboru pdb. Výchozí hodnota této možnosti je true.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Mapuje cesty k místním zdrojovým umístěním v době sestavení (build-time). Všechny instance cesty v době sestavení budou nahrazeny místní zdrojovou cestou.\r\n\r\nPříklad:\r\n\r\n{\"\":\"\"}", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Je pro tuto adresu URL povolený nástroj Source Link? Pokud je tato možnost nezadaná, výchozí hodnota je true.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Možnosti řízení způsobu připojení Source Link k webovým serverům. [Další informace](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Při hodnotě true by se ladicí program měl zastavit na vstupním bodu cíle. Výchozí hodnota této možnosti je false.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Pokud je hodnota nastavená na true, při načtení optimalizovaného modulu (.dll zkompilovaného v konfiguraci verze) v cílovém procesu ladicí program požádá kompilátor JIT o vygenerování kódu se zakázanými optimalizacemi. [Další informace](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Adresář, do kterého by se měly ukládat symboly stažené ze serverů se symboly. Pokud není zadaný, bude výchozí ladicí program systému Windows %TEMP% \\SymbolCache a systémů Linux a macOS ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Možnosti kontroly způsobu, jakým se hledají a načítají symboly (soubory .pdb).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Poskytuje možnosti pro kontrolu, pro které moduly (soubory DLL) se ladicí program pokusí načíst symboly (soubory. pdb).", diff --git a/package.nls.de.json b/package.nls.de.json index 9f2092f34..c844c6986 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Umgebungsvariablen, die an das Programm übergeben werden.", "generateOptionsSchema.envFile.markdownDescription": "Umgebungsvariablen, die von einer Datei an das Programm übergeben werden. Beispiel: \"${workspaceFolder}/.env\"", "generateOptionsSchema.externalConsole.markdownDescription": "Das Attribut \"externalConsole\" ist veraltet. Verwenden Sie stattdessen \"console\". Diese Option ist standardmäßig auf \"false\" festgelegt.", - "generateOptionsSchema.justMyCode.markdownDescription": "Wenn diese Option aktiviert ist (Standardeinstellung), wird der Debugger nur angezeigt und in den Benutzercode (\"Mein Code\") eingeschritten. Dabei werden Systemcode und anderer Code ignoriert, der optimiert ist oder über keine Debugsymbole verfügt. [Weitere Informationen](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Die Argumente, die an den Befehl übergeben werden sollen, um den Browser zu öffnen. Dies wird nur verwendet, wenn das plattformspezifische Element (\"osx\", \"linux\" oder \"windows\") keinen Wert für \"args\" angibt. Verwenden Sie ${auto-detect-url}, um automatisch die Adresse zu verwenden, an der der Server lauscht.", "generateOptionsSchema.launchBrowser.description": "Beschreibt Optionen zum Starten eines Webbrowsers als Teil des Starts.", "generateOptionsSchema.launchBrowser.enabled.description": "Gibt an, ob das Starten des Webbrowsers aktiviert ist. Diese Option wird standardmäßig auf \"true\" festgelegt.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Kennzeichnung, dass der aktuelle Quellcode dem PDB entsprechen muss. Diese Option wird standardmäßig auf \"true\" festgelegt.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Ordnet Buildzeitpfade lokalen Quellspeicherorten zu. Alle Instanzen des Buildzeitpfads werden durch den lokalen Quellpfad ersetzt.\r\n\r\nBeispiel:\r\n\r\n'{\"\":\"\"}'", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Ist Source Link für diese URL aktiviert? Wenn keine Angabe erfolgt, wird diese Option standardmäßig auf \"true\" festgelegt.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Optionen zum Steuern der Verbindung von Source Link mit Webservern. [Weitere Informationen](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Bei \"true\" sollte der Debugger am Einstiegspunkt des Ziels beendet werden. Diese Option ist standardmäßig auf \"false\" festgelegt.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Bei \"true\" fordert der Debugger den Just-In-Time-Compiler auf, Code mit deaktivierten Optimierungen zu generieren, wenn ein optimiertes Modul (DLL- kompiliert in der Releasekonfiguration) im Zielprozess geladen wird. [Weitere Informationen](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Verzeichnis, in dem von Symbolservern heruntergeladene Symbole zwischengespeichert werden sollen. Wenn nicht angegeben, wird der Debugger unter Windows standardmäßig auf %TEMP%\\SymbolCache festgelegt, und unter Linux und macOS wird der Debugger standardmäßig auf ~/.dotnet/symbolcache festgelegt.", "generateOptionsSchema.symbolOptions.description": "Optionen zum Steuern, wie Symbole (PDB-Dateien) gefunden und geladen werden.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Stellt Optionen bereit, um zu steuern, für welche Module (DLL-Dateien) der Debugger versuchen soll, Symbole (PDB-Dateien) zu laden.", diff --git a/package.nls.es.json b/package.nls.es.json index 150d032a8..bca28af34 100644 --- a/package.nls.es.json +++ b/package.nls.es.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Variables de entorno pasadas al programa.", "generateOptionsSchema.envFile.markdownDescription": "Variables de entorno pasadas al programa por un archivo. Por ejemplo, \"${workspaceFolder}/.env\"", "generateOptionsSchema.externalConsole.markdownDescription": "El atributo \"externalConsole\" está en desuso; use \"console\" en su lugar. El valor predeterminado de esta opción es \"false\".", - "generateOptionsSchema.justMyCode.markdownDescription": "Cuando está habilitado (valor predeterminado), el depurador solo muestra y avanza en el código de usuario (\"Mi código\"), omitiendo el código del sistema y otro código que está optimizado o que no tiene símbolos de depuración. [Obtener más información](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Argumentos que se van a pasar al comando para abrir el explorador. Solo se usa si el elemento específico de la plataforma (“osx”, “linux” o “windows”) no especifica un valor para “args”. Use ${auto-detect-url} para usar automáticamente la dirección a la que escucha el servidor.", "generateOptionsSchema.launchBrowser.description": "Describe las opciones para iniciar un explorador web como parte del inicio", "generateOptionsSchema.launchBrowser.enabled.description": "Indica si el inicio del explorador web está habilitado. Esta opción tiene como valor predeterminado \"true\".", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Marca para requerir que el código fuente actual coincida con el pdb. Esta opción tiene como valor predeterminado \"true\".", "generateOptionsSchema.sourceFileMap.markdownDescription": "Asigna rutas de acceso en tiempo de compilación a ubicaciones de origen locales. Todas las instancias de la ruta de acceso en tiempo de compilación se reemplazarán por la ruta de acceso de origen local.\r\n\r\nEjemplo:\r\n\r\n\"{\"\":\"\"}\"", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "¿Está habilitado Source Link para esta dirección URL? Si no se especifica, el valor predeterminado de esta opción es \"true\".", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opciones para controlar cómo se conecta Source Link a los servidores web. [Obtener más información](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Si es true, el depurador debe detenerse en el punto de entrada del destino. El valor predeterminado de esta opción es \"false\".", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Si es true, cuando un módulo optimizado (.dll compilado en la configuración de la versión) se carga en el proceso de destino, el depurador pedirá al compilador Just-In-Time que genere código con las optimizaciones deshabilitadas. [Obtener más información](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Directorio donde se deben almacenar en caché los símbolos descargados de los servidores de símbolos. Si no se especifica, en Windows, el depurador tendrá como valor predeterminado %TEMP%\\SymbolCache y, en Linux y macOS, el depurador tendrá como valor predeterminado ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Opciones para controlar cómo se encuentran y se cargan los símbolos (archivos .pdb).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Proporciona opciones para controlar los módulos (archivos .dll) para los que el depurador intenta cargar los símbolos (archivos .pdb).", diff --git a/package.nls.fr.json b/package.nls.fr.json index 95dba427b..9a38b116b 100644 --- a/package.nls.fr.json +++ b/package.nls.fr.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Variables d'environnement passées au programme.", "generateOptionsSchema.envFile.markdownDescription": "Variables d’environnement passées au programme par un fichier. Par ex., « ${workspaceFolder}/.env »", "generateOptionsSchema.externalConsole.markdownDescription": "L’attribut « externalConsole » est déprécié. Utilisez plutôt « console ». Cette option a la valeur par défaut « false ».", - "generateOptionsSchema.justMyCode.markdownDescription": "Lorsqu’il est activé (valeur par défaut), le débogueur affiche uniquement le code utilisateur (« Mon code »), en ignorant le code système et tout autre code optimisé ou qui n’a pas de symboles de débogage. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Arguments à passer à la commande pour ouvrir le navigateur. Ceci est utilisé uniquement si l’élément spécifique à la plateforme ('osx', 'linux' ou 'windows') ne spécifie pas de valeur pour 'args'. Utilisez ${auto-detect-url} pour utiliser automatiquement l’adresse que le serveur écoute.", "generateOptionsSchema.launchBrowser.description": "Décrit les options de lancement d’un navigateur web dans le cadre du lancement", "generateOptionsSchema.launchBrowser.enabled.description": "Indique si le lancement du navigateur web est activé. Cette option a la valeur par défaut 'true'.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Indicateur qui exige que le code source actuel corresponde au fichier pdb. Cette option a la valeur par défaut 'true'.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Mappe les chemins d’accès au moment de la génération aux emplacements sources locaux. Toutes les instances du chemin d’accès au moment de la génération seront remplacées par le chemin d’accès source local.\r\n\r\nExemple:\r\n\r\n'{\"\":\"\"}'", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Est-ce que Source Link est activé pour cette URL ? Si elle n’est pas spécifiée, cette option a la valeur par défaut « true ».", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options permettant de contrôler la façon dont Source Link se connecte aux serveurs web. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Si la valeur est true, le débogueur doit s’arrêter au point d’entrée de la cible. Cette option a la valeur par défaut « false ».", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Si la valeur est true, quand un module optimisé (.dll compilé dans la configuration release) se charge dans le processus cible, le débogueur demande au compilateur juste-à-temps de générer du code avec des optimisations désactivées. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Répertoire dans lequel les symboles téléchargés à partir des serveurs de symboles doivent être mis en cache. S’il n’est pas spécifié, sur Windows, le débogueur a la valeur par défaut %TEMP%\\SymbolCache, et sur Linux et macOS, le débogueur a la valeur par défaut ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Options permettant de contrôler la façon dont les symboles (fichiers .pdb) sont trouvés et chargés.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Fournit des options pour contrôler les modules (fichiers .dll) pour lesquels le débogueur tentera de charger des symboles (fichiers .pdb).", diff --git a/package.nls.it.json b/package.nls.it.json index f8ea24f48..83dcdbbc5 100644 --- a/package.nls.it.json +++ b/package.nls.it.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Variabili di ambiente passate al programma.", "generateOptionsSchema.envFile.markdownDescription": "Variabili di ambiente passate al programma da un file. Ad esempio: '${workspaceFolder}/.env'", "generateOptionsSchema.externalConsole.markdownDescription": "L'attributo 'externalConsole' è deprecato. Usare 'console'. L'impostazione predefinita di questa opzione è 'false'.", - "generateOptionsSchema.justMyCode.markdownDescription": "Quando abilitato (il valore predefinito), il debugger mostra ed esegue solo il codice utente (\"Just My Code\"), ignorando il codice di sistema e altro codice che è ottimizzato o che non ha simboli di debug. [Altre informazioni](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Gli argomenti da passare al comando per aprire il browser. Viene usato solo se l'elemento specifico della piattaforma ('osx', 'linux' o 'windows') non specifica un valore per 'args'. Utilizzare ${auto-detect-url} per usare automaticamente l'indirizzo che il server sta ascoltando.", "generateOptionsSchema.launchBrowser.description": "Descrive le opzioni per avviare un browser web come parte dell'avvio", "generateOptionsSchema.launchBrowser.enabled.description": "Indica se l'avvio del Web browser è abilitato. Il valore predefinito per questa opzione è 'true'.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Flag che richiede che il codice sorgente corrente corrisponda al file PDB. Il valore predefinito per questa opzione è 'true'.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Esegue il mapping dei percorsi in fase di compilazione alle posizioni di origine locali. Tutte le istanze del percorso in fase di compilazione verranno sostituite con il percorso di origine locale.\r\n\r\nEsempio:\r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Source Link è abilitato per questo URL? Se non viene specificato, il valore predefinito per questa opzione è 'true'.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opzioni per controllare la modalità di connessione Source Link ai server Web. [Altre informazioni](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Se impostato su true, il debugger deve arrestarsi al punto di ingresso della destinazione. Il valore predefinito per questa opzione è 'true'.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Se impostato su true, quando un modulo ottimizzato.(dll compilato nella configurazione di versione) viene caricato nel processo di destinazione, il debugger richiederà al compilatore JIT di generare il codice con le ottimizzazioni disabilitate. [Altre informazioni](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Directory in cui i simboli, scaricati dai server di simboli, devono essere memorizzati nella cache. Se non specificato, il debugger in Windows sarà impostato per impostazione predefinita su %TEMP%\\SymbolCache, mentre in Linux e macOS sarà impostato su ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Opzioni per controllare il modo in cui vengono trovati e caricati i simboli (file PDB).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Fornisce le opzioni per controllare i moduli (file DLL) per i quali il debugger tenterà di caricare i simboli (file PDB).", diff --git a/package.nls.ja.json b/package.nls.ja.json index aa6df3769..fc5a1e247 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "プログラムに渡される環境変数。", "generateOptionsSchema.envFile.markdownDescription": "ファイルによってプログラムに渡される環境変数。例: `${workspaceFolder}/.env`", "generateOptionsSchema.externalConsole.markdownDescription": "属性 `externalConsole` は非推奨です。代わりに `console` を使用してください。このオプションの既定値は `false` です。", - "generateOptionsSchema.justMyCode.markdownDescription": "有効 (既定) の場合、デバッガーはユーザー コード (\"マイ コード\") のみを表示してステップ インし、最適化されたシステム コードやその他のコード、またはデバッグ シンボルを含まないコードを無視します。[詳細情報](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "ブラウザーを開くためにコマンドに渡す引数。これは、プラットフォーム固有の要素 ('osx'、'linux'、または 'windows') で 'args' の値が指定されていない場合にのみ使用されます。${auto-detect-url} を使用して、サーバーがリッスンしているアドレスを自動的に使用します。", "generateOptionsSchema.launchBrowser.description": "起動の一環として Web ブラウザーを起動するためのオプションについて説明します", "generateOptionsSchema.launchBrowser.enabled.description": "Web ブラウザーの起動が有効になっているかどうか。このオプションの既定値は `true` です。", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "PDB に一致する現在のソース コードを必要とするフラグです。このオプションの規定値は `true` です。", "generateOptionsSchema.sourceFileMap.markdownDescription": "ビルド時のパスをローカル ソースの場所にマップします。ビルド時のパスのすべてのインスタンスは、ローカル ソース パスに置き換えられます。\r\n\r\n例: \r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "この URL の Source Link は有効になっていますか? 指定しない場合、このオプションの既定値は `true` です。", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Source Link が Web サーバーに接続する方法を制御するオプション。[詳細情報](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "true の場合、デバッガーはターゲットのエントリ ポイントで停止する必要があります。このオプションの既定値は `false` です。", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "true の場合、最適化されたモジュール (リリース構成でコンパイルされた .dll) がターゲット プロセスに読み込まれると、デバッガーは最適化を無効にしてコードをするよう Just-In-Time コンパイラに要求します。[詳細情報](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "シンボル サーバーからダウンロードしたシンボルをキャッシュするディレクトリです。指定しない場合、Windows のデバッガーの規定値は %TEMP%\\SymbolCache に、Linux および macOS のデバッガーの既定値は ~/.dotnet/symbolcache になります。", "generateOptionsSchema.symbolOptions.description": "シンボル (.pdb ファイル) の検索と読み込みの方法を制御するオプションです。", "generateOptionsSchema.symbolOptions.moduleFilter.description": "デバッガーが、シンボル (.pdb ファイル) を読み込もうとするモジュール (.dll ファイル) を制御するオプションを提供します。", diff --git a/package.nls.ko.json b/package.nls.ko.json index 2badfee68..a04e7fd57 100644 --- a/package.nls.ko.json +++ b/package.nls.ko.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "프로그램에 전달된 환경 변수입니다.", "generateOptionsSchema.envFile.markdownDescription": "파일에 의해 프로그램에 전달되는 환경 변수입니다(예: `${workspaceFolder}/.env`).", "generateOptionsSchema.externalConsole.markdownDescription": "`externalConsole` 속성은 더 이상 사용되지 않습니다. 대신 `console`을 사용하세요. 이 옵션의 기본값은 `false`입니다.", - "generateOptionsSchema.justMyCode.markdownDescription": "활성화된 경우(기본값) 디버거는 사용자 코드(\"내 코드\")만 표시하고 단계적으로 들어가며 시스템 코드 및 최적화되었거나 디버깅 기호가 없는 기타 코드는 무시합니다. [자세한 정보](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "브라우저를 여는 명령에 전달할 인수입니다. 플랫폼별 요소(`osx`, `linux` 또는 `windows`)가 `args`에 대한 값을 지정하지 않는 경우에만 사용됩니다. ${auto-detect-url}을(를) 사용하여 서버가 수신하는 주소를 자동으로 사용하세요.", "generateOptionsSchema.launchBrowser.description": "시작의 일부로 웹 브라우저를 시작하는 옵션을 설명합니다.", "generateOptionsSchema.launchBrowser.enabled.description": "웹 브라우저 실행이 활성화되었는지 여부입니다. 이 옵션의 기본값은 `true`입니다.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "현재 원본 코드가 pdb와 일치하도록 요구하는 플래그입니다. 이 옵션의 기본값은 `true`입니다.", "generateOptionsSchema.sourceFileMap.markdownDescription": "빌드 시간 경로를 로컬 원본 위치에 매핑합니다. 빌드 시간 경로의 모든 인스턴스는 로컬 원본 경로로 대체됩니다.\r\n\r\n예:\r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "이 URL에 대해 Source Link가 활성화되어 있나요? 지정하지 않으면 이 옵션의 기본값은 `true`입니다.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Source Link가 웹 서버에 연결하는 방법을 제어하는 옵션입니다. [추가 정보](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "true인 경우 디버거는 대상의 진입점에서 중지해야 합니다. 이 옵션의 기본값은 `false`입니다.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "true인 경우 최적화된 모듈(릴리스 구성에서 컴파일된 .dll)이 대상 프로세스에 로드될 때 디버거는 최적화가 비활성화된 코드를 생성하도록 Just-In-Time 컴파일러에 요청합니다. [추가 정보](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "기호 서버에서 다운로드한 기호가 캐시되어야 하는 디렉토리입니다. 지정하지 않으면 Windows에서 디버거는 기본적으로 %TEMP%\\SymbolCache로 설정되고 Linux 및 macOS에서는 디버거가 기본적으로 ~/.dotnet/symbolcache로 설정됩니다.", "generateOptionsSchema.symbolOptions.description": "기호(.pdb 파일)를 찾아서 로드하는 방법을 제어하는 옵션입니다.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "디버거에서 기호(.pdb 파일)를 로드하려고 시도할 모듈(.dll 파일)을 제어하는 옵션을 제공합니다.", diff --git a/package.nls.pl.json b/package.nls.pl.json index d623456ab..6bac549b6 100644 --- a/package.nls.pl.json +++ b/package.nls.pl.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Zmienne środowiskowe przekazywane do programu.", "generateOptionsSchema.envFile.markdownDescription": "Zmienne środowiskowe przekazywane do programu przez plik, np. „${workspaceFolder}/.env”", "generateOptionsSchema.externalConsole.markdownDescription": "Atrybut „externalConsole” jest przestarzały. Użyj zamiast niego atrybutu „console”. Ta opcja jest ustawiona domyślnie na wartość „false”.", - "generateOptionsSchema.justMyCode.markdownDescription": "Gdy ta opcja jest włączona (wartość domyślna), debuger wyświetla tylko kod użytkownika dotyczący informacji o krokach („Mój kod”), ignorując kod systemowy i inny zoptymalizowany kod lub który nie ma symboli debugowania. [Więcej informacji](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Argumenty do przekazania do polecenia w celu otwarcia przeglądarki. Jest to używane tylko wtedy, gdy element specyficzny dla platformy („osx”, „linux” lub „windows”) nie określa wartości dla elementu „args”. Użyj *polecenia ${auto-detect-url}, aby automatycznie używać adresu, na którym nasłuchuje serwer.", "generateOptionsSchema.launchBrowser.description": "Opisuje opcje służące do uruchamiania przeglądarki internetowej w ramach uruchamiania", "generateOptionsSchema.launchBrowser.enabled.description": "Określa, czy jest włączone uruchamianie przeglądarki internetowej. Ta opcja jest ustawiona domyślnie na wartość „true”.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Flaga wymagająca, aby bieżący kod źródłowy był zgodny z bazą danych pdb. Ta opcja jest ustawiona domyślnie na wartość „true”.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Mapuje ścieżki czasu kompilacji z lokalnymi lokalizacjami źródłowymi. Wszystkie wystąpienia ścieżki czasu kompilacji zostaną zastąpione lokalną ścieżką źródłową.\r\n\r\nPrzykład:\r\n\r\n„{\"\":\"\"}”", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Czy dla tego adresu URL jest włączone narzędzie Source Link? Jeśli nie zostanie określone, ta opcja zostanie domyślnie ustawiona na wartość „true”.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opcje określające sposób łączenia Source Link z serwerami sieci Web. [Więcej infiormacji](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "W przypadku wartości true debuger powinien zostać zatrzymany w punkcie wejścia elementu docelowego. Ta opcja jest ustawiona domyślnie na wartość „false”.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "W przypadku ustawienia na wartość true, gdy zoptymalizowany moduł (.dll skompilowany w konfiguracji wydania) zostanie załadowany w procesie docelowym, debuger poprosi kompilator Just In Time o wygenerowanie kodu z wyłączonymi optymalizacjami. [Więcej informacji](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Katalog, w którym powinny być buforowane symbole pobrane z serwerów symboli. Jeśli nie zostanie określony, w systemie Windows debuger będzie domyślnie ustawiony na %TEMP%\\SymbolCache, a w systemach Linux i macOS debuger będzie domyślnie ustawiony na ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Opcje umożliwiające kontrolowanie sposobu znajdowania i ładowania symboli (plików PDB).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Udostępnia opcje umożliwiające kontrolowanie modułów (plików DLL), dla których debuger będzie próbował załadować symbole (pliki PDB).", diff --git a/package.nls.pt-br.json b/package.nls.pt-br.json index 864224695..f67302f5f 100644 --- a/package.nls.pt-br.json +++ b/package.nls.pt-br.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Variáveis de ambiente passadas para o programa.", "generateOptionsSchema.envFile.markdownDescription": "Variáveis de ambiente passadas para o programa por um arquivo. Por exemplo. `${workspaceFolder}/.env`", "generateOptionsSchema.externalConsole.markdownDescription": "O atributo `externalConsole` está preterido, use `console` em seu lugar. Esta opção padrão é `false`.", - "generateOptionsSchema.justMyCode.markdownDescription": "Quando habilitado (o padrão), o depurador apenas exibe e avança no código do usuário (\"Meu Código\"), ignorando o código do sistema e outro código otimizado ou que não possui símbolos de depuração. [Mais informações](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Os argumentos a serem passados ao comando para abrir o navegador. Isso é usado apenas se o elemento específico da plataforma (`osx`, `linux` ou `windows`) não especificar um valor para `args`. Use ${auto-detect-url} para usar automaticamente o endereço que o servidor está ouvindo.", "generateOptionsSchema.launchBrowser.description": "Descreve as opções para iniciar um navegador da Web como parte do lançamento", "generateOptionsSchema.launchBrowser.enabled.description": "Se a inicialização do navegador da web está habilitada. Esta opção é padronizada como `true`.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Sinalize para exigir que o código-fonte atual corresponda ao pdb. Esta opção é padronizada como `true`.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Mapeia caminhos de tempo de construção para locais de origem local. Todas as instâncias do caminho de tempo de compilação serão substituídas pelo caminho de origem local.\r\n\r\nExemplo:\r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "O Source Link está habilitado para este URL? Se não for especificado, esta opção assume como padrão `true`.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Opções para controlar como o Source Link se conecta aos servidores da web. [Mais informações](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Se verdadeiro, o depurador deve parar no ponto de entrada do destino. Esta opção padrão é `false`.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Se verdadeiro, quando um módulo otimizado (.dll compilado na configuração do Release) for carregado no processo de destino, o depurador solicitará ao compilador Just-In-Time que gere código com as otimizações desativadas. [Mais informações](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Diretório onde os símbolos baixados dos servidores de símbolos devem ser armazenados em cache. Se não for especificado, no Windows, o depurador será padronizado como %TEMP%\\SymbolCache, e no Linux e macOS, o depurador será padronizado como ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Opções para controlar como os símbolos (arquivos .pdb) são encontrados e carregados.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Fornece opções para controlar para quais módulos (arquivos .dll) o depurador tentará carregar símbolos (arquivos .pdb).", diff --git a/package.nls.ru.json b/package.nls.ru.json index d38d02096..a083875f1 100644 --- a/package.nls.ru.json +++ b/package.nls.ru.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Переменные среды, переданные в программу.", "generateOptionsSchema.envFile.markdownDescription": "Переменные среды, передаваемые в программу файлом. Например, \"${workspaceFolder}/.env\"", "generateOptionsSchema.externalConsole.markdownDescription": "Атрибут externalConsole является нерекомендуемым. Используйте вместо него атрибут console. По умолчанию этот параметр принимает значение false.", - "generateOptionsSchema.justMyCode.markdownDescription": "Если этот параметр включен (по умолчанию), отладчик отображает только пользовательский код (\"Мой код\"), игнорируя системный код и другой код, который оптимизирован или не содержит отладочных символов. [Дополнительные сведения](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Аргументы, передаваемые команде для открытия браузера. Используется, только если в элементе платформы (\"osx\", \"linux\" или \"windows\") не указано значение для \"args\". Используйте ${auto-detect-url}, чтобы автоматически применять адрес, прослушиваемый сервером.", "generateOptionsSchema.launchBrowser.description": "Описание параметров для начала работы веб-браузера в рамках запуска", "generateOptionsSchema.launchBrowser.enabled.description": "Включен ли запуск веб-браузера. По умолчанию этот параметр принимает значение true.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Флаг, требующий соответствие текущего исходного кода PDB-файлу. По умолчанию этот параметр принимает значение true.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Сопоставляет пути во время сборки с локальными исходными расположениями. Все экземпляры пути во время сборки будут заменены путем к локальному источнику.\r\n\r\nПример:\r\n\r\n\"{\"\":\"\"}\"", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Включен ли Source Link для этого URL-адреса? Если не указано, этот параметр принимает значение true по умолчанию.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Параметры для управления подключением Source Link к веб-серверам. [Дополнительные сведения](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "Если значение равно true, отладчик должен остановиться в точке входа целевого объекта. По умолчанию этот параметр принимает значение true.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "Если присвоено значение true, при загрузке оптимизированного модуля (с компиляцией .dll в конфигурации выпуска) в целевом процессе отладчик запросит у JIT-компилятора создание кода с отключенной оптимизацией. [Дополнительные сведения](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Каталог, в котором должны кэшироваться символы, скачанные с серверов символов. Если не указано, отладчик в Windows будет по умолчанию использовать %TEMP%\\SymbolCache, а в Linux и macOS — ~/.dotnet/symbolcache.", "generateOptionsSchema.symbolOptions.description": "Параметры, управляющие поиском и загрузкой символов (PDB-файлов).", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Предоставляет параметры для управления тем, для каких модулей (DLL-файлы) отладчик будет пытаться загружать символы (PDB-файлы).", diff --git a/package.nls.tr.json b/package.nls.tr.json index 5d3dce417..f7c97d251 100644 --- a/package.nls.tr.json +++ b/package.nls.tr.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "Programa geçirilen ortam değişkenleri.", "generateOptionsSchema.envFile.markdownDescription": "Bir dosya tarafından programa geçirilen ortam değişkenleri. Ör. '${workspaceFolder}/.env'", "generateOptionsSchema.externalConsole.markdownDescription": "`externalConsole` özniteliği kullanım dışı, bunun yerine `console` özniteliğini kullanın. Bu seçenek varsayılan olarak `false` değerini alır.", - "generateOptionsSchema.justMyCode.markdownDescription": "Etkinleştirildiğinde (varsayılan), hata ayıklayıcısı sistem kodunu ve iyileştirilmiş ya da hata ayıklama sembollerine sahip olmayan diğer kodu yoksayarak yalnızca kullanıcı kodunu (\"Kodum\") görüntüler ve bu koda adımlar. [Daha fazla bilgi](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "Tarayıcıyı açmak için komuta geçirilecek bağımsız değişkenler. Bu yalnızca platforma özgü öğe (`osx`, `linux` veya `windows`) `args` için bir değer belirtmiyorsa kullanılır. Sunucunun dinlediği adresi otomatik olarak kullanmak için ${auto-detect-url} kullanın.", "generateOptionsSchema.launchBrowser.description": "Başlatmanın bir parçası olarak web tarayıcısı başlatma seçeneklerini açıklar", "generateOptionsSchema.launchBrowser.enabled.description": "Web tarayıcısı başlatmanın etkin olup olmadığını belirtir. Bu seçenek varsayılan olarak `true` değerini alır.", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "Geçerli kaynak kodunun pdb ile eşleşmesini gerektiren bayrak. Bu seçenek varsayılan olarak `true` değerini alır.", "generateOptionsSchema.sourceFileMap.markdownDescription": "Derleme zamanı yollarını yerel kaynak konumlara eşler. Derleme zamanı yolunun tüm örnekleri yerel kaynak yolu ile değiştirilir.\r\n\r\nÖrnek:\r\n\r\n`{\"\":\"\"}`", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "Bu URL için Source Link etkin mi? Belirtilmezse bu seçenek varsayılan olarak `true` değerini alır.", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Source Link’in web sunucularına nasıl bağlanacağını denetleme seçenekleri. [Daha fazla bilgi](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "True ise hata ayıklayıcısı hedefin giriş noktasında durmalıdır. Bu seçenek varsayılan olarak `false` değerini alır.", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "True ise hedef işlemde iyileştirilmiş bir modül (Sürüm yapılandırmasındaki .dll derlemesi) yüklendiğinde hata ayıklayıcısı JIT derleyicisinden iyileştirmelerin devre dışı olduğu kod oluşturmasını ister. [Daha fazla bilgi](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "Sembol sunucularından indirilen sembollerin önbelleğe alınacağı dizin. Belirtilmezse Windows'da hata ayıklayıcısı varsayılan olarak %TEMP%\\SymbolCache değerini alır. Linux ve macOS'ta ise hata ayıklayıcısı varsayılan olarak ~/.dotnet/symbolcache değerini alır.", "generateOptionsSchema.symbolOptions.description": "Simgelerin (.pdb dosyaları) nasıl bulunup yüklendiğini denetleme seçenekleri.", "generateOptionsSchema.symbolOptions.moduleFilter.description": "Hata ayıklayıcısının simgeleri (.pdb dosyaları) yüklemeye çalışacağı modülü (.dll dosyaları) denetlemeye yönelik seçenekleri sağlar.", diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index 3246d9c27..3dbeca52a 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "传递给程序的环境变量。", "generateOptionsSchema.envFile.markdownDescription": "文件传递给程序的环境变量。例如 \"${workspaceFolder}/.env\"", "generateOptionsSchema.externalConsole.markdownDescription": "特性 \"externalConsole\" 已弃用,请改用 \"console\"。此选项默认为 \"false\"。", - "generateOptionsSchema.justMyCode.markdownDescription": "启用(默认)后,调试器仅显示并单步执行用户代码(“我的代码”),忽略系统代码和其他经过优化或没有调试符号的代码。[详细信息](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "要传递给命令以打开浏览器的参数。只有当平台特定的元素 (\"osx\"、\"linux\" 或 \"windows\") 没有为 \"args\" 指定值时,才使用此选项。使用 ${auto-detect-url} 以自动使用服务器正在侦听的地址。", "generateOptionsSchema.launchBrowser.description": "描述在启动过程中启动 Web 浏览器的选项", "generateOptionsSchema.launchBrowser.enabled.description": "是否已启用 Web 浏览器启动。此选项默认为 \"true\"。", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "要求当前源代码与 pdb 匹配的标志。此选项默认为 \"true\"。", "generateOptionsSchema.sourceFileMap.markdownDescription": "将生成时路径映射到本地源位置。生成时路径的所有实例都将替换为本地源路径。\r\n\r\n例子:\r\n\r\n\"{\"\":\"\"}\"", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "是否为此 URL 启用了 Source Link? 如果未指定,此选项默认为 \"true\"。", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "用于控制 Source Link 如何连接到 Web 服务器的选项。[详细信息](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "如果为 true,调试器应在目标的入口点停止。此选项默认为 \"false\"。", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "如果为 true,则在目标进程中加载优化模块(发布配置中编译的 .dll)时,调试器将要求实时编译器生成禁用优化的代码。[详细信息](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "应缓存从符号服务器下载的符号的目录。如果未指定,则在 Windows 上,调试器将默认为 %TEMP%\\SymbolCache;在 Linux 和 macOS 上,调试器将默认为 ~/.dotnet/symbolcache。", "generateOptionsSchema.symbolOptions.description": "用于控制如何找到和加载符号(.pdb 文件)的选项。", "generateOptionsSchema.symbolOptions.moduleFilter.description": "提供选项来控制调试程序将尝试为哪些模块(.dll 文件)加载符号(.pdb 文件)。", diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index 4e7a4d404..16d8f6aa7 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -106,7 +106,7 @@ "generateOptionsSchema.env.description": "傳遞給程式的環境變數。", "generateOptionsSchema.envFile.markdownDescription": "檔案傳遞給程式的環境變數。例如 '${workspaceFolder}/.env'", "generateOptionsSchema.externalConsole.markdownDescription": "屬性 'externalConsole' 已逾時,請改用 'console'。此選項預設為 'false'。", - "generateOptionsSchema.justMyCode.markdownDescription": "啟用 (預設) 時,偵錯工具只會顯示使用者程式碼 (「我的程式碼」) 中的步驟,忽略系統程式碼及其他已最佳化或沒有偵錯符號的程式碼。[詳細資訊](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", + "generateOptionsSchema.justMyCode.markdownDescription": "When enabled (the default), the debugger only displays and steps into user code (\"My Code\"), ignoring system code and other code that is optimized or that does not have debugging symbols. [More information](https://aka.ms/VSCode-CS-LaunchJson-JustMyCode)", "generateOptionsSchema.launchBrowser.args.description": "要傳遞至命令以開啟瀏覽器的引數。只有當平台特定元素 ('osx'、'linux' 或 'windows') 未指定 'args' 的值時,才會使用此功能。使用 ${auto-detect-url} 自動使用伺服器正在接聽的位址。", "generateOptionsSchema.launchBrowser.description": "描述啟動網頁瀏覽器的選項", "generateOptionsSchema.launchBrowser.enabled.description": "是否已啟用網頁瀏覽器啟動。此選項預設為 'true'。", @@ -181,9 +181,9 @@ "generateOptionsSchema.requireExactSource.markdownDescription": "旗標,要求目前的原始程式碼與 pdb 相符。此選項預設為 'true'。", "generateOptionsSchema.sourceFileMap.markdownDescription": "將組建時間路徑對應到本機來源位置。將以本機來源路徑取代所有建置時間路徑的執行個體。\r\n\r\n範例:\r\n\r\n'{\"\":\"\"}'", "generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription": "此 URL 的 Source Link 是否已啟用? 若未指定,此選項預設為 'true'。", - "generateOptionsSchema.sourceLinkOptions.markdownDescription": "控制 Source Link 連線至網頁伺服器方式的選項。[詳細資訊](https://aka.ms/VSCode-DotNet-SourceLink)", + "generateOptionsSchema.sourceLinkOptions.markdownDescription": "Options to control how Source Link connects to web servers. [More information](https://aka.ms/VSCode-DotNet-SourceLink)", "generateOptionsSchema.stopAtEntry.markdownDescription": "若為 true,偵錯工具應在目標的進入點停止。此選項預設為 'false'。", - "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "如果為 true,則當在 Release 組態中編譯最佳化模組 (.dll) 在目標處理常式中載入時,偵錯工具會要求 Just-In-Time 編譯器產生已停用最佳化的程式碼。[詳細資訊](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", + "generateOptionsSchema.suppressJITOptimizations.markdownDescription": "If true, when an optimized module (.dll compiled in the Release configuration) loads in the target process, the debugger will ask the Just-In-Time compiler to generate code with optimizations disabled. [More information](https://aka.ms/VSCode-CS-LaunchJson-SuppressJITOptimizations)", "generateOptionsSchema.symbolOptions.cachePath.description": "應該快取從符號伺服器下載符號的目錄。若未指定,偵錯工具在 Windows 上的預設值為 %TEMP%\\SymbolCache,而在 Linux 和 macOS 上,偵錯工具將預設為 ~/.dotnet/symbolcache。", "generateOptionsSchema.symbolOptions.description": "控制如何找到並載入符號 (.pdb 檔案) 的選項。", "generateOptionsSchema.symbolOptions.moduleFilter.description": "提供選項,以控制偵錯工具會嘗試為其載入符號 (.pdb 檔案) 的模組 (.dll 檔案)。", From 3da305366db99d73c8f220d71bde3e976f5cc08c Mon Sep 17 00:00:00 2001 From: David Barbet Date: Mon, 13 Nov 2023 13:16:25 -0800 Subject: [PATCH 15/16] Update Roslyn version --- CHANGELOG.md | 5 +++++ package.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 164bdefc1..5099a967f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ - [O# Parity] Nuget restore [#5725](https://github.com/dotnet/vscode-csharp/issues/5725) - Debug from .csproj and .sln [#5876](https://github.com/dotnet/vscode-csharp/issues/5876) +## Latest +* Update Roslyn to 4.9.0-2.23563.2 (PR: [#6664](https://github.com/dotnet/vscode-csharp/pull/6664)) + * Implement textDocument/prepareRename to show error in invalid rename locations (PR: [#70724](https://github.com/dotnet/roslyn/pull/70724)) + * Improve Hover markdown on 'await' keyword (PR: [#70629](https://github.com/dotnet/roslyn/pull/70629)) + ## 2.10.28 * Fix C# Debugger telemetry (PR: [#6627](https://github.com/dotnet/vscode-csharp/pull/6627)) * Add support for deduping build diagnostics from C# Devkit (PR: [#6543](https://github.com/dotnet/vscode-csharp/pull/6543)) diff --git a/package.json b/package.json index 91cf46cae..2e8a15042 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ } }, "defaults": { - "roslyn": "4.9.0-1.23530.4", + "roslyn": "4.9.0-2.23563.2", "omniSharp": "1.39.10", "razor": "7.0.0-preview.23528.1", "razorOmnisharp": "7.0.0-preview.23363.1", From 4681365115803a4161ea4cd002413bb18e1a2d35 Mon Sep 17 00:00:00 2001 From: David Barbet Date: Mon, 13 Nov 2023 16:38:34 -0800 Subject: [PATCH 16/16] Update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5099a967f..d17690c34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ * Update Roslyn to 4.9.0-2.23563.2 (PR: [#6664](https://github.com/dotnet/vscode-csharp/pull/6664)) * Implement textDocument/prepareRename to show error in invalid rename locations (PR: [#70724](https://github.com/dotnet/roslyn/pull/70724)) * Improve Hover markdown on 'await' keyword (PR: [#70629](https://github.com/dotnet/roslyn/pull/70629)) +* Direct debugger setting documentation to code.visualstudio.com (PR: [#6659](https://github.com/dotnet/vscode-csharp/pull/6659)) +* Add a timeout for downloading razor telemetry (PR: [#6622](https://github.com/dotnet/vscode-csharp/pull/6622)) +* Rearrange settings sections into actual categories (PR: [#6652](https://github.com/dotnet/vscode-csharp/pull/6652)) ## 2.10.28 * Fix C# Debugger telemetry (PR: [#6627](https://github.com/dotnet/vscode-csharp/pull/6627))