From 1f4d94e99c00b55abeff3402f8c0228c474d8034 Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Mon, 10 Jun 2024 12:54:54 -0300 Subject: [PATCH 01/15] Adding changes to support use monovsdbg to debug wasm apps. --- .../omnisharpUnitTests/assets.test.ts | 4 +- package.json | 10 ++ package.nls.json | 3 +- src/coreclrDebug/activate.ts | 6 - src/csharpExtensionExports.ts | 1 + src/lsptoolshost/debugger.ts | 5 + ...slynWorkspaceDebugConfigurationProvider.ts | 9 +- src/main.ts | 1 + src/omnisharp/protocol.ts | 1 + src/omnisharp/utils.ts | 3 +- ...isharpWorkspaceDebugInformationProvider.ts | 1 + .../blazorDebugConfigurationProvider.ts | 167 +++++++++++++++++- src/razor/src/blazorDebug/constants.ts | 2 + .../IWorkspaceDebugInformationProvider.ts | 5 + src/shared/assets.ts | 12 ++ src/shared/configurationProvider.ts | 14 +- src/shared/utils.ts | 8 + src/shared/workspaceConfigurationProvider.ts | 9 + 18 files changed, 247 insertions(+), 14 deletions(-) diff --git a/omnisharptest/omnisharpUnitTests/assets.test.ts b/omnisharptest/omnisharpUnitTests/assets.test.ts index c1c812a31..b5eb1eb2b 100644 --- a/omnisharptest/omnisharpUnitTests/assets.test.ts +++ b/omnisharptest/omnisharpUnitTests/assets.test.ts @@ -505,7 +505,8 @@ function createMSBuildWorkspaceInformation( isExe = true, isWebProject = false, isBlazorWebAssemblyStandalone = false, - isBlazorWebAssemblyHosted = false + isBlazorWebAssemblyHosted = false, + isWebAssemblyProject = false ): ProjectDebugInformation[] { return [ { @@ -527,6 +528,7 @@ function createMSBuildWorkspaceInformation( isWebProject: isWebProject, isBlazorWebAssemblyHosted: isBlazorWebAssemblyHosted, isBlazorWebAssemblyStandalone: isBlazorWebAssemblyStandalone, + isWebAssemblyProject: isWebAssemblyProject, }, ]; } diff --git a/package.json b/package.json index aedccdbde..3c0e41ca9 100644 --- a/package.json +++ b/package.json @@ -1412,6 +1412,11 @@ "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", "default": false }, + "csharp.mono.debug.useVSDbg": { + "type": "boolean", + "description": "%generateOptionsSchema.useVSDbg.description%", + "default": false + }, "dotnet.unitTestDebuggingOptions": { "type": "object", "description": "%configuration.dotnet.unitTestDebuggingOptions%", @@ -4818,6 +4823,11 @@ "type": "object", "description": "Environment variables passed to dotnet. Only valid for hosted apps." }, + "useVSDbg": { + "type": "boolean", + "default": false, + "description": "%generateOptionsSchema.useVSDbg.description%" + }, "dotNetConfig": { "description": "Options passed to the underlying .NET debugger. For more info, see https://github.com/dotnet/vscode-csharp/blob/main/debugger.md.", "type": "object", diff --git a/package.nls.json b/package.nls.json index c528a5af9..90e0d2e1c 100644 --- a/package.nls.json +++ b/package.nls.json @@ -435,5 +435,6 @@ "comment": [ "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.useVSDbg.description": "Enable new .NET 8+ Mono Debugger (preview)" } \ No newline at end of file diff --git a/src/coreclrDebug/activate.ts b/src/coreclrDebug/activate.ts index 52e2f466b..b60000558 100644 --- a/src/coreclrDebug/activate.ts +++ b/src/coreclrDebug/activate.ts @@ -92,12 +92,6 @@ export async function activate( new BaseVsDbgConfigurationProvider(platformInformation, csharpOutputChannel) ) ); - context.subscriptions.push( - vscode.debug.registerDebugConfigurationProvider( - 'monovsdbg', - new BaseVsDbgConfigurationProvider(platformInformation, csharpOutputChannel) - ) - ); disposables.add(vscode.debug.registerDebugAdapterDescriptorFactory('coreclr', factory)); disposables.add(vscode.debug.registerDebugAdapterDescriptorFactory('clr', factory)); disposables.add(vscode.debug.registerDebugAdapterDescriptorFactory('monovsdbg', factory)); diff --git a/src/csharpExtensionExports.ts b/src/csharpExtensionExports.ts index a6a717a2f..ab44fc058 100644 --- a/src/csharpExtensionExports.ts +++ b/src/csharpExtensionExports.ts @@ -26,6 +26,7 @@ export interface CSharpExtensionExports { determineBrowserType: () => Promise; experimental: CSharpExtensionExperimentalExports; getComponentFolder: (componentName: string) => string; + tryToUseVSDbgForMono: (urlStr: string) => Promise<[string, number, number]>; } export interface CSharpExtensionExperimentalExports { diff --git a/src/lsptoolshost/debugger.ts b/src/lsptoolshost/debugger.ts index afae73b7f..d7a2f867a 100644 --- a/src/lsptoolshost/debugger.ts +++ b/src/lsptoolshost/debugger.ts @@ -52,6 +52,11 @@ export function registerDebugger( context.subscriptions.push( vscode.debug.registerDebugConfigurationProvider('coreclr', dotnetWorkspaceConfigurationProvider) ); + + context.subscriptions.push( + vscode.debug.registerDebugConfigurationProvider('monovsdbg', dotnetWorkspaceConfigurationProvider) + ); + context.subscriptions.push( vscode.commands.registerCommand('dotnet.generateAssets', async (selectedIndex) => generateAssets(workspaceInformationProvider, selectedIndex) diff --git a/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts b/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts index 9e820c656..0c7651e02 100644 --- a/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts +++ b/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts @@ -9,7 +9,12 @@ import { IWorkspaceDebugInformationProvider, ProjectDebugInformation, } from '../shared/IWorkspaceDebugInformationProvider'; -import { isBlazorWebAssemblyHosted, isBlazorWebAssemblyProject, isWebProject } from '../shared/utils'; +import { + isBlazorWebAssemblyHosted, + isBlazorWebAssemblyProject, + isWebProject, + isWebAssemblyProject, +} from '../shared/utils'; import { RoslynLanguageServer } from './roslynLanguageServer'; import { ProjectDebugConfiguration, @@ -50,6 +55,7 @@ export class RoslynWorkspaceDebugInformationProvider implements IWorkspaceDebugI // LSP serializes and deserializes URIs as (URI formatted) strings not actual types. So convert to the actual type here. const projects: ProjectDebugInformation[] | undefined = await mapAsync(response, async (p) => { const webProject = isWebProject(p.projectPath); + const webAssemblyProject = isWebAssemblyProject(p.projectPath); const webAssemblyBlazor = await isBlazorWebAssemblyProject(p.projectPath); return { projectPath: p.projectPath, @@ -58,6 +64,7 @@ export class RoslynWorkspaceDebugInformationProvider implements IWorkspaceDebugI targetsDotnetCore: p.targetsDotnetCore, isExe: p.isExe, isWebProject: webProject, + isWebAssemblyProject: webAssemblyProject, isBlazorWebAssemblyHosted: isBlazorWebAssemblyHosted( p.isExe, webProject, diff --git a/src/main.ts b/src/main.ts index 6e0c323a6..1e7b55c12 100644 --- a/src/main.ts +++ b/src/main.ts @@ -371,6 +371,7 @@ export async function activate( getComponentFolder: (componentName) => { return getComponentFolder(componentName, languageServerOptions); }, + tryToUseVSDbgForMono: BlazorDebugConfigurationProvider.tryToUseVSDbgForMono, }; } else { return { diff --git a/src/omnisharp/protocol.ts b/src/omnisharp/protocol.ts index ec444e363..b4ef34965 100644 --- a/src/omnisharp/protocol.ts +++ b/src/omnisharp/protocol.ts @@ -343,6 +343,7 @@ export interface MSBuildProject { IsWebProject: boolean; IsBlazorWebAssemblyStandalone: boolean; IsBlazorWebAssemblyHosted: boolean; + IsWebAssemblyProject: boolean; } export interface TargetFramework { diff --git a/src/omnisharp/utils.ts b/src/omnisharp/utils.ts index 1d28bf689..e66634012 100644 --- a/src/omnisharp/utils.ts +++ b/src/omnisharp/utils.ts @@ -9,6 +9,7 @@ import * as vscode from 'vscode'; import { CancellationToken } from 'vscode-languageserver-protocol'; import { isWebProject, + isWebAssemblyProject, isBlazorWebAssemblyProject, isBlazorWebAssemblyHosted, findNetCoreTargetFramework, @@ -171,7 +172,7 @@ export async function requestWorkspaceInformation(server: OmniSharpServer) { if (response.MsBuild && response.MsBuild.Projects) { for (const project of response.MsBuild.Projects) { project.IsWebProject = isWebProject(project.Path); - + project.IsWebAssemblyProject = isWebAssemblyProject(project.Path); const isProjectBlazorWebAssemblyProject = await isBlazorWebAssemblyProject(project.Path); const targetsDotnetCore = diff --git a/src/omnisharpWorkspaceDebugInformationProvider.ts b/src/omnisharpWorkspaceDebugInformationProvider.ts index 76c035b0b..9f25951dc 100644 --- a/src/omnisharpWorkspaceDebugInformationProvider.ts +++ b/src/omnisharpWorkspaceDebugInformationProvider.ts @@ -36,6 +36,7 @@ export class OmnisharpWorkspaceDebugInformationProvider implements IWorkspaceDeb isWebProject: p.IsWebProject, isBlazorWebAssemblyHosted: p.IsBlazorWebAssemblyHosted, isBlazorWebAssemblyStandalone: p.IsBlazorWebAssemblyStandalone, + isWebAssemblyProject: p.IsWebAssemblyProject, solutionPath: null, }; }); diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index 9530e493b..f882ead46 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -10,10 +10,13 @@ import { fileURLToPath } from 'url'; import * as vscode from 'vscode'; import { ChromeBrowserFinder, EdgeBrowserFinder } from '@vscode/js-debug-browsers'; import { RazorLogger } from '../razorLogger'; -import { JS_DEBUG_NAME, SERVER_APP_NAME } from './constants'; +import { ONLY_JS_DEBUG_NAME, MANAGED_DEBUG_NAME, JS_DEBUG_NAME, SERVER_APP_NAME } from './constants'; import { onDidTerminateDebugSession } from './terminateDebugHandler'; import showInformationMessage from '../../../shared/observers/utils/showInformationMessage'; import showErrorMessage from '../../../observers/utils/showErrorMessage'; +import path = require('path'); +import * as cp from 'child_process'; +import { getExtensionPath } from '../../../common'; export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurationProvider { private static readonly autoDetectUserNotice: string = vscode.l10n.t( @@ -21,6 +24,8 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati ); private static readonly edgeBrowserType: string = 'msedge'; private static readonly chromeBrowserType: string = 'chrome'; + private static readonly pidsByUrl = new Map(); + private static readonly vsWebAssemblyBridgeOutputChannel = vscode.window.createOutputChannel('VsWebAssemblyBridge'); constructor(private readonly logger: RazorLogger, private readonly vscodeType: typeof vscode) {} @@ -97,6 +102,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati launchBrowser: { enabled: false, }, + cascadeTerminateToConfigurations: [ONLY_JS_DEBUG_NAME, MANAGED_DEBUG_NAME, JS_DEBUG_NAME], ...configuration.dotNetConfig, }; @@ -125,6 +131,13 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati inspectUri: string, url: string ) { + const wasmConfig = vscode.workspace.getConfiguration('csharp'); + const useVSDbg = configuration.useVSDbg || wasmConfig.get('mono.debug.useVSDbg') == true; + let portBrowserDebug = -1; + if (useVSDbg) { + [inspectUri, portBrowserDebug] = await this.attachToAppOnBrowser(folder, configuration); + } + const configBrowser = configuration.browser; const browserType = configBrowser === 'edge' @@ -137,7 +150,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati } const browser = { - name: JS_DEBUG_NAME, + name: useVSDbg ? ONLY_JS_DEBUG_NAME : JS_DEBUG_NAME, type: browserType, request: 'launch', timeout: configuration.timeout || 30000, @@ -149,9 +162,13 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati ...configuration.browserConfig, // When the browser debugging session is stopped, propogate // this and terminate the debugging session of the Blazor dev server. - cascadeTerminateToConfigurations: [SERVER_APP_NAME], + cascadeTerminateToConfigurations: [SERVER_APP_NAME, MANAGED_DEBUG_NAME], }; + if (useVSDbg) { + browser.port = portBrowserDebug; + } + try { /** * The browser debugger will immediately launch after the @@ -179,6 +196,150 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati } } + private async attachToAppOnBrowser( + folder: vscode.WorkspaceFolder | undefined, + configuration: vscode.DebugConfiguration + ): Promise<[string, number]> { + const [inspectUriRet, portICorDebug, portBrowserDebug] = + await BlazorDebugConfigurationProvider.launchVsWebAssemblyBridge(configuration.url); + + const cwd = configuration.cwd || '${workspaceFolder}'; + const args = configuration.hosted ? [] : ['run']; + const app = { + name: MANAGED_DEBUG_NAME, + type: 'monovsdbg', + request: 'launch', + //program: 'C:\\diag\\icordebug_wasm_vscode\\test\\obj\\Debug\\net9.0\\test.dll', + args, + cwd, + cascadeTerminateToConfigurations: [ONLY_JS_DEBUG_NAME, SERVER_APP_NAME, JS_DEBUG_NAME], + ...configuration.dotNetConfig, + }; + + app.monoDebuggerOptions = { + ip: '127.0.0.1', + port: portICorDebug, + platform: 'browser', + isServer: true, + //assetsPath: 'C:\\diag\\icordebug_wasm_vscode\\test\\bin\\Debug\\net9.0\\', + }; + + try { + await this.vscodeType.debug.startDebugging(folder, app); + const terminate = this.vscodeType.debug.onDidTerminateDebugSession(async (event) => { + if (process.platform !== 'win32') { + const blazorDevServer = 'blazor-devserver\\.dll'; + const dir = folder && folder.uri && folder.uri.fsPath; + const regexEscapedDir = dir!.toLowerCase()!.replace(/\//g, '\\/'); + const launchedApp = configuration.hosted + ? app.program + : `${regexEscapedDir}.*${blazorDevServer}|${blazorDevServer}.*${regexEscapedDir}`; + await onDidTerminateDebugSession(event, this.logger, launchedApp); + terminate.dispose(); + } + this.vscodeType.debug.stopDebugging(); + }); + } catch (error) { + this.logger.logError('[DEBUGGER] Error when launching application: ', error as Error); + } + return [inspectUriRet, portBrowserDebug]; + } + + private static async launchVsWebAssemblyBridge(urlStr: string): Promise<[string, number, number]> { + const dotnetPath = process.platform === 'win32' ? 'dotnet.exe' : 'dotnet'; + const vsWebAssemblyBridge = path.join( + getExtensionPath(), + '.vswebassemblybridge', + 'Microsoft.Diagnostics.BrowserDebugHost.dll' + ); + const devToolsUrl = `http://localhost:0`; // Browser debugging port address + const spawnedProxyArgs = [ + `${vsWebAssemblyBridge}`, + '--DevToolsUrl', + `${devToolsUrl}`, + '--UseVsDbg', + 'true', + '--iCorDebugPort', + '-1', + '--OwnerPid', + `${process.pid}`, + ]; + const spawnedProxy = cp.spawn(dotnetPath, spawnedProxyArgs); + + try { + let chunksProcessed = 0; + let proxyICorDebugPort = -1; + let proxyBrowserPort = -1; + for await (const output of spawnedProxy.stdout) { + // If we haven't found the URL in the first ten chunks processed + // then bail out. + if (chunksProcessed++ > 10) { + return ['', -1, -1]; + } + BlazorDebugConfigurationProvider.vsWebAssemblyBridgeOutputChannel.appendLine(output); + // The debug proxy server outputs the port it is listening on in the + // standard output of the launched application. We need to pass this URL + // back to the debugger so we extract the URL from stdout using a regex. + // The debug proxy will not exit until killed via the `killDebugProxy` + // method so parsing stdout is necessary to extract the URL. + const matchExprProxyUrl = 'Now listening on: (?.*)'; + const matchExprICorDebugPort = 'Listening iCorDebug on: (?.*)'; + const matchExprBrowserPort = 'Waiting for browser on: (?.*)'; + const foundProxyUrl = `${output}`.match(matchExprProxyUrl); + const foundICorDebugPort = `${output}`.match(matchExprICorDebugPort); + const foundBrowserPort = `${output}`.match(matchExprBrowserPort); + const proxyUrlString = foundProxyUrl?.groups?.url; + if (foundICorDebugPort?.groups?.port != undefined) { + proxyICorDebugPort = Number(foundICorDebugPort?.groups?.port); + } + if (foundBrowserPort?.groups?.port != undefined) { + proxyBrowserPort = Number(foundBrowserPort?.groups?.port); + } + if (proxyUrlString) { + BlazorDebugConfigurationProvider.vsWebAssemblyBridgeOutputChannel.appendLine( + `Debugging proxy is running at: ${proxyUrlString}` + ); + const oldPid = BlazorDebugConfigurationProvider.pidsByUrl.get(urlStr); + if (oldPid != undefined) { + process.kill(oldPid); + } + BlazorDebugConfigurationProvider.pidsByUrl.set(urlStr, spawnedProxy.pid); + const url = new URL(proxyUrlString); + return [ + `${url.protocol.replace(`http`, `ws`)}//${url.host}{browserInspectUriPath}`, + proxyICorDebugPort, + proxyBrowserPort, + ]; + } + } + + for await (const error of spawnedProxy.stderr) { + BlazorDebugConfigurationProvider.vsWebAssemblyBridgeOutputChannel.appendLine(`ERROR: ${error}`); + } + } catch (error: any) { + if (spawnedProxy.pid) { + BlazorDebugConfigurationProvider.vsWebAssemblyBridgeOutputChannel.appendLine( + `Error occured while spawning debug proxy. Terminating debug proxy server.` + ); + process.kill(spawnedProxy.pid); + } + throw error; + } + return ['', -1, -1]; + } + + public static async tryToUseVSDbgForMono(urlStr: string): Promise<[string, number, number]> { + const wasmConfig = vscode.workspace.getConfiguration('csharp'); + const useVSDbg = wasmConfig.get('mono.debug.useVSDbg') == true; + if (useVSDbg) { + const [inspectUri, portICorDebug, portBrowserDebug] = + await BlazorDebugConfigurationProvider.launchVsWebAssemblyBridge(urlStr); + + return [inspectUri, portICorDebug, portBrowserDebug]; + } + return ['', -1, -1]; + } + public static async determineBrowserType(): Promise { // There was no browser specified by the user, so we will do some auto-detection to find a browser, // favoring Edge if multiple valid options are installed. diff --git a/src/razor/src/blazorDebug/constants.ts b/src/razor/src/blazorDebug/constants.ts index b13163af2..d41894e2f 100644 --- a/src/razor/src/blazorDebug/constants.ts +++ b/src/razor/src/blazorDebug/constants.ts @@ -5,3 +5,5 @@ export const SERVER_APP_NAME = '.NET Application Server'; export const JS_DEBUG_NAME = 'Debug Blazor Web Assembly in Browser'; +export const ONLY_JS_DEBUG_NAME = 'JavaScript Debugger'; +export const MANAGED_DEBUG_NAME = 'Wasm Managed Debugger'; diff --git a/src/shared/IWorkspaceDebugInformationProvider.ts b/src/shared/IWorkspaceDebugInformationProvider.ts index de316d3b1..029d4b5b6 100644 --- a/src/shared/IWorkspaceDebugInformationProvider.ts +++ b/src/shared/IWorkspaceDebugInformationProvider.ts @@ -56,4 +56,9 @@ export interface ProjectDebugInformation { * If this is a standalone blazor web assembly project. */ isBlazorWebAssemblyStandalone: boolean; + + /** + * If this is a web assembly project. + */ + isWebAssemblyProject: boolean; } diff --git a/src/shared/assets.ts b/src/shared/assets.ts index 41a7db31d..4360df12d 100644 --- a/src/shared/assets.ts +++ b/src/shared/assets.ts @@ -344,6 +344,18 @@ export class AssetGenerator { return result; } + + public getAssetsPathAndProgram(): [string, string] { + let assetsPath = ``; + this.executableProjects.forEach((project) => { + if (project.isWebAssemblyProject) { + assetsPath += path.join(path.dirname(project.outputPath), path.sep); + assetsPath += ';'; + } + }); + assetsPath = assetsPath.slice(0, -1); + return [assetsPath, this.executableProjects[0].outputPath]; + } } export enum ProgramLaunchType { diff --git a/src/shared/configurationProvider.ts b/src/shared/configurationProvider.ts index 942f36771..d4cc948dc 100644 --- a/src/shared/configurationProvider.ts +++ b/src/shared/configurationProvider.ts @@ -18,6 +18,7 @@ import { import { PlatformInformation } from './platform'; import { getCSharpDevKit } from '../utils/getCSharpDevKit'; import { commonOptions } from './options'; +import { DotnetWorkspaceConfigurationProvider } from './workspaceConfigurationProvider'; /** * Class used for debug configurations that will be sent to the debugger registered by {@link DebugAdapterExecutableFactory} @@ -148,7 +149,18 @@ export class BaseVsDbgConfigurationProvider implements vscode.DebugConfiguration this.checkForDevCerts(commonOptions.dotnetPath); } } - + if (debugConfiguration.type === 'monovsdbg' && this instanceof DotnetWorkspaceConfigurationProvider) { + const configProvider = this as DotnetWorkspaceConfigurationProvider; + if ( + folder && + debugConfiguration.monoDebuggerOptions.platform === 'browser' && + debugConfiguration.monoDebuggerOptions.assetsPath == null + ) { + const [assetsPath, programName] = await configProvider.getAssetsPathAndProgram(folder); + debugConfiguration.monoDebuggerOptions.assetsPath = assetsPath; + debugConfiguration.program = programName; + } + } return debugConfiguration; } diff --git a/src/shared/utils.ts b/src/shared/utils.ts index 4aaeb80e5..76c712a3e 100644 --- a/src/shared/utils.ts +++ b/src/shared/utils.ts @@ -43,6 +43,14 @@ export function isWebProject(projectPath: string): boolean { return projectFileText.toLowerCase().indexOf('sdk="microsoft.net.sdk.web"') >= 0; } +export function isWebAssemblyProject(projectPath: string): boolean { + const projectFileText = fs.readFileSync(projectPath, 'utf8'); + + // Assume that this is an MSBuild project. In that case, look for the 'Sdk="Microsoft.NET.Sdk.BlazorWebAssembly"' attribute. + // TODO: Have OmniSharp provide the list of SDKs used by a project and check that list instead. + return projectFileText.toLowerCase().indexOf('sdk="microsoft.net.sdk.blazorwebassembly"') >= 0; +} + export async function isBlazorWebAssemblyProject(projectPath: string): Promise { const projectDirectory = path.dirname(projectPath); const launchSettingsPath = path.join(projectDirectory, 'Properties', 'launchSettings.json'); diff --git a/src/shared/workspaceConfigurationProvider.ts b/src/shared/workspaceConfigurationProvider.ts index f13ebbddb..cd5ef5733 100644 --- a/src/shared/workspaceConfigurationProvider.ts +++ b/src/shared/workspaceConfigurationProvider.ts @@ -96,4 +96,13 @@ export class DotnetWorkspaceConfigurationProvider extends BaseVsDbgConfiguration return [createFallbackLaunchConfiguration(), parse(createAttachConfiguration())]; } } + + async getAssetsPathAndProgram(folder: vscode.WorkspaceFolder): Promise<[string, string]> { + const info = await this.workspaceDebugInfoProvider.getWorkspaceDebugInformation(folder.uri); + if (!info) { + return ['', '']; + } + const generator = new AssetGenerator(info, folder); + return generator.getAssetsPathAndProgram(); + } } From d7f86060bae19b06c1f05ecfeb4383b573a2bf1a Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Thu, 13 Jun 2024 12:11:57 -0300 Subject: [PATCH 02/15] Adding VSWebAssemblyPackage. --- package.json | 11703 +++++++++++++++++++++++++------------------------ src/main.ts | 2 + 2 files changed, 5862 insertions(+), 5843 deletions(-) diff --git a/package.json b/package.json index 3c0e41ca9..b73d34a26 100644 --- a/package.json +++ b/package.json @@ -1,5844 +1,5861 @@ -{ - "name": "csharp", - "publisher": "ms-dotnettools", - "version": "42.42.42-placeholder", - "description": "Base language support for C#", - "displayName": "C#", - "author": "Microsoft Corporation", - "license": "SEE LICENSE IN RuntimeLicenses/license.txt", - "qna": "https://github.com/dotnet/vscode-csharp/issues", - "icon": "images/csharpIcon.png", - "preview": false, - "bugs": { - "url": "https://github.com/dotnet/vscode-csharp" - }, - "repository": { - "type": "git", - "url": "https://github.com/dotnet/vscode-csharp" - }, - "categories": [ - "Debuggers", - "Programming Languages", - "Linters", - "Snippets" - ], - "keywords": [ - "multi-root ready", - ".NET", - "ASP.NET", - ".NET Core", - "dotnet", - "coreclr" - ], - "capabilities": { - "virtualWorkspaces": false, - "untrustedWorkspaces": { - "supported": false - } - }, - "defaults": { - "roslyn": "4.11.0-2.24267.3", - "omniSharp": "1.39.11", - "razor": "7.0.0-preview.24266.1", - "razorOmnisharp": "7.0.0-preview.23363.1", - "razorTelemetry": "7.0.0-preview.24178.4", - "xamlTools": "17.11.34924.19" - }, - "main": "./dist/extension", - "l10n": "./l10n", - "brokeredServices": [ - { - "moniker": { - "name": "Microsoft.CodeAnalysis.LanguageClient.SolutionSnapshotProvider", - "version": "0.1" - } - }, - { - "moniker": { - "name": "Microsoft.VisualStudio.CSharpExtension.BuildResultService", - "version": "0.1" - } - } - ], - "scripts": { - "vscode:prepublish": "tsc -p ./ && webpack --mode production", - "l10nDevGenerateLocalizationBundle": "npx @vscode/l10n-dev export --outDir ./l10n ./src", - "compile": "tsc -p ./ && npx eslint ./ && npm run l10nDevGenerateLocalizationBundle && npm run compile:razorTextMate", - "compile:razorTextMate": "npx js-yaml src/razor/syntaxes/aspnetcorerazor.tmLanguage.yml > src/razor/syntaxes/aspnetcorerazor.tmLanguage.json", - "compileDev": "tsc -p ./ && npx eslint ./ && webpack --mode development && npm run l10nDevGenerateLocalizationBundle", - "watch": "tsc -watch -p ./", - "test": "tsc -p ./ && gulp test", - "test:integration": "tsc -p ./ && gulp test:integration", - "test:razor": "tsc -p ./ && npm run compile:razorTextMate && gulp test:razor", - "test:razorintegration": "tsc -p ./ && gulp test:razorintegration", - "test:artifacts": "tsc -p ./ && gulp test:artifacts", - "omnisharptest": "tsc -p ./ && gulp omnisharptest", - "omnisharptest:unit": "tsc -p ./ && gulp omnisharptest:unit", - "omnisharptest:integration": "tsc -p ./ && gulp omnisharptest:integration", - "omnisharptest:integration:singleCsproj": "tsc -p ./ && gulp omnisharptest:integration:singleCsproj", - "omnisharptest:integration:slnWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnWithCsproj", - "omnisharptest:integration:slnFilterWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnFilterWithCsproj", - "unpackage:vsix": "gulp vsix:release:unpackage", - "updatePackageDependencies": "gulp updatePackageDependencies", - "l10nDevGenerateXlf": "npx @vscode/l10n-dev generate-xlf ./package.nls.json ./l10n/bundle.l10n.json --outFile ./loc/vscode-csharp.xlf", - "l10nDevImportXlf": "npx @vscode/l10n-dev import-xlf ./loc/vscode-csharp.*.xlf --outDir ./l10n && move l10n\\package.nls.*.json ." - }, - "extensionDependencies": [ - "ms-dotnettools.vscode-dotnet-runtime" - ], - "dependencies": { - "@microsoft/servicehub-framework": "4.2.99-beta", - "@octokit/rest": "^20.0.1", - "@types/cross-spawn": "6.0.2", - "@vscode/debugprotocol": "1.56.0", - "@vscode/extension-telemetry": "^0.9.0", - "@vscode/js-debug-browsers": "^1.1.0", - "async-file": "2.0.2", - "cross-spawn": "6.0.5", - "execa": "4.0.0", - "fs-extra": "9.1.0", - "http-proxy-agent": "7.0.0", - "https-proxy-agent": "7.0.2", - "jsonc-parser": "3.0.0", - "microsoft.aspnetcore.razor.vscode": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/0af42abab690d5de903a4a814d6aedc1/microsoft.aspnetcore.razor.vscode-7.0.0-preview.23363.1.tgz", - "nerdbank-gitversioning": "^3.6.79-alpha", - "node-machine-id": "1.1.12", - "ps-list": "7.2.0", - "request-light": "0.7.0", - "rxjs": "6.6.7", - "semver": "7.5.4", - "stream": "0.0.2", - "strip-bom": "5.0.0", - "strip-bom-buf": "2.0.0", - "tmp": "0.0.33", - "uuid": "^9.0.0", - "vscode-html-languageservice": "^5.0.1", - "vscode-jsonrpc": "8.2.0-next.0", - "vscode-languageclient": "8.2.0-next.1", - "vscode-languageserver-protocol": "3.17.4-next.1", - "vscode-languageserver-textdocument": "^1.0.5", - "vscode-nls": "5.0.1", - "yauzl": "2.10.0" - }, - "devDependencies": { - "@jest/globals": "^29.6.2", - "@types/archiver": "5.1.0", - "@types/del": "3.0.1", - "@types/fs-extra": "5.0.4", - "@types/gulp": "4.0.5", - "@types/minimist": "1.2.1", - "@types/node": "16.11.38", - "@types/semver": "7.3.13", - "@types/tmp": "0.0.33", - "@types/unzipper": "^0.9.1", - "@types/uuid": "^9.0.1", - "@types/vscode": "1.73.0", - "@types/yauzl": "2.10.0", - "@typescript-eslint/eslint-plugin": "^5.61.0", - "@typescript-eslint/parser": "^5.61.0", - "@vscode/l10n-dev": "^0.0.30", - "@vscode/test-electron": "2.3.8", - "@vscode/vsce": "2.21.0", - "archiver": "5.3.0", - "del": "3.0.0", - "eslint": "^8.43.0", - "eslint-config-prettier": "^8.8.0", - "eslint-config-standard-with-typescript": "^35.0.0", - "eslint-plugin-header": "^3.1.1", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-n": "^15.7.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-unicorn": "^47.0.0", - "find-versions": "4.0.0", - "get-port": "5.1.1", - "glob-promise": "4.1.0", - "gulp": "4.0.2", - "jest": "^29.6.2", - "jest-cli": "^29.6.4", - "jest-junit": "^16.0.0", - "js-yaml": ">=3.13.1", - "minimatch": "3.0.5", - "mock-http-server": "1.4.2", - "octokit": "^3.1.0", - "prettier": "2.8.8", - "rimraf": "2.6.3", - "source-map-support": "^0.5.21", - "ts-jest": "^29.1.1", - "ts-loader": "9.0.0", - "ts-node": "9.1.1", - "typescript": "^5.1.6", - "unzipper": "0.10.11", - "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "^6.0.0", - "vscode-uri": "^3.0.7", - "webpack": "5.76.0", - "webpack-cli": "4.6.0" - }, - "runtimeDependencies": [ - { - "id": "OmniSharp", - "description": "OmniSharp for Windows (.NET 4.7.2 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-x64-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11/OmniSharp.exe", - "platformId": "win-x64", - "isFramework": true, - "integrity": "E1AD559974430C9AA81819F1433583B0EE9A977D2DAAE1DE32D4D408503B2867" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Windows (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-x64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "win-x64", - "isFramework": false, - "integrity": "A71FD29E6CACDF41FD44ACB9F8532BE33DBD4CB313513E47A031443F648BDBAB" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Windows (.NET 4.7.2 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-arm64-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11/OmniSharp.exe", - "platformId": "win-arm64", - "isFramework": true, - "integrity": "D42BB3A146B9DED5C59630708A6FFB0F76B2067B31AE3A6596596AFFCE7D79C9" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Windows (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-arm64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "win-arm64", - "isFramework": false, - "integrity": "FFC67D2A97F8E04161BE2DCA5CE48ECEB1B09A3DD0FCE697122D5B77302FC152" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for OSX (Mono / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64", - "arm64" - ], - "binaries": [ - "./mono.osx", - "./run" - ], - "installTestPath": "./.omnisharp/1.39.11/run", - "platformId": "osx", - "isFramework": true, - "integrity": "1E339604AE52F531655B57A1058EB56E5CE0E1311C62B4CE16BE7CD0D265AA50" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for OSX (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-x64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "osx-x64", - "isFramework": false, - "integrity": "01571AE3B5DF4345E42B1EBD85601A654985590D403F40D2F802ED3204516350" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for OSX (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-arm64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "osx-arm64", - "isFramework": false, - "integrity": "9318997071878AB2DD7ECA29F1C797449B6C5454A0CB78BED0D17121BEC37B10" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (Mono / x86)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x86-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "linux" - ], - "architectures": [ - "x86", - "i686" - ], - "binaries": [ - "./mono.linux-x86", - "./run" - ], - "installTestPath": "./.omnisharp/1.39.11/run", - "platformId": "linux-x86", - "isFramework": true, - "integrity": "9568941017C31318D893669647042065985A0BA871708DA3688208D50CA7F452" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (Mono / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x64-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./mono.linux-x86_64", - "./run" - ], - "installTestPath": "./.omnisharp/1.39.11/run", - "platformId": "linux-x64", - "isFramework": true, - "integrity": "88B70F9D4D7587562C3F25EC1062E8A8120EBCE7083D56E91D9AE4A6C72E4340" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "linux-x64", - "isFramework": false, - "integrity": "E58BE0F23DD84F2ACCEA245D7DBB8F9DE6ADEA354D44CB2A3F10D7F1326571D9" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (Mono / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-arm64-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./mono.linux-arm64", - "./run" - ], - "installTestPath": "./.omnisharp/1.39.11/run", - "platformId": "linux-arm64", - "isFramework": true, - "integrity": "A10A5595AB0B13BD22495A7278995D9711B12F9EDE04AA3BB29CBE8F175EFABA" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-arm64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "linux-arm64", - "isFramework": false, - "integrity": "D4794CBA966B9B5D0F731E1606E732D5C231D4B1D345788B837565914D880A0E" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux musl (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-musl-x64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "linux-musl-x64", - "isFramework": false, - "integrity": "E8F924BB793C60B032FADE805030DF8F8F9B62F7FC32BF3B688EEA1B7E94B5DA" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux musl (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-musl-arm64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "linux-musl-arm64", - "isFramework": false, - "integrity": "223B58388C0F7226874DCA9053FE10B10739F2E43663DEED3F2F48C892E0D8E6" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (Windows / x64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-win7-x64.zip", - "installPath": ".debugger/x86_64", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64", - "arm64" - ], - "installTestPath": "./.debugger/x86_64/vsdbg-ui.exe", - "integrity": "8DD0C7B6936A538220E8A4DB7D9263A151986DE4956E33E86C80465BAD8521C0" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (Windows / ARM64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-win10-arm64.zip", - "installPath": ".debugger/arm64", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.debugger/arm64/vsdbg-ui.exe", - "integrity": "7D284CB85CDC1E85EB1BE143A31DC22FECFE3C4B576A507907AC7D32C7610E65" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (macOS / x64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-osx-x64.zip", - "installPath": ".debugger/x86_64", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64", - "arm64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/x86_64/vsdbg-ui", - "integrity": "A61ABA3B6F3A1524E95C7FE07ECF70F156996652E5E3CBB01C50E75CC5A08CEE" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (macOS / arm64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-osx-arm64.zip", - "installPath": ".debugger/arm64", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/arm64/vsdbg-ui", - "integrity": "9DE76C63EF7D2A2BA8600B381158C57EBD58D8BF235B85D1F1DDE4E7239282B1" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux / ARM)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-arm.zip", - "installPath": ".debugger", - "platforms": [ - "linux" - ], - "architectures": [ - "arm" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "2AB179096B5202ED0EAC6BF0C5D17F4506191D24A9A51867B4F4024E036764E2" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux / ARM64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-arm64.zip", - "installPath": ".debugger", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "25DA86215FD5E0EB091130C9A82443D8B28F3A20A1159127C7F3AE4BE8B9B7AD" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux musl / x64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-musl-x64.zip", - "installPath": ".debugger", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "7DAB78E1955D95511665A4037E5CEDCF7C39A9FCC269A19A6738672238AE1A52" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux musl / ARM64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-musl-arm64.zip", - "installPath": ".debugger", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "F28A3A76C13A36D94E59C53494D7BAF2A12EB4B005249246972999F064434573" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux / x64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-x64.zip", - "installPath": ".debugger", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "83EF1FF3BEE1E152550DB53C1EB8625794F0CCDBB94DBBB4B6876CD36A02DBDC" - }, - { - "id": "Razor", - "description": "Razor Language Server (Windows / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/970b8dd2e4a3b9f3487ef4239de68bcf/razorlanguageserver-win-x64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ], - "integrity": "8D255E5DB63345CAEFB795B93F029C108345D5E234B7D7B86FB54EBDE9B3FC2A" - }, - { - "id": "Razor", - "description": "Razor Language Server (Windows / ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/08ae2e66be350ce2c2017fd7eb03978f/razorlanguageserver-win-arm64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "integrity": "E4074218E23D45D4269985A18F1627BDD7426A16DC4539E434FE00F1E6EFE81E" - }, - { - "id": "Razor", - "description": "Razor Language Server (Linux / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/041a5e759efa80ba48dac5e2e686d2b1/razorlanguageserver-linux-x64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "4EF2240CA5EAADB30D0BD3EDF259858925B8EEDBE81F04B5FADA6370DCC4DD64" - }, - { - "id": "Razor", - "description": "Razor Language Server (Linux ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/b23fa3ac36f10300deb05a6f6d705117/razorlanguageserver-linux-arm64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "622D13897AE67A18A2801F2B500BDD929E355847625091C2F5F85C8A74359CBE" - }, - { - "id": "Razor", - "description": "Razor Language Server (Linux musl / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/0558e8219fe7cad00352ef194c9721dc/razorlanguageserver-linux-musl-x64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "61ED517AD29DFB3BDF01852F43AD455698437111B925B872115E3B39174C77AA" - }, - { - "id": "Razor", - "description": "Razor Language Server (Linux musl ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/ef50cb22ece80d50723b2e88dd6cc38c/razorlanguageserver-linux-musl-arm64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "DDC420476CC117857DED9DCDBFB8A387A102E9C19DE57749ADB8351CEF7ACEDD" - }, - { - "id": "Razor", - "description": "Razor Language Server (macOS / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/002f2c48425cfc3f4ab2dcdd95c856e6/razorlanguageserver-osx-x64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "AB86AD64955373EC9F0EA23FBDDA9D676B895150A5BAF75E1CFC1321B2B6ADBB" - }, - { - "id": "Razor", - "description": "Razor Language Server (macOS ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/71361816a0db3363b7afcc9f667e034b/razorlanguageserver-osx-arm64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "C30559DD13E3A5799FC596992FA04822A253C7EDB514EBE52E24A318DD0288EE" - }, - { - "id": "Razor", - "description": "Razor Language Server (Platform Agnostic)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/2e78857667b37f4c1dc570b45de5c967/razorlanguageserver-platformagnostic-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "neutral" - ], - "architectures": [ - "neutral" - ], - "binaries": [ - "./rzls" - ], - "integrity": "EE83F90BC19447192171703BCCCA30CADB6177C9D37CCE61E6042B8662321C80" - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Windows / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/8d42e62ea4051381c219b3e31bc4eced/razorlanguageserver-win-x64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Windows / ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/4ef26e45cf32fe8d51c0e7dd21f1fef6/razorlanguageserver-win-arm64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Linux / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/6d4e23a3c7cf0465743950a39515a716/razorlanguageserver-linux-x64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Linux ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/85deebd44647ebf65724cc291d722283/razorlanguageserver-linux-arm64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Linux musl / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/4f0caa94ae182785655efb15eafcef23/razorlanguageserver-linux-musl-x64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Linux musl ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/0a24828206a6f3b4bc743d058ef88ce7/razorlanguageserver-linux-musl-arm64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (macOS / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/2afcafaf41082989efcc10405abb9314/razorlanguageserver-osx-x64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (macOS ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/8bf2ed2f00d481a5987e3eb5165afddd/razorlanguageserver-osx-arm64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Windows / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/5a98d8f4e481dbb7ae3cdb3695b75c46/devkittelemetry-win-x64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ], - "integrity": "2C575C90AFFD159CD3A0F96AB3C74C939F6E774E409816C802763383782137EC" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Windows / ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/4f16ff826fedd33ad80d265c5409588b/devkittelemetry-win-arm64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "integrity": "9B0787738031C6FA1F0CF50C888926949ED08ECE17EDA006F31422E0BE8EAAD1" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Linux / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/f58cf629939f0df77d142be881f9e233/devkittelemetry-linux-x64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "integrity": "E7607984AB18D29CF3BA71D22D70A8952896657FD29D7892926EA9A73CCC87F3" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Linux ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/704e369c5905f9ece819ebce77fb78d8/devkittelemetry-linux-arm64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "integrity": "42E2263FAA4A13307899DA520C488082E241FFDE6A61A5639828A171C8423BF5" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Linux musl / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/c75e84ff813be5c9833d96dc2066a364/devkittelemetry-linux-musl-x64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "integrity": "C6C737B0707415C8EE9DB185C8A776FAB50BF1F8250C9EF8D756283ADA5FE518" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Linux musl ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/4049a66147717a53860bbc969bf32faa/devkittelemetry-linux-musl-arm64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "integrity": "14421ED81E82094CA13498B6B338950EDA605189A3FD91211EDCE554AB330070" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (macOS / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/36545ba0998f1fc380e877e38b2f35f1/devkittelemetry-osx-x64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64" - ], - "integrity": "D081FA25B5B0DF99175690E6F903720F10ADF9AD0CAC684C29715B841C6D6BB3" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (macOS ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/1c912419ea45c8d95cfa28a8a04640dc/devkittelemetry-osx-arm64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "integrity": "28D9F1E00151773078A26BDB9917CE6823E9D5D76799788238FE4AE7644A1493" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Platform Agnostic)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/0a32698e8ba1ab93489d79f34f8ae8d0/devkittelemetry-platformagnostic-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "netural" - ], - "architectures": [ - "neutral" - ], - "integrity": "3FDF8F19E66C85F06692BE2AA5803437C387EB65C6262030CD301388C3EB6261" - } - ], - "engines": { - "vscode": "^1.75.0" - }, - "activationEvents": [ - "onDebugInitialConfigurations", - "onDebugResolve:blazorwasm", - "onDebugResolve:coreclr", - "onDebugResolve:clr", - "onDebugResolve:monovsdbg", - "onDebugResolve:dotnet", - "onLanguage:csharp", - "onCommand:o.showOutput", - "onCommand:omnisharp.registerLanguageMiddleware", - "workspaceContains:project.json", - "workspaceContains:**/*.{csproj,csx,cake}" - ], - "contributes": { - "themes": [ - { - "label": "Visual Studio 2019 Dark", - "uiTheme": "vs-dark", - "path": "./themes/vs2019_dark.json" - }, - { - "label": "Visual Studio 2019 Light", - "uiTheme": "vs", - "path": "./themes/vs2019_light.json" - } - ], - "configuration": [ - { - "title": "Project", - "order": 0, - "properties": { - "dotnet.defaultSolution": { - "type": "string", - "description": "%configuration.dotnet.defaultSolution.description%", - "order": 0 - } - } - }, - { - "title": "Text Editor", - "order": 1, - "properties": { - "dotnet.implementType.insertionBehavior": { - "type": "string", - "enum": [ - "withOtherMembersOfTheSameKind", - "atTheEnd" - ], - "default": "withOtherMembersOfTheSameKind", - "enumDescriptions": [ - "%configuration.dotnet.implementType.insertionBehavior.withOtherMembersOfTheSameKind%", - "%configuration.dotnet.implementType.insertionBehavior.atTheEnd%" - ], - "description": "%configuration.dotnet.implementType.insertionBehavior%", - "order": 10 - }, - "dotnet.implementType.propertyGenerationBehavior": { - "type": "string", - "enum": [ - "preferThrowingProperties", - "preferAutoProperties" - ], - "default": "preferThrowingProperties", - "enumDescriptions": [ - "%configuration.dotnet.implementType.propertyGenerationBehavior.preferThrowingProperties%", - "%configuration.dotnet.implementType.propertyGenerationBehavior.preferAutoProperties%" - ], - "description": "%configuration.dotnet.implementType.propertyGenerationBehavior%", - "order": 10 - }, - "dotnet.codeLens.enableReferencesCodeLens": { - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.codeLens.enableReferencesCodeLens%" - }, - "dotnet.codeLens.enableTestsCodeLens": { - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.codeLens.enableTestsCodeLens%" - }, - "dotnet.completion.showCompletionItemsFromUnimportedNamespaces": { - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.completion.showCompletionItemsFromUnimportedNamespaces%", - "order": 20 - }, - "dotnet.completion.showNameCompletionSuggestions": { - "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.completion.showNameCompletionSuggestions%", - "order": 20 - }, - "dotnet.completion.provideRegexCompletions": { - "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.completion.provideRegexCompletions%", - "order": 20 - }, - "dotnet.backgroundAnalysis.analyzerDiagnosticsScope": { - "type": "string", - "enum": [ - "openFiles", - "fullSolution", - "none" - ], - "default": "openFiles", - "enumDescriptions": [ - "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.openFiles%", - "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.fullSolution%", - "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.none%" - ], - "description": "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope%", - "order": 30 - }, - "dotnet.backgroundAnalysis.compilerDiagnosticsScope": { - "type": "string", - "enum": [ - "openFiles", - "fullSolution", - "none" - ], - "default": "openFiles", - "enumDescriptions": [ - "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.openFiles%", - "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.fullSolution%", - "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.none%" - ], - "description": "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope%", - "order": 30 - }, - "dotnet.highlighting.highlightRelatedRegexComponents": { - "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.highlighting.highlightRelatedRegexComponents%", - "order": 40 - }, - "dotnet.highlighting.highlightRelatedJsonComponents": { - "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.highlighting.highlightRelatedJsonComponents%", - "order": 40 - }, - "csharp.inlayHints.enableInlayHintsForImplicitObjectCreation": { - "type": "boolean", - "default": false, - "description": "%configuration.csharp.inlayHints.enableInlayHintsForImplicitObjectCreation%", - "order": 50 - }, - "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", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "csharp.debug.logging.diagnosticsLog.expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "csharp.debug.logging.diagnosticsLog.startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - }, - "csharp.debug.logging.consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - }, - "csharp.debug.suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "csharp.debug.symbolOptions.searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "csharp.debug.symbolOptions.searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "csharp.debug.symbolOptions.searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "csharp.debug.symbolOptions.cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "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" - }, - "csharp.debug.symbolOptions.moduleFilter.excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "csharp.debug.symbolOptions.moduleFilter.includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "csharp.debug.symbolOptions.moduleFilter.includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "csharp.debug.symbolOptions.moduleFilter.includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - }, - "csharp.debug.expressionEvaluationOptions.allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "csharp.debug.expressionEvaluationOptions.allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "csharp.debug.expressionEvaluationOptions.allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "csharp.debug.expressionEvaluationOptions.showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - }, - "csharp.mono.debug.useVSDbg": { - "type": "boolean", - "description": "%generateOptionsSchema.useVSDbg.description%", - "default": false - }, - "dotnet.unitTestDebuggingOptions": { - "type": "object", - "description": "%configuration.dotnet.unitTestDebuggingOptions%", - "default": {}, - "properties": { - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - } - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - }, - "type": { - "type": "string", - "enum": [ - "coreclr", - "clr" - ], - "description": "Type type of code to debug. Can be either 'coreclr' for .NET Core debugging, or 'clr' for Desktop .NET Framework. 'clr' only works on Windows as the Desktop framework is Windows-only.", - "default": "coreclr" - }, - "debugServer": { - "type": "number", - "description": "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 - } - } - }, - "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.componentPaths": { - "type": "object", - "description": "%configuration.dotnet.server.componentPaths%", - "properties": { - "roslynDevKit": { - "description": "%configuration.dotnet.server.componentPaths.roslynDevKit%", - "type": "string" - }, - "xamlTools": { - "description": "%configuration.dotnet.server.componentPaths.xamlTools%", - "type": "string" - } - }, - "default": {} - }, - "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.enableXamlTools": { - "scope": "machine-overridable", - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.enableXamlTools%" - }, - "dotnet.server.suppressLspErrorToasts": { - "type": "boolean", - "default": false, - "description": "%configuration.dotnet.server.suppressLspErrorToasts%" - }, - "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.projects.enableAutomaticRestore": { - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.projects.enableAutomaticRestore%" - }, - "razor.languageServer.directory": { - "type": "string", - "scope": "machine-overridable", - "description": "%configuration.razor.languageServer.directory%", - "order": 90 - }, - "razor.languageServer.debug": { - "type": "boolean", - "scope": "machine-overridable", - "default": false, - "description": "%configuration.razor.languageServer.debug%", - "order": 90 - }, - "razor.server.trace": { - "scope": "window", - "type": "string", - "enum": [ - "Trace", - "Debug", - "Information", - "Warning", - "Error", - "Critical", - "None" - ], - "order": 90, - "default": "Information", - "description": "%configuration.razor.server.trace%" - }, - "razor.languageServer.forceRuntimeCodeGeneration": { - "type": "boolean", - "scope": "machine-overridable", - "default": false, - "description": "%configuration.razor.languageServer.forceRuntimeCodeGeneration%", - "order": 90 - } - } - }, - { - "title": "OmniSharp", - "order": 10, - "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": { - "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.format.codeBlockBraceOnNextLine": { - "type": "boolean", - "scope": "window", - "default": false, - "description": "Forces the open brace after an @code or @functions directive to be on the following line." - }, - "razor.completion.commitElementsWithSpace": { - "type": "boolean", - "scope": "window", - "default": "false", - "description": "Specifies whether to commit tag helper and component elements with a space." - } - } - } - ], - "jsonValidation": [ - { - "fileMatch": [ - "appsettings.json", - "appsettings.*.json" - ], - "url": "https://json.schemastore.org/appsettings" - }, - { - "fileMatch": "project.json", - "url": "http://json.schemastore.org/project" - }, - { - "fileMatch": "omnisharp.json", - "url": "http://json.schemastore.org/omnisharp" - }, - { - "fileMatch": "global.json", - "url": "http://json.schemastore.org/global" - }, - { - "fileMatch": "launchSettings.json", - "url": "https://json.schemastore.org/launchsettings.json" - } - ], - "commands": [ - { - "command": "o.restart", - "title": "%command.o.restart%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.pickProjectAndStart", - "title": "%command.o.pickProjectAndStart%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.openSolution", - "title": "%command.dotnet.openSolution%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn'" - }, - { - "command": "o.fixAll.solution", - "title": "%command.o.fixAll.solution%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.fixAll.project", - "title": "%command.o.fixAll.project%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.fixAll.document", - "title": "%command.o.fixAll.document%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.reanalyze.allProjects", - "title": "%command.o.reanalyze.allProjects%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.reanalyze.currentProject", - "title": "%command.o.reanalyze.currentProject%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.generateAssets", - "title": "%command.dotnet.generateAssets.currentProject%", - "category": ".NET" - }, - { - "command": "dotnet.restore.project", - "title": "%command.dotnet.restore.project%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.restore.all", - "title": "%command.dotnet.restore.all%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "csharp.listProcess", - "title": "%command.csharp.listProcess%", - "category": "CSharp" - }, - { - "command": "csharp.listRemoteProcess", - "title": "%command.csharp.listRemoteProcess%", - "category": "CSharp" - }, - { - "command": "csharp.listRemoteDockerProcess", - "title": "%command.csharp.listRemoteDockerProcess%", - "category": "CSharp" - }, - { - "command": "csharp.attachToProcess", - "title": "%command.csharp.attachToProcess%", - "category": "Debug" - }, - { - "command": "csharp.reportIssue", - "title": "%command.csharp.reportIssue%", - "category": "CSharp" - }, - { - "command": "csharp.showDecompilationTerms", - "title": "%command.csharp.showDecompilationTerms%", - "category": "CSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "extension.showRazorCSharpWindow", - "title": "%command.extension.showRazorCSharpWindow%", - "category": "Razor" - }, - { - "command": "extension.showRazorHtmlWindow", - "title": "%command.extension.showRazorHtmlWindow%", - "category": "Razor" - }, - { - "command": "razor.reportIssue", - "title": "%command.razor.reportIssue%", - "category": "Razor" - }, - { - "command": "dotnet.test.runTestsInContext", - "title": "%command.dotnet.test.runTestsInContext%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.test.debugTestsInContext", - "title": "%command.dotnet.test.debugTestsInContext%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.restartServer", - "title": "%command.dotnet.restartServer%", - "category": ".NET", - "enablement": "dotnet.server.activationContext != 'OmniSharp'" - } - ], - "keybindings": [ - { - "command": "o.showOutput", - "key": "Ctrl+Shift+F9", - "mac": "Cmd+Shift+F9" - } - ], - "snippets": [ - { - "language": "csharp", - "path": "./snippets/csharp.json" - } - ], - "breakpoints": [ - { - "language": "csharp" - }, - { - "language": "razor" - }, - { - "language": "qsharp" - }, - { - "language": "aspnetcorerazor" - } - ], - "debuggers": [ - { - "type": "coreclr", - "label": ".NET 5+ and .NET Core", - "hiddenWhen": "dotnet.debug.serviceBrokerAvailable", - "languages": [ - "csharp", - "razor", - "qsharp", - "aspnetcorerazor" - ], - "variables": { - "pickProcess": "csharp.listProcess", - "pickRemoteProcess": "csharp.listRemoteProcess", - "pickRemoteDockerProcess": "csharp.listRemoteDockerProcess" - }, - "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", - "configurationAttributes": { - "launch": { - "type": "object", - "required": [ - "program" - ], - "properties": { - "program": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.program.markdownDescription%", - "default": "${workspaceFolder}/bin/Debug//.dll" - }, - "cwd": { - "type": "string", - "description": "%generateOptionsSchema.cwd.description%", - "default": "${workspaceFolder}" - }, - "args": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.args.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.args.1.description%", - "default": "" - } - ] - }, - "stopAtEntry": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", - "default": false - }, - "launchBrowser": { - "description": "%generateOptionsSchema.launchBrowser.description%", - "default": { - "enabled": true - }, - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "%generateOptionsSchema.launchBrowser.enabled.description%", - "default": true - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.args.description%", - "default": "${auto-detect-url}" - }, - "osx": { - "description": "%generateOptionsSchema.launchBrowser.osx.description%", - "default": { - "command": "open", - "args": "${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.osx.command.description%", - "default": "open" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.osx.args.description%", - "default": "${auto-detect-url}" - } - } - }, - "linux": { - "description": "%generateOptionsSchema.launchBrowser.linux.description%", - "default": { - "command": "xdg-open", - "args": "${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.linux.command.description%", - "default": "xdg-open" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.linux.args.description%", - "default": "${auto-detect-url}" - } - } - }, - "windows": { - "description": "%generateOptionsSchema.launchBrowser.windows.description%", - "default": { - "command": "cmd.exe", - "args": "/C start ${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.windows.command.description%", - "default": "cmd.exe" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.windows.args.description%", - "default": "/C start ${auto-detect-url}" - } - } - } - } - }, - "env": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.env.description%", - "default": {} - }, - "envFile": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.envFile.markdownDescription%", - "default": "${workspaceFolder}/.env" - }, - "console": { - "type": "string", - "enum": [ - "internalConsole", - "integratedTerminal", - "externalTerminal" - ], - "enumDescriptions": [ - "%generateOptionsSchema.console.internalConsole.enumDescription%", - "%generateOptionsSchema.console.integratedTerminal.enumDescription%", - "%generateOptionsSchema.console.externalTerminal.enumDescription%" - ], - "markdownDescription": "%generateOptionsSchema.console.markdownDescription%", - "settingsDescription": "%generateOptionsSchema.console.settingsDescription%", - "default": "internalConsole" - }, - "externalConsole": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.externalConsole.markdownDescription%", - "default": false - }, - "launchSettingsFilePath": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.launchSettingsFilePath.markdownDescription%", - "default": "${workspaceFolder}/Properties/launchSettings.json" - }, - "launchSettingsProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "%generateOptionsSchema.launchSettingsProfile.description%", - "default": "" - }, - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - }, - "default": {} - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "browserStdOut": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", - "default": false - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - }, - "engineLogging": { - "type": "boolean", - "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", - "default": false - }, - "diagnosticsLog": { - "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "protocolMessages": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", - "default": false - }, - "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" - }, - "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" - }, - "debugRuntimeEventTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - } - } - }, - "consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - } - } - }, - "pipeTransport": { - "description": "%generateOptionsSchema.pipeTransport.description%", - "type": "object", - "required": [ - "debuggerPath" - ], - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [], - "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "debuggerPath": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", - "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", - "default": {} - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", - "default": true - }, - "windows": { - "description": "%generateOptionsSchema.pipeTransport.windows.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", - "default": {} - } - } - }, - "osx": { - "description": "%generateOptionsSchema.pipeTransport.osx.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", - "default": {} - } - } - }, - "linux": { - "description": "%generateOptionsSchema.pipeTransport.linux.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", - "default": {} - } - } - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetOutputLogPath": { - "type": "string", - "description": "%generateOptionsSchema.targetOutputLogPath.description%", - "default": "" - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - }, - "checkForDevCert": { - "type": "boolean", - "description": "%generateOptionsSchema.checkForDevCert.description%", - "default": true - } - } - }, - "attach": { - "type": "object", - "required": [], - "properties": { - "processName": { - "type": "string", - "default": "", - "markdownDescription": "%generateOptionsSchema.processName.markdownDescription%" - }, - "processId": { - "anyOf": [ - { - "type": "string", - "markdownDescription": "%generateOptionsSchema.processId.0.markdownDescription%", - "default": "" - }, - { - "type": "integer", - "markdownDescription": "%generateOptionsSchema.processId.1.markdownDescription%", - "default": 0 - } - ] - }, - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - } - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "browserStdOut": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", - "default": false - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - }, - "engineLogging": { - "type": "boolean", - "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", - "default": false - }, - "diagnosticsLog": { - "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "protocolMessages": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", - "default": false - }, - "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" - }, - "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" - }, - "debugRuntimeEventTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - } - } - }, - "consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - } - } - }, - "pipeTransport": { - "description": "%generateOptionsSchema.pipeTransport.description%", - "type": "object", - "required": [ - "debuggerPath" - ], - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [], - "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "debuggerPath": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", - "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", - "default": {} - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", - "default": true - }, - "windows": { - "description": "%generateOptionsSchema.pipeTransport.windows.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", - "default": {} - } - } - }, - "osx": { - "description": "%generateOptionsSchema.pipeTransport.osx.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", - "default": {} - } - } - }, - "linux": { - "description": "%generateOptionsSchema.pipeTransport.linux.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", - "default": {} - } - } - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - } - } - } - }, - "configurationSnippets": [ - { - "label": "%debuggers.coreclr.configurationSnippets.label.console-local%", - "description": "%debuggers.coreclr.configurationSnippets.description.console-local%", - "body": { - "name": ".NET Core Launch (console)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", - "args": [], - "cwd": "^\"\\${workspaceFolder}\"", - "stopAtEntry": false, - "console": "internalConsole" - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.attach-local%", - "description": "%debuggers.coreclr.configurationSnippets.description.attach%", - "body": { - "name": ".NET Core Attach", - "type": "coreclr", - "request": "attach" - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.web-local%", - "description": "%debuggers.coreclr.configurationSnippets.description.web-local%", - "body": { - "name": ".NET Core Launch (web)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", - "args": [], - "cwd": "^\"\\${workspaceFolder}\"", - "stopAtEntry": false, - "serverReadyAction": { - "action": "openExternally", - "pattern": "\\\\bNow listening on:\\\\s+(https?://\\\\S+)" - }, - "env": { - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "sourceFileMap": { - "/Views": "^\"\\${workspaceFolder}/Views\"" - } - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.console-remote%", - "description": "%debuggers.coreclr.configurationSnippets.description.remote%", - "body": { - "name": ".NET Core Launch (console)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", - "args": [], - "cwd": "^\"\\${workspaceFolder}\"", - "stopAtEntry": false, - "console": "internalConsole", - "pipeTransport": { - "pipeCwd": "^\"\\${workspaceFolder}\"", - "pipeProgram": "^\"${3:enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'}\"", - "pipeArgs": [], - "debuggerPath": "^\"${4:enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg}\"" - } - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.attach-remote%", - "description": "%debuggers.coreclr.configurationSnippets.description.remote%", - "body": { - "name": ".NET Core Attach", - "type": "coreclr", - "request": "attach", - "pipeTransport": { - "pipeCwd": "^\"\\${workspaceFolder}\"", - "pipeProgram": "^\"${1:enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'}\"", - "pipeArgs": [], - "debuggerPath": "^\"${2:enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg}\"" - } - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.blazor-hosted%", - "description": "%debuggers.coreclr.configurationSnippets.description.blazor-hosted%", - "body": { - "name": "Launch and Debug Hosted Blazor WebAssembly App", - "type": "blazorwasm", - "request": "launch", - "hosted": true, - "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", - "cwd": "^\"\\${workspaceFolder}\"" - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.blazor-standalone%", - "description": "%debuggers.coreclr.configurationSnippets.description.blazor-standalone%", - "body": { - "name": "Launch and Debug Standalone Blazor WebAssembly App", - "type": "blazorwasm", - "request": "launch", - "cwd": "^\"\\${workspaceFolder}\"" - } - } - ] - }, - { - "type": "clr", - "when": "workspacePlatform == windows", - "hiddenWhen": "true", - "label": ".NET Framework 4.x", - "languages": [ - "csharp", - "razor", - "qsharp", - "aspnetcorerazor" - ], - "variables": { - "pickProcess": "csharp.listProcess", - "pickRemoteProcess": "csharp.listRemoteProcess", - "pickRemoteDockerProcess": "csharp.listRemoteDockerProcess" - }, - "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", - "configurationAttributes": { - "launch": { - "type": "object", - "required": [ - "program" - ], - "properties": { - "program": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.program.markdownDescription%", - "default": "${workspaceFolder}/bin/Debug//.dll" - }, - "cwd": { - "type": "string", - "description": "%generateOptionsSchema.cwd.description%", - "default": "${workspaceFolder}" - }, - "args": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.args.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.args.1.description%", - "default": "" - } - ] - }, - "stopAtEntry": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", - "default": false - }, - "launchBrowser": { - "description": "%generateOptionsSchema.launchBrowser.description%", - "default": { - "enabled": true - }, - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "%generateOptionsSchema.launchBrowser.enabled.description%", - "default": true - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.args.description%", - "default": "${auto-detect-url}" - }, - "osx": { - "description": "%generateOptionsSchema.launchBrowser.osx.description%", - "default": { - "command": "open", - "args": "${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.osx.command.description%", - "default": "open" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.osx.args.description%", - "default": "${auto-detect-url}" - } - } - }, - "linux": { - "description": "%generateOptionsSchema.launchBrowser.linux.description%", - "default": { - "command": "xdg-open", - "args": "${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.linux.command.description%", - "default": "xdg-open" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.linux.args.description%", - "default": "${auto-detect-url}" - } - } - }, - "windows": { - "description": "%generateOptionsSchema.launchBrowser.windows.description%", - "default": { - "command": "cmd.exe", - "args": "/C start ${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.windows.command.description%", - "default": "cmd.exe" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.windows.args.description%", - "default": "/C start ${auto-detect-url}" - } - } - } - } - }, - "env": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.env.description%", - "default": {} - }, - "envFile": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.envFile.markdownDescription%", - "default": "${workspaceFolder}/.env" - }, - "console": { - "type": "string", - "enum": [ - "internalConsole", - "integratedTerminal", - "externalTerminal" - ], - "enumDescriptions": [ - "%generateOptionsSchema.console.internalConsole.enumDescription%", - "%generateOptionsSchema.console.integratedTerminal.enumDescription%", - "%generateOptionsSchema.console.externalTerminal.enumDescription%" - ], - "markdownDescription": "%generateOptionsSchema.console.markdownDescription%", - "settingsDescription": "%generateOptionsSchema.console.settingsDescription%", - "default": "internalConsole" - }, - "externalConsole": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.externalConsole.markdownDescription%", - "default": false - }, - "launchSettingsFilePath": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.launchSettingsFilePath.markdownDescription%", - "default": "${workspaceFolder}/Properties/launchSettings.json" - }, - "launchSettingsProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "%generateOptionsSchema.launchSettingsProfile.description%", - "default": "" - }, - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - }, - "default": {} - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "browserStdOut": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", - "default": false - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - }, - "engineLogging": { - "type": "boolean", - "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", - "default": false - }, - "diagnosticsLog": { - "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "protocolMessages": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", - "default": false - }, - "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" - }, - "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" - }, - "debugRuntimeEventTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - } - } - }, - "consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - } - } - }, - "pipeTransport": { - "description": "%generateOptionsSchema.pipeTransport.description%", - "type": "object", - "required": [ - "debuggerPath" - ], - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [], - "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "debuggerPath": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", - "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", - "default": {} - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", - "default": true - }, - "windows": { - "description": "%generateOptionsSchema.pipeTransport.windows.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", - "default": {} - } - } - }, - "osx": { - "description": "%generateOptionsSchema.pipeTransport.osx.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", - "default": {} - } - } - }, - "linux": { - "description": "%generateOptionsSchema.pipeTransport.linux.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", - "default": {} - } - } - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetOutputLogPath": { - "type": "string", - "description": "%generateOptionsSchema.targetOutputLogPath.description%", - "default": "" - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - }, - "checkForDevCert": { - "type": "boolean", - "description": "%generateOptionsSchema.checkForDevCert.description%", - "default": true - } - } - }, - "attach": { - "type": "object", - "required": [], - "properties": { - "processName": { - "type": "string", - "default": "", - "markdownDescription": "%generateOptionsSchema.processName.markdownDescription%" - }, - "processId": { - "anyOf": [ - { - "type": "string", - "markdownDescription": "%generateOptionsSchema.processId.0.markdownDescription%", - "default": "" - }, - { - "type": "integer", - "markdownDescription": "%generateOptionsSchema.processId.1.markdownDescription%", - "default": 0 - } - ] - }, - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - } - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "browserStdOut": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", - "default": false - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - }, - "engineLogging": { - "type": "boolean", - "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", - "default": false - }, - "diagnosticsLog": { - "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "protocolMessages": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", - "default": false - }, - "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" - }, - "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" - }, - "debugRuntimeEventTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - } - } - }, - "consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - } - } - }, - "pipeTransport": { - "description": "%generateOptionsSchema.pipeTransport.description%", - "type": "object", - "required": [ - "debuggerPath" - ], - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [], - "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "debuggerPath": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", - "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", - "default": {} - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", - "default": true - }, - "windows": { - "description": "%generateOptionsSchema.pipeTransport.windows.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", - "default": {} - } - } - }, - "osx": { - "description": "%generateOptionsSchema.pipeTransport.osx.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", - "default": {} - } - } - }, - "linux": { - "description": "%generateOptionsSchema.pipeTransport.linux.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", - "default": {} - } - } - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - } - } - } - } - }, - { - "type": "blazorwasm", - "label": "Blazor WebAssembly Debug", - "hiddenWhen": "dotnet.debug.serviceBrokerAvailable", - "initialConfigurations": [ - { - "type": "blazorwasm", - "name": "Launch and Debug Blazor WebAssembly Application", - "request": "launch" - } - ], - "configurationAttributes": { - "launch": { - "properties": { - "cwd": { - "type": "string", - "description": "The directory of the Blazor WebAssembly app, defaults to the workspace folder.", - "default": "${workspaceFolder}" - }, - "url": { - "type": "string", - "description": "The URL of the application", - "default": "https://localhost:5001" - }, - "browser": { - "type": "string", - "description": "The debugging browser to launch (Edge or Chrome)", - "default": "edge", - "enum": [ - "chrome", - "edge" - ] - }, - "trace": { - "type": [ - "boolean", - "string" - ], - "default": "true", - "enum": [ - "verbose", - true - ], - "description": "If true, verbose logs from JS debugger are sent to log file. If 'verbose', send logs to console." - }, - "hosted": { - "type": "boolean", - "default": "false", - "description": "True if the app is a hosted Blazor WebAssembly app, false otherwise." - }, - "webRoot": { - "type": "string", - "default": "${workspaceFolder}", - "description": "Specifies the absolute path to the webserver root." - }, - "timeout": { - "type": "number", - "default": 30000, - "description": "Retry for this number of milliseconds to connect to browser." - }, - "program": { - "type": "string", - "default": "${workspaceFolder}/Server/bin/Debug//", - "description": "The path of the DLL to execute when launching a hosted server app" - }, - "env": { - "type": "object", - "description": "Environment variables passed to dotnet. Only valid for hosted apps." - }, - "useVSDbg": { - "type": "boolean", - "default": false, - "description": "%generateOptionsSchema.useVSDbg.description%" - }, - "dotNetConfig": { - "description": "Options passed to the underlying .NET debugger. For more info, see https://github.com/dotnet/vscode-csharp/blob/main/debugger.md.", - "type": "object", - "required": [], - "default": {}, - "properties": { - "justMyCode": { - "type": "boolean", - "description": "Optional flag to only show user code.", - "default": true - }, - "logging": { - "description": "Optional flags to determine what types of messages should be logged to the output window. Applicable only for the app server of hosted Blazor WASM apps.", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "description": "Optional flag to determine whether exception messages should be logged to the output window.", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "description": "Optional flag to determine whether module load events should be logged to the output window.", - "default": true - }, - "programOutput": { - "type": "boolean", - "description": "Optional flag to determine whether program output should be logged to the output window when not using an external console.", - "default": true - }, - "engineLogging": { - "type": "boolean", - "description": "Optional flag to determine whether diagnostic engine logs should be logged to the output window.", - "default": false - }, - "browserStdOut": { - "type": "boolean", - "description": "Optional flag to determine if stdout text from the launching the web browser should be logged to the output window.", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "description": "If true, engine logging will include `adapterElapsedTime` and `engineElapsedTime` properties to indicate the amount of time, in microseconds, that a request took.", - "default": false - }, - "threadExit": { - "type": "boolean", - "description": "Controls if a message is logged when a thread in the target process exits. Default: `false`.", - "default": false - }, - "processExit": { - "type": "boolean", - "description": "Controls if a message is logged when the target process exits, or debugging is stopped. Default: `true`.", - "default": true - } - } - }, - "sourceFileMap": { - "type": "object", - "description": "Optional source file mappings passed to the debug engine. Example: '{ \"C:\\foo\":\"/home/user/foo\" }'", - "additionalProperties": { - "type": "string" - }, - "default": { - "": "" - } - } - } - }, - "browserConfig": { - "description": "Options based to the underlying JavaScript debugger. For more info, see https://github.com/microsoft/vscode-js-debug/blob/master/OPTIONS.md.", - "type": "object", - "required": [], - "default": {}, - "properties": { - "outputCapture": { - "enum": [ - "console", - "std" - ], - "description": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.", - "default": "console" - } - } - } - } - }, - "attach": { - "properties": { - "url": { - "type": "string", - "description": "The URL of the application", - "default": "https://localhost:5001" - }, - "cwd": { - "type": "string", - "description": "The directory of the Blazor WebAssembly app, defaults to the workspace folder.", - "default": "${workspaceFolder}" - }, - "browser": { - "type": "string", - "description": "The debugging browser to launch (Edge or Chrome)", - "default": "chrome", - "enum": [ - "chrome", - "edge" - ] - }, - "trace": { - "type": [ - "boolean", - "string" - ], - "default": "true", - "enum": [ - "verbose", - true - ], - "description": "If true, verbose logs from JS debugger are sent to log file. If 'verbose', send logs to console." - }, - "webRoot": { - "type": "string", - "default": "${workspaceFolder}", - "description": "Specifies the absolute path to the webserver root." - }, - "timeout": { - "type": "number", - "default": 30000, - "description": "Retry for this number of milliseconds to connect to browser." - } - } - } - } - }, - { - "type": "dotnet", - "label": "C#", - "hiddenWhen": "!dotnet.debug.serviceBrokerAvailable", - "languages": [ - "csharp", - "razor", - "aspnetcorerazor" - ], - "variables": {}, - "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", - "configurationAttributes": { - "launch": { - "type": "object", - "required": [ - "projectPath" - ], - "properties": { - "projectPath": { - "type": "string", - "description": "%debuggers.dotnet.launch.projectPath.description%", - "default": "${workspaceFolder}/.csproj" - }, - "launchConfigurationId": { - "type": "string", - "description": "%debuggers.dotnet.launch.launchConfigurationId.description%" - } - } - } - }, - "configurationSnippets": [ - { - "label": "%debuggers.dotnet.configurationSnippets.label%", - "description": "%debuggers.dotnet.configurationSnippets.description%", - "body": { - "name": "C#: ${1:} Debug", - "type": "dotnet", - "request": "launch", - "projectPath": "^\"\\${workspaceFolder}/${2:}${1:}.csproj\"" - } - } - ] - }, - { - "type": "monovsdbg", - "label": ".NET Core using Mono Runtime", - "hiddenWhen": "true", - "languages": [ - "csharp" - ], - "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255" - } - ], - "semanticTokenTypes": [ - { - "id": "razorComponentElement", - "description": "A Razor component element" - }, - { - "id": "razorComponentAttribute", - "description": "A Razor component attribute" - }, - { - "id": "razorTagHelperElement", - "description": "A Razor TagHelper Element" - }, - { - "id": "razorTagHelperAttribute", - "description": "A Razor TagHelper Attribute" - }, - { - "id": "razorTransition", - "description": "A Razor transition" - }, - { - "id": "razorDirectiveAttribute", - "description": "A Razor Directive Attribute" - }, - { - "id": "razorDirectiveColon", - "description": "A colon between directive attribute parameters" - }, - { - "id": "razorDirective", - "description": "A Razor directive such as 'code' or 'function'" - }, - { - "id": "razorComment", - "description": "A Razor comment" - }, - { - "id": "markupCommentPunctuation", - "description": "The '@' or '*' of a Razor comment." - }, - { - "id": "markupTagDelimiter", - "description": "Markup delimiters like '<', '>', and '/'." - }, - { - "id": "markupOperator", - "description": "Delimiter for Markup Attribute Key-Value pairs." - }, - { - "id": "markupElement", - "description": "The name of a Markup element." - }, - { - "id": "markupAttribute", - "description": "The name of a Markup attribute." - }, - { - "id": "markupAttributeQuote", - "description": "A token that represents an attribute quote in a Markup attribute." - }, - { - "id": "markupAttributeValue", - "description": "The value of a Markup attribute." - }, - { - "id": "markupComment", - "description": "The contents of a Markup comment." - }, - { - "id": "markupCommentPunctuation", - "description": "The begining or ending punctuation of a Markup comment." - }, - { - "id": "excludedCode", - "description": "A token that represents inactive code." - }, - { - "id": "controlKeyword", - "description": "A token that represents a control-flow keyword.", - "superType": "keyword" - }, - { - "id": "operatorOverloaded", - "description": "A declaration or reference to an overloaded operator." - }, - { - "id": "whitespace", - "description": "A token that represents whitespace." - }, - { - "id": "text", - "description": "A token that represents text." - }, - { - "id": "preprocessorText", - "description": "Text associated with a preprocessor directive." - }, - { - "id": "punctuation", - "description": "A token that represents punctuation." - }, - { - "id": "stringVerbatim", - "superType": "string", - "description": "A token that represents a verbatim string." - }, - { - "id": "stringEscapeCharacter", - "superType": "string", - "description": "An escape character within a string." - }, - { - "id": "recordClass", - "superType": "class", - "description": "A definition or reference to a record class type." - }, - { - "id": "delegate", - "superType": "method", - "description": "A definition or reference to a delegate type." - }, - { - "id": "module", - "superType": "namespace", - "description": "A definition or reference to a module name." - }, - { - "id": "recordStruct", - "superType": "struct", - "description": "A definition or reference to a record struct type." - }, - { - "id": "field", - "superType": "property", - "description": "A definition or reference to a field." - }, - { - "id": "constant", - "superType": "variable", - "description": "A definition or reference to a constant." - }, - { - "id": "extensionMethod", - "superType": "method", - "description": "A definition or reference to an extension method" - }, - { - "id": "xmlDocCommentAttributeName", - "description": "A token that represents an attribute in an XML documentation comment" - }, - { - "id": "xmlDocCommentAttributeQuotes", - "description": "A token that represents an attribute quote in an XML documentation comment" - }, - { - "id": "xmlDocCommentAttributeValue", - "description": "A token that represents an attribute value in an XML documentation comment" - }, - { - "id": "xmlDocCommentCDataSection", - "description": "A token that represents a CDATA section in an XML documentation comment" - }, - { - "id": "xmlDocCommentComment", - "description": "A token that represents a comment in an XML documentation comment" - }, - { - "id": "xmlDocCommentDelimiter", - "description": "A token that represents a delimeter in an XML documentation comment" - }, - { - "id": "xmlDocCommentEntityReference", - "description": "A token that represents reference to an entity in an XML documentation comment" - }, - { - "id": "xmlDocCommentName", - "description": "A token that represents a name in an XML documentation comment" - }, - { - "id": "xmlDocCommentProcessingInstruction", - "description": "A token that represents a processing instruction in an XML documentation comment" - }, - { - "id": "xmlDocCommentText", - "description": "A token that represents text in an XML documentation comment" - }, - { - "id": "xmlLiteralAttributeName", - "description": "A token that represents an attribute name in an XML literal" - }, - { - "id": "xmlLiteralAttributeQuotes", - "description": "A token that represents an attribute quote in an XML literal" - }, - { - "id": "xmlLiteralAttributeValue", - "description": "A token that represents an attribute value in an XML literal" - }, - { - "id": "xmlLiteralCDataSection", - "description": "A token that represents a CDATA section in an XML literal" - }, - { - "id": "xmlLiteralComment", - "description": "A token that represents a comment in an XML literal" - }, - { - "id": "xmlLiteralDelimiter", - "description": "A token that represents a delimiter in an XML literal" - }, - { - "id": "xmlLiteralEmbeddedExpression", - "description": "A token that represents an emebedded expression in an XML literal" - }, - { - "id": "xmlLiteralEntityReference", - "description": "A token that represents a reference to an entity in an XML literal" - }, - { - "id": "xmlLiteralName", - "description": "A token that represents a name in an XML literal" - }, - { - "id": "xmlLiteralProcessingInstruction", - "description": "A token that represents a processing instruction in an XML literal" - }, - { - "id": "xmlLiteralText", - "description": "A token that represents text in an XML literal" - }, - { - "id": "regexComment", - "description": "A token that represents a comment in a regex string" - }, - { - "id": "regexCharacterClass", - "description": "A token that represents a character class in a regex string" - }, - { - "id": "regexAnchor", - "description": "A token that represents an anchor in a regex string" - }, - { - "id": "regexQuantifier", - "description": "A token that represents a quantifier in a regex string" - }, - { - "id": "regexGrouping", - "description": "A token that represents a group in a regex string" - }, - { - "id": "regexAlternation", - "description": "A token that represents an alternation in a regex string" - }, - { - "id": "regexText", - "description": "A token that represents text in a regex string" - }, - { - "id": "regexSelfEscapedCharacter", - "description": "A token that represents a self escaped character in a regex string" - }, - { - "id": "regexOtherEscape", - "description": "A token that represents an escape in a regex string" - }, - { - "id": "jsonComment", - "description": "A token that represents a comment in a JSON string" - }, - { - "id": "jsonNumber", - "description": "A token that represents a number in a JSON string" - }, - { - "id": "jsonString", - "description": "A token that represents a string in a JSON string" - }, - { - "id": "jsonKeyword", - "description": "A token that represents a keyword in a JSON string" - }, - { - "id": "jsonText", - "description": "A token that represents text in a JSON string" - }, - { - "id": "jsonOperator", - "description": "A token that represents an operator in a JSON string" - }, - { - "id": "jsonPunctuation", - "description": "A token that represents punctuation in a JSON string" - }, - { - "id": "jsonArray", - "description": "A token that represents an array in a JSON string" - }, - { - "id": "jsonObject", - "description": "A token that represents an object in a JSON string" - }, - { - "id": "jsonPropertyName", - "description": "A token that represents a property name in a JSON string" - }, - { - "id": "jsonConstructorName", - "description": "A token that represents a constructor in a JSON string" - } - ], - "semanticTokenModifiers": [], - "semanticTokenScopes": [ - { - "language": "aspnetcorerazor", - "scopes": { - "razorComponentElement": [ - "entity.name.class.element.component" - ], - "razorComponentAttribute": [ - "entity.name.class.attribute.component" - ], - "razorTagHelperElement": [ - "entity.name.class.element.taghelper" - ], - "razorTagHelperAttribute": [ - "entity.name.class.attribute.taghelper" - ], - "razorTransition": [ - "keyword.control.razor.transition" - ], - "razorDirectiveAttribute": [ - "keyword.control.razor.directive.attribute", - "keyword.control.cshtml.directive.attribute" - ], - "razorDirectiveColon": [ - "keyword.control.razor.directive.colon", - "keyword.control.cshtml.directive.colon" - ], - "razorDirective": [ - "keyword.control.razor.directive", - "keyword.control.cshtml.directive" - ], - "razorComment": [ - "comment.block.razor" - ], - "razorCommentTransition": [ - "meta.comment.razor", - "keyword.control.cshtml.transition" - ], - "razorCommentStar": [ - "keyword.control.razor.comment.star", - "meta.comment.razor" - ], - "angleBracket": [ - "punctuation.definition.tag" - ], - "forwardSlash": [ - "punctuation.definition.tag" - ], - "equals": [ - "punctuation.separator.key-value.html" - ], - "markupElement": [ - "entity.name.tag.html" - ], - "markupAttribute": [ - "entity.other.attribute-name.html" - ], - "markupAttributeQuote": [ - "punctuation.definition.tag.html" - ], - "markupAttributeValue": [ - "punctuation.definition.entity.html" - ], - "markupComment": [ - "comment.block.html" - ], - "markupCommentPunctuation": [ - "punctuation.definition.comment.html", - "comment.block.html" - ], - "markupTagDelimiter": [ - "punctuation.definition.tag.html" - ], - "keyword": [ - "keyword.cs" - ], - "excludedCode": [ - "support.other.excluded.cs" - ], - "controlKeyword": [ - "keyword.control.cs" - ], - "operatorOverloaded": [ - "entity.name.function.member.overload.cs" - ], - "preprocessorText": [ - "meta.preprocessor.string.cs" - ], - "punctuation": [ - "punctuation.cs" - ], - "stringVerbatim": [ - "string.verbatim.cs" - ], - "stringEscapeCharacter": [ - "constant.character.escape.cs" - ], - "delegate": [ - "entity.name.type.delegate.cs" - ], - "module": [ - "entity.name.type.module.cs" - ], - "field": [ - "entity.name.variable.field.cs" - ], - "constant": [ - "variable.other.constant" - ], - "extensionMethod": [ - "entity.name.function.extension.cs" - ], - "xmlDocCommentAttributeName": [ - "comment.documentation.attribute.name.cs" - ], - "xmlDocCommentAttributeQuotes": [ - "comment.documentation.attribute.quotes.cs" - ], - "xmlDocCommentAttributeValue": [ - "comment.documentation.attribute.value.cs" - ], - "xmlDocCommentCDataSection": [ - "comment.documentation.cdata.cs" - ], - "xmlDocCommentComment": [ - "comment.documentation.comment.cs" - ], - "xmlDocCommentDelimiter": [ - "comment.documentation.delimiter.cs" - ], - "xmlDocCommentEntityReference": [ - "comment.documentation.entityReference.cs" - ], - "xmlDocCommentName": [ - "comment.documentation.name.cs" - ], - "xmlDocCommentProcessingInstruction": [ - "comment.documentation.processingInstruction.cs" - ], - "xmlDocCommentText": [ - "comment.documentation.cs" - ], - "xmlLiteralAttributeName": [ - "entity.other.attribute-name.localname.xml" - ], - "xmlLiteralAttributeQuotes": [ - "string.quoted.double.xml" - ], - "xmlLiteralAttributeValue": [ - "meta.tag.xml" - ], - "xmlLiteralCDataSection": [ - "string.quoted.double.xml" - ], - "xmlLiteralComment": [ - "comment.block.xml" - ], - "xmlLiteralDelimiter": [ - "text.xml" - ], - "xmlLiteralEmbeddedExpression": [ - "meta.tag.xml" - ], - "xmlLiteralEntityReference": [ - "meta.tag.xml" - ], - "xmlLiteralName": [ - "entity.name.tag.localname.xml" - ], - "xmlLiteralProcessingInstruction": [ - "meta.tag.xml" - ], - "xmlLiteralText": [ - "text.xml" - ], - "regexComment": [ - "string.regexp.comment.cs" - ], - "regexCharacterClass": [ - "constant.character.character-class.regexp.cs" - ], - "regexAnchor": [ - "keyword.control.anchor.regexp.cs" - ], - "regexQuantifier": [ - "keyword.operator.quantifier.regexp.cs" - ], - "regexGrouping": [ - "punctuation.definition.group.regexp.cs" - ], - "regexAlternation": [ - "keyword.operator.or.regexp.cs" - ], - "regexText": [ - "string.regexp" - ], - "regexSelfEscapedCharacter": [ - "string.regexp.self-escaped-character.cs" - ], - "regexOtherEscape": [ - "string.regexp.other-escape.cs" - ], - "jsonComment": [ - "comment.line.double-slash.js" - ], - "jsonNumber": [ - "constant.numeric.json" - ], - "jsonString": [ - "string.quoted.double.json" - ], - "jsonKeyword": [ - "constant.language.json" - ], - "jsonText": [ - "string.quoted.double.json" - ], - "jsonOperator": [ - "string.quoted.double.json" - ], - "jsonPunctuation": [ - "punctuation.separator.dictionary.key-value.json" - ], - "jsonArray": [ - "punctuation.definition.array.begin.json" - ], - "jsonObject": [ - "punctuation.definition.dictionary.begin.json" - ], - "jsonPropertyName": [ - "support.type.property-name.json" - ], - "jsonConstructorName": [ - "support.type.property-name.json" - ] - } - }, - { - "language": "csharp", - "scopes": { - "typeParameter": [ - "entity.name.type.type-parameter" - ], - "keyword": [ - "keyword.cs" - ], - "excludedCode": [ - "support.other.excluded.cs" - ], - "controlKeyword": [ - "keyword.control.cs" - ], - "operatorOverloaded": [ - "entity.name.function.member.overload.cs" - ], - "preprocessorText": [ - "meta.preprocessor.string.cs" - ], - "punctuation": [ - "punctuation.cs" - ], - "stringVerbatim": [ - "string.verbatim.cs" - ], - "stringEscapeCharacter": [ - "constant.character.escape.cs" - ], - "delegate": [ - "entity.name.type.delegate.cs" - ], - "module": [ - "entity.name.type.module.cs" - ], - "field": [ - "entity.name.variable.field.cs" - ], - "constant": [ - "variable.other.constant" - ], - "extensionMethod": [ - "entity.name.function.extension.cs" - ], - "xmlDocCommentAttributeName": [ - "comment.documentation.attribute.name.cs" - ], - "xmlDocCommentAttributeQuotes": [ - "comment.documentation.attribute.quotes.cs" - ], - "xmlDocCommentAttributeValue": [ - "comment.documentation.attribute.value.cs" - ], - "xmlDocCommentCDataSection": [ - "comment.documentation.cdata.cs" - ], - "xmlDocCommentComment": [ - "comment.documentation.comment.cs" - ], - "xmlDocCommentDelimiter": [ - "comment.documentation.delimiter.cs" - ], - "xmlDocCommentEntityReference": [ - "comment.documentation.entityReference.cs" - ], - "xmlDocCommentName": [ - "comment.documentation.name.cs" - ], - "xmlDocCommentProcessingInstruction": [ - "comment.documentation.processingInstruction.cs" - ], - "xmlDocCommentText": [ - "comment.documentation.cs" - ], - "xmlLiteralAttributeName": [ - "entity.other.attribute-name.localname.xml" - ], - "xmlLiteralAttributeQuotes": [ - "string.quoted.double.xml" - ], - "xmlLiteralAttributeValue": [ - "meta.tag.xml" - ], - "xmlLiteralCDataSection": [ - "string.quoted.double.xml" - ], - "xmlLiteralComment": [ - "comment.block.xml" - ], - "xmlLiteralDelimiter": [ - "text.xml" - ], - "xmlLiteralEmbeddedExpression": [ - "meta.tag.xml" - ], - "xmlLiteralEntityReference": [ - "meta.tag.xml" - ], - "xmlLiteralName": [ - "entity.name.tag.localname.xml" - ], - "xmlLiteralProcessingInstruction": [ - "meta.tag.xml" - ], - "xmlLiteralText": [ - "text.xml" - ], - "regexComment": [ - "string.regexp.comment.cs" - ], - "regexCharacterClass": [ - "constant.character.character-class.regexp.cs" - ], - "regexAnchor": [ - "keyword.control.anchor.regexp.cs" - ], - "regexQuantifier": [ - "keyword.operator.quantifier.regexp.cs" - ], - "regexGrouping": [ - "punctuation.definition.group.regexp.cs" - ], - "regexAlternation": [ - "keyword.operator.or.regexp.cs" - ], - "regexText": [ - "string.regexp" - ], - "regexSelfEscapedCharacter": [ - "string.regexp.self-escaped-character.cs" - ], - "regexOtherEscape": [ - "string.regexp.other-escape.cs" - ], - "jsonComment": [ - "comment.line.double-slash.js" - ], - "jsonNumber": [ - "constant.numeric.json" - ], - "jsonString": [ - "string.quoted.double.json" - ], - "jsonKeyword": [ - "constant.language.json" - ], - "jsonText": [ - "string.quoted.double.json" - ], - "jsonOperator": [ - "string.quoted.double.json" - ], - "jsonPunctuation": [ - "punctuation.separator.dictionary.key-value.json" - ], - "jsonArray": [ - "punctuation.definition.array.begin.json" - ], - "jsonObject": [ - "punctuation.definition.dictionary.begin.json" - ], - "jsonPropertyName": [ - "support.type.property-name.json" - ], - "jsonConstructorName": [ - "support.type.property-name.json" - ] - } - } - ], - "languages": [ - { - "id": "aspnetcorerazor", - "extensions": [ - ".cshtml", - ".razor" - ], - "mimetypes": [ - "text/x-cshtml" - ], - "configuration": "./src/razor/language-configuration.json", - "aliases": [ - "ASP.NET Razor" - ] - }, - { - "id": "xaml", - "extensions": [ - ".xaml" - ], - "configuration": "./src/xaml/language-configuration.json", - "aliases": [ - "XAML" - ] - } - ], - "grammars": [ - { - "language": "aspnetcorerazor", - "scopeName": "text.aspnetcorerazor", - "path": "./src/razor/syntaxes/aspnetcorerazor.tmLanguage.json", - "unbalancedBracketScopes": [ - "text.aspnetcorerazor" - ] - }, - { - "language": "xaml", - "scopeName": "source.xaml", - "path": "./src/xaml/syntaxes/xaml.tmLanguage.json" - } - ], - "menus": { - "commandPalette": [ - { - "command": "dotnet.test.runTestsInContext", - "when": "editorLangId == csharp && dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.test.debugTestsInContext", - "when": "editorLangId == csharp && dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.restart", - "when": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "csharp.listProcess", - "when": "false" - }, - { - "command": "csharp.listRemoteProcess", - "when": "false" - }, - { - "command": "csharp.listRemoteDockerProcess", - "when": "false" - } - ], - "editor/title": [ - { - "command": "extension.showRazorCSharpWindow", - "when": "resourceLangId == aspnetcorerazor" - }, - { - "command": "extension.showRazorHtmlWindow", - "when": "resourceLangId == aspnetcorerazor" - }, - { - "command": "razor.reportIssue", - "when": "resourceLangId == aspnetcorerazor" - } - ], - "editor/context": [ - { - "command": "dotnet.test.runTestsInContext", - "when": "editorLangId == csharp && (dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp')", - "group": "2_dotnet@1" - }, - { - "command": "dotnet.test.debugTestsInContext", - "when": "editorLangId == csharp && (dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp')", - "group": "2_dotnet@2" - } - ] - }, - "viewsWelcome": [ - { - "view": "debug", - "contents": "%viewsWelcome.debug.contents%", - "when": "debugStartLanguage == csharp && !dotnet.debug.serviceBrokerAvailable" - } - ] - } +{ + "name": "csharp", + "publisher": "ms-dotnettools", + "version": "42.42.42-placeholder", + "description": "Base language support for C#", + "displayName": "C#", + "author": "Microsoft Corporation", + "license": "SEE LICENSE IN RuntimeLicenses/license.txt", + "qna": "https://github.com/dotnet/vscode-csharp/issues", + "icon": "images/csharpIcon.png", + "preview": false, + "bugs": { + "url": "https://github.com/dotnet/vscode-csharp" + }, + "repository": { + "type": "git", + "url": "https://github.com/dotnet/vscode-csharp" + }, + "categories": [ + "Debuggers", + "Programming Languages", + "Linters", + "Snippets" + ], + "keywords": [ + "multi-root ready", + ".NET", + "ASP.NET", + ".NET Core", + "dotnet", + "coreclr" + ], + "capabilities": { + "virtualWorkspaces": false, + "untrustedWorkspaces": { + "supported": false + } + }, + "defaults": { + "roslyn": "4.11.0-2.24267.3", + "omniSharp": "1.39.11", + "razor": "7.0.0-preview.24266.1", + "razorOmnisharp": "7.0.0-preview.23363.1", + "razorTelemetry": "7.0.0-preview.24178.4", + "xamlTools": "17.11.34924.19" + }, + "main": "./dist/extension", + "l10n": "./l10n", + "brokeredServices": [ + { + "moniker": { + "name": "Microsoft.CodeAnalysis.LanguageClient.SolutionSnapshotProvider", + "version": "0.1" + } + }, + { + "moniker": { + "name": "Microsoft.VisualStudio.CSharpExtension.BuildResultService", + "version": "0.1" + } + } + ], + "scripts": { + "vscode:prepublish": "tsc -p ./ && webpack --mode production", + "l10nDevGenerateLocalizationBundle": "npx @vscode/l10n-dev export --outDir ./l10n ./src", + "compile": "tsc -p ./ && npx eslint ./ && npm run l10nDevGenerateLocalizationBundle && npm run compile:razorTextMate", + "compile:razorTextMate": "npx js-yaml src/razor/syntaxes/aspnetcorerazor.tmLanguage.yml > src/razor/syntaxes/aspnetcorerazor.tmLanguage.json", + "compileDev": "tsc -p ./ && npx eslint ./ && webpack --mode development && npm run l10nDevGenerateLocalizationBundle", + "watch": "tsc -watch -p ./", + "test": "tsc -p ./ && gulp test", + "test:integration": "tsc -p ./ && gulp test:integration", + "test:razor": "tsc -p ./ && npm run compile:razorTextMate && gulp test:razor", + "test:razorintegration": "tsc -p ./ && gulp test:razorintegration", + "test:artifacts": "tsc -p ./ && gulp test:artifacts", + "omnisharptest": "tsc -p ./ && gulp omnisharptest", + "omnisharptest:unit": "tsc -p ./ && gulp omnisharptest:unit", + "omnisharptest:integration": "tsc -p ./ && gulp omnisharptest:integration", + "omnisharptest:integration:singleCsproj": "tsc -p ./ && gulp omnisharptest:integration:singleCsproj", + "omnisharptest:integration:slnWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnWithCsproj", + "omnisharptest:integration:slnFilterWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnFilterWithCsproj", + "unpackage:vsix": "gulp vsix:release:unpackage", + "updatePackageDependencies": "gulp updatePackageDependencies", + "l10nDevGenerateXlf": "npx @vscode/l10n-dev generate-xlf ./package.nls.json ./l10n/bundle.l10n.json --outFile ./loc/vscode-csharp.xlf", + "l10nDevImportXlf": "npx @vscode/l10n-dev import-xlf ./loc/vscode-csharp.*.xlf --outDir ./l10n && move l10n\\package.nls.*.json ." + }, + "extensionDependencies": [ + "ms-dotnettools.vscode-dotnet-runtime" + ], + "dependencies": { + "@microsoft/servicehub-framework": "4.2.99-beta", + "@octokit/rest": "^20.0.1", + "@types/cross-spawn": "6.0.2", + "@vscode/debugprotocol": "1.56.0", + "@vscode/extension-telemetry": "^0.9.0", + "@vscode/js-debug-browsers": "^1.1.0", + "async-file": "2.0.2", + "cross-spawn": "6.0.5", + "execa": "4.0.0", + "fs-extra": "9.1.0", + "http-proxy-agent": "7.0.0", + "https-proxy-agent": "7.0.2", + "jsonc-parser": "3.0.0", + "microsoft.aspnetcore.razor.vscode": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/0af42abab690d5de903a4a814d6aedc1/microsoft.aspnetcore.razor.vscode-7.0.0-preview.23363.1.tgz", + "nerdbank-gitversioning": "^3.6.79-alpha", + "node-machine-id": "1.1.12", + "ps-list": "7.2.0", + "request-light": "0.7.0", + "rxjs": "6.6.7", + "semver": "7.5.4", + "stream": "0.0.2", + "strip-bom": "5.0.0", + "strip-bom-buf": "2.0.0", + "tmp": "0.0.33", + "uuid": "^9.0.0", + "vscode-html-languageservice": "^5.0.1", + "vscode-jsonrpc": "8.2.0-next.0", + "vscode-languageclient": "8.2.0-next.1", + "vscode-languageserver-protocol": "3.17.4-next.1", + "vscode-languageserver-textdocument": "^1.0.5", + "vscode-nls": "5.0.1", + "yauzl": "2.10.0" + }, + "devDependencies": { + "@jest/globals": "^29.6.2", + "@types/archiver": "5.1.0", + "@types/del": "3.0.1", + "@types/fs-extra": "5.0.4", + "@types/gulp": "4.0.5", + "@types/minimist": "1.2.1", + "@types/node": "16.11.38", + "@types/semver": "7.3.13", + "@types/tmp": "0.0.33", + "@types/unzipper": "^0.9.1", + "@types/uuid": "^9.0.1", + "@types/vscode": "1.73.0", + "@types/yauzl": "2.10.0", + "@typescript-eslint/eslint-plugin": "^5.61.0", + "@typescript-eslint/parser": "^5.61.0", + "@vscode/l10n-dev": "^0.0.30", + "@vscode/test-electron": "2.3.8", + "@vscode/vsce": "2.21.0", + "archiver": "5.3.0", + "del": "3.0.0", + "eslint": "^8.43.0", + "eslint-config-prettier": "^8.8.0", + "eslint-config-standard-with-typescript": "^35.0.0", + "eslint-plugin-header": "^3.1.1", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-n": "^15.7.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-unicorn": "^47.0.0", + "find-versions": "4.0.0", + "get-port": "5.1.1", + "glob-promise": "4.1.0", + "gulp": "4.0.2", + "jest": "^29.6.2", + "jest-cli": "^29.6.4", + "jest-junit": "^16.0.0", + "js-yaml": ">=3.13.1", + "minimatch": "3.0.5", + "mock-http-server": "1.4.2", + "octokit": "^3.1.0", + "prettier": "2.8.8", + "rimraf": "2.6.3", + "source-map-support": "^0.5.21", + "ts-jest": "^29.1.1", + "ts-loader": "9.0.0", + "ts-node": "9.1.1", + "typescript": "^5.1.6", + "unzipper": "0.10.11", + "vscode-oniguruma": "^1.6.1", + "vscode-textmate": "^6.0.0", + "vscode-uri": "^3.0.7", + "webpack": "5.76.0", + "webpack-cli": "4.6.0" + }, + "runtimeDependencies": [ + { + "id": "OmniSharp", + "description": "OmniSharp for Windows (.NET 4.7.2 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-x64-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11/OmniSharp.exe", + "platformId": "win-x64", + "isFramework": true, + "integrity": "E1AD559974430C9AA81819F1433583B0EE9A977D2DAAE1DE32D4D408503B2867" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Windows (.NET 6 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-x64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "win-x64", + "isFramework": false, + "integrity": "A71FD29E6CACDF41FD44ACB9F8532BE33DBD4CB313513E47A031443F648BDBAB" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Windows (.NET 4.7.2 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-arm64-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11/OmniSharp.exe", + "platformId": "win-arm64", + "isFramework": true, + "integrity": "D42BB3A146B9DED5C59630708A6FFB0F76B2067B31AE3A6596596AFFCE7D79C9" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Windows (.NET 6 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-arm64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "win-arm64", + "isFramework": false, + "integrity": "FFC67D2A97F8E04161BE2DCA5CE48ECEB1B09A3DD0FCE697122D5B77302FC152" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for OSX (Mono / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64", + "arm64" + ], + "binaries": [ + "./mono.osx", + "./run" + ], + "installTestPath": "./.omnisharp/1.39.11/run", + "platformId": "osx", + "isFramework": true, + "integrity": "1E339604AE52F531655B57A1058EB56E5CE0E1311C62B4CE16BE7CD0D265AA50" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for OSX (.NET 6 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-x64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "osx-x64", + "isFramework": false, + "integrity": "01571AE3B5DF4345E42B1EBD85601A654985590D403F40D2F802ED3204516350" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for OSX (.NET 6 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-arm64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "osx-arm64", + "isFramework": false, + "integrity": "9318997071878AB2DD7ECA29F1C797449B6C5454A0CB78BED0D17121BEC37B10" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (Mono / x86)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x86-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "linux" + ], + "architectures": [ + "x86", + "i686" + ], + "binaries": [ + "./mono.linux-x86", + "./run" + ], + "installTestPath": "./.omnisharp/1.39.11/run", + "platformId": "linux-x86", + "isFramework": true, + "integrity": "9568941017C31318D893669647042065985A0BA871708DA3688208D50CA7F452" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (Mono / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x64-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./mono.linux-x86_64", + "./run" + ], + "installTestPath": "./.omnisharp/1.39.11/run", + "platformId": "linux-x64", + "isFramework": true, + "integrity": "88B70F9D4D7587562C3F25EC1062E8A8120EBCE7083D56E91D9AE4A6C72E4340" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (.NET 6 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "linux-x64", + "isFramework": false, + "integrity": "E58BE0F23DD84F2ACCEA245D7DBB8F9DE6ADEA354D44CB2A3F10D7F1326571D9" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (Mono / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-arm64-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./mono.linux-arm64", + "./run" + ], + "installTestPath": "./.omnisharp/1.39.11/run", + "platformId": "linux-arm64", + "isFramework": true, + "integrity": "A10A5595AB0B13BD22495A7278995D9711B12F9EDE04AA3BB29CBE8F175EFABA" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (.NET 6 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-arm64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "linux-arm64", + "isFramework": false, + "integrity": "D4794CBA966B9B5D0F731E1606E732D5C231D4B1D345788B837565914D880A0E" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux musl (.NET 6 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-musl-x64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "linux-musl-x64", + "isFramework": false, + "integrity": "E8F924BB793C60B032FADE805030DF8F8F9B62F7FC32BF3B688EEA1B7E94B5DA" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux musl (.NET 6 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-musl-arm64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "linux-musl-arm64", + "isFramework": false, + "integrity": "223B58388C0F7226874DCA9053FE10B10739F2E43663DEED3F2F48C892E0D8E6" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (Windows / x64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-win7-x64.zip", + "installPath": ".debugger/x86_64", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64", + "arm64" + ], + "installTestPath": "./.debugger/x86_64/vsdbg-ui.exe", + "integrity": "8DD0C7B6936A538220E8A4DB7D9263A151986DE4956E33E86C80465BAD8521C0" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (Windows / ARM64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-win10-arm64.zip", + "installPath": ".debugger/arm64", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.debugger/arm64/vsdbg-ui.exe", + "integrity": "7D284CB85CDC1E85EB1BE143A31DC22FECFE3C4B576A507907AC7D32C7610E65" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (macOS / x64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-osx-x64.zip", + "installPath": ".debugger/x86_64", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64", + "arm64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/x86_64/vsdbg-ui", + "integrity": "A61ABA3B6F3A1524E95C7FE07ECF70F156996652E5E3CBB01C50E75CC5A08CEE" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (macOS / arm64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-osx-arm64.zip", + "installPath": ".debugger/arm64", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/arm64/vsdbg-ui", + "integrity": "9DE76C63EF7D2A2BA8600B381158C57EBD58D8BF235B85D1F1DDE4E7239282B1" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux / ARM)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-arm.zip", + "installPath": ".debugger", + "platforms": [ + "linux" + ], + "architectures": [ + "arm" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "2AB179096B5202ED0EAC6BF0C5D17F4506191D24A9A51867B4F4024E036764E2" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux / ARM64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-arm64.zip", + "installPath": ".debugger", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "25DA86215FD5E0EB091130C9A82443D8B28F3A20A1159127C7F3AE4BE8B9B7AD" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux musl / x64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-musl-x64.zip", + "installPath": ".debugger", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "7DAB78E1955D95511665A4037E5CEDCF7C39A9FCC269A19A6738672238AE1A52" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux musl / ARM64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-musl-arm64.zip", + "installPath": ".debugger", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "F28A3A76C13A36D94E59C53494D7BAF2A12EB4B005249246972999F064434573" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux / x64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-x64.zip", + "installPath": ".debugger", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "83EF1FF3BEE1E152550DB53C1EB8625794F0CCDBB94DBBB4B6876CD36A02DBDC" + }, + { + "id": "Razor", + "description": "Razor Language Server (Windows / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/970b8dd2e4a3b9f3487ef4239de68bcf/razorlanguageserver-win-x64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ], + "integrity": "8D255E5DB63345CAEFB795B93F029C108345D5E234B7D7B86FB54EBDE9B3FC2A" + }, + { + "id": "Razor", + "description": "Razor Language Server (Windows / ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/08ae2e66be350ce2c2017fd7eb03978f/razorlanguageserver-win-arm64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "integrity": "E4074218E23D45D4269985A18F1627BDD7426A16DC4539E434FE00F1E6EFE81E" + }, + { + "id": "Razor", + "description": "Razor Language Server (Linux / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/041a5e759efa80ba48dac5e2e686d2b1/razorlanguageserver-linux-x64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "4EF2240CA5EAADB30D0BD3EDF259858925B8EEDBE81F04B5FADA6370DCC4DD64" + }, + { + "id": "Razor", + "description": "Razor Language Server (Linux ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/b23fa3ac36f10300deb05a6f6d705117/razorlanguageserver-linux-arm64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "622D13897AE67A18A2801F2B500BDD929E355847625091C2F5F85C8A74359CBE" + }, + { + "id": "Razor", + "description": "Razor Language Server (Linux musl / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/0558e8219fe7cad00352ef194c9721dc/razorlanguageserver-linux-musl-x64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "61ED517AD29DFB3BDF01852F43AD455698437111B925B872115E3B39174C77AA" + }, + { + "id": "Razor", + "description": "Razor Language Server (Linux musl ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/ef50cb22ece80d50723b2e88dd6cc38c/razorlanguageserver-linux-musl-arm64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "DDC420476CC117857DED9DCDBFB8A387A102E9C19DE57749ADB8351CEF7ACEDD" + }, + { + "id": "Razor", + "description": "Razor Language Server (macOS / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/002f2c48425cfc3f4ab2dcdd95c856e6/razorlanguageserver-osx-x64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "AB86AD64955373EC9F0EA23FBDDA9D676B895150A5BAF75E1CFC1321B2B6ADBB" + }, + { + "id": "Razor", + "description": "Razor Language Server (macOS ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/71361816a0db3363b7afcc9f667e034b/razorlanguageserver-osx-arm64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "C30559DD13E3A5799FC596992FA04822A253C7EDB514EBE52E24A318DD0288EE" + }, + { + "id": "Razor", + "description": "Razor Language Server (Platform Agnostic)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/2e78857667b37f4c1dc570b45de5c967/razorlanguageserver-platformagnostic-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "neutral" + ], + "architectures": [ + "neutral" + ], + "binaries": [ + "./rzls" + ], + "integrity": "EE83F90BC19447192171703BCCCA30CADB6177C9D37CCE61E6042B8662321C80" + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Windows / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/8d42e62ea4051381c219b3e31bc4eced/razorlanguageserver-win-x64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Windows / ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/4ef26e45cf32fe8d51c0e7dd21f1fef6/razorlanguageserver-win-arm64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Linux / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/6d4e23a3c7cf0465743950a39515a716/razorlanguageserver-linux-x64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Linux ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/85deebd44647ebf65724cc291d722283/razorlanguageserver-linux-arm64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Linux musl / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/4f0caa94ae182785655efb15eafcef23/razorlanguageserver-linux-musl-x64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Linux musl ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/0a24828206a6f3b4bc743d058ef88ce7/razorlanguageserver-linux-musl-arm64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (macOS / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/2afcafaf41082989efcc10405abb9314/razorlanguageserver-osx-x64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (macOS ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/8bf2ed2f00d481a5987e3eb5165afddd/razorlanguageserver-osx-arm64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Windows / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/5a98d8f4e481dbb7ae3cdb3695b75c46/devkittelemetry-win-x64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ], + "integrity": "2C575C90AFFD159CD3A0F96AB3C74C939F6E774E409816C802763383782137EC" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Windows / ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/4f16ff826fedd33ad80d265c5409588b/devkittelemetry-win-arm64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "integrity": "9B0787738031C6FA1F0CF50C888926949ED08ECE17EDA006F31422E0BE8EAAD1" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Linux / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/f58cf629939f0df77d142be881f9e233/devkittelemetry-linux-x64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "integrity": "E7607984AB18D29CF3BA71D22D70A8952896657FD29D7892926EA9A73CCC87F3" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Linux ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/704e369c5905f9ece819ebce77fb78d8/devkittelemetry-linux-arm64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "integrity": "42E2263FAA4A13307899DA520C488082E241FFDE6A61A5639828A171C8423BF5" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Linux musl / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/c75e84ff813be5c9833d96dc2066a364/devkittelemetry-linux-musl-x64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "integrity": "C6C737B0707415C8EE9DB185C8A776FAB50BF1F8250C9EF8D756283ADA5FE518" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Linux musl ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/4049a66147717a53860bbc969bf32faa/devkittelemetry-linux-musl-arm64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "integrity": "14421ED81E82094CA13498B6B338950EDA605189A3FD91211EDCE554AB330070" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (macOS / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/36545ba0998f1fc380e877e38b2f35f1/devkittelemetry-osx-x64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64" + ], + "integrity": "D081FA25B5B0DF99175690E6F903720F10ADF9AD0CAC684C29715B841C6D6BB3" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (macOS ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/1c912419ea45c8d95cfa28a8a04640dc/devkittelemetry-osx-arm64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "integrity": "28D9F1E00151773078A26BDB9917CE6823E9D5D76799788238FE4AE7644A1493" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Platform Agnostic)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/0a32698e8ba1ab93489d79f34f8ae8d0/devkittelemetry-platformagnostic-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "netural" + ], + "architectures": [ + "neutral" + ], + "integrity": "3FDF8F19E66C85F06692BE2AA5803437C387EB65C6262030CD301388C3EB6261" + }, + { + "id": "VSWebAssemblyBridge", + "description": "VSWebAssemblyBridge (Platform Agnostic)", + "url": "https://vsdebugger.blob.core.windows.net/vswebassemblybridge-8-0-0-preview-24312-2/vswebassemblybridge.zip", + "installPath": ".vswebassemblybridge", + "platforms": [ + "win32", + "linux", + "darwin" + ], + "architectures": [ + "x86", + "x86_64", + "arm64" + ], + "integrity": "EB8106AE5BC642B1A1B1C5C6D1119FFA6BE2CA0C01F18BF265B3B7C74E52F97C" + } + ], + "engines": { + "vscode": "^1.75.0" + }, + "activationEvents": [ + "onDebugInitialConfigurations", + "onDebugResolve:blazorwasm", + "onDebugResolve:coreclr", + "onDebugResolve:clr", + "onDebugResolve:monovsdbg", + "onDebugResolve:dotnet", + "onLanguage:csharp", + "onCommand:o.showOutput", + "onCommand:omnisharp.registerLanguageMiddleware", + "workspaceContains:project.json", + "workspaceContains:**/*.{csproj,csx,cake}" + ], + "contributes": { + "themes": [ + { + "label": "Visual Studio 2019 Dark", + "uiTheme": "vs-dark", + "path": "./themes/vs2019_dark.json" + }, + { + "label": "Visual Studio 2019 Light", + "uiTheme": "vs", + "path": "./themes/vs2019_light.json" + } + ], + "configuration": [ + { + "title": "Project", + "order": 0, + "properties": { + "dotnet.defaultSolution": { + "type": "string", + "description": "%configuration.dotnet.defaultSolution.description%", + "order": 0 + } + } + }, + { + "title": "Text Editor", + "order": 1, + "properties": { + "dotnet.implementType.insertionBehavior": { + "type": "string", + "enum": [ + "withOtherMembersOfTheSameKind", + "atTheEnd" + ], + "default": "withOtherMembersOfTheSameKind", + "enumDescriptions": [ + "%configuration.dotnet.implementType.insertionBehavior.withOtherMembersOfTheSameKind%", + "%configuration.dotnet.implementType.insertionBehavior.atTheEnd%" + ], + "description": "%configuration.dotnet.implementType.insertionBehavior%", + "order": 10 + }, + "dotnet.implementType.propertyGenerationBehavior": { + "type": "string", + "enum": [ + "preferThrowingProperties", + "preferAutoProperties" + ], + "default": "preferThrowingProperties", + "enumDescriptions": [ + "%configuration.dotnet.implementType.propertyGenerationBehavior.preferThrowingProperties%", + "%configuration.dotnet.implementType.propertyGenerationBehavior.preferAutoProperties%" + ], + "description": "%configuration.dotnet.implementType.propertyGenerationBehavior%", + "order": 10 + }, + "dotnet.codeLens.enableReferencesCodeLens": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.codeLens.enableReferencesCodeLens%" + }, + "dotnet.codeLens.enableTestsCodeLens": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.codeLens.enableTestsCodeLens%" + }, + "dotnet.completion.showCompletionItemsFromUnimportedNamespaces": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.completion.showCompletionItemsFromUnimportedNamespaces%", + "order": 20 + }, + "dotnet.completion.showNameCompletionSuggestions": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.completion.showNameCompletionSuggestions%", + "order": 20 + }, + "dotnet.completion.provideRegexCompletions": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.completion.provideRegexCompletions%", + "order": 20 + }, + "dotnet.backgroundAnalysis.analyzerDiagnosticsScope": { + "type": "string", + "enum": [ + "openFiles", + "fullSolution", + "none" + ], + "default": "openFiles", + "enumDescriptions": [ + "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.openFiles%", + "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.fullSolution%", + "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.none%" + ], + "description": "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope%", + "order": 30 + }, + "dotnet.backgroundAnalysis.compilerDiagnosticsScope": { + "type": "string", + "enum": [ + "openFiles", + "fullSolution", + "none" + ], + "default": "openFiles", + "enumDescriptions": [ + "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.openFiles%", + "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.fullSolution%", + "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.none%" + ], + "description": "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope%", + "order": 30 + }, + "dotnet.highlighting.highlightRelatedRegexComponents": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.highlighting.highlightRelatedRegexComponents%", + "order": 40 + }, + "dotnet.highlighting.highlightRelatedJsonComponents": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.highlighting.highlightRelatedJsonComponents%", + "order": 40 + }, + "csharp.inlayHints.enableInlayHintsForImplicitObjectCreation": { + "type": "boolean", + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForImplicitObjectCreation%", + "order": 50 + }, + "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", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "csharp.debug.logging.diagnosticsLog.expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "csharp.debug.logging.diagnosticsLog.startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + }, + "csharp.debug.logging.consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + }, + "csharp.debug.suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "csharp.debug.symbolOptions.searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "csharp.debug.symbolOptions.searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "csharp.debug.symbolOptions.searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "csharp.debug.symbolOptions.cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "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" + }, + "csharp.debug.symbolOptions.moduleFilter.excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "csharp.debug.symbolOptions.moduleFilter.includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "csharp.debug.symbolOptions.moduleFilter.includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "csharp.debug.symbolOptions.moduleFilter.includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + }, + "csharp.debug.expressionEvaluationOptions.allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "csharp.debug.expressionEvaluationOptions.allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "csharp.debug.expressionEvaluationOptions.allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "csharp.debug.expressionEvaluationOptions.showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + }, + "csharp.mono.debug.useVSDbg": { + "type": "boolean", + "description": "%generateOptionsSchema.useVSDbg.description%", + "default": false + }, + "dotnet.unitTestDebuggingOptions": { + "type": "object", + "description": "%configuration.dotnet.unitTestDebuggingOptions%", + "default": {}, + "properties": { + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + } + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + }, + "type": { + "type": "string", + "enum": [ + "coreclr", + "clr" + ], + "description": "Type type of code to debug. Can be either 'coreclr' for .NET Core debugging, or 'clr' for Desktop .NET Framework. 'clr' only works on Windows as the Desktop framework is Windows-only.", + "default": "coreclr" + }, + "debugServer": { + "type": "number", + "description": "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 + } + } + }, + "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.componentPaths": { + "type": "object", + "description": "%configuration.dotnet.server.componentPaths%", + "properties": { + "roslynDevKit": { + "description": "%configuration.dotnet.server.componentPaths.roslynDevKit%", + "type": "string" + }, + "xamlTools": { + "description": "%configuration.dotnet.server.componentPaths.xamlTools%", + "type": "string" + } + }, + "default": {} + }, + "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.enableXamlTools": { + "scope": "machine-overridable", + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.enableXamlTools%" + }, + "dotnet.server.suppressLspErrorToasts": { + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.server.suppressLspErrorToasts%" + }, + "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.projects.enableAutomaticRestore": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.projects.enableAutomaticRestore%" + }, + "razor.languageServer.directory": { + "type": "string", + "scope": "machine-overridable", + "description": "%configuration.razor.languageServer.directory%", + "order": 90 + }, + "razor.languageServer.debug": { + "type": "boolean", + "scope": "machine-overridable", + "default": false, + "description": "%configuration.razor.languageServer.debug%", + "order": 90 + }, + "razor.server.trace": { + "scope": "window", + "type": "string", + "enum": [ + "Trace", + "Debug", + "Information", + "Warning", + "Error", + "Critical", + "None" + ], + "order": 90, + "default": "Information", + "description": "%configuration.razor.server.trace%" + }, + "razor.languageServer.forceRuntimeCodeGeneration": { + "type": "boolean", + "scope": "machine-overridable", + "default": false, + "description": "%configuration.razor.languageServer.forceRuntimeCodeGeneration%", + "order": 90 + } + } + }, + { + "title": "OmniSharp", + "order": 10, + "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": { + "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.format.codeBlockBraceOnNextLine": { + "type": "boolean", + "scope": "window", + "default": false, + "description": "Forces the open brace after an @code or @functions directive to be on the following line." + }, + "razor.completion.commitElementsWithSpace": { + "type": "boolean", + "scope": "window", + "default": "false", + "description": "Specifies whether to commit tag helper and component elements with a space." + } + } + } + ], + "jsonValidation": [ + { + "fileMatch": [ + "appsettings.json", + "appsettings.*.json" + ], + "url": "https://json.schemastore.org/appsettings" + }, + { + "fileMatch": "project.json", + "url": "http://json.schemastore.org/project" + }, + { + "fileMatch": "omnisharp.json", + "url": "http://json.schemastore.org/omnisharp" + }, + { + "fileMatch": "global.json", + "url": "http://json.schemastore.org/global" + }, + { + "fileMatch": "launchSettings.json", + "url": "https://json.schemastore.org/launchsettings.json" + } + ], + "commands": [ + { + "command": "o.restart", + "title": "%command.o.restart%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.pickProjectAndStart", + "title": "%command.o.pickProjectAndStart%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.openSolution", + "title": "%command.dotnet.openSolution%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn'" + }, + { + "command": "o.fixAll.solution", + "title": "%command.o.fixAll.solution%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.fixAll.project", + "title": "%command.o.fixAll.project%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.fixAll.document", + "title": "%command.o.fixAll.document%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.reanalyze.allProjects", + "title": "%command.o.reanalyze.allProjects%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.reanalyze.currentProject", + "title": "%command.o.reanalyze.currentProject%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.generateAssets", + "title": "%command.dotnet.generateAssets.currentProject%", + "category": ".NET" + }, + { + "command": "dotnet.restore.project", + "title": "%command.dotnet.restore.project%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.restore.all", + "title": "%command.dotnet.restore.all%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "csharp.listProcess", + "title": "%command.csharp.listProcess%", + "category": "CSharp" + }, + { + "command": "csharp.listRemoteProcess", + "title": "%command.csharp.listRemoteProcess%", + "category": "CSharp" + }, + { + "command": "csharp.listRemoteDockerProcess", + "title": "%command.csharp.listRemoteDockerProcess%", + "category": "CSharp" + }, + { + "command": "csharp.attachToProcess", + "title": "%command.csharp.attachToProcess%", + "category": "Debug" + }, + { + "command": "csharp.reportIssue", + "title": "%command.csharp.reportIssue%", + "category": "CSharp" + }, + { + "command": "csharp.showDecompilationTerms", + "title": "%command.csharp.showDecompilationTerms%", + "category": "CSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "extension.showRazorCSharpWindow", + "title": "%command.extension.showRazorCSharpWindow%", + "category": "Razor" + }, + { + "command": "extension.showRazorHtmlWindow", + "title": "%command.extension.showRazorHtmlWindow%", + "category": "Razor" + }, + { + "command": "razor.reportIssue", + "title": "%command.razor.reportIssue%", + "category": "Razor" + }, + { + "command": "dotnet.test.runTestsInContext", + "title": "%command.dotnet.test.runTestsInContext%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.test.debugTestsInContext", + "title": "%command.dotnet.test.debugTestsInContext%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.restartServer", + "title": "%command.dotnet.restartServer%", + "category": ".NET", + "enablement": "dotnet.server.activationContext != 'OmniSharp'" + } + ], + "keybindings": [ + { + "command": "o.showOutput", + "key": "Ctrl+Shift+F9", + "mac": "Cmd+Shift+F9" + } + ], + "snippets": [ + { + "language": "csharp", + "path": "./snippets/csharp.json" + } + ], + "breakpoints": [ + { + "language": "csharp" + }, + { + "language": "razor" + }, + { + "language": "qsharp" + }, + { + "language": "aspnetcorerazor" + } + ], + "debuggers": [ + { + "type": "coreclr", + "label": ".NET 5+ and .NET Core", + "hiddenWhen": "dotnet.debug.serviceBrokerAvailable", + "languages": [ + "csharp", + "razor", + "qsharp", + "aspnetcorerazor" + ], + "variables": { + "pickProcess": "csharp.listProcess", + "pickRemoteProcess": "csharp.listRemoteProcess", + "pickRemoteDockerProcess": "csharp.listRemoteDockerProcess" + }, + "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", + "configurationAttributes": { + "launch": { + "type": "object", + "required": [ + "program" + ], + "properties": { + "program": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.program.markdownDescription%", + "default": "${workspaceFolder}/bin/Debug//.dll" + }, + "cwd": { + "type": "string", + "description": "%generateOptionsSchema.cwd.description%", + "default": "${workspaceFolder}" + }, + "args": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.args.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.args.1.description%", + "default": "" + } + ] + }, + "stopAtEntry": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", + "default": false + }, + "launchBrowser": { + "description": "%generateOptionsSchema.launchBrowser.description%", + "default": { + "enabled": true + }, + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": "%generateOptionsSchema.launchBrowser.enabled.description%", + "default": true + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.args.description%", + "default": "${auto-detect-url}" + }, + "osx": { + "description": "%generateOptionsSchema.launchBrowser.osx.description%", + "default": { + "command": "open", + "args": "${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.osx.command.description%", + "default": "open" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.osx.args.description%", + "default": "${auto-detect-url}" + } + } + }, + "linux": { + "description": "%generateOptionsSchema.launchBrowser.linux.description%", + "default": { + "command": "xdg-open", + "args": "${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.linux.command.description%", + "default": "xdg-open" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.linux.args.description%", + "default": "${auto-detect-url}" + } + } + }, + "windows": { + "description": "%generateOptionsSchema.launchBrowser.windows.description%", + "default": { + "command": "cmd.exe", + "args": "/C start ${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.windows.command.description%", + "default": "cmd.exe" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.windows.args.description%", + "default": "/C start ${auto-detect-url}" + } + } + } + } + }, + "env": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.env.description%", + "default": {} + }, + "envFile": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.envFile.markdownDescription%", + "default": "${workspaceFolder}/.env" + }, + "console": { + "type": "string", + "enum": [ + "internalConsole", + "integratedTerminal", + "externalTerminal" + ], + "enumDescriptions": [ + "%generateOptionsSchema.console.internalConsole.enumDescription%", + "%generateOptionsSchema.console.integratedTerminal.enumDescription%", + "%generateOptionsSchema.console.externalTerminal.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.console.markdownDescription%", + "settingsDescription": "%generateOptionsSchema.console.settingsDescription%", + "default": "internalConsole" + }, + "externalConsole": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.externalConsole.markdownDescription%", + "default": false + }, + "launchSettingsFilePath": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.launchSettingsFilePath.markdownDescription%", + "default": "${workspaceFolder}/Properties/launchSettings.json" + }, + "launchSettingsProfile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "%generateOptionsSchema.launchSettingsProfile.description%", + "default": "" + }, + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + }, + "default": {} + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "browserStdOut": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "default": false + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + }, + "engineLogging": { + "type": "boolean", + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "default": false + }, + "diagnosticsLog": { + "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "protocolMessages": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "default": false + }, + "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" + }, + "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" + }, + "debugRuntimeEventTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + } + } + }, + "consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + } + } + }, + "pipeTransport": { + "description": "%generateOptionsSchema.pipeTransport.description%", + "type": "object", + "required": [ + "debuggerPath" + ], + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [], + "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "debuggerPath": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", + "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", + "default": {} + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", + "default": true + }, + "windows": { + "description": "%generateOptionsSchema.pipeTransport.windows.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", + "default": {} + } + } + }, + "osx": { + "description": "%generateOptionsSchema.pipeTransport.osx.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", + "default": {} + } + } + }, + "linux": { + "description": "%generateOptionsSchema.pipeTransport.linux.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", + "default": {} + } + } + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetOutputLogPath": { + "type": "string", + "description": "%generateOptionsSchema.targetOutputLogPath.description%", + "default": "" + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + }, + "checkForDevCert": { + "type": "boolean", + "description": "%generateOptionsSchema.checkForDevCert.description%", + "default": true + } + } + }, + "attach": { + "type": "object", + "required": [], + "properties": { + "processName": { + "type": "string", + "default": "", + "markdownDescription": "%generateOptionsSchema.processName.markdownDescription%" + }, + "processId": { + "anyOf": [ + { + "type": "string", + "markdownDescription": "%generateOptionsSchema.processId.0.markdownDescription%", + "default": "" + }, + { + "type": "integer", + "markdownDescription": "%generateOptionsSchema.processId.1.markdownDescription%", + "default": 0 + } + ] + }, + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + } + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "browserStdOut": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "default": false + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + }, + "engineLogging": { + "type": "boolean", + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "default": false + }, + "diagnosticsLog": { + "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "protocolMessages": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "default": false + }, + "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" + }, + "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" + }, + "debugRuntimeEventTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + } + } + }, + "consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + } + } + }, + "pipeTransport": { + "description": "%generateOptionsSchema.pipeTransport.description%", + "type": "object", + "required": [ + "debuggerPath" + ], + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [], + "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "debuggerPath": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", + "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", + "default": {} + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", + "default": true + }, + "windows": { + "description": "%generateOptionsSchema.pipeTransport.windows.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", + "default": {} + } + } + }, + "osx": { + "description": "%generateOptionsSchema.pipeTransport.osx.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", + "default": {} + } + } + }, + "linux": { + "description": "%generateOptionsSchema.pipeTransport.linux.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", + "default": {} + } + } + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + } + } + } + }, + "configurationSnippets": [ + { + "label": "%debuggers.coreclr.configurationSnippets.label.console-local%", + "description": "%debuggers.coreclr.configurationSnippets.description.console-local%", + "body": { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", + "args": [], + "cwd": "^\"\\${workspaceFolder}\"", + "stopAtEntry": false, + "console": "internalConsole" + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.attach-local%", + "description": "%debuggers.coreclr.configurationSnippets.description.attach%", + "body": { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach" + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.web-local%", + "description": "%debuggers.coreclr.configurationSnippets.description.web-local%", + "body": { + "name": ".NET Core Launch (web)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", + "args": [], + "cwd": "^\"\\${workspaceFolder}\"", + "stopAtEntry": false, + "serverReadyAction": { + "action": "openExternally", + "pattern": "\\\\bNow listening on:\\\\s+(https?://\\\\S+)" + }, + "env": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "sourceFileMap": { + "/Views": "^\"\\${workspaceFolder}/Views\"" + } + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.console-remote%", + "description": "%debuggers.coreclr.configurationSnippets.description.remote%", + "body": { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", + "args": [], + "cwd": "^\"\\${workspaceFolder}\"", + "stopAtEntry": false, + "console": "internalConsole", + "pipeTransport": { + "pipeCwd": "^\"\\${workspaceFolder}\"", + "pipeProgram": "^\"${3:enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'}\"", + "pipeArgs": [], + "debuggerPath": "^\"${4:enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg}\"" + } + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.attach-remote%", + "description": "%debuggers.coreclr.configurationSnippets.description.remote%", + "body": { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach", + "pipeTransport": { + "pipeCwd": "^\"\\${workspaceFolder}\"", + "pipeProgram": "^\"${1:enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'}\"", + "pipeArgs": [], + "debuggerPath": "^\"${2:enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg}\"" + } + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.blazor-hosted%", + "description": "%debuggers.coreclr.configurationSnippets.description.blazor-hosted%", + "body": { + "name": "Launch and Debug Hosted Blazor WebAssembly App", + "type": "blazorwasm", + "request": "launch", + "hosted": true, + "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", + "cwd": "^\"\\${workspaceFolder}\"" + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.blazor-standalone%", + "description": "%debuggers.coreclr.configurationSnippets.description.blazor-standalone%", + "body": { + "name": "Launch and Debug Standalone Blazor WebAssembly App", + "type": "blazorwasm", + "request": "launch", + "cwd": "^\"\\${workspaceFolder}\"" + } + } + ] + }, + { + "type": "clr", + "when": "workspacePlatform == windows", + "hiddenWhen": "true", + "label": ".NET Framework 4.x", + "languages": [ + "csharp", + "razor", + "qsharp", + "aspnetcorerazor" + ], + "variables": { + "pickProcess": "csharp.listProcess", + "pickRemoteProcess": "csharp.listRemoteProcess", + "pickRemoteDockerProcess": "csharp.listRemoteDockerProcess" + }, + "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", + "configurationAttributes": { + "launch": { + "type": "object", + "required": [ + "program" + ], + "properties": { + "program": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.program.markdownDescription%", + "default": "${workspaceFolder}/bin/Debug//.dll" + }, + "cwd": { + "type": "string", + "description": "%generateOptionsSchema.cwd.description%", + "default": "${workspaceFolder}" + }, + "args": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.args.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.args.1.description%", + "default": "" + } + ] + }, + "stopAtEntry": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", + "default": false + }, + "launchBrowser": { + "description": "%generateOptionsSchema.launchBrowser.description%", + "default": { + "enabled": true + }, + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": "%generateOptionsSchema.launchBrowser.enabled.description%", + "default": true + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.args.description%", + "default": "${auto-detect-url}" + }, + "osx": { + "description": "%generateOptionsSchema.launchBrowser.osx.description%", + "default": { + "command": "open", + "args": "${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.osx.command.description%", + "default": "open" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.osx.args.description%", + "default": "${auto-detect-url}" + } + } + }, + "linux": { + "description": "%generateOptionsSchema.launchBrowser.linux.description%", + "default": { + "command": "xdg-open", + "args": "${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.linux.command.description%", + "default": "xdg-open" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.linux.args.description%", + "default": "${auto-detect-url}" + } + } + }, + "windows": { + "description": "%generateOptionsSchema.launchBrowser.windows.description%", + "default": { + "command": "cmd.exe", + "args": "/C start ${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.windows.command.description%", + "default": "cmd.exe" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.windows.args.description%", + "default": "/C start ${auto-detect-url}" + } + } + } + } + }, + "env": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.env.description%", + "default": {} + }, + "envFile": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.envFile.markdownDescription%", + "default": "${workspaceFolder}/.env" + }, + "console": { + "type": "string", + "enum": [ + "internalConsole", + "integratedTerminal", + "externalTerminal" + ], + "enumDescriptions": [ + "%generateOptionsSchema.console.internalConsole.enumDescription%", + "%generateOptionsSchema.console.integratedTerminal.enumDescription%", + "%generateOptionsSchema.console.externalTerminal.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.console.markdownDescription%", + "settingsDescription": "%generateOptionsSchema.console.settingsDescription%", + "default": "internalConsole" + }, + "externalConsole": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.externalConsole.markdownDescription%", + "default": false + }, + "launchSettingsFilePath": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.launchSettingsFilePath.markdownDescription%", + "default": "${workspaceFolder}/Properties/launchSettings.json" + }, + "launchSettingsProfile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "%generateOptionsSchema.launchSettingsProfile.description%", + "default": "" + }, + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + }, + "default": {} + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "browserStdOut": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "default": false + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + }, + "engineLogging": { + "type": "boolean", + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "default": false + }, + "diagnosticsLog": { + "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "protocolMessages": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "default": false + }, + "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" + }, + "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" + }, + "debugRuntimeEventTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + } + } + }, + "consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + } + } + }, + "pipeTransport": { + "description": "%generateOptionsSchema.pipeTransport.description%", + "type": "object", + "required": [ + "debuggerPath" + ], + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [], + "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "debuggerPath": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", + "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", + "default": {} + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", + "default": true + }, + "windows": { + "description": "%generateOptionsSchema.pipeTransport.windows.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", + "default": {} + } + } + }, + "osx": { + "description": "%generateOptionsSchema.pipeTransport.osx.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", + "default": {} + } + } + }, + "linux": { + "description": "%generateOptionsSchema.pipeTransport.linux.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", + "default": {} + } + } + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetOutputLogPath": { + "type": "string", + "description": "%generateOptionsSchema.targetOutputLogPath.description%", + "default": "" + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + }, + "checkForDevCert": { + "type": "boolean", + "description": "%generateOptionsSchema.checkForDevCert.description%", + "default": true + } + } + }, + "attach": { + "type": "object", + "required": [], + "properties": { + "processName": { + "type": "string", + "default": "", + "markdownDescription": "%generateOptionsSchema.processName.markdownDescription%" + }, + "processId": { + "anyOf": [ + { + "type": "string", + "markdownDescription": "%generateOptionsSchema.processId.0.markdownDescription%", + "default": "" + }, + { + "type": "integer", + "markdownDescription": "%generateOptionsSchema.processId.1.markdownDescription%", + "default": 0 + } + ] + }, + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + } + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "browserStdOut": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "default": false + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + }, + "engineLogging": { + "type": "boolean", + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "default": false + }, + "diagnosticsLog": { + "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "protocolMessages": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "default": false + }, + "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" + }, + "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" + }, + "debugRuntimeEventTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + } + } + }, + "consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + } + } + }, + "pipeTransport": { + "description": "%generateOptionsSchema.pipeTransport.description%", + "type": "object", + "required": [ + "debuggerPath" + ], + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [], + "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "debuggerPath": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", + "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", + "default": {} + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", + "default": true + }, + "windows": { + "description": "%generateOptionsSchema.pipeTransport.windows.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", + "default": {} + } + } + }, + "osx": { + "description": "%generateOptionsSchema.pipeTransport.osx.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", + "default": {} + } + } + }, + "linux": { + "description": "%generateOptionsSchema.pipeTransport.linux.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", + "default": {} + } + } + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + } + } + } + } + }, + { + "type": "blazorwasm", + "label": "Blazor WebAssembly Debug", + "hiddenWhen": "dotnet.debug.serviceBrokerAvailable", + "initialConfigurations": [ + { + "type": "blazorwasm", + "name": "Launch and Debug Blazor WebAssembly Application", + "request": "launch" + } + ], + "configurationAttributes": { + "launch": { + "properties": { + "cwd": { + "type": "string", + "description": "The directory of the Blazor WebAssembly app, defaults to the workspace folder.", + "default": "${workspaceFolder}" + }, + "url": { + "type": "string", + "description": "The URL of the application", + "default": "https://localhost:5001" + }, + "browser": { + "type": "string", + "description": "The debugging browser to launch (Edge or Chrome)", + "default": "edge", + "enum": [ + "chrome", + "edge" + ] + }, + "trace": { + "type": [ + "boolean", + "string" + ], + "default": "true", + "enum": [ + "verbose", + true + ], + "description": "If true, verbose logs from JS debugger are sent to log file. If 'verbose', send logs to console." + }, + "hosted": { + "type": "boolean", + "default": "false", + "description": "True if the app is a hosted Blazor WebAssembly app, false otherwise." + }, + "webRoot": { + "type": "string", + "default": "${workspaceFolder}", + "description": "Specifies the absolute path to the webserver root." + }, + "timeout": { + "type": "number", + "default": 30000, + "description": "Retry for this number of milliseconds to connect to browser." + }, + "program": { + "type": "string", + "default": "${workspaceFolder}/Server/bin/Debug//", + "description": "The path of the DLL to execute when launching a hosted server app" + }, + "env": { + "type": "object", + "description": "Environment variables passed to dotnet. Only valid for hosted apps." + }, + "useVSDbg": { + "type": "boolean", + "default": false, + "description": "%generateOptionsSchema.useVSDbg.description%" + }, + "dotNetConfig": { + "description": "Options passed to the underlying .NET debugger. For more info, see https://github.com/dotnet/vscode-csharp/blob/main/debugger.md.", + "type": "object", + "required": [], + "default": {}, + "properties": { + "justMyCode": { + "type": "boolean", + "description": "Optional flag to only show user code.", + "default": true + }, + "logging": { + "description": "Optional flags to determine what types of messages should be logged to the output window. Applicable only for the app server of hosted Blazor WASM apps.", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "description": "Optional flag to determine whether exception messages should be logged to the output window.", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "description": "Optional flag to determine whether module load events should be logged to the output window.", + "default": true + }, + "programOutput": { + "type": "boolean", + "description": "Optional flag to determine whether program output should be logged to the output window when not using an external console.", + "default": true + }, + "engineLogging": { + "type": "boolean", + "description": "Optional flag to determine whether diagnostic engine logs should be logged to the output window.", + "default": false + }, + "browserStdOut": { + "type": "boolean", + "description": "Optional flag to determine if stdout text from the launching the web browser should be logged to the output window.", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "description": "If true, engine logging will include `adapterElapsedTime` and `engineElapsedTime` properties to indicate the amount of time, in microseconds, that a request took.", + "default": false + }, + "threadExit": { + "type": "boolean", + "description": "Controls if a message is logged when a thread in the target process exits. Default: `false`.", + "default": false + }, + "processExit": { + "type": "boolean", + "description": "Controls if a message is logged when the target process exits, or debugging is stopped. Default: `true`.", + "default": true + } + } + }, + "sourceFileMap": { + "type": "object", + "description": "Optional source file mappings passed to the debug engine. Example: '{ \"C:\\foo\":\"/home/user/foo\" }'", + "additionalProperties": { + "type": "string" + }, + "default": { + "": "" + } + } + } + }, + "browserConfig": { + "description": "Options based to the underlying JavaScript debugger. For more info, see https://github.com/microsoft/vscode-js-debug/blob/master/OPTIONS.md.", + "type": "object", + "required": [], + "default": {}, + "properties": { + "outputCapture": { + "enum": [ + "console", + "std" + ], + "description": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.", + "default": "console" + } + } + } + } + }, + "attach": { + "properties": { + "url": { + "type": "string", + "description": "The URL of the application", + "default": "https://localhost:5001" + }, + "cwd": { + "type": "string", + "description": "The directory of the Blazor WebAssembly app, defaults to the workspace folder.", + "default": "${workspaceFolder}" + }, + "browser": { + "type": "string", + "description": "The debugging browser to launch (Edge or Chrome)", + "default": "chrome", + "enum": [ + "chrome", + "edge" + ] + }, + "trace": { + "type": [ + "boolean", + "string" + ], + "default": "true", + "enum": [ + "verbose", + true + ], + "description": "If true, verbose logs from JS debugger are sent to log file. If 'verbose', send logs to console." + }, + "webRoot": { + "type": "string", + "default": "${workspaceFolder}", + "description": "Specifies the absolute path to the webserver root." + }, + "timeout": { + "type": "number", + "default": 30000, + "description": "Retry for this number of milliseconds to connect to browser." + } + } + } + } + }, + { + "type": "dotnet", + "label": "C#", + "hiddenWhen": "!dotnet.debug.serviceBrokerAvailable", + "languages": [ + "csharp", + "razor", + "aspnetcorerazor" + ], + "variables": {}, + "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", + "configurationAttributes": { + "launch": { + "type": "object", + "required": [ + "projectPath" + ], + "properties": { + "projectPath": { + "type": "string", + "description": "%debuggers.dotnet.launch.projectPath.description%", + "default": "${workspaceFolder}/.csproj" + }, + "launchConfigurationId": { + "type": "string", + "description": "%debuggers.dotnet.launch.launchConfigurationId.description%" + } + } + } + }, + "configurationSnippets": [ + { + "label": "%debuggers.dotnet.configurationSnippets.label%", + "description": "%debuggers.dotnet.configurationSnippets.description%", + "body": { + "name": "C#: ${1:} Debug", + "type": "dotnet", + "request": "launch", + "projectPath": "^\"\\${workspaceFolder}/${2:}${1:}.csproj\"" + } + } + ] + }, + { + "type": "monovsdbg", + "label": ".NET Core using Mono Runtime", + "hiddenWhen": "true", + "languages": [ + "csharp" + ], + "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255" + } + ], + "semanticTokenTypes": [ + { + "id": "razorComponentElement", + "description": "A Razor component element" + }, + { + "id": "razorComponentAttribute", + "description": "A Razor component attribute" + }, + { + "id": "razorTagHelperElement", + "description": "A Razor TagHelper Element" + }, + { + "id": "razorTagHelperAttribute", + "description": "A Razor TagHelper Attribute" + }, + { + "id": "razorTransition", + "description": "A Razor transition" + }, + { + "id": "razorDirectiveAttribute", + "description": "A Razor Directive Attribute" + }, + { + "id": "razorDirectiveColon", + "description": "A colon between directive attribute parameters" + }, + { + "id": "razorDirective", + "description": "A Razor directive such as 'code' or 'function'" + }, + { + "id": "razorComment", + "description": "A Razor comment" + }, + { + "id": "markupCommentPunctuation", + "description": "The '@' or '*' of a Razor comment." + }, + { + "id": "markupTagDelimiter", + "description": "Markup delimiters like '<', '>', and '/'." + }, + { + "id": "markupOperator", + "description": "Delimiter for Markup Attribute Key-Value pairs." + }, + { + "id": "markupElement", + "description": "The name of a Markup element." + }, + { + "id": "markupAttribute", + "description": "The name of a Markup attribute." + }, + { + "id": "markupAttributeQuote", + "description": "A token that represents an attribute quote in a Markup attribute." + }, + { + "id": "markupAttributeValue", + "description": "The value of a Markup attribute." + }, + { + "id": "markupComment", + "description": "The contents of a Markup comment." + }, + { + "id": "markupCommentPunctuation", + "description": "The begining or ending punctuation of a Markup comment." + }, + { + "id": "excludedCode", + "description": "A token that represents inactive code." + }, + { + "id": "controlKeyword", + "description": "A token that represents a control-flow keyword.", + "superType": "keyword" + }, + { + "id": "operatorOverloaded", + "description": "A declaration or reference to an overloaded operator." + }, + { + "id": "whitespace", + "description": "A token that represents whitespace." + }, + { + "id": "text", + "description": "A token that represents text." + }, + { + "id": "preprocessorText", + "description": "Text associated with a preprocessor directive." + }, + { + "id": "punctuation", + "description": "A token that represents punctuation." + }, + { + "id": "stringVerbatim", + "superType": "string", + "description": "A token that represents a verbatim string." + }, + { + "id": "stringEscapeCharacter", + "superType": "string", + "description": "An escape character within a string." + }, + { + "id": "recordClass", + "superType": "class", + "description": "A definition or reference to a record class type." + }, + { + "id": "delegate", + "superType": "method", + "description": "A definition or reference to a delegate type." + }, + { + "id": "module", + "superType": "namespace", + "description": "A definition or reference to a module name." + }, + { + "id": "recordStruct", + "superType": "struct", + "description": "A definition or reference to a record struct type." + }, + { + "id": "field", + "superType": "property", + "description": "A definition or reference to a field." + }, + { + "id": "constant", + "superType": "variable", + "description": "A definition or reference to a constant." + }, + { + "id": "extensionMethod", + "superType": "method", + "description": "A definition or reference to an extension method" + }, + { + "id": "xmlDocCommentAttributeName", + "description": "A token that represents an attribute in an XML documentation comment" + }, + { + "id": "xmlDocCommentAttributeQuotes", + "description": "A token that represents an attribute quote in an XML documentation comment" + }, + { + "id": "xmlDocCommentAttributeValue", + "description": "A token that represents an attribute value in an XML documentation comment" + }, + { + "id": "xmlDocCommentCDataSection", + "description": "A token that represents a CDATA section in an XML documentation comment" + }, + { + "id": "xmlDocCommentComment", + "description": "A token that represents a comment in an XML documentation comment" + }, + { + "id": "xmlDocCommentDelimiter", + "description": "A token that represents a delimeter in an XML documentation comment" + }, + { + "id": "xmlDocCommentEntityReference", + "description": "A token that represents reference to an entity in an XML documentation comment" + }, + { + "id": "xmlDocCommentName", + "description": "A token that represents a name in an XML documentation comment" + }, + { + "id": "xmlDocCommentProcessingInstruction", + "description": "A token that represents a processing instruction in an XML documentation comment" + }, + { + "id": "xmlDocCommentText", + "description": "A token that represents text in an XML documentation comment" + }, + { + "id": "xmlLiteralAttributeName", + "description": "A token that represents an attribute name in an XML literal" + }, + { + "id": "xmlLiteralAttributeQuotes", + "description": "A token that represents an attribute quote in an XML literal" + }, + { + "id": "xmlLiteralAttributeValue", + "description": "A token that represents an attribute value in an XML literal" + }, + { + "id": "xmlLiteralCDataSection", + "description": "A token that represents a CDATA section in an XML literal" + }, + { + "id": "xmlLiteralComment", + "description": "A token that represents a comment in an XML literal" + }, + { + "id": "xmlLiteralDelimiter", + "description": "A token that represents a delimiter in an XML literal" + }, + { + "id": "xmlLiteralEmbeddedExpression", + "description": "A token that represents an emebedded expression in an XML literal" + }, + { + "id": "xmlLiteralEntityReference", + "description": "A token that represents a reference to an entity in an XML literal" + }, + { + "id": "xmlLiteralName", + "description": "A token that represents a name in an XML literal" + }, + { + "id": "xmlLiteralProcessingInstruction", + "description": "A token that represents a processing instruction in an XML literal" + }, + { + "id": "xmlLiteralText", + "description": "A token that represents text in an XML literal" + }, + { + "id": "regexComment", + "description": "A token that represents a comment in a regex string" + }, + { + "id": "regexCharacterClass", + "description": "A token that represents a character class in a regex string" + }, + { + "id": "regexAnchor", + "description": "A token that represents an anchor in a regex string" + }, + { + "id": "regexQuantifier", + "description": "A token that represents a quantifier in a regex string" + }, + { + "id": "regexGrouping", + "description": "A token that represents a group in a regex string" + }, + { + "id": "regexAlternation", + "description": "A token that represents an alternation in a regex string" + }, + { + "id": "regexText", + "description": "A token that represents text in a regex string" + }, + { + "id": "regexSelfEscapedCharacter", + "description": "A token that represents a self escaped character in a regex string" + }, + { + "id": "regexOtherEscape", + "description": "A token that represents an escape in a regex string" + }, + { + "id": "jsonComment", + "description": "A token that represents a comment in a JSON string" + }, + { + "id": "jsonNumber", + "description": "A token that represents a number in a JSON string" + }, + { + "id": "jsonString", + "description": "A token that represents a string in a JSON string" + }, + { + "id": "jsonKeyword", + "description": "A token that represents a keyword in a JSON string" + }, + { + "id": "jsonText", + "description": "A token that represents text in a JSON string" + }, + { + "id": "jsonOperator", + "description": "A token that represents an operator in a JSON string" + }, + { + "id": "jsonPunctuation", + "description": "A token that represents punctuation in a JSON string" + }, + { + "id": "jsonArray", + "description": "A token that represents an array in a JSON string" + }, + { + "id": "jsonObject", + "description": "A token that represents an object in a JSON string" + }, + { + "id": "jsonPropertyName", + "description": "A token that represents a property name in a JSON string" + }, + { + "id": "jsonConstructorName", + "description": "A token that represents a constructor in a JSON string" + } + ], + "semanticTokenModifiers": [], + "semanticTokenScopes": [ + { + "language": "aspnetcorerazor", + "scopes": { + "razorComponentElement": [ + "entity.name.class.element.component" + ], + "razorComponentAttribute": [ + "entity.name.class.attribute.component" + ], + "razorTagHelperElement": [ + "entity.name.class.element.taghelper" + ], + "razorTagHelperAttribute": [ + "entity.name.class.attribute.taghelper" + ], + "razorTransition": [ + "keyword.control.razor.transition" + ], + "razorDirectiveAttribute": [ + "keyword.control.razor.directive.attribute", + "keyword.control.cshtml.directive.attribute" + ], + "razorDirectiveColon": [ + "keyword.control.razor.directive.colon", + "keyword.control.cshtml.directive.colon" + ], + "razorDirective": [ + "keyword.control.razor.directive", + "keyword.control.cshtml.directive" + ], + "razorComment": [ + "comment.block.razor" + ], + "razorCommentTransition": [ + "meta.comment.razor", + "keyword.control.cshtml.transition" + ], + "razorCommentStar": [ + "keyword.control.razor.comment.star", + "meta.comment.razor" + ], + "angleBracket": [ + "punctuation.definition.tag" + ], + "forwardSlash": [ + "punctuation.definition.tag" + ], + "equals": [ + "punctuation.separator.key-value.html" + ], + "markupElement": [ + "entity.name.tag.html" + ], + "markupAttribute": [ + "entity.other.attribute-name.html" + ], + "markupAttributeQuote": [ + "punctuation.definition.tag.html" + ], + "markupAttributeValue": [ + "punctuation.definition.entity.html" + ], + "markupComment": [ + "comment.block.html" + ], + "markupCommentPunctuation": [ + "punctuation.definition.comment.html", + "comment.block.html" + ], + "markupTagDelimiter": [ + "punctuation.definition.tag.html" + ], + "keyword": [ + "keyword.cs" + ], + "excludedCode": [ + "support.other.excluded.cs" + ], + "controlKeyword": [ + "keyword.control.cs" + ], + "operatorOverloaded": [ + "entity.name.function.member.overload.cs" + ], + "preprocessorText": [ + "meta.preprocessor.string.cs" + ], + "punctuation": [ + "punctuation.cs" + ], + "stringVerbatim": [ + "string.verbatim.cs" + ], + "stringEscapeCharacter": [ + "constant.character.escape.cs" + ], + "delegate": [ + "entity.name.type.delegate.cs" + ], + "module": [ + "entity.name.type.module.cs" + ], + "field": [ + "entity.name.variable.field.cs" + ], + "constant": [ + "variable.other.constant" + ], + "extensionMethod": [ + "entity.name.function.extension.cs" + ], + "xmlDocCommentAttributeName": [ + "comment.documentation.attribute.name.cs" + ], + "xmlDocCommentAttributeQuotes": [ + "comment.documentation.attribute.quotes.cs" + ], + "xmlDocCommentAttributeValue": [ + "comment.documentation.attribute.value.cs" + ], + "xmlDocCommentCDataSection": [ + "comment.documentation.cdata.cs" + ], + "xmlDocCommentComment": [ + "comment.documentation.comment.cs" + ], + "xmlDocCommentDelimiter": [ + "comment.documentation.delimiter.cs" + ], + "xmlDocCommentEntityReference": [ + "comment.documentation.entityReference.cs" + ], + "xmlDocCommentName": [ + "comment.documentation.name.cs" + ], + "xmlDocCommentProcessingInstruction": [ + "comment.documentation.processingInstruction.cs" + ], + "xmlDocCommentText": [ + "comment.documentation.cs" + ], + "xmlLiteralAttributeName": [ + "entity.other.attribute-name.localname.xml" + ], + "xmlLiteralAttributeQuotes": [ + "string.quoted.double.xml" + ], + "xmlLiteralAttributeValue": [ + "meta.tag.xml" + ], + "xmlLiteralCDataSection": [ + "string.quoted.double.xml" + ], + "xmlLiteralComment": [ + "comment.block.xml" + ], + "xmlLiteralDelimiter": [ + "text.xml" + ], + "xmlLiteralEmbeddedExpression": [ + "meta.tag.xml" + ], + "xmlLiteralEntityReference": [ + "meta.tag.xml" + ], + "xmlLiteralName": [ + "entity.name.tag.localname.xml" + ], + "xmlLiteralProcessingInstruction": [ + "meta.tag.xml" + ], + "xmlLiteralText": [ + "text.xml" + ], + "regexComment": [ + "string.regexp.comment.cs" + ], + "regexCharacterClass": [ + "constant.character.character-class.regexp.cs" + ], + "regexAnchor": [ + "keyword.control.anchor.regexp.cs" + ], + "regexQuantifier": [ + "keyword.operator.quantifier.regexp.cs" + ], + "regexGrouping": [ + "punctuation.definition.group.regexp.cs" + ], + "regexAlternation": [ + "keyword.operator.or.regexp.cs" + ], + "regexText": [ + "string.regexp" + ], + "regexSelfEscapedCharacter": [ + "string.regexp.self-escaped-character.cs" + ], + "regexOtherEscape": [ + "string.regexp.other-escape.cs" + ], + "jsonComment": [ + "comment.line.double-slash.js" + ], + "jsonNumber": [ + "constant.numeric.json" + ], + "jsonString": [ + "string.quoted.double.json" + ], + "jsonKeyword": [ + "constant.language.json" + ], + "jsonText": [ + "string.quoted.double.json" + ], + "jsonOperator": [ + "string.quoted.double.json" + ], + "jsonPunctuation": [ + "punctuation.separator.dictionary.key-value.json" + ], + "jsonArray": [ + "punctuation.definition.array.begin.json" + ], + "jsonObject": [ + "punctuation.definition.dictionary.begin.json" + ], + "jsonPropertyName": [ + "support.type.property-name.json" + ], + "jsonConstructorName": [ + "support.type.property-name.json" + ] + } + }, + { + "language": "csharp", + "scopes": { + "typeParameter": [ + "entity.name.type.type-parameter" + ], + "keyword": [ + "keyword.cs" + ], + "excludedCode": [ + "support.other.excluded.cs" + ], + "controlKeyword": [ + "keyword.control.cs" + ], + "operatorOverloaded": [ + "entity.name.function.member.overload.cs" + ], + "preprocessorText": [ + "meta.preprocessor.string.cs" + ], + "punctuation": [ + "punctuation.cs" + ], + "stringVerbatim": [ + "string.verbatim.cs" + ], + "stringEscapeCharacter": [ + "constant.character.escape.cs" + ], + "delegate": [ + "entity.name.type.delegate.cs" + ], + "module": [ + "entity.name.type.module.cs" + ], + "field": [ + "entity.name.variable.field.cs" + ], + "constant": [ + "variable.other.constant" + ], + "extensionMethod": [ + "entity.name.function.extension.cs" + ], + "xmlDocCommentAttributeName": [ + "comment.documentation.attribute.name.cs" + ], + "xmlDocCommentAttributeQuotes": [ + "comment.documentation.attribute.quotes.cs" + ], + "xmlDocCommentAttributeValue": [ + "comment.documentation.attribute.value.cs" + ], + "xmlDocCommentCDataSection": [ + "comment.documentation.cdata.cs" + ], + "xmlDocCommentComment": [ + "comment.documentation.comment.cs" + ], + "xmlDocCommentDelimiter": [ + "comment.documentation.delimiter.cs" + ], + "xmlDocCommentEntityReference": [ + "comment.documentation.entityReference.cs" + ], + "xmlDocCommentName": [ + "comment.documentation.name.cs" + ], + "xmlDocCommentProcessingInstruction": [ + "comment.documentation.processingInstruction.cs" + ], + "xmlDocCommentText": [ + "comment.documentation.cs" + ], + "xmlLiteralAttributeName": [ + "entity.other.attribute-name.localname.xml" + ], + "xmlLiteralAttributeQuotes": [ + "string.quoted.double.xml" + ], + "xmlLiteralAttributeValue": [ + "meta.tag.xml" + ], + "xmlLiteralCDataSection": [ + "string.quoted.double.xml" + ], + "xmlLiteralComment": [ + "comment.block.xml" + ], + "xmlLiteralDelimiter": [ + "text.xml" + ], + "xmlLiteralEmbeddedExpression": [ + "meta.tag.xml" + ], + "xmlLiteralEntityReference": [ + "meta.tag.xml" + ], + "xmlLiteralName": [ + "entity.name.tag.localname.xml" + ], + "xmlLiteralProcessingInstruction": [ + "meta.tag.xml" + ], + "xmlLiteralText": [ + "text.xml" + ], + "regexComment": [ + "string.regexp.comment.cs" + ], + "regexCharacterClass": [ + "constant.character.character-class.regexp.cs" + ], + "regexAnchor": [ + "keyword.control.anchor.regexp.cs" + ], + "regexQuantifier": [ + "keyword.operator.quantifier.regexp.cs" + ], + "regexGrouping": [ + "punctuation.definition.group.regexp.cs" + ], + "regexAlternation": [ + "keyword.operator.or.regexp.cs" + ], + "regexText": [ + "string.regexp" + ], + "regexSelfEscapedCharacter": [ + "string.regexp.self-escaped-character.cs" + ], + "regexOtherEscape": [ + "string.regexp.other-escape.cs" + ], + "jsonComment": [ + "comment.line.double-slash.js" + ], + "jsonNumber": [ + "constant.numeric.json" + ], + "jsonString": [ + "string.quoted.double.json" + ], + "jsonKeyword": [ + "constant.language.json" + ], + "jsonText": [ + "string.quoted.double.json" + ], + "jsonOperator": [ + "string.quoted.double.json" + ], + "jsonPunctuation": [ + "punctuation.separator.dictionary.key-value.json" + ], + "jsonArray": [ + "punctuation.definition.array.begin.json" + ], + "jsonObject": [ + "punctuation.definition.dictionary.begin.json" + ], + "jsonPropertyName": [ + "support.type.property-name.json" + ], + "jsonConstructorName": [ + "support.type.property-name.json" + ] + } + } + ], + "languages": [ + { + "id": "aspnetcorerazor", + "extensions": [ + ".cshtml", + ".razor" + ], + "mimetypes": [ + "text/x-cshtml" + ], + "configuration": "./src/razor/language-configuration.json", + "aliases": [ + "ASP.NET Razor" + ] + }, + { + "id": "xaml", + "extensions": [ + ".xaml" + ], + "configuration": "./src/xaml/language-configuration.json", + "aliases": [ + "XAML" + ] + } + ], + "grammars": [ + { + "language": "aspnetcorerazor", + "scopeName": "text.aspnetcorerazor", + "path": "./src/razor/syntaxes/aspnetcorerazor.tmLanguage.json", + "unbalancedBracketScopes": [ + "text.aspnetcorerazor" + ] + }, + { + "language": "xaml", + "scopeName": "source.xaml", + "path": "./src/xaml/syntaxes/xaml.tmLanguage.json" + } + ], + "menus": { + "commandPalette": [ + { + "command": "dotnet.test.runTestsInContext", + "when": "editorLangId == csharp && dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.test.debugTestsInContext", + "when": "editorLangId == csharp && dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.restart", + "when": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "csharp.listProcess", + "when": "false" + }, + { + "command": "csharp.listRemoteProcess", + "when": "false" + }, + { + "command": "csharp.listRemoteDockerProcess", + "when": "false" + } + ], + "editor/title": [ + { + "command": "extension.showRazorCSharpWindow", + "when": "resourceLangId == aspnetcorerazor" + }, + { + "command": "extension.showRazorHtmlWindow", + "when": "resourceLangId == aspnetcorerazor" + }, + { + "command": "razor.reportIssue", + "when": "resourceLangId == aspnetcorerazor" + } + ], + "editor/context": [ + { + "command": "dotnet.test.runTestsInContext", + "when": "editorLangId == csharp && (dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp')", + "group": "2_dotnet@1" + }, + { + "command": "dotnet.test.debugTestsInContext", + "when": "editorLangId == csharp && (dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp')", + "group": "2_dotnet@2" + } + ] + }, + "viewsWelcome": [ + { + "view": "debug", + "contents": "%viewsWelcome.debug.contents%", + "when": "debugStartLanguage == csharp && !dotnet.debug.serviceBrokerAvailable" + } + ] + } } \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 1e7b55c12..00e8d9aac 100644 --- a/src/main.ts +++ b/src/main.ts @@ -102,6 +102,8 @@ export async function activate( requiredPackageIds.push('OmniSharp'); } + requiredPackageIds.push('VSWebAssemblyBridge'); + // If the dotnet bundle is installed, this will ensure the dotnet CLI is on the path. await initializeDotnetPath(); From cfb2d67822d1ec5fdda6495e807127db1e2628e4 Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Tue, 18 Jun 2024 18:18:57 -0300 Subject: [PATCH 03/15] Addressing Gregg's comments --- package.json | 7 +------ package.nls.json | 2 +- .../roslynWorkspaceDebugConfigurationProvider.ts | 10 ++-------- src/omnisharp/utils.ts | 4 +--- .../blazorDebugConfigurationProvider.ts | 7 +++---- src/shared/utils.ts | 15 +++++---------- 6 files changed, 13 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index b73d34a26..bc1a95052 100644 --- a/package.json +++ b/package.json @@ -1429,7 +1429,7 @@ "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", "default": false }, - "csharp.mono.debug.useVSDbg": { + "csharp.wasm.debug.useVSDbg": { "type": "boolean", "description": "%generateOptionsSchema.useVSDbg.description%", "default": false @@ -4840,11 +4840,6 @@ "type": "object", "description": "Environment variables passed to dotnet. Only valid for hosted apps." }, - "useVSDbg": { - "type": "boolean", - "default": false, - "description": "%generateOptionsSchema.useVSDbg.description%" - }, "dotNetConfig": { "description": "Options passed to the underlying .NET debugger. For more info, see https://github.com/dotnet/vscode-csharp/blob/main/debugger.md.", "type": "object", diff --git a/package.nls.json b/package.nls.json index 90e0d2e1c..7b7b4e601 100644 --- a/package.nls.json +++ b/package.nls.json @@ -436,5 +436,5 @@ "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.useVSDbg.description": "Enable new .NET 8+ Mono Debugger (preview)" + "generateOptionsSchema.useVSDbg.description": "Enable new .NET 9+ Wasm Debugger (preview)" } \ No newline at end of file diff --git a/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts b/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts index 0c7651e02..e49d42141 100644 --- a/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts +++ b/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts @@ -9,12 +9,7 @@ import { IWorkspaceDebugInformationProvider, ProjectDebugInformation, } from '../shared/IWorkspaceDebugInformationProvider'; -import { - isBlazorWebAssemblyHosted, - isBlazorWebAssemblyProject, - isWebProject, - isWebAssemblyProject, -} from '../shared/utils'; +import { isBlazorWebAssemblyHosted, isBlazorWebAssemblyProject, isWebProject } from '../shared/utils'; import { RoslynLanguageServer } from './roslynLanguageServer'; import { ProjectDebugConfiguration, @@ -54,8 +49,7 @@ export class RoslynWorkspaceDebugInformationProvider implements IWorkspaceDebugI // LSP serializes and deserializes URIs as (URI formatted) strings not actual types. So convert to the actual type here. const projects: ProjectDebugInformation[] | undefined = await mapAsync(response, async (p) => { - const webProject = isWebProject(p.projectPath); - const webAssemblyProject = isWebAssemblyProject(p.projectPath); + const [webProject, webAssemblyProject] = isWebProject(p.projectPath); const webAssemblyBlazor = await isBlazorWebAssemblyProject(p.projectPath); return { projectPath: p.projectPath, diff --git a/src/omnisharp/utils.ts b/src/omnisharp/utils.ts index e66634012..4b4468078 100644 --- a/src/omnisharp/utils.ts +++ b/src/omnisharp/utils.ts @@ -9,7 +9,6 @@ import * as vscode from 'vscode'; import { CancellationToken } from 'vscode-languageserver-protocol'; import { isWebProject, - isWebAssemblyProject, isBlazorWebAssemblyProject, isBlazorWebAssemblyHosted, findNetCoreTargetFramework, @@ -171,8 +170,7 @@ export async function requestWorkspaceInformation(server: OmniSharpServer) { const response = await server.makeRequest(protocol.Requests.Projects); if (response.MsBuild && response.MsBuild.Projects) { for (const project of response.MsBuild.Projects) { - project.IsWebProject = isWebProject(project.Path); - project.IsWebAssemblyProject = isWebAssemblyProject(project.Path); + [project.IsWebProject, project.IsWebAssemblyProject] = isWebProject(project.Path); const isProjectBlazorWebAssemblyProject = await isBlazorWebAssemblyProject(project.Path); const targetsDotnetCore = diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index f882ead46..e52537369 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -132,7 +132,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati url: string ) { const wasmConfig = vscode.workspace.getConfiguration('csharp'); - const useVSDbg = configuration.useVSDbg || wasmConfig.get('mono.debug.useVSDbg') == true; + const useVSDbg = wasmConfig.get('wasm.debug.useVSDbg') == true; let portBrowserDebug = -1; if (useVSDbg) { [inspectUri, portBrowserDebug] = await this.attachToAppOnBrowser(folder, configuration); @@ -209,11 +209,10 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati name: MANAGED_DEBUG_NAME, type: 'monovsdbg', request: 'launch', - //program: 'C:\\diag\\icordebug_wasm_vscode\\test\\obj\\Debug\\net9.0\\test.dll', args, cwd, cascadeTerminateToConfigurations: [ONLY_JS_DEBUG_NAME, SERVER_APP_NAME, JS_DEBUG_NAME], - ...configuration.dotNetConfig, + ...configuration.dotNetConfig }; app.monoDebuggerOptions = { @@ -330,7 +329,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati public static async tryToUseVSDbgForMono(urlStr: string): Promise<[string, number, number]> { const wasmConfig = vscode.workspace.getConfiguration('csharp'); - const useVSDbg = wasmConfig.get('mono.debug.useVSDbg') == true; + const useVSDbg = wasmConfig.get('wasm.debug.useVSDbg') == true; if (useVSDbg) { const [inspectUri, portICorDebug, portBrowserDebug] = await BlazorDebugConfigurationProvider.launchVsWebAssemblyBridge(urlStr); diff --git a/src/shared/utils.ts b/src/shared/utils.ts index 76c712a3e..873c05a6c 100644 --- a/src/shared/utils.ts +++ b/src/shared/utils.ts @@ -35,20 +35,15 @@ export function findNetStandardTargetFramework(tfmShortNames: string[]): string return tfmShortNames.find((tf) => tf.startsWith('netstandard')); } -export function isWebProject(projectPath: string): boolean { +export function isWebProject(projectPath: string): [boolean, boolean] { const projectFileText = fs.readFileSync(projectPath, 'utf8'); // Assume that this is an MSBuild project. In that case, look for the 'Sdk="Microsoft.NET.Sdk.Web"' attribute. // TODO: Have OmniSharp provide the list of SDKs used by a project and check that list instead. - return projectFileText.toLowerCase().indexOf('sdk="microsoft.net.sdk.web"') >= 0; -} - -export function isWebAssemblyProject(projectPath: string): boolean { - const projectFileText = fs.readFileSync(projectPath, 'utf8'); - - // Assume that this is an MSBuild project. In that case, look for the 'Sdk="Microsoft.NET.Sdk.BlazorWebAssembly"' attribute. - // TODO: Have OmniSharp provide the list of SDKs used by a project and check that list instead. - return projectFileText.toLowerCase().indexOf('sdk="microsoft.net.sdk.blazorwebassembly"') >= 0; + return [ + projectFileText.toLowerCase().indexOf('sdk="microsoft.net.sdk.web"') >= 0, + projectFileText.toLowerCase().indexOf('sdk="microsoft.net.sdk.blazorwebassembly"') >= 0, + ]; } export async function isBlazorWebAssemblyProject(projectPath: string): Promise { From d59699b3db9b861c94d054387deb1458d08cc03b Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Tue, 18 Jun 2024 18:21:28 -0300 Subject: [PATCH 04/15] Fixing prettier --- src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index e52537369..de406a39e 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -212,7 +212,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati args, cwd, cascadeTerminateToConfigurations: [ONLY_JS_DEBUG_NAME, SERVER_APP_NAME, JS_DEBUG_NAME], - ...configuration.dotNetConfig + ...configuration.dotNetConfig, }; app.monoDebuggerOptions = { @@ -220,7 +220,6 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati port: portICorDebug, platform: 'browser', isServer: true, - //assetsPath: 'C:\\diag\\icordebug_wasm_vscode\\test\\bin\\Debug\\net9.0\\', }; try { From 981c74b16341242886d116cecc65056811bfd689 Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Tue, 18 Jun 2024 18:28:45 -0300 Subject: [PATCH 05/15] Fixing package.json --- package.json | 11710 ++++++++++++++++++++++++------------------------- 1 file changed, 5855 insertions(+), 5855 deletions(-) diff --git a/package.json b/package.json index bc1a95052..86ed08fa8 100644 --- a/package.json +++ b/package.json @@ -1,5856 +1,5856 @@ -{ - "name": "csharp", - "publisher": "ms-dotnettools", - "version": "42.42.42-placeholder", - "description": "Base language support for C#", - "displayName": "C#", - "author": "Microsoft Corporation", - "license": "SEE LICENSE IN RuntimeLicenses/license.txt", - "qna": "https://github.com/dotnet/vscode-csharp/issues", - "icon": "images/csharpIcon.png", - "preview": false, - "bugs": { - "url": "https://github.com/dotnet/vscode-csharp" - }, - "repository": { - "type": "git", - "url": "https://github.com/dotnet/vscode-csharp" - }, - "categories": [ - "Debuggers", - "Programming Languages", - "Linters", - "Snippets" - ], - "keywords": [ - "multi-root ready", - ".NET", - "ASP.NET", - ".NET Core", - "dotnet", - "coreclr" - ], - "capabilities": { - "virtualWorkspaces": false, - "untrustedWorkspaces": { - "supported": false - } - }, - "defaults": { - "roslyn": "4.11.0-2.24267.3", - "omniSharp": "1.39.11", - "razor": "7.0.0-preview.24266.1", - "razorOmnisharp": "7.0.0-preview.23363.1", - "razorTelemetry": "7.0.0-preview.24178.4", - "xamlTools": "17.11.34924.19" - }, - "main": "./dist/extension", - "l10n": "./l10n", - "brokeredServices": [ - { - "moniker": { - "name": "Microsoft.CodeAnalysis.LanguageClient.SolutionSnapshotProvider", - "version": "0.1" - } - }, - { - "moniker": { - "name": "Microsoft.VisualStudio.CSharpExtension.BuildResultService", - "version": "0.1" - } - } - ], - "scripts": { - "vscode:prepublish": "tsc -p ./ && webpack --mode production", - "l10nDevGenerateLocalizationBundle": "npx @vscode/l10n-dev export --outDir ./l10n ./src", - "compile": "tsc -p ./ && npx eslint ./ && npm run l10nDevGenerateLocalizationBundle && npm run compile:razorTextMate", - "compile:razorTextMate": "npx js-yaml src/razor/syntaxes/aspnetcorerazor.tmLanguage.yml > src/razor/syntaxes/aspnetcorerazor.tmLanguage.json", - "compileDev": "tsc -p ./ && npx eslint ./ && webpack --mode development && npm run l10nDevGenerateLocalizationBundle", - "watch": "tsc -watch -p ./", - "test": "tsc -p ./ && gulp test", - "test:integration": "tsc -p ./ && gulp test:integration", - "test:razor": "tsc -p ./ && npm run compile:razorTextMate && gulp test:razor", - "test:razorintegration": "tsc -p ./ && gulp test:razorintegration", - "test:artifacts": "tsc -p ./ && gulp test:artifacts", - "omnisharptest": "tsc -p ./ && gulp omnisharptest", - "omnisharptest:unit": "tsc -p ./ && gulp omnisharptest:unit", - "omnisharptest:integration": "tsc -p ./ && gulp omnisharptest:integration", - "omnisharptest:integration:singleCsproj": "tsc -p ./ && gulp omnisharptest:integration:singleCsproj", - "omnisharptest:integration:slnWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnWithCsproj", - "omnisharptest:integration:slnFilterWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnFilterWithCsproj", - "unpackage:vsix": "gulp vsix:release:unpackage", - "updatePackageDependencies": "gulp updatePackageDependencies", - "l10nDevGenerateXlf": "npx @vscode/l10n-dev generate-xlf ./package.nls.json ./l10n/bundle.l10n.json --outFile ./loc/vscode-csharp.xlf", - "l10nDevImportXlf": "npx @vscode/l10n-dev import-xlf ./loc/vscode-csharp.*.xlf --outDir ./l10n && move l10n\\package.nls.*.json ." - }, - "extensionDependencies": [ - "ms-dotnettools.vscode-dotnet-runtime" - ], - "dependencies": { - "@microsoft/servicehub-framework": "4.2.99-beta", - "@octokit/rest": "^20.0.1", - "@types/cross-spawn": "6.0.2", - "@vscode/debugprotocol": "1.56.0", - "@vscode/extension-telemetry": "^0.9.0", - "@vscode/js-debug-browsers": "^1.1.0", - "async-file": "2.0.2", - "cross-spawn": "6.0.5", - "execa": "4.0.0", - "fs-extra": "9.1.0", - "http-proxy-agent": "7.0.0", - "https-proxy-agent": "7.0.2", - "jsonc-parser": "3.0.0", - "microsoft.aspnetcore.razor.vscode": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/0af42abab690d5de903a4a814d6aedc1/microsoft.aspnetcore.razor.vscode-7.0.0-preview.23363.1.tgz", - "nerdbank-gitversioning": "^3.6.79-alpha", - "node-machine-id": "1.1.12", - "ps-list": "7.2.0", - "request-light": "0.7.0", - "rxjs": "6.6.7", - "semver": "7.5.4", - "stream": "0.0.2", - "strip-bom": "5.0.0", - "strip-bom-buf": "2.0.0", - "tmp": "0.0.33", - "uuid": "^9.0.0", - "vscode-html-languageservice": "^5.0.1", - "vscode-jsonrpc": "8.2.0-next.0", - "vscode-languageclient": "8.2.0-next.1", - "vscode-languageserver-protocol": "3.17.4-next.1", - "vscode-languageserver-textdocument": "^1.0.5", - "vscode-nls": "5.0.1", - "yauzl": "2.10.0" - }, - "devDependencies": { - "@jest/globals": "^29.6.2", - "@types/archiver": "5.1.0", - "@types/del": "3.0.1", - "@types/fs-extra": "5.0.4", - "@types/gulp": "4.0.5", - "@types/minimist": "1.2.1", - "@types/node": "16.11.38", - "@types/semver": "7.3.13", - "@types/tmp": "0.0.33", - "@types/unzipper": "^0.9.1", - "@types/uuid": "^9.0.1", - "@types/vscode": "1.73.0", - "@types/yauzl": "2.10.0", - "@typescript-eslint/eslint-plugin": "^5.61.0", - "@typescript-eslint/parser": "^5.61.0", - "@vscode/l10n-dev": "^0.0.30", - "@vscode/test-electron": "2.3.8", - "@vscode/vsce": "2.21.0", - "archiver": "5.3.0", - "del": "3.0.0", - "eslint": "^8.43.0", - "eslint-config-prettier": "^8.8.0", - "eslint-config-standard-with-typescript": "^35.0.0", - "eslint-plugin-header": "^3.1.1", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-n": "^15.7.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-unicorn": "^47.0.0", - "find-versions": "4.0.0", - "get-port": "5.1.1", - "glob-promise": "4.1.0", - "gulp": "4.0.2", - "jest": "^29.6.2", - "jest-cli": "^29.6.4", - "jest-junit": "^16.0.0", - "js-yaml": ">=3.13.1", - "minimatch": "3.0.5", - "mock-http-server": "1.4.2", - "octokit": "^3.1.0", - "prettier": "2.8.8", - "rimraf": "2.6.3", - "source-map-support": "^0.5.21", - "ts-jest": "^29.1.1", - "ts-loader": "9.0.0", - "ts-node": "9.1.1", - "typescript": "^5.1.6", - "unzipper": "0.10.11", - "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "^6.0.0", - "vscode-uri": "^3.0.7", - "webpack": "5.76.0", - "webpack-cli": "4.6.0" - }, - "runtimeDependencies": [ - { - "id": "OmniSharp", - "description": "OmniSharp for Windows (.NET 4.7.2 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-x64-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11/OmniSharp.exe", - "platformId": "win-x64", - "isFramework": true, - "integrity": "E1AD559974430C9AA81819F1433583B0EE9A977D2DAAE1DE32D4D408503B2867" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Windows (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-x64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "win-x64", - "isFramework": false, - "integrity": "A71FD29E6CACDF41FD44ACB9F8532BE33DBD4CB313513E47A031443F648BDBAB" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Windows (.NET 4.7.2 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-arm64-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11/OmniSharp.exe", - "platformId": "win-arm64", - "isFramework": true, - "integrity": "D42BB3A146B9DED5C59630708A6FFB0F76B2067B31AE3A6596596AFFCE7D79C9" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Windows (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-arm64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "win-arm64", - "isFramework": false, - "integrity": "FFC67D2A97F8E04161BE2DCA5CE48ECEB1B09A3DD0FCE697122D5B77302FC152" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for OSX (Mono / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64", - "arm64" - ], - "binaries": [ - "./mono.osx", - "./run" - ], - "installTestPath": "./.omnisharp/1.39.11/run", - "platformId": "osx", - "isFramework": true, - "integrity": "1E339604AE52F531655B57A1058EB56E5CE0E1311C62B4CE16BE7CD0D265AA50" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for OSX (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-x64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "osx-x64", - "isFramework": false, - "integrity": "01571AE3B5DF4345E42B1EBD85601A654985590D403F40D2F802ED3204516350" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for OSX (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-arm64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "osx-arm64", - "isFramework": false, - "integrity": "9318997071878AB2DD7ECA29F1C797449B6C5454A0CB78BED0D17121BEC37B10" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (Mono / x86)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x86-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "linux" - ], - "architectures": [ - "x86", - "i686" - ], - "binaries": [ - "./mono.linux-x86", - "./run" - ], - "installTestPath": "./.omnisharp/1.39.11/run", - "platformId": "linux-x86", - "isFramework": true, - "integrity": "9568941017C31318D893669647042065985A0BA871708DA3688208D50CA7F452" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (Mono / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x64-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./mono.linux-x86_64", - "./run" - ], - "installTestPath": "./.omnisharp/1.39.11/run", - "platformId": "linux-x64", - "isFramework": true, - "integrity": "88B70F9D4D7587562C3F25EC1062E8A8120EBCE7083D56E91D9AE4A6C72E4340" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "linux-x64", - "isFramework": false, - "integrity": "E58BE0F23DD84F2ACCEA245D7DBB8F9DE6ADEA354D44CB2A3F10D7F1326571D9" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (Mono / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-arm64-1.39.11.zip", - "installPath": ".omnisharp/1.39.11", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./mono.linux-arm64", - "./run" - ], - "installTestPath": "./.omnisharp/1.39.11/run", - "platformId": "linux-arm64", - "isFramework": true, - "integrity": "A10A5595AB0B13BD22495A7278995D9711B12F9EDE04AA3BB29CBE8F175EFABA" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-arm64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "linux-arm64", - "isFramework": false, - "integrity": "D4794CBA966B9B5D0F731E1606E732D5C231D4B1D345788B837565914D880A0E" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux musl (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-musl-x64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "linux-musl-x64", - "isFramework": false, - "integrity": "E8F924BB793C60B032FADE805030DF8F8F9B62F7FC32BF3B688EEA1B7E94B5DA" - }, - { - "id": "OmniSharp", - "description": "OmniSharp for Linux musl (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-musl-arm64-net6.0-1.39.11.zip", - "installPath": ".omnisharp/1.39.11-net6.0", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", - "platformId": "linux-musl-arm64", - "isFramework": false, - "integrity": "223B58388C0F7226874DCA9053FE10B10739F2E43663DEED3F2F48C892E0D8E6" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (Windows / x64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-win7-x64.zip", - "installPath": ".debugger/x86_64", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64", - "arm64" - ], - "installTestPath": "./.debugger/x86_64/vsdbg-ui.exe", - "integrity": "8DD0C7B6936A538220E8A4DB7D9263A151986DE4956E33E86C80465BAD8521C0" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (Windows / ARM64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-win10-arm64.zip", - "installPath": ".debugger/arm64", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "installTestPath": "./.debugger/arm64/vsdbg-ui.exe", - "integrity": "7D284CB85CDC1E85EB1BE143A31DC22FECFE3C4B576A507907AC7D32C7610E65" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (macOS / x64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-osx-x64.zip", - "installPath": ".debugger/x86_64", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64", - "arm64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/x86_64/vsdbg-ui", - "integrity": "A61ABA3B6F3A1524E95C7FE07ECF70F156996652E5E3CBB01C50E75CC5A08CEE" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (macOS / arm64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-osx-arm64.zip", - "installPath": ".debugger/arm64", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/arm64/vsdbg-ui", - "integrity": "9DE76C63EF7D2A2BA8600B381158C57EBD58D8BF235B85D1F1DDE4E7239282B1" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux / ARM)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-arm.zip", - "installPath": ".debugger", - "platforms": [ - "linux" - ], - "architectures": [ - "arm" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "2AB179096B5202ED0EAC6BF0C5D17F4506191D24A9A51867B4F4024E036764E2" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux / ARM64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-arm64.zip", - "installPath": ".debugger", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "25DA86215FD5E0EB091130C9A82443D8B28F3A20A1159127C7F3AE4BE8B9B7AD" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux musl / x64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-musl-x64.zip", - "installPath": ".debugger", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "7DAB78E1955D95511665A4037E5CEDCF7C39A9FCC269A19A6738672238AE1A52" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux musl / ARM64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-musl-arm64.zip", - "installPath": ".debugger", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "F28A3A76C13A36D94E59C53494D7BAF2A12EB4B005249246972999F064434573" - }, - { - "id": "Debugger", - "description": ".NET Core Debugger (linux / x64)", - "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-x64.zip", - "installPath": ".debugger", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./vsdbg-ui", - "./vsdbg" - ], - "installTestPath": "./.debugger/vsdbg-ui", - "integrity": "83EF1FF3BEE1E152550DB53C1EB8625794F0CCDBB94DBBB4B6876CD36A02DBDC" - }, - { - "id": "Razor", - "description": "Razor Language Server (Windows / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/970b8dd2e4a3b9f3487ef4239de68bcf/razorlanguageserver-win-x64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ], - "integrity": "8D255E5DB63345CAEFB795B93F029C108345D5E234B7D7B86FB54EBDE9B3FC2A" - }, - { - "id": "Razor", - "description": "Razor Language Server (Windows / ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/08ae2e66be350ce2c2017fd7eb03978f/razorlanguageserver-win-arm64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "integrity": "E4074218E23D45D4269985A18F1627BDD7426A16DC4539E434FE00F1E6EFE81E" - }, - { - "id": "Razor", - "description": "Razor Language Server (Linux / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/041a5e759efa80ba48dac5e2e686d2b1/razorlanguageserver-linux-x64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "4EF2240CA5EAADB30D0BD3EDF259858925B8EEDBE81F04B5FADA6370DCC4DD64" - }, - { - "id": "Razor", - "description": "Razor Language Server (Linux ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/b23fa3ac36f10300deb05a6f6d705117/razorlanguageserver-linux-arm64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "622D13897AE67A18A2801F2B500BDD929E355847625091C2F5F85C8A74359CBE" - }, - { - "id": "Razor", - "description": "Razor Language Server (Linux musl / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/0558e8219fe7cad00352ef194c9721dc/razorlanguageserver-linux-musl-x64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "61ED517AD29DFB3BDF01852F43AD455698437111B925B872115E3B39174C77AA" - }, - { - "id": "Razor", - "description": "Razor Language Server (Linux musl ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/ef50cb22ece80d50723b2e88dd6cc38c/razorlanguageserver-linux-musl-arm64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "DDC420476CC117857DED9DCDBFB8A387A102E9C19DE57749ADB8351CEF7ACEDD" - }, - { - "id": "Razor", - "description": "Razor Language Server (macOS / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/002f2c48425cfc3f4ab2dcdd95c856e6/razorlanguageserver-osx-x64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "AB86AD64955373EC9F0EA23FBDDA9D676B895150A5BAF75E1CFC1321B2B6ADBB" - }, - { - "id": "Razor", - "description": "Razor Language Server (macOS ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/71361816a0db3363b7afcc9f667e034b/razorlanguageserver-osx-arm64-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ], - "integrity": "C30559DD13E3A5799FC596992FA04822A253C7EDB514EBE52E24A318DD0288EE" - }, - { - "id": "Razor", - "description": "Razor Language Server (Platform Agnostic)", - "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/2e78857667b37f4c1dc570b45de5c967/razorlanguageserver-platformagnostic-7.0.0-preview.24266.1.zip", - "installPath": ".razor", - "platforms": [ - "neutral" - ], - "architectures": [ - "neutral" - ], - "binaries": [ - "./rzls" - ], - "integrity": "EE83F90BC19447192171703BCCCA30CADB6177C9D37CCE61E6042B8662321C80" - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Windows / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/8d42e62ea4051381c219b3e31bc4eced/razorlanguageserver-win-x64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Windows / ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/4ef26e45cf32fe8d51c0e7dd21f1fef6/razorlanguageserver-win-arm64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Linux / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/6d4e23a3c7cf0465743950a39515a716/razorlanguageserver-linux-x64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Linux ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/85deebd44647ebf65724cc291d722283/razorlanguageserver-linux-arm64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Linux musl / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/4f0caa94ae182785655efb15eafcef23/razorlanguageserver-linux-musl-x64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (Linux musl ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/0a24828206a6f3b4bc743d058ef88ce7/razorlanguageserver-linux-musl-arm64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (macOS / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/2afcafaf41082989efcc10405abb9314/razorlanguageserver-osx-x64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorOmnisharp", - "description": "Razor Language Server for OmniSharp (macOS ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/8bf2ed2f00d481a5987e3eb5165afddd/razorlanguageserver-osx-arm64-7.0.0-preview.23363.1.zip", - "installPath": ".razoromnisharp", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "binaries": [ - "./rzls" - ] - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Windows / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/5a98d8f4e481dbb7ae3cdb3695b75c46/devkittelemetry-win-x64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "win32" - ], - "architectures": [ - "x86_64" - ], - "integrity": "2C575C90AFFD159CD3A0F96AB3C74C939F6E774E409816C802763383782137EC" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Windows / ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/4f16ff826fedd33ad80d265c5409588b/devkittelemetry-win-arm64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "win32" - ], - "architectures": [ - "arm64" - ], - "integrity": "9B0787738031C6FA1F0CF50C888926949ED08ECE17EDA006F31422E0BE8EAAD1" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Linux / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/f58cf629939f0df77d142be881f9e233/devkittelemetry-linux-x64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "linux" - ], - "architectures": [ - "x86_64" - ], - "integrity": "E7607984AB18D29CF3BA71D22D70A8952896657FD29D7892926EA9A73CCC87F3" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Linux ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/704e369c5905f9ece819ebce77fb78d8/devkittelemetry-linux-arm64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "linux" - ], - "architectures": [ - "arm64" - ], - "integrity": "42E2263FAA4A13307899DA520C488082E241FFDE6A61A5639828A171C8423BF5" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Linux musl / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/c75e84ff813be5c9833d96dc2066a364/devkittelemetry-linux-musl-x64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "x86_64" - ], - "integrity": "C6C737B0707415C8EE9DB185C8A776FAB50BF1F8250C9EF8D756283ADA5FE518" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Linux musl ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/4049a66147717a53860bbc969bf32faa/devkittelemetry-linux-musl-arm64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "linux-musl" - ], - "architectures": [ - "arm64" - ], - "integrity": "14421ED81E82094CA13498B6B338950EDA605189A3FD91211EDCE554AB330070" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (macOS / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/36545ba0998f1fc380e877e38b2f35f1/devkittelemetry-osx-x64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "darwin" - ], - "architectures": [ - "x86_64" - ], - "integrity": "D081FA25B5B0DF99175690E6F903720F10ADF9AD0CAC684C29715B841C6D6BB3" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (macOS ARM64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/1c912419ea45c8d95cfa28a8a04640dc/devkittelemetry-osx-arm64-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "darwin" - ], - "architectures": [ - "arm64" - ], - "integrity": "28D9F1E00151773078A26BDB9917CE6823E9D5D76799788238FE4AE7644A1493" - }, - { - "id": "RazorTelemetry", - "description": "Razor Language Server Telemetry (Platform Agnostic)", - "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/0a32698e8ba1ab93489d79f34f8ae8d0/devkittelemetry-platformagnostic-7.0.0-preview.24178.4.zip", - "installPath": ".razortelemetry", - "platforms": [ - "netural" - ], - "architectures": [ - "neutral" - ], - "integrity": "3FDF8F19E66C85F06692BE2AA5803437C387EB65C6262030CD301388C3EB6261" - }, - { - "id": "VSWebAssemblyBridge", - "description": "VSWebAssemblyBridge (Platform Agnostic)", - "url": "https://vsdebugger.blob.core.windows.net/vswebassemblybridge-8-0-0-preview-24312-2/vswebassemblybridge.zip", - "installPath": ".vswebassemblybridge", - "platforms": [ - "win32", - "linux", - "darwin" - ], - "architectures": [ - "x86", - "x86_64", - "arm64" - ], - "integrity": "EB8106AE5BC642B1A1B1C5C6D1119FFA6BE2CA0C01F18BF265B3B7C74E52F97C" - } - ], - "engines": { - "vscode": "^1.75.0" - }, - "activationEvents": [ - "onDebugInitialConfigurations", - "onDebugResolve:blazorwasm", - "onDebugResolve:coreclr", - "onDebugResolve:clr", - "onDebugResolve:monovsdbg", - "onDebugResolve:dotnet", - "onLanguage:csharp", - "onCommand:o.showOutput", - "onCommand:omnisharp.registerLanguageMiddleware", - "workspaceContains:project.json", - "workspaceContains:**/*.{csproj,csx,cake}" - ], - "contributes": { - "themes": [ - { - "label": "Visual Studio 2019 Dark", - "uiTheme": "vs-dark", - "path": "./themes/vs2019_dark.json" - }, - { - "label": "Visual Studio 2019 Light", - "uiTheme": "vs", - "path": "./themes/vs2019_light.json" - } - ], - "configuration": [ - { - "title": "Project", - "order": 0, - "properties": { - "dotnet.defaultSolution": { - "type": "string", - "description": "%configuration.dotnet.defaultSolution.description%", - "order": 0 - } - } - }, - { - "title": "Text Editor", - "order": 1, - "properties": { - "dotnet.implementType.insertionBehavior": { - "type": "string", - "enum": [ - "withOtherMembersOfTheSameKind", - "atTheEnd" - ], - "default": "withOtherMembersOfTheSameKind", - "enumDescriptions": [ - "%configuration.dotnet.implementType.insertionBehavior.withOtherMembersOfTheSameKind%", - "%configuration.dotnet.implementType.insertionBehavior.atTheEnd%" - ], - "description": "%configuration.dotnet.implementType.insertionBehavior%", - "order": 10 - }, - "dotnet.implementType.propertyGenerationBehavior": { - "type": "string", - "enum": [ - "preferThrowingProperties", - "preferAutoProperties" - ], - "default": "preferThrowingProperties", - "enumDescriptions": [ - "%configuration.dotnet.implementType.propertyGenerationBehavior.preferThrowingProperties%", - "%configuration.dotnet.implementType.propertyGenerationBehavior.preferAutoProperties%" - ], - "description": "%configuration.dotnet.implementType.propertyGenerationBehavior%", - "order": 10 - }, - "dotnet.codeLens.enableReferencesCodeLens": { - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.codeLens.enableReferencesCodeLens%" - }, - "dotnet.codeLens.enableTestsCodeLens": { - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.codeLens.enableTestsCodeLens%" - }, - "dotnet.completion.showCompletionItemsFromUnimportedNamespaces": { - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.completion.showCompletionItemsFromUnimportedNamespaces%", - "order": 20 - }, - "dotnet.completion.showNameCompletionSuggestions": { - "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.completion.showNameCompletionSuggestions%", - "order": 20 - }, - "dotnet.completion.provideRegexCompletions": { - "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.completion.provideRegexCompletions%", - "order": 20 - }, - "dotnet.backgroundAnalysis.analyzerDiagnosticsScope": { - "type": "string", - "enum": [ - "openFiles", - "fullSolution", - "none" - ], - "default": "openFiles", - "enumDescriptions": [ - "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.openFiles%", - "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.fullSolution%", - "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.none%" - ], - "description": "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope%", - "order": 30 - }, - "dotnet.backgroundAnalysis.compilerDiagnosticsScope": { - "type": "string", - "enum": [ - "openFiles", - "fullSolution", - "none" - ], - "default": "openFiles", - "enumDescriptions": [ - "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.openFiles%", - "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.fullSolution%", - "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.none%" - ], - "description": "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope%", - "order": 30 - }, - "dotnet.highlighting.highlightRelatedRegexComponents": { - "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.highlighting.highlightRelatedRegexComponents%", - "order": 40 - }, - "dotnet.highlighting.highlightRelatedJsonComponents": { - "type": "boolean", - "default": "true", - "description": "%configuration.dotnet.highlighting.highlightRelatedJsonComponents%", - "order": 40 - }, - "csharp.inlayHints.enableInlayHintsForImplicitObjectCreation": { - "type": "boolean", - "default": false, - "description": "%configuration.csharp.inlayHints.enableInlayHintsForImplicitObjectCreation%", - "order": 50 - }, - "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", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "csharp.debug.logging.diagnosticsLog.expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "csharp.debug.logging.diagnosticsLog.startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - }, - "csharp.debug.logging.consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - }, - "csharp.debug.suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "csharp.debug.symbolOptions.searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "csharp.debug.symbolOptions.searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "csharp.debug.symbolOptions.searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "csharp.debug.symbolOptions.cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "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" - }, - "csharp.debug.symbolOptions.moduleFilter.excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "csharp.debug.symbolOptions.moduleFilter.includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "csharp.debug.symbolOptions.moduleFilter.includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "csharp.debug.symbolOptions.moduleFilter.includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - }, - "csharp.debug.expressionEvaluationOptions.allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "csharp.debug.expressionEvaluationOptions.allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "csharp.debug.expressionEvaluationOptions.allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "csharp.debug.expressionEvaluationOptions.showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - }, - "csharp.wasm.debug.useVSDbg": { - "type": "boolean", - "description": "%generateOptionsSchema.useVSDbg.description%", - "default": false - }, - "dotnet.unitTestDebuggingOptions": { - "type": "object", - "description": "%configuration.dotnet.unitTestDebuggingOptions%", - "default": {}, - "properties": { - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - } - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - }, - "type": { - "type": "string", - "enum": [ - "coreclr", - "clr" - ], - "description": "Type type of code to debug. Can be either 'coreclr' for .NET Core debugging, or 'clr' for Desktop .NET Framework. 'clr' only works on Windows as the Desktop framework is Windows-only.", - "default": "coreclr" - }, - "debugServer": { - "type": "number", - "description": "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 - } - } - }, - "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.componentPaths": { - "type": "object", - "description": "%configuration.dotnet.server.componentPaths%", - "properties": { - "roslynDevKit": { - "description": "%configuration.dotnet.server.componentPaths.roslynDevKit%", - "type": "string" - }, - "xamlTools": { - "description": "%configuration.dotnet.server.componentPaths.xamlTools%", - "type": "string" - } - }, - "default": {} - }, - "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.enableXamlTools": { - "scope": "machine-overridable", - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.enableXamlTools%" - }, - "dotnet.server.suppressLspErrorToasts": { - "type": "boolean", - "default": false, - "description": "%configuration.dotnet.server.suppressLspErrorToasts%" - }, - "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.projects.enableAutomaticRestore": { - "type": "boolean", - "default": true, - "description": "%configuration.dotnet.projects.enableAutomaticRestore%" - }, - "razor.languageServer.directory": { - "type": "string", - "scope": "machine-overridable", - "description": "%configuration.razor.languageServer.directory%", - "order": 90 - }, - "razor.languageServer.debug": { - "type": "boolean", - "scope": "machine-overridable", - "default": false, - "description": "%configuration.razor.languageServer.debug%", - "order": 90 - }, - "razor.server.trace": { - "scope": "window", - "type": "string", - "enum": [ - "Trace", - "Debug", - "Information", - "Warning", - "Error", - "Critical", - "None" - ], - "order": 90, - "default": "Information", - "description": "%configuration.razor.server.trace%" - }, - "razor.languageServer.forceRuntimeCodeGeneration": { - "type": "boolean", - "scope": "machine-overridable", - "default": false, - "description": "%configuration.razor.languageServer.forceRuntimeCodeGeneration%", - "order": 90 - } - } - }, - { - "title": "OmniSharp", - "order": 10, - "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": { - "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.format.codeBlockBraceOnNextLine": { - "type": "boolean", - "scope": "window", - "default": false, - "description": "Forces the open brace after an @code or @functions directive to be on the following line." - }, - "razor.completion.commitElementsWithSpace": { - "type": "boolean", - "scope": "window", - "default": "false", - "description": "Specifies whether to commit tag helper and component elements with a space." - } - } - } - ], - "jsonValidation": [ - { - "fileMatch": [ - "appsettings.json", - "appsettings.*.json" - ], - "url": "https://json.schemastore.org/appsettings" - }, - { - "fileMatch": "project.json", - "url": "http://json.schemastore.org/project" - }, - { - "fileMatch": "omnisharp.json", - "url": "http://json.schemastore.org/omnisharp" - }, - { - "fileMatch": "global.json", - "url": "http://json.schemastore.org/global" - }, - { - "fileMatch": "launchSettings.json", - "url": "https://json.schemastore.org/launchsettings.json" - } - ], - "commands": [ - { - "command": "o.restart", - "title": "%command.o.restart%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.pickProjectAndStart", - "title": "%command.o.pickProjectAndStart%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.openSolution", - "title": "%command.dotnet.openSolution%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn'" - }, - { - "command": "o.fixAll.solution", - "title": "%command.o.fixAll.solution%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.fixAll.project", - "title": "%command.o.fixAll.project%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.fixAll.document", - "title": "%command.o.fixAll.document%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.reanalyze.allProjects", - "title": "%command.o.reanalyze.allProjects%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.reanalyze.currentProject", - "title": "%command.o.reanalyze.currentProject%", - "category": "OmniSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.generateAssets", - "title": "%command.dotnet.generateAssets.currentProject%", - "category": ".NET" - }, - { - "command": "dotnet.restore.project", - "title": "%command.dotnet.restore.project%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.restore.all", - "title": "%command.dotnet.restore.all%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "csharp.listProcess", - "title": "%command.csharp.listProcess%", - "category": "CSharp" - }, - { - "command": "csharp.listRemoteProcess", - "title": "%command.csharp.listRemoteProcess%", - "category": "CSharp" - }, - { - "command": "csharp.listRemoteDockerProcess", - "title": "%command.csharp.listRemoteDockerProcess%", - "category": "CSharp" - }, - { - "command": "csharp.attachToProcess", - "title": "%command.csharp.attachToProcess%", - "category": "Debug" - }, - { - "command": "csharp.reportIssue", - "title": "%command.csharp.reportIssue%", - "category": "CSharp" - }, - { - "command": "csharp.showDecompilationTerms", - "title": "%command.csharp.showDecompilationTerms%", - "category": "CSharp", - "enablement": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "extension.showRazorCSharpWindow", - "title": "%command.extension.showRazorCSharpWindow%", - "category": "Razor" - }, - { - "command": "extension.showRazorHtmlWindow", - "title": "%command.extension.showRazorHtmlWindow%", - "category": "Razor" - }, - { - "command": "razor.reportIssue", - "title": "%command.razor.reportIssue%", - "category": "Razor" - }, - { - "command": "dotnet.test.runTestsInContext", - "title": "%command.dotnet.test.runTestsInContext%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.test.debugTestsInContext", - "title": "%command.dotnet.test.debugTestsInContext%", - "category": ".NET", - "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.restartServer", - "title": "%command.dotnet.restartServer%", - "category": ".NET", - "enablement": "dotnet.server.activationContext != 'OmniSharp'" - } - ], - "keybindings": [ - { - "command": "o.showOutput", - "key": "Ctrl+Shift+F9", - "mac": "Cmd+Shift+F9" - } - ], - "snippets": [ - { - "language": "csharp", - "path": "./snippets/csharp.json" - } - ], - "breakpoints": [ - { - "language": "csharp" - }, - { - "language": "razor" - }, - { - "language": "qsharp" - }, - { - "language": "aspnetcorerazor" - } - ], - "debuggers": [ - { - "type": "coreclr", - "label": ".NET 5+ and .NET Core", - "hiddenWhen": "dotnet.debug.serviceBrokerAvailable", - "languages": [ - "csharp", - "razor", - "qsharp", - "aspnetcorerazor" - ], - "variables": { - "pickProcess": "csharp.listProcess", - "pickRemoteProcess": "csharp.listRemoteProcess", - "pickRemoteDockerProcess": "csharp.listRemoteDockerProcess" - }, - "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", - "configurationAttributes": { - "launch": { - "type": "object", - "required": [ - "program" - ], - "properties": { - "program": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.program.markdownDescription%", - "default": "${workspaceFolder}/bin/Debug//.dll" - }, - "cwd": { - "type": "string", - "description": "%generateOptionsSchema.cwd.description%", - "default": "${workspaceFolder}" - }, - "args": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.args.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.args.1.description%", - "default": "" - } - ] - }, - "stopAtEntry": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", - "default": false - }, - "launchBrowser": { - "description": "%generateOptionsSchema.launchBrowser.description%", - "default": { - "enabled": true - }, - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "%generateOptionsSchema.launchBrowser.enabled.description%", - "default": true - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.args.description%", - "default": "${auto-detect-url}" - }, - "osx": { - "description": "%generateOptionsSchema.launchBrowser.osx.description%", - "default": { - "command": "open", - "args": "${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.osx.command.description%", - "default": "open" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.osx.args.description%", - "default": "${auto-detect-url}" - } - } - }, - "linux": { - "description": "%generateOptionsSchema.launchBrowser.linux.description%", - "default": { - "command": "xdg-open", - "args": "${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.linux.command.description%", - "default": "xdg-open" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.linux.args.description%", - "default": "${auto-detect-url}" - } - } - }, - "windows": { - "description": "%generateOptionsSchema.launchBrowser.windows.description%", - "default": { - "command": "cmd.exe", - "args": "/C start ${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.windows.command.description%", - "default": "cmd.exe" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.windows.args.description%", - "default": "/C start ${auto-detect-url}" - } - } - } - } - }, - "env": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.env.description%", - "default": {} - }, - "envFile": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.envFile.markdownDescription%", - "default": "${workspaceFolder}/.env" - }, - "console": { - "type": "string", - "enum": [ - "internalConsole", - "integratedTerminal", - "externalTerminal" - ], - "enumDescriptions": [ - "%generateOptionsSchema.console.internalConsole.enumDescription%", - "%generateOptionsSchema.console.integratedTerminal.enumDescription%", - "%generateOptionsSchema.console.externalTerminal.enumDescription%" - ], - "markdownDescription": "%generateOptionsSchema.console.markdownDescription%", - "settingsDescription": "%generateOptionsSchema.console.settingsDescription%", - "default": "internalConsole" - }, - "externalConsole": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.externalConsole.markdownDescription%", - "default": false - }, - "launchSettingsFilePath": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.launchSettingsFilePath.markdownDescription%", - "default": "${workspaceFolder}/Properties/launchSettings.json" - }, - "launchSettingsProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "%generateOptionsSchema.launchSettingsProfile.description%", - "default": "" - }, - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - }, - "default": {} - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "browserStdOut": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", - "default": false - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - }, - "engineLogging": { - "type": "boolean", - "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", - "default": false - }, - "diagnosticsLog": { - "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "protocolMessages": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", - "default": false - }, - "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" - }, - "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" - }, - "debugRuntimeEventTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - } - } - }, - "consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - } - } - }, - "pipeTransport": { - "description": "%generateOptionsSchema.pipeTransport.description%", - "type": "object", - "required": [ - "debuggerPath" - ], - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [], - "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "debuggerPath": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", - "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", - "default": {} - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", - "default": true - }, - "windows": { - "description": "%generateOptionsSchema.pipeTransport.windows.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", - "default": {} - } - } - }, - "osx": { - "description": "%generateOptionsSchema.pipeTransport.osx.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", - "default": {} - } - } - }, - "linux": { - "description": "%generateOptionsSchema.pipeTransport.linux.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", - "default": {} - } - } - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetOutputLogPath": { - "type": "string", - "description": "%generateOptionsSchema.targetOutputLogPath.description%", - "default": "" - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - }, - "checkForDevCert": { - "type": "boolean", - "description": "%generateOptionsSchema.checkForDevCert.description%", - "default": true - } - } - }, - "attach": { - "type": "object", - "required": [], - "properties": { - "processName": { - "type": "string", - "default": "", - "markdownDescription": "%generateOptionsSchema.processName.markdownDescription%" - }, - "processId": { - "anyOf": [ - { - "type": "string", - "markdownDescription": "%generateOptionsSchema.processId.0.markdownDescription%", - "default": "" - }, - { - "type": "integer", - "markdownDescription": "%generateOptionsSchema.processId.1.markdownDescription%", - "default": 0 - } - ] - }, - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - } - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "browserStdOut": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", - "default": false - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - }, - "engineLogging": { - "type": "boolean", - "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", - "default": false - }, - "diagnosticsLog": { - "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "protocolMessages": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", - "default": false - }, - "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" - }, - "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" - }, - "debugRuntimeEventTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - } - } - }, - "consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - } - } - }, - "pipeTransport": { - "description": "%generateOptionsSchema.pipeTransport.description%", - "type": "object", - "required": [ - "debuggerPath" - ], - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [], - "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "debuggerPath": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", - "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", - "default": {} - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", - "default": true - }, - "windows": { - "description": "%generateOptionsSchema.pipeTransport.windows.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", - "default": {} - } - } - }, - "osx": { - "description": "%generateOptionsSchema.pipeTransport.osx.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", - "default": {} - } - } - }, - "linux": { - "description": "%generateOptionsSchema.pipeTransport.linux.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", - "default": {} - } - } - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - } - } - } - }, - "configurationSnippets": [ - { - "label": "%debuggers.coreclr.configurationSnippets.label.console-local%", - "description": "%debuggers.coreclr.configurationSnippets.description.console-local%", - "body": { - "name": ".NET Core Launch (console)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", - "args": [], - "cwd": "^\"\\${workspaceFolder}\"", - "stopAtEntry": false, - "console": "internalConsole" - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.attach-local%", - "description": "%debuggers.coreclr.configurationSnippets.description.attach%", - "body": { - "name": ".NET Core Attach", - "type": "coreclr", - "request": "attach" - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.web-local%", - "description": "%debuggers.coreclr.configurationSnippets.description.web-local%", - "body": { - "name": ".NET Core Launch (web)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", - "args": [], - "cwd": "^\"\\${workspaceFolder}\"", - "stopAtEntry": false, - "serverReadyAction": { - "action": "openExternally", - "pattern": "\\\\bNow listening on:\\\\s+(https?://\\\\S+)" - }, - "env": { - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "sourceFileMap": { - "/Views": "^\"\\${workspaceFolder}/Views\"" - } - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.console-remote%", - "description": "%debuggers.coreclr.configurationSnippets.description.remote%", - "body": { - "name": ".NET Core Launch (console)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", - "args": [], - "cwd": "^\"\\${workspaceFolder}\"", - "stopAtEntry": false, - "console": "internalConsole", - "pipeTransport": { - "pipeCwd": "^\"\\${workspaceFolder}\"", - "pipeProgram": "^\"${3:enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'}\"", - "pipeArgs": [], - "debuggerPath": "^\"${4:enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg}\"" - } - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.attach-remote%", - "description": "%debuggers.coreclr.configurationSnippets.description.remote%", - "body": { - "name": ".NET Core Attach", - "type": "coreclr", - "request": "attach", - "pipeTransport": { - "pipeCwd": "^\"\\${workspaceFolder}\"", - "pipeProgram": "^\"${1:enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'}\"", - "pipeArgs": [], - "debuggerPath": "^\"${2:enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg}\"" - } - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.blazor-hosted%", - "description": "%debuggers.coreclr.configurationSnippets.description.blazor-hosted%", - "body": { - "name": "Launch and Debug Hosted Blazor WebAssembly App", - "type": "blazorwasm", - "request": "launch", - "hosted": true, - "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", - "cwd": "^\"\\${workspaceFolder}\"" - } - }, - { - "label": "%debuggers.coreclr.configurationSnippets.label.blazor-standalone%", - "description": "%debuggers.coreclr.configurationSnippets.description.blazor-standalone%", - "body": { - "name": "Launch and Debug Standalone Blazor WebAssembly App", - "type": "blazorwasm", - "request": "launch", - "cwd": "^\"\\${workspaceFolder}\"" - } - } - ] - }, - { - "type": "clr", - "when": "workspacePlatform == windows", - "hiddenWhen": "true", - "label": ".NET Framework 4.x", - "languages": [ - "csharp", - "razor", - "qsharp", - "aspnetcorerazor" - ], - "variables": { - "pickProcess": "csharp.listProcess", - "pickRemoteProcess": "csharp.listRemoteProcess", - "pickRemoteDockerProcess": "csharp.listRemoteDockerProcess" - }, - "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", - "configurationAttributes": { - "launch": { - "type": "object", - "required": [ - "program" - ], - "properties": { - "program": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.program.markdownDescription%", - "default": "${workspaceFolder}/bin/Debug//.dll" - }, - "cwd": { - "type": "string", - "description": "%generateOptionsSchema.cwd.description%", - "default": "${workspaceFolder}" - }, - "args": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.args.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.args.1.description%", - "default": "" - } - ] - }, - "stopAtEntry": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", - "default": false - }, - "launchBrowser": { - "description": "%generateOptionsSchema.launchBrowser.description%", - "default": { - "enabled": true - }, - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "%generateOptionsSchema.launchBrowser.enabled.description%", - "default": true - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.args.description%", - "default": "${auto-detect-url}" - }, - "osx": { - "description": "%generateOptionsSchema.launchBrowser.osx.description%", - "default": { - "command": "open", - "args": "${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.osx.command.description%", - "default": "open" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.osx.args.description%", - "default": "${auto-detect-url}" - } - } - }, - "linux": { - "description": "%generateOptionsSchema.launchBrowser.linux.description%", - "default": { - "command": "xdg-open", - "args": "${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.linux.command.description%", - "default": "xdg-open" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.linux.args.description%", - "default": "${auto-detect-url}" - } - } - }, - "windows": { - "description": "%generateOptionsSchema.launchBrowser.windows.description%", - "default": { - "command": "cmd.exe", - "args": "/C start ${auto-detect-url}" - }, - "type": "object", - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.windows.command.description%", - "default": "cmd.exe" - }, - "args": { - "type": "string", - "description": "%generateOptionsSchema.launchBrowser.windows.args.description%", - "default": "/C start ${auto-detect-url}" - } - } - } - } - }, - "env": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.env.description%", - "default": {} - }, - "envFile": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.envFile.markdownDescription%", - "default": "${workspaceFolder}/.env" - }, - "console": { - "type": "string", - "enum": [ - "internalConsole", - "integratedTerminal", - "externalTerminal" - ], - "enumDescriptions": [ - "%generateOptionsSchema.console.internalConsole.enumDescription%", - "%generateOptionsSchema.console.integratedTerminal.enumDescription%", - "%generateOptionsSchema.console.externalTerminal.enumDescription%" - ], - "markdownDescription": "%generateOptionsSchema.console.markdownDescription%", - "settingsDescription": "%generateOptionsSchema.console.settingsDescription%", - "default": "internalConsole" - }, - "externalConsole": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.externalConsole.markdownDescription%", - "default": false - }, - "launchSettingsFilePath": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.launchSettingsFilePath.markdownDescription%", - "default": "${workspaceFolder}/Properties/launchSettings.json" - }, - "launchSettingsProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "%generateOptionsSchema.launchSettingsProfile.description%", - "default": "" - }, - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - }, - "default": {} - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "browserStdOut": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", - "default": false - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - }, - "engineLogging": { - "type": "boolean", - "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", - "default": false - }, - "diagnosticsLog": { - "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "protocolMessages": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", - "default": false - }, - "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" - }, - "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" - }, - "debugRuntimeEventTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - } - } - }, - "consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - } - } - }, - "pipeTransport": { - "description": "%generateOptionsSchema.pipeTransport.description%", - "type": "object", - "required": [ - "debuggerPath" - ], - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [], - "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "debuggerPath": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", - "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", - "default": {} - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", - "default": true - }, - "windows": { - "description": "%generateOptionsSchema.pipeTransport.windows.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", - "default": {} - } - } - }, - "osx": { - "description": "%generateOptionsSchema.pipeTransport.osx.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", - "default": {} - } - } - }, - "linux": { - "description": "%generateOptionsSchema.pipeTransport.linux.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", - "default": {} - } - } - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetOutputLogPath": { - "type": "string", - "description": "%generateOptionsSchema.targetOutputLogPath.description%", - "default": "" - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - }, - "checkForDevCert": { - "type": "boolean", - "description": "%generateOptionsSchema.checkForDevCert.description%", - "default": true - } - } - }, - "attach": { - "type": "object", - "required": [], - "properties": { - "processName": { - "type": "string", - "default": "", - "markdownDescription": "%generateOptionsSchema.processName.markdownDescription%" - }, - "processId": { - "anyOf": [ - { - "type": "string", - "markdownDescription": "%generateOptionsSchema.processId.0.markdownDescription%", - "default": "" - }, - { - "type": "integer", - "markdownDescription": "%generateOptionsSchema.processId.1.markdownDescription%", - "default": 0 - } - ] - }, - "sourceFileMap": { - "type": "object", - "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", - "additionalProperties": { - "type": "string" - } - }, - "justMyCode": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", - "default": true - }, - "requireExactSource": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", - "default": true - }, - "enableStepFiltering": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", - "default": true - }, - "logging": { - "description": "%generateOptionsSchema.logging.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", - "default": true - }, - "programOutput": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", - "default": true - }, - "browserStdOut": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", - "default": false - }, - "threadExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", - "default": false - }, - "processExit": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", - "default": true - }, - "engineLogging": { - "type": "boolean", - "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", - "default": false - }, - "diagnosticsLog": { - "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", - "type": "object", - "required": [], - "default": {}, - "properties": { - "protocolMessages": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", - "default": false - }, - "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" - }, - "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" - }, - "debugRuntimeEventTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", - "default": false - }, - "expressionEvaluationTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", - "default": false - }, - "startDebuggingTracing": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", - "default": false - } - } - }, - "consoleUsageMessage": { - "type": "boolean", - "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", - "default": true - } - } - }, - "pipeTransport": { - "description": "%generateOptionsSchema.pipeTransport.description%", - "type": "object", - "required": [ - "debuggerPath" - ], - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [], - "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "debuggerPath": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", - "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", - "default": {} - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", - "default": true - }, - "windows": { - "description": "%generateOptionsSchema.pipeTransport.windows.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", - "default": {} - } - } - }, - "osx": { - "description": "%generateOptionsSchema.pipeTransport.osx.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", - "default": {} - } - } - }, - "linux": { - "description": "%generateOptionsSchema.pipeTransport.linux.description%", - "default": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", - "pipeArgs": [] - }, - "type": "object", - "properties": { - "pipeCwd": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", - "default": "${workspaceFolder}" - }, - "pipeProgram": { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", - "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" - }, - "pipeArgs": { - "anyOf": [ - { - "type": "array", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", - "items": { - "type": "string" - }, - "default": [] - }, - { - "type": "string", - "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", - "default": "" - } - ], - "default": [] - }, - "quoteArgs": { - "type": "boolean", - "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", - "default": true - }, - "pipeEnv": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", - "default": {} - } - } - } - } - }, - "suppressJITOptimizations": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", - "default": false - }, - "symbolOptions": { - "description": "%generateOptionsSchema.symbolOptions.description%", - "default": { - "searchPaths": [], - "searchMicrosoftSymbolServer": false, - "searchNuGetOrgSymbolServer": false - }, - "type": "object", - "properties": { - "searchPaths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", - "default": [] - }, - "searchMicrosoftSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", - "default": false - }, - "searchNuGetOrgSymbolServer": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", - "default": false - }, - "cachePath": { - "type": "string", - "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", - "default": "" - }, - "moduleFilter": { - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", - "default": { - "mode": "loadAllButExcluded", - "excludedModules": [] - }, - "type": "object", - "required": [ - "mode" - ], - "properties": { - "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" - }, - "excludedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", - "default": [] - }, - "includedModules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", - "default": [] - }, - "includeSymbolsNextToModules": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", - "default": true - }, - "includeSymbolsOnDemand": { - "type": "boolean", - "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", - "default": true - } - } - } - } - }, - "sourceLinkOptions": { - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", - "default": { - "*": { - "enabled": true - } - }, - "type": "object", - "additionalItems": { - "type": "object", - "properties": { - "enabled": { - "title": "boolean", - "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", - "default": true - } - } - } - }, - "expressionEvaluationOptions": { - "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", - "default": {}, - "type": "object", - "properties": { - "allowImplicitFuncEval": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", - "default": true - }, - "allowToString": { - "type": "boolean", - "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", - "default": true - }, - "allowFastEvaluate": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", - "default": true - }, - "showRawValues": { - "type": "boolean", - "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", - "default": false - } - } - }, - "targetArchitecture": { - "type": "string", - "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", - "enum": [ - "x86_64", - "arm64" - ] - } - } - } - } - }, - { - "type": "blazorwasm", - "label": "Blazor WebAssembly Debug", - "hiddenWhen": "dotnet.debug.serviceBrokerAvailable", - "initialConfigurations": [ - { - "type": "blazorwasm", - "name": "Launch and Debug Blazor WebAssembly Application", - "request": "launch" - } - ], - "configurationAttributes": { - "launch": { - "properties": { - "cwd": { - "type": "string", - "description": "The directory of the Blazor WebAssembly app, defaults to the workspace folder.", - "default": "${workspaceFolder}" - }, - "url": { - "type": "string", - "description": "The URL of the application", - "default": "https://localhost:5001" - }, - "browser": { - "type": "string", - "description": "The debugging browser to launch (Edge or Chrome)", - "default": "edge", - "enum": [ - "chrome", - "edge" - ] - }, - "trace": { - "type": [ - "boolean", - "string" - ], - "default": "true", - "enum": [ - "verbose", - true - ], - "description": "If true, verbose logs from JS debugger are sent to log file. If 'verbose', send logs to console." - }, - "hosted": { - "type": "boolean", - "default": "false", - "description": "True if the app is a hosted Blazor WebAssembly app, false otherwise." - }, - "webRoot": { - "type": "string", - "default": "${workspaceFolder}", - "description": "Specifies the absolute path to the webserver root." - }, - "timeout": { - "type": "number", - "default": 30000, - "description": "Retry for this number of milliseconds to connect to browser." - }, - "program": { - "type": "string", - "default": "${workspaceFolder}/Server/bin/Debug//", - "description": "The path of the DLL to execute when launching a hosted server app" - }, - "env": { - "type": "object", - "description": "Environment variables passed to dotnet. Only valid for hosted apps." - }, - "dotNetConfig": { - "description": "Options passed to the underlying .NET debugger. For more info, see https://github.com/dotnet/vscode-csharp/blob/main/debugger.md.", - "type": "object", - "required": [], - "default": {}, - "properties": { - "justMyCode": { - "type": "boolean", - "description": "Optional flag to only show user code.", - "default": true - }, - "logging": { - "description": "Optional flags to determine what types of messages should be logged to the output window. Applicable only for the app server of hosted Blazor WASM apps.", - "type": "object", - "required": [], - "default": {}, - "properties": { - "exceptions": { - "type": "boolean", - "description": "Optional flag to determine whether exception messages should be logged to the output window.", - "default": true - }, - "moduleLoad": { - "type": "boolean", - "description": "Optional flag to determine whether module load events should be logged to the output window.", - "default": true - }, - "programOutput": { - "type": "boolean", - "description": "Optional flag to determine whether program output should be logged to the output window when not using an external console.", - "default": true - }, - "engineLogging": { - "type": "boolean", - "description": "Optional flag to determine whether diagnostic engine logs should be logged to the output window.", - "default": false - }, - "browserStdOut": { - "type": "boolean", - "description": "Optional flag to determine if stdout text from the launching the web browser should be logged to the output window.", - "default": true - }, - "elapsedTiming": { - "type": "boolean", - "description": "If true, engine logging will include `adapterElapsedTime` and `engineElapsedTime` properties to indicate the amount of time, in microseconds, that a request took.", - "default": false - }, - "threadExit": { - "type": "boolean", - "description": "Controls if a message is logged when a thread in the target process exits. Default: `false`.", - "default": false - }, - "processExit": { - "type": "boolean", - "description": "Controls if a message is logged when the target process exits, or debugging is stopped. Default: `true`.", - "default": true - } - } - }, - "sourceFileMap": { - "type": "object", - "description": "Optional source file mappings passed to the debug engine. Example: '{ \"C:\\foo\":\"/home/user/foo\" }'", - "additionalProperties": { - "type": "string" - }, - "default": { - "": "" - } - } - } - }, - "browserConfig": { - "description": "Options based to the underlying JavaScript debugger. For more info, see https://github.com/microsoft/vscode-js-debug/blob/master/OPTIONS.md.", - "type": "object", - "required": [], - "default": {}, - "properties": { - "outputCapture": { - "enum": [ - "console", - "std" - ], - "description": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.", - "default": "console" - } - } - } - } - }, - "attach": { - "properties": { - "url": { - "type": "string", - "description": "The URL of the application", - "default": "https://localhost:5001" - }, - "cwd": { - "type": "string", - "description": "The directory of the Blazor WebAssembly app, defaults to the workspace folder.", - "default": "${workspaceFolder}" - }, - "browser": { - "type": "string", - "description": "The debugging browser to launch (Edge or Chrome)", - "default": "chrome", - "enum": [ - "chrome", - "edge" - ] - }, - "trace": { - "type": [ - "boolean", - "string" - ], - "default": "true", - "enum": [ - "verbose", - true - ], - "description": "If true, verbose logs from JS debugger are sent to log file. If 'verbose', send logs to console." - }, - "webRoot": { - "type": "string", - "default": "${workspaceFolder}", - "description": "Specifies the absolute path to the webserver root." - }, - "timeout": { - "type": "number", - "default": 30000, - "description": "Retry for this number of milliseconds to connect to browser." - } - } - } - } - }, - { - "type": "dotnet", - "label": "C#", - "hiddenWhen": "!dotnet.debug.serviceBrokerAvailable", - "languages": [ - "csharp", - "razor", - "aspnetcorerazor" - ], - "variables": {}, - "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", - "configurationAttributes": { - "launch": { - "type": "object", - "required": [ - "projectPath" - ], - "properties": { - "projectPath": { - "type": "string", - "description": "%debuggers.dotnet.launch.projectPath.description%", - "default": "${workspaceFolder}/.csproj" - }, - "launchConfigurationId": { - "type": "string", - "description": "%debuggers.dotnet.launch.launchConfigurationId.description%" - } - } - } - }, - "configurationSnippets": [ - { - "label": "%debuggers.dotnet.configurationSnippets.label%", - "description": "%debuggers.dotnet.configurationSnippets.description%", - "body": { - "name": "C#: ${1:} Debug", - "type": "dotnet", - "request": "launch", - "projectPath": "^\"\\${workspaceFolder}/${2:}${1:}.csproj\"" - } - } - ] - }, - { - "type": "monovsdbg", - "label": ".NET Core using Mono Runtime", - "hiddenWhen": "true", - "languages": [ - "csharp" - ], - "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255" - } - ], - "semanticTokenTypes": [ - { - "id": "razorComponentElement", - "description": "A Razor component element" - }, - { - "id": "razorComponentAttribute", - "description": "A Razor component attribute" - }, - { - "id": "razorTagHelperElement", - "description": "A Razor TagHelper Element" - }, - { - "id": "razorTagHelperAttribute", - "description": "A Razor TagHelper Attribute" - }, - { - "id": "razorTransition", - "description": "A Razor transition" - }, - { - "id": "razorDirectiveAttribute", - "description": "A Razor Directive Attribute" - }, - { - "id": "razorDirectiveColon", - "description": "A colon between directive attribute parameters" - }, - { - "id": "razorDirective", - "description": "A Razor directive such as 'code' or 'function'" - }, - { - "id": "razorComment", - "description": "A Razor comment" - }, - { - "id": "markupCommentPunctuation", - "description": "The '@' or '*' of a Razor comment." - }, - { - "id": "markupTagDelimiter", - "description": "Markup delimiters like '<', '>', and '/'." - }, - { - "id": "markupOperator", - "description": "Delimiter for Markup Attribute Key-Value pairs." - }, - { - "id": "markupElement", - "description": "The name of a Markup element." - }, - { - "id": "markupAttribute", - "description": "The name of a Markup attribute." - }, - { - "id": "markupAttributeQuote", - "description": "A token that represents an attribute quote in a Markup attribute." - }, - { - "id": "markupAttributeValue", - "description": "The value of a Markup attribute." - }, - { - "id": "markupComment", - "description": "The contents of a Markup comment." - }, - { - "id": "markupCommentPunctuation", - "description": "The begining or ending punctuation of a Markup comment." - }, - { - "id": "excludedCode", - "description": "A token that represents inactive code." - }, - { - "id": "controlKeyword", - "description": "A token that represents a control-flow keyword.", - "superType": "keyword" - }, - { - "id": "operatorOverloaded", - "description": "A declaration or reference to an overloaded operator." - }, - { - "id": "whitespace", - "description": "A token that represents whitespace." - }, - { - "id": "text", - "description": "A token that represents text." - }, - { - "id": "preprocessorText", - "description": "Text associated with a preprocessor directive." - }, - { - "id": "punctuation", - "description": "A token that represents punctuation." - }, - { - "id": "stringVerbatim", - "superType": "string", - "description": "A token that represents a verbatim string." - }, - { - "id": "stringEscapeCharacter", - "superType": "string", - "description": "An escape character within a string." - }, - { - "id": "recordClass", - "superType": "class", - "description": "A definition or reference to a record class type." - }, - { - "id": "delegate", - "superType": "method", - "description": "A definition or reference to a delegate type." - }, - { - "id": "module", - "superType": "namespace", - "description": "A definition or reference to a module name." - }, - { - "id": "recordStruct", - "superType": "struct", - "description": "A definition or reference to a record struct type." - }, - { - "id": "field", - "superType": "property", - "description": "A definition or reference to a field." - }, - { - "id": "constant", - "superType": "variable", - "description": "A definition or reference to a constant." - }, - { - "id": "extensionMethod", - "superType": "method", - "description": "A definition or reference to an extension method" - }, - { - "id": "xmlDocCommentAttributeName", - "description": "A token that represents an attribute in an XML documentation comment" - }, - { - "id": "xmlDocCommentAttributeQuotes", - "description": "A token that represents an attribute quote in an XML documentation comment" - }, - { - "id": "xmlDocCommentAttributeValue", - "description": "A token that represents an attribute value in an XML documentation comment" - }, - { - "id": "xmlDocCommentCDataSection", - "description": "A token that represents a CDATA section in an XML documentation comment" - }, - { - "id": "xmlDocCommentComment", - "description": "A token that represents a comment in an XML documentation comment" - }, - { - "id": "xmlDocCommentDelimiter", - "description": "A token that represents a delimeter in an XML documentation comment" - }, - { - "id": "xmlDocCommentEntityReference", - "description": "A token that represents reference to an entity in an XML documentation comment" - }, - { - "id": "xmlDocCommentName", - "description": "A token that represents a name in an XML documentation comment" - }, - { - "id": "xmlDocCommentProcessingInstruction", - "description": "A token that represents a processing instruction in an XML documentation comment" - }, - { - "id": "xmlDocCommentText", - "description": "A token that represents text in an XML documentation comment" - }, - { - "id": "xmlLiteralAttributeName", - "description": "A token that represents an attribute name in an XML literal" - }, - { - "id": "xmlLiteralAttributeQuotes", - "description": "A token that represents an attribute quote in an XML literal" - }, - { - "id": "xmlLiteralAttributeValue", - "description": "A token that represents an attribute value in an XML literal" - }, - { - "id": "xmlLiteralCDataSection", - "description": "A token that represents a CDATA section in an XML literal" - }, - { - "id": "xmlLiteralComment", - "description": "A token that represents a comment in an XML literal" - }, - { - "id": "xmlLiteralDelimiter", - "description": "A token that represents a delimiter in an XML literal" - }, - { - "id": "xmlLiteralEmbeddedExpression", - "description": "A token that represents an emebedded expression in an XML literal" - }, - { - "id": "xmlLiteralEntityReference", - "description": "A token that represents a reference to an entity in an XML literal" - }, - { - "id": "xmlLiteralName", - "description": "A token that represents a name in an XML literal" - }, - { - "id": "xmlLiteralProcessingInstruction", - "description": "A token that represents a processing instruction in an XML literal" - }, - { - "id": "xmlLiteralText", - "description": "A token that represents text in an XML literal" - }, - { - "id": "regexComment", - "description": "A token that represents a comment in a regex string" - }, - { - "id": "regexCharacterClass", - "description": "A token that represents a character class in a regex string" - }, - { - "id": "regexAnchor", - "description": "A token that represents an anchor in a regex string" - }, - { - "id": "regexQuantifier", - "description": "A token that represents a quantifier in a regex string" - }, - { - "id": "regexGrouping", - "description": "A token that represents a group in a regex string" - }, - { - "id": "regexAlternation", - "description": "A token that represents an alternation in a regex string" - }, - { - "id": "regexText", - "description": "A token that represents text in a regex string" - }, - { - "id": "regexSelfEscapedCharacter", - "description": "A token that represents a self escaped character in a regex string" - }, - { - "id": "regexOtherEscape", - "description": "A token that represents an escape in a regex string" - }, - { - "id": "jsonComment", - "description": "A token that represents a comment in a JSON string" - }, - { - "id": "jsonNumber", - "description": "A token that represents a number in a JSON string" - }, - { - "id": "jsonString", - "description": "A token that represents a string in a JSON string" - }, - { - "id": "jsonKeyword", - "description": "A token that represents a keyword in a JSON string" - }, - { - "id": "jsonText", - "description": "A token that represents text in a JSON string" - }, - { - "id": "jsonOperator", - "description": "A token that represents an operator in a JSON string" - }, - { - "id": "jsonPunctuation", - "description": "A token that represents punctuation in a JSON string" - }, - { - "id": "jsonArray", - "description": "A token that represents an array in a JSON string" - }, - { - "id": "jsonObject", - "description": "A token that represents an object in a JSON string" - }, - { - "id": "jsonPropertyName", - "description": "A token that represents a property name in a JSON string" - }, - { - "id": "jsonConstructorName", - "description": "A token that represents a constructor in a JSON string" - } - ], - "semanticTokenModifiers": [], - "semanticTokenScopes": [ - { - "language": "aspnetcorerazor", - "scopes": { - "razorComponentElement": [ - "entity.name.class.element.component" - ], - "razorComponentAttribute": [ - "entity.name.class.attribute.component" - ], - "razorTagHelperElement": [ - "entity.name.class.element.taghelper" - ], - "razorTagHelperAttribute": [ - "entity.name.class.attribute.taghelper" - ], - "razorTransition": [ - "keyword.control.razor.transition" - ], - "razorDirectiveAttribute": [ - "keyword.control.razor.directive.attribute", - "keyword.control.cshtml.directive.attribute" - ], - "razorDirectiveColon": [ - "keyword.control.razor.directive.colon", - "keyword.control.cshtml.directive.colon" - ], - "razorDirective": [ - "keyword.control.razor.directive", - "keyword.control.cshtml.directive" - ], - "razorComment": [ - "comment.block.razor" - ], - "razorCommentTransition": [ - "meta.comment.razor", - "keyword.control.cshtml.transition" - ], - "razorCommentStar": [ - "keyword.control.razor.comment.star", - "meta.comment.razor" - ], - "angleBracket": [ - "punctuation.definition.tag" - ], - "forwardSlash": [ - "punctuation.definition.tag" - ], - "equals": [ - "punctuation.separator.key-value.html" - ], - "markupElement": [ - "entity.name.tag.html" - ], - "markupAttribute": [ - "entity.other.attribute-name.html" - ], - "markupAttributeQuote": [ - "punctuation.definition.tag.html" - ], - "markupAttributeValue": [ - "punctuation.definition.entity.html" - ], - "markupComment": [ - "comment.block.html" - ], - "markupCommentPunctuation": [ - "punctuation.definition.comment.html", - "comment.block.html" - ], - "markupTagDelimiter": [ - "punctuation.definition.tag.html" - ], - "keyword": [ - "keyword.cs" - ], - "excludedCode": [ - "support.other.excluded.cs" - ], - "controlKeyword": [ - "keyword.control.cs" - ], - "operatorOverloaded": [ - "entity.name.function.member.overload.cs" - ], - "preprocessorText": [ - "meta.preprocessor.string.cs" - ], - "punctuation": [ - "punctuation.cs" - ], - "stringVerbatim": [ - "string.verbatim.cs" - ], - "stringEscapeCharacter": [ - "constant.character.escape.cs" - ], - "delegate": [ - "entity.name.type.delegate.cs" - ], - "module": [ - "entity.name.type.module.cs" - ], - "field": [ - "entity.name.variable.field.cs" - ], - "constant": [ - "variable.other.constant" - ], - "extensionMethod": [ - "entity.name.function.extension.cs" - ], - "xmlDocCommentAttributeName": [ - "comment.documentation.attribute.name.cs" - ], - "xmlDocCommentAttributeQuotes": [ - "comment.documentation.attribute.quotes.cs" - ], - "xmlDocCommentAttributeValue": [ - "comment.documentation.attribute.value.cs" - ], - "xmlDocCommentCDataSection": [ - "comment.documentation.cdata.cs" - ], - "xmlDocCommentComment": [ - "comment.documentation.comment.cs" - ], - "xmlDocCommentDelimiter": [ - "comment.documentation.delimiter.cs" - ], - "xmlDocCommentEntityReference": [ - "comment.documentation.entityReference.cs" - ], - "xmlDocCommentName": [ - "comment.documentation.name.cs" - ], - "xmlDocCommentProcessingInstruction": [ - "comment.documentation.processingInstruction.cs" - ], - "xmlDocCommentText": [ - "comment.documentation.cs" - ], - "xmlLiteralAttributeName": [ - "entity.other.attribute-name.localname.xml" - ], - "xmlLiteralAttributeQuotes": [ - "string.quoted.double.xml" - ], - "xmlLiteralAttributeValue": [ - "meta.tag.xml" - ], - "xmlLiteralCDataSection": [ - "string.quoted.double.xml" - ], - "xmlLiteralComment": [ - "comment.block.xml" - ], - "xmlLiteralDelimiter": [ - "text.xml" - ], - "xmlLiteralEmbeddedExpression": [ - "meta.tag.xml" - ], - "xmlLiteralEntityReference": [ - "meta.tag.xml" - ], - "xmlLiteralName": [ - "entity.name.tag.localname.xml" - ], - "xmlLiteralProcessingInstruction": [ - "meta.tag.xml" - ], - "xmlLiteralText": [ - "text.xml" - ], - "regexComment": [ - "string.regexp.comment.cs" - ], - "regexCharacterClass": [ - "constant.character.character-class.regexp.cs" - ], - "regexAnchor": [ - "keyword.control.anchor.regexp.cs" - ], - "regexQuantifier": [ - "keyword.operator.quantifier.regexp.cs" - ], - "regexGrouping": [ - "punctuation.definition.group.regexp.cs" - ], - "regexAlternation": [ - "keyword.operator.or.regexp.cs" - ], - "regexText": [ - "string.regexp" - ], - "regexSelfEscapedCharacter": [ - "string.regexp.self-escaped-character.cs" - ], - "regexOtherEscape": [ - "string.regexp.other-escape.cs" - ], - "jsonComment": [ - "comment.line.double-slash.js" - ], - "jsonNumber": [ - "constant.numeric.json" - ], - "jsonString": [ - "string.quoted.double.json" - ], - "jsonKeyword": [ - "constant.language.json" - ], - "jsonText": [ - "string.quoted.double.json" - ], - "jsonOperator": [ - "string.quoted.double.json" - ], - "jsonPunctuation": [ - "punctuation.separator.dictionary.key-value.json" - ], - "jsonArray": [ - "punctuation.definition.array.begin.json" - ], - "jsonObject": [ - "punctuation.definition.dictionary.begin.json" - ], - "jsonPropertyName": [ - "support.type.property-name.json" - ], - "jsonConstructorName": [ - "support.type.property-name.json" - ] - } - }, - { - "language": "csharp", - "scopes": { - "typeParameter": [ - "entity.name.type.type-parameter" - ], - "keyword": [ - "keyword.cs" - ], - "excludedCode": [ - "support.other.excluded.cs" - ], - "controlKeyword": [ - "keyword.control.cs" - ], - "operatorOverloaded": [ - "entity.name.function.member.overload.cs" - ], - "preprocessorText": [ - "meta.preprocessor.string.cs" - ], - "punctuation": [ - "punctuation.cs" - ], - "stringVerbatim": [ - "string.verbatim.cs" - ], - "stringEscapeCharacter": [ - "constant.character.escape.cs" - ], - "delegate": [ - "entity.name.type.delegate.cs" - ], - "module": [ - "entity.name.type.module.cs" - ], - "field": [ - "entity.name.variable.field.cs" - ], - "constant": [ - "variable.other.constant" - ], - "extensionMethod": [ - "entity.name.function.extension.cs" - ], - "xmlDocCommentAttributeName": [ - "comment.documentation.attribute.name.cs" - ], - "xmlDocCommentAttributeQuotes": [ - "comment.documentation.attribute.quotes.cs" - ], - "xmlDocCommentAttributeValue": [ - "comment.documentation.attribute.value.cs" - ], - "xmlDocCommentCDataSection": [ - "comment.documentation.cdata.cs" - ], - "xmlDocCommentComment": [ - "comment.documentation.comment.cs" - ], - "xmlDocCommentDelimiter": [ - "comment.documentation.delimiter.cs" - ], - "xmlDocCommentEntityReference": [ - "comment.documentation.entityReference.cs" - ], - "xmlDocCommentName": [ - "comment.documentation.name.cs" - ], - "xmlDocCommentProcessingInstruction": [ - "comment.documentation.processingInstruction.cs" - ], - "xmlDocCommentText": [ - "comment.documentation.cs" - ], - "xmlLiteralAttributeName": [ - "entity.other.attribute-name.localname.xml" - ], - "xmlLiteralAttributeQuotes": [ - "string.quoted.double.xml" - ], - "xmlLiteralAttributeValue": [ - "meta.tag.xml" - ], - "xmlLiteralCDataSection": [ - "string.quoted.double.xml" - ], - "xmlLiteralComment": [ - "comment.block.xml" - ], - "xmlLiteralDelimiter": [ - "text.xml" - ], - "xmlLiteralEmbeddedExpression": [ - "meta.tag.xml" - ], - "xmlLiteralEntityReference": [ - "meta.tag.xml" - ], - "xmlLiteralName": [ - "entity.name.tag.localname.xml" - ], - "xmlLiteralProcessingInstruction": [ - "meta.tag.xml" - ], - "xmlLiteralText": [ - "text.xml" - ], - "regexComment": [ - "string.regexp.comment.cs" - ], - "regexCharacterClass": [ - "constant.character.character-class.regexp.cs" - ], - "regexAnchor": [ - "keyword.control.anchor.regexp.cs" - ], - "regexQuantifier": [ - "keyword.operator.quantifier.regexp.cs" - ], - "regexGrouping": [ - "punctuation.definition.group.regexp.cs" - ], - "regexAlternation": [ - "keyword.operator.or.regexp.cs" - ], - "regexText": [ - "string.regexp" - ], - "regexSelfEscapedCharacter": [ - "string.regexp.self-escaped-character.cs" - ], - "regexOtherEscape": [ - "string.regexp.other-escape.cs" - ], - "jsonComment": [ - "comment.line.double-slash.js" - ], - "jsonNumber": [ - "constant.numeric.json" - ], - "jsonString": [ - "string.quoted.double.json" - ], - "jsonKeyword": [ - "constant.language.json" - ], - "jsonText": [ - "string.quoted.double.json" - ], - "jsonOperator": [ - "string.quoted.double.json" - ], - "jsonPunctuation": [ - "punctuation.separator.dictionary.key-value.json" - ], - "jsonArray": [ - "punctuation.definition.array.begin.json" - ], - "jsonObject": [ - "punctuation.definition.dictionary.begin.json" - ], - "jsonPropertyName": [ - "support.type.property-name.json" - ], - "jsonConstructorName": [ - "support.type.property-name.json" - ] - } - } - ], - "languages": [ - { - "id": "aspnetcorerazor", - "extensions": [ - ".cshtml", - ".razor" - ], - "mimetypes": [ - "text/x-cshtml" - ], - "configuration": "./src/razor/language-configuration.json", - "aliases": [ - "ASP.NET Razor" - ] - }, - { - "id": "xaml", - "extensions": [ - ".xaml" - ], - "configuration": "./src/xaml/language-configuration.json", - "aliases": [ - "XAML" - ] - } - ], - "grammars": [ - { - "language": "aspnetcorerazor", - "scopeName": "text.aspnetcorerazor", - "path": "./src/razor/syntaxes/aspnetcorerazor.tmLanguage.json", - "unbalancedBracketScopes": [ - "text.aspnetcorerazor" - ] - }, - { - "language": "xaml", - "scopeName": "source.xaml", - "path": "./src/xaml/syntaxes/xaml.tmLanguage.json" - } - ], - "menus": { - "commandPalette": [ - { - "command": "dotnet.test.runTestsInContext", - "when": "editorLangId == csharp && dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "dotnet.test.debugTestsInContext", - "when": "editorLangId == csharp && dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "o.restart", - "when": "dotnet.server.activationContext == 'OmniSharp'" - }, - { - "command": "csharp.listProcess", - "when": "false" - }, - { - "command": "csharp.listRemoteProcess", - "when": "false" - }, - { - "command": "csharp.listRemoteDockerProcess", - "when": "false" - } - ], - "editor/title": [ - { - "command": "extension.showRazorCSharpWindow", - "when": "resourceLangId == aspnetcorerazor" - }, - { - "command": "extension.showRazorHtmlWindow", - "when": "resourceLangId == aspnetcorerazor" - }, - { - "command": "razor.reportIssue", - "when": "resourceLangId == aspnetcorerazor" - } - ], - "editor/context": [ - { - "command": "dotnet.test.runTestsInContext", - "when": "editorLangId == csharp && (dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp')", - "group": "2_dotnet@1" - }, - { - "command": "dotnet.test.debugTestsInContext", - "when": "editorLangId == csharp && (dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp')", - "group": "2_dotnet@2" - } - ] - }, - "viewsWelcome": [ - { - "view": "debug", - "contents": "%viewsWelcome.debug.contents%", - "when": "debugStartLanguage == csharp && !dotnet.debug.serviceBrokerAvailable" - } - ] - } +{ + "name": "csharp", + "publisher": "ms-dotnettools", + "version": "42.42.42-placeholder", + "description": "Base language support for C#", + "displayName": "C#", + "author": "Microsoft Corporation", + "license": "SEE LICENSE IN RuntimeLicenses/license.txt", + "qna": "https://github.com/dotnet/vscode-csharp/issues", + "icon": "images/csharpIcon.png", + "preview": false, + "bugs": { + "url": "https://github.com/dotnet/vscode-csharp" + }, + "repository": { + "type": "git", + "url": "https://github.com/dotnet/vscode-csharp" + }, + "categories": [ + "Debuggers", + "Programming Languages", + "Linters", + "Snippets" + ], + "keywords": [ + "multi-root ready", + ".NET", + "ASP.NET", + ".NET Core", + "dotnet", + "coreclr" + ], + "capabilities": { + "virtualWorkspaces": false, + "untrustedWorkspaces": { + "supported": false + } + }, + "defaults": { + "roslyn": "4.11.0-2.24267.3", + "omniSharp": "1.39.11", + "razor": "7.0.0-preview.24266.1", + "razorOmnisharp": "7.0.0-preview.23363.1", + "razorTelemetry": "7.0.0-preview.24178.4", + "xamlTools": "17.11.34924.19" + }, + "main": "./dist/extension", + "l10n": "./l10n", + "brokeredServices": [ + { + "moniker": { + "name": "Microsoft.CodeAnalysis.LanguageClient.SolutionSnapshotProvider", + "version": "0.1" + } + }, + { + "moniker": { + "name": "Microsoft.VisualStudio.CSharpExtension.BuildResultService", + "version": "0.1" + } + } + ], + "scripts": { + "vscode:prepublish": "tsc -p ./ && webpack --mode production", + "l10nDevGenerateLocalizationBundle": "npx @vscode/l10n-dev export --outDir ./l10n ./src", + "compile": "tsc -p ./ && npx eslint ./ && npm run l10nDevGenerateLocalizationBundle && npm run compile:razorTextMate", + "compile:razorTextMate": "npx js-yaml src/razor/syntaxes/aspnetcorerazor.tmLanguage.yml > src/razor/syntaxes/aspnetcorerazor.tmLanguage.json", + "compileDev": "tsc -p ./ && npx eslint ./ && webpack --mode development && npm run l10nDevGenerateLocalizationBundle", + "watch": "tsc -watch -p ./", + "test": "tsc -p ./ && gulp test", + "test:integration": "tsc -p ./ && gulp test:integration", + "test:razor": "tsc -p ./ && npm run compile:razorTextMate && gulp test:razor", + "test:razorintegration": "tsc -p ./ && gulp test:razorintegration", + "test:artifacts": "tsc -p ./ && gulp test:artifacts", + "omnisharptest": "tsc -p ./ && gulp omnisharptest", + "omnisharptest:unit": "tsc -p ./ && gulp omnisharptest:unit", + "omnisharptest:integration": "tsc -p ./ && gulp omnisharptest:integration", + "omnisharptest:integration:singleCsproj": "tsc -p ./ && gulp omnisharptest:integration:singleCsproj", + "omnisharptest:integration:slnWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnWithCsproj", + "omnisharptest:integration:slnFilterWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnFilterWithCsproj", + "unpackage:vsix": "gulp vsix:release:unpackage", + "updatePackageDependencies": "gulp updatePackageDependencies", + "l10nDevGenerateXlf": "npx @vscode/l10n-dev generate-xlf ./package.nls.json ./l10n/bundle.l10n.json --outFile ./loc/vscode-csharp.xlf", + "l10nDevImportXlf": "npx @vscode/l10n-dev import-xlf ./loc/vscode-csharp.*.xlf --outDir ./l10n && move l10n\\package.nls.*.json ." + }, + "extensionDependencies": [ + "ms-dotnettools.vscode-dotnet-runtime" + ], + "dependencies": { + "@microsoft/servicehub-framework": "4.2.99-beta", + "@octokit/rest": "^20.0.1", + "@types/cross-spawn": "6.0.2", + "@vscode/debugprotocol": "1.56.0", + "@vscode/extension-telemetry": "^0.9.0", + "@vscode/js-debug-browsers": "^1.1.0", + "async-file": "2.0.2", + "cross-spawn": "6.0.5", + "execa": "4.0.0", + "fs-extra": "9.1.0", + "http-proxy-agent": "7.0.0", + "https-proxy-agent": "7.0.2", + "jsonc-parser": "3.0.0", + "microsoft.aspnetcore.razor.vscode": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/0af42abab690d5de903a4a814d6aedc1/microsoft.aspnetcore.razor.vscode-7.0.0-preview.23363.1.tgz", + "nerdbank-gitversioning": "^3.6.79-alpha", + "node-machine-id": "1.1.12", + "ps-list": "7.2.0", + "request-light": "0.7.0", + "rxjs": "6.6.7", + "semver": "7.5.4", + "stream": "0.0.2", + "strip-bom": "5.0.0", + "strip-bom-buf": "2.0.0", + "tmp": "0.0.33", + "uuid": "^9.0.0", + "vscode-html-languageservice": "^5.0.1", + "vscode-jsonrpc": "8.2.0-next.0", + "vscode-languageclient": "8.2.0-next.1", + "vscode-languageserver-protocol": "3.17.4-next.1", + "vscode-languageserver-textdocument": "^1.0.5", + "vscode-nls": "5.0.1", + "yauzl": "2.10.0" + }, + "devDependencies": { + "@jest/globals": "^29.6.2", + "@types/archiver": "5.1.0", + "@types/del": "3.0.1", + "@types/fs-extra": "5.0.4", + "@types/gulp": "4.0.5", + "@types/minimist": "1.2.1", + "@types/node": "16.11.38", + "@types/semver": "7.3.13", + "@types/tmp": "0.0.33", + "@types/unzipper": "^0.9.1", + "@types/uuid": "^9.0.1", + "@types/vscode": "1.73.0", + "@types/yauzl": "2.10.0", + "@typescript-eslint/eslint-plugin": "^5.61.0", + "@typescript-eslint/parser": "^5.61.0", + "@vscode/l10n-dev": "^0.0.30", + "@vscode/test-electron": "2.3.8", + "@vscode/vsce": "2.21.0", + "archiver": "5.3.0", + "del": "3.0.0", + "eslint": "^8.43.0", + "eslint-config-prettier": "^8.8.0", + "eslint-config-standard-with-typescript": "^35.0.0", + "eslint-plugin-header": "^3.1.1", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-n": "^15.7.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-unicorn": "^47.0.0", + "find-versions": "4.0.0", + "get-port": "5.1.1", + "glob-promise": "4.1.0", + "gulp": "4.0.2", + "jest": "^29.6.2", + "jest-cli": "^29.6.4", + "jest-junit": "^16.0.0", + "js-yaml": ">=3.13.1", + "minimatch": "3.0.5", + "mock-http-server": "1.4.2", + "octokit": "^3.1.0", + "prettier": "2.8.8", + "rimraf": "2.6.3", + "source-map-support": "^0.5.21", + "ts-jest": "^29.1.1", + "ts-loader": "9.0.0", + "ts-node": "9.1.1", + "typescript": "^5.1.6", + "unzipper": "0.10.11", + "vscode-oniguruma": "^1.6.1", + "vscode-textmate": "^6.0.0", + "vscode-uri": "^3.0.7", + "webpack": "5.76.0", + "webpack-cli": "4.6.0" + }, + "runtimeDependencies": [ + { + "id": "OmniSharp", + "description": "OmniSharp for Windows (.NET 4.7.2 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-x64-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11/OmniSharp.exe", + "platformId": "win-x64", + "isFramework": true, + "integrity": "E1AD559974430C9AA81819F1433583B0EE9A977D2DAAE1DE32D4D408503B2867" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Windows (.NET 6 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-x64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "win-x64", + "isFramework": false, + "integrity": "A71FD29E6CACDF41FD44ACB9F8532BE33DBD4CB313513E47A031443F648BDBAB" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Windows (.NET 4.7.2 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-arm64-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11/OmniSharp.exe", + "platformId": "win-arm64", + "isFramework": true, + "integrity": "D42BB3A146B9DED5C59630708A6FFB0F76B2067B31AE3A6596596AFFCE7D79C9" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Windows (.NET 6 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-win-arm64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "win-arm64", + "isFramework": false, + "integrity": "FFC67D2A97F8E04161BE2DCA5CE48ECEB1B09A3DD0FCE697122D5B77302FC152" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for OSX (Mono / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64", + "arm64" + ], + "binaries": [ + "./mono.osx", + "./run" + ], + "installTestPath": "./.omnisharp/1.39.11/run", + "platformId": "osx", + "isFramework": true, + "integrity": "1E339604AE52F531655B57A1058EB56E5CE0E1311C62B4CE16BE7CD0D265AA50" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for OSX (.NET 6 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-x64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "osx-x64", + "isFramework": false, + "integrity": "01571AE3B5DF4345E42B1EBD85601A654985590D403F40D2F802ED3204516350" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for OSX (.NET 6 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-osx-arm64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "osx-arm64", + "isFramework": false, + "integrity": "9318997071878AB2DD7ECA29F1C797449B6C5454A0CB78BED0D17121BEC37B10" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (Mono / x86)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x86-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "linux" + ], + "architectures": [ + "x86", + "i686" + ], + "binaries": [ + "./mono.linux-x86", + "./run" + ], + "installTestPath": "./.omnisharp/1.39.11/run", + "platformId": "linux-x86", + "isFramework": true, + "integrity": "9568941017C31318D893669647042065985A0BA871708DA3688208D50CA7F452" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (Mono / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x64-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./mono.linux-x86_64", + "./run" + ], + "installTestPath": "./.omnisharp/1.39.11/run", + "platformId": "linux-x64", + "isFramework": true, + "integrity": "88B70F9D4D7587562C3F25EC1062E8A8120EBCE7083D56E91D9AE4A6C72E4340" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (.NET 6 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-x64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "linux-x64", + "isFramework": false, + "integrity": "E58BE0F23DD84F2ACCEA245D7DBB8F9DE6ADEA354D44CB2A3F10D7F1326571D9" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (Mono / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-arm64-1.39.11.zip", + "installPath": ".omnisharp/1.39.11", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./mono.linux-arm64", + "./run" + ], + "installTestPath": "./.omnisharp/1.39.11/run", + "platformId": "linux-arm64", + "isFramework": true, + "integrity": "A10A5595AB0B13BD22495A7278995D9711B12F9EDE04AA3BB29CBE8F175EFABA" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux (.NET 6 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-arm64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "linux-arm64", + "isFramework": false, + "integrity": "D4794CBA966B9B5D0F731E1606E732D5C231D4B1D345788B837565914D880A0E" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux musl (.NET 6 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-musl-x64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "linux-musl-x64", + "isFramework": false, + "integrity": "E8F924BB793C60B032FADE805030DF8F8F9B62F7FC32BF3B688EEA1B7E94B5DA" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux musl (.NET 6 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.11/omnisharp-linux-musl-arm64-net6.0-1.39.11.zip", + "installPath": ".omnisharp/1.39.11-net6.0", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.11-net6.0/OmniSharp.dll", + "platformId": "linux-musl-arm64", + "isFramework": false, + "integrity": "223B58388C0F7226874DCA9053FE10B10739F2E43663DEED3F2F48C892E0D8E6" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (Windows / x64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-win7-x64.zip", + "installPath": ".debugger/x86_64", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64", + "arm64" + ], + "installTestPath": "./.debugger/x86_64/vsdbg-ui.exe", + "integrity": "8DD0C7B6936A538220E8A4DB7D9263A151986DE4956E33E86C80465BAD8521C0" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (Windows / ARM64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-win10-arm64.zip", + "installPath": ".debugger/arm64", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.debugger/arm64/vsdbg-ui.exe", + "integrity": "7D284CB85CDC1E85EB1BE143A31DC22FECFE3C4B576A507907AC7D32C7610E65" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (macOS / x64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-osx-x64.zip", + "installPath": ".debugger/x86_64", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64", + "arm64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/x86_64/vsdbg-ui", + "integrity": "A61ABA3B6F3A1524E95C7FE07ECF70F156996652E5E3CBB01C50E75CC5A08CEE" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (macOS / arm64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-osx-arm64.zip", + "installPath": ".debugger/arm64", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/arm64/vsdbg-ui", + "integrity": "9DE76C63EF7D2A2BA8600B381158C57EBD58D8BF235B85D1F1DDE4E7239282B1" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux / ARM)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-arm.zip", + "installPath": ".debugger", + "platforms": [ + "linux" + ], + "architectures": [ + "arm" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "2AB179096B5202ED0EAC6BF0C5D17F4506191D24A9A51867B4F4024E036764E2" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux / ARM64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-arm64.zip", + "installPath": ".debugger", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "25DA86215FD5E0EB091130C9A82443D8B28F3A20A1159127C7F3AE4BE8B9B7AD" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux musl / x64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-musl-x64.zip", + "installPath": ".debugger", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "7DAB78E1955D95511665A4037E5CEDCF7C39A9FCC269A19A6738672238AE1A52" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux musl / ARM64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-musl-arm64.zip", + "installPath": ".debugger", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "F28A3A76C13A36D94E59C53494D7BAF2A12EB4B005249246972999F064434573" + }, + { + "id": "Debugger", + "description": ".NET Core Debugger (linux / x64)", + "url": "https://vsdebugger.azureedge.net/coreclr-debug-2-30-1/coreclr-debug-linux-x64.zip", + "installPath": ".debugger", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./vsdbg-ui", + "./vsdbg" + ], + "installTestPath": "./.debugger/vsdbg-ui", + "integrity": "83EF1FF3BEE1E152550DB53C1EB8625794F0CCDBB94DBBB4B6876CD36A02DBDC" + }, + { + "id": "Razor", + "description": "Razor Language Server (Windows / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/970b8dd2e4a3b9f3487ef4239de68bcf/razorlanguageserver-win-x64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ], + "integrity": "8D255E5DB63345CAEFB795B93F029C108345D5E234B7D7B86FB54EBDE9B3FC2A" + }, + { + "id": "Razor", + "description": "Razor Language Server (Windows / ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/08ae2e66be350ce2c2017fd7eb03978f/razorlanguageserver-win-arm64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "integrity": "E4074218E23D45D4269985A18F1627BDD7426A16DC4539E434FE00F1E6EFE81E" + }, + { + "id": "Razor", + "description": "Razor Language Server (Linux / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/041a5e759efa80ba48dac5e2e686d2b1/razorlanguageserver-linux-x64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "4EF2240CA5EAADB30D0BD3EDF259858925B8EEDBE81F04B5FADA6370DCC4DD64" + }, + { + "id": "Razor", + "description": "Razor Language Server (Linux ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/b23fa3ac36f10300deb05a6f6d705117/razorlanguageserver-linux-arm64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "622D13897AE67A18A2801F2B500BDD929E355847625091C2F5F85C8A74359CBE" + }, + { + "id": "Razor", + "description": "Razor Language Server (Linux musl / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/0558e8219fe7cad00352ef194c9721dc/razorlanguageserver-linux-musl-x64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "61ED517AD29DFB3BDF01852F43AD455698437111B925B872115E3B39174C77AA" + }, + { + "id": "Razor", + "description": "Razor Language Server (Linux musl ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/ef50cb22ece80d50723b2e88dd6cc38c/razorlanguageserver-linux-musl-arm64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "DDC420476CC117857DED9DCDBFB8A387A102E9C19DE57749ADB8351CEF7ACEDD" + }, + { + "id": "Razor", + "description": "Razor Language Server (macOS / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/002f2c48425cfc3f4ab2dcdd95c856e6/razorlanguageserver-osx-x64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "AB86AD64955373EC9F0EA23FBDDA9D676B895150A5BAF75E1CFC1321B2B6ADBB" + }, + { + "id": "Razor", + "description": "Razor Language Server (macOS ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/71361816a0db3363b7afcc9f667e034b/razorlanguageserver-osx-arm64-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ], + "integrity": "C30559DD13E3A5799FC596992FA04822A253C7EDB514EBE52E24A318DD0288EE" + }, + { + "id": "Razor", + "description": "Razor Language Server (Platform Agnostic)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f64a0a13-30e9-4525-8ed9-4f18e89a01f2/2e78857667b37f4c1dc570b45de5c967/razorlanguageserver-platformagnostic-7.0.0-preview.24266.1.zip", + "installPath": ".razor", + "platforms": [ + "neutral" + ], + "architectures": [ + "neutral" + ], + "binaries": [ + "./rzls" + ], + "integrity": "EE83F90BC19447192171703BCCCA30CADB6177C9D37CCE61E6042B8662321C80" + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Windows / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/8d42e62ea4051381c219b3e31bc4eced/razorlanguageserver-win-x64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Windows / ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/4ef26e45cf32fe8d51c0e7dd21f1fef6/razorlanguageserver-win-arm64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Linux / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/6d4e23a3c7cf0465743950a39515a716/razorlanguageserver-linux-x64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Linux ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/85deebd44647ebf65724cc291d722283/razorlanguageserver-linux-arm64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Linux musl / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/4f0caa94ae182785655efb15eafcef23/razorlanguageserver-linux-musl-x64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (Linux musl ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/0a24828206a6f3b4bc743d058ef88ce7/razorlanguageserver-linux-musl-arm64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (macOS / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/2afcafaf41082989efcc10405abb9314/razorlanguageserver-osx-x64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorOmnisharp", + "description": "Razor Language Server for OmniSharp (macOS ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/aee63398-023f-48db-bba2-30162c68f0c4/8bf2ed2f00d481a5987e3eb5165afddd/razorlanguageserver-osx-arm64-7.0.0-preview.23363.1.zip", + "installPath": ".razoromnisharp", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "binaries": [ + "./rzls" + ] + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Windows / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/5a98d8f4e481dbb7ae3cdb3695b75c46/devkittelemetry-win-x64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "win32" + ], + "architectures": [ + "x86_64" + ], + "integrity": "2C575C90AFFD159CD3A0F96AB3C74C939F6E774E409816C802763383782137EC" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Windows / ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/4f16ff826fedd33ad80d265c5409588b/devkittelemetry-win-arm64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "win32" + ], + "architectures": [ + "arm64" + ], + "integrity": "9B0787738031C6FA1F0CF50C888926949ED08ECE17EDA006F31422E0BE8EAAD1" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Linux / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/f58cf629939f0df77d142be881f9e233/devkittelemetry-linux-x64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "linux" + ], + "architectures": [ + "x86_64" + ], + "integrity": "E7607984AB18D29CF3BA71D22D70A8952896657FD29D7892926EA9A73CCC87F3" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Linux ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/704e369c5905f9ece819ebce77fb78d8/devkittelemetry-linux-arm64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "linux" + ], + "architectures": [ + "arm64" + ], + "integrity": "42E2263FAA4A13307899DA520C488082E241FFDE6A61A5639828A171C8423BF5" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Linux musl / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/c75e84ff813be5c9833d96dc2066a364/devkittelemetry-linux-musl-x64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "integrity": "C6C737B0707415C8EE9DB185C8A776FAB50BF1F8250C9EF8D756283ADA5FE518" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Linux musl ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/4049a66147717a53860bbc969bf32faa/devkittelemetry-linux-musl-arm64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "integrity": "14421ED81E82094CA13498B6B338950EDA605189A3FD91211EDCE554AB330070" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (macOS / x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/36545ba0998f1fc380e877e38b2f35f1/devkittelemetry-osx-x64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "darwin" + ], + "architectures": [ + "x86_64" + ], + "integrity": "D081FA25B5B0DF99175690E6F903720F10ADF9AD0CAC684C29715B841C6D6BB3" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (macOS ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/1c912419ea45c8d95cfa28a8a04640dc/devkittelemetry-osx-arm64-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "darwin" + ], + "architectures": [ + "arm64" + ], + "integrity": "28D9F1E00151773078A26BDB9917CE6823E9D5D76799788238FE4AE7644A1493" + }, + { + "id": "RazorTelemetry", + "description": "Razor Language Server Telemetry (Platform Agnostic)", + "url": "https://download.visualstudio.microsoft.com/download/pr/534f8426-a4f4-4b2d-b3ba-c4e16a38c48c/0a32698e8ba1ab93489d79f34f8ae8d0/devkittelemetry-platformagnostic-7.0.0-preview.24178.4.zip", + "installPath": ".razortelemetry", + "platforms": [ + "netural" + ], + "architectures": [ + "neutral" + ], + "integrity": "3FDF8F19E66C85F06692BE2AA5803437C387EB65C6262030CD301388C3EB6261" + }, + { + "id": "VSWebAssemblyBridge", + "description": "VSWebAssemblyBridge (Platform Agnostic)", + "url": "https://vsdebugger.blob.core.windows.net/vswebassemblybridge-8-0-0-preview-24312-2/vswebassemblybridge.zip", + "installPath": ".vswebassemblybridge", + "platforms": [ + "win32", + "linux", + "darwin" + ], + "architectures": [ + "x86", + "x86_64", + "arm64" + ], + "integrity": "EB8106AE5BC642B1A1B1C5C6D1119FFA6BE2CA0C01F18BF265B3B7C74E52F97C" + } + ], + "engines": { + "vscode": "^1.75.0" + }, + "activationEvents": [ + "onDebugInitialConfigurations", + "onDebugResolve:blazorwasm", + "onDebugResolve:coreclr", + "onDebugResolve:clr", + "onDebugResolve:monovsdbg", + "onDebugResolve:dotnet", + "onLanguage:csharp", + "onCommand:o.showOutput", + "onCommand:omnisharp.registerLanguageMiddleware", + "workspaceContains:project.json", + "workspaceContains:**/*.{csproj,csx,cake}" + ], + "contributes": { + "themes": [ + { + "label": "Visual Studio 2019 Dark", + "uiTheme": "vs-dark", + "path": "./themes/vs2019_dark.json" + }, + { + "label": "Visual Studio 2019 Light", + "uiTheme": "vs", + "path": "./themes/vs2019_light.json" + } + ], + "configuration": [ + { + "title": "Project", + "order": 0, + "properties": { + "dotnet.defaultSolution": { + "type": "string", + "description": "%configuration.dotnet.defaultSolution.description%", + "order": 0 + } + } + }, + { + "title": "Text Editor", + "order": 1, + "properties": { + "dotnet.implementType.insertionBehavior": { + "type": "string", + "enum": [ + "withOtherMembersOfTheSameKind", + "atTheEnd" + ], + "default": "withOtherMembersOfTheSameKind", + "enumDescriptions": [ + "%configuration.dotnet.implementType.insertionBehavior.withOtherMembersOfTheSameKind%", + "%configuration.dotnet.implementType.insertionBehavior.atTheEnd%" + ], + "description": "%configuration.dotnet.implementType.insertionBehavior%", + "order": 10 + }, + "dotnet.implementType.propertyGenerationBehavior": { + "type": "string", + "enum": [ + "preferThrowingProperties", + "preferAutoProperties" + ], + "default": "preferThrowingProperties", + "enumDescriptions": [ + "%configuration.dotnet.implementType.propertyGenerationBehavior.preferThrowingProperties%", + "%configuration.dotnet.implementType.propertyGenerationBehavior.preferAutoProperties%" + ], + "description": "%configuration.dotnet.implementType.propertyGenerationBehavior%", + "order": 10 + }, + "dotnet.codeLens.enableReferencesCodeLens": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.codeLens.enableReferencesCodeLens%" + }, + "dotnet.codeLens.enableTestsCodeLens": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.codeLens.enableTestsCodeLens%" + }, + "dotnet.completion.showCompletionItemsFromUnimportedNamespaces": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.completion.showCompletionItemsFromUnimportedNamespaces%", + "order": 20 + }, + "dotnet.completion.showNameCompletionSuggestions": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.completion.showNameCompletionSuggestions%", + "order": 20 + }, + "dotnet.completion.provideRegexCompletions": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.completion.provideRegexCompletions%", + "order": 20 + }, + "dotnet.backgroundAnalysis.analyzerDiagnosticsScope": { + "type": "string", + "enum": [ + "openFiles", + "fullSolution", + "none" + ], + "default": "openFiles", + "enumDescriptions": [ + "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.openFiles%", + "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.fullSolution%", + "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope.none%" + ], + "description": "%configuration.dotnet.backgroundAnalysis.analyzerDiagnosticsScope%", + "order": 30 + }, + "dotnet.backgroundAnalysis.compilerDiagnosticsScope": { + "type": "string", + "enum": [ + "openFiles", + "fullSolution", + "none" + ], + "default": "openFiles", + "enumDescriptions": [ + "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.openFiles%", + "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.fullSolution%", + "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.none%" + ], + "description": "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope%", + "order": 30 + }, + "dotnet.highlighting.highlightRelatedRegexComponents": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.highlighting.highlightRelatedRegexComponents%", + "order": 40 + }, + "dotnet.highlighting.highlightRelatedJsonComponents": { + "type": "boolean", + "default": "true", + "description": "%configuration.dotnet.highlighting.highlightRelatedJsonComponents%", + "order": 40 + }, + "csharp.inlayHints.enableInlayHintsForImplicitObjectCreation": { + "type": "boolean", + "default": false, + "description": "%configuration.csharp.inlayHints.enableInlayHintsForImplicitObjectCreation%", + "order": 50 + }, + "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", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "csharp.debug.logging.diagnosticsLog.expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "csharp.debug.logging.diagnosticsLog.startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + }, + "csharp.debug.logging.consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + }, + "csharp.debug.suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "csharp.debug.symbolOptions.searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "csharp.debug.symbolOptions.searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "csharp.debug.symbolOptions.searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "csharp.debug.symbolOptions.cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "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" + }, + "csharp.debug.symbolOptions.moduleFilter.excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "csharp.debug.symbolOptions.moduleFilter.includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "csharp.debug.symbolOptions.moduleFilter.includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "csharp.debug.symbolOptions.moduleFilter.includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + }, + "csharp.debug.expressionEvaluationOptions.allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "csharp.debug.expressionEvaluationOptions.allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "csharp.debug.expressionEvaluationOptions.allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "csharp.debug.expressionEvaluationOptions.showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + }, + "csharp.wasm.debug.useVSDbg": { + "type": "boolean", + "description": "%generateOptionsSchema.useVSDbg.description%", + "default": false + }, + "dotnet.unitTestDebuggingOptions": { + "type": "object", + "description": "%configuration.dotnet.unitTestDebuggingOptions%", + "default": {}, + "properties": { + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + } + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + }, + "type": { + "type": "string", + "enum": [ + "coreclr", + "clr" + ], + "description": "Type type of code to debug. Can be either 'coreclr' for .NET Core debugging, or 'clr' for Desktop .NET Framework. 'clr' only works on Windows as the Desktop framework is Windows-only.", + "default": "coreclr" + }, + "debugServer": { + "type": "number", + "description": "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 + } + } + }, + "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.componentPaths": { + "type": "object", + "description": "%configuration.dotnet.server.componentPaths%", + "properties": { + "roslynDevKit": { + "description": "%configuration.dotnet.server.componentPaths.roslynDevKit%", + "type": "string" + }, + "xamlTools": { + "description": "%configuration.dotnet.server.componentPaths.xamlTools%", + "type": "string" + } + }, + "default": {} + }, + "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.enableXamlTools": { + "scope": "machine-overridable", + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.enableXamlTools%" + }, + "dotnet.server.suppressLspErrorToasts": { + "type": "boolean", + "default": false, + "description": "%configuration.dotnet.server.suppressLspErrorToasts%" + }, + "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.projects.enableAutomaticRestore": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.projects.enableAutomaticRestore%" + }, + "razor.languageServer.directory": { + "type": "string", + "scope": "machine-overridable", + "description": "%configuration.razor.languageServer.directory%", + "order": 90 + }, + "razor.languageServer.debug": { + "type": "boolean", + "scope": "machine-overridable", + "default": false, + "description": "%configuration.razor.languageServer.debug%", + "order": 90 + }, + "razor.server.trace": { + "scope": "window", + "type": "string", + "enum": [ + "Trace", + "Debug", + "Information", + "Warning", + "Error", + "Critical", + "None" + ], + "order": 90, + "default": "Information", + "description": "%configuration.razor.server.trace%" + }, + "razor.languageServer.forceRuntimeCodeGeneration": { + "type": "boolean", + "scope": "machine-overridable", + "default": false, + "description": "%configuration.razor.languageServer.forceRuntimeCodeGeneration%", + "order": 90 + } + } + }, + { + "title": "OmniSharp", + "order": 10, + "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": { + "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.format.codeBlockBraceOnNextLine": { + "type": "boolean", + "scope": "window", + "default": false, + "description": "Forces the open brace after an @code or @functions directive to be on the following line." + }, + "razor.completion.commitElementsWithSpace": { + "type": "boolean", + "scope": "window", + "default": "false", + "description": "Specifies whether to commit tag helper and component elements with a space." + } + } + } + ], + "jsonValidation": [ + { + "fileMatch": [ + "appsettings.json", + "appsettings.*.json" + ], + "url": "https://json.schemastore.org/appsettings" + }, + { + "fileMatch": "project.json", + "url": "http://json.schemastore.org/project" + }, + { + "fileMatch": "omnisharp.json", + "url": "http://json.schemastore.org/omnisharp" + }, + { + "fileMatch": "global.json", + "url": "http://json.schemastore.org/global" + }, + { + "fileMatch": "launchSettings.json", + "url": "https://json.schemastore.org/launchsettings.json" + } + ], + "commands": [ + { + "command": "o.restart", + "title": "%command.o.restart%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.pickProjectAndStart", + "title": "%command.o.pickProjectAndStart%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.openSolution", + "title": "%command.dotnet.openSolution%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn'" + }, + { + "command": "o.fixAll.solution", + "title": "%command.o.fixAll.solution%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.fixAll.project", + "title": "%command.o.fixAll.project%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.fixAll.document", + "title": "%command.o.fixAll.document%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.reanalyze.allProjects", + "title": "%command.o.reanalyze.allProjects%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.reanalyze.currentProject", + "title": "%command.o.reanalyze.currentProject%", + "category": "OmniSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.generateAssets", + "title": "%command.dotnet.generateAssets.currentProject%", + "category": ".NET" + }, + { + "command": "dotnet.restore.project", + "title": "%command.dotnet.restore.project%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.restore.all", + "title": "%command.dotnet.restore.all%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "csharp.listProcess", + "title": "%command.csharp.listProcess%", + "category": "CSharp" + }, + { + "command": "csharp.listRemoteProcess", + "title": "%command.csharp.listRemoteProcess%", + "category": "CSharp" + }, + { + "command": "csharp.listRemoteDockerProcess", + "title": "%command.csharp.listRemoteDockerProcess%", + "category": "CSharp" + }, + { + "command": "csharp.attachToProcess", + "title": "%command.csharp.attachToProcess%", + "category": "Debug" + }, + { + "command": "csharp.reportIssue", + "title": "%command.csharp.reportIssue%", + "category": "CSharp" + }, + { + "command": "csharp.showDecompilationTerms", + "title": "%command.csharp.showDecompilationTerms%", + "category": "CSharp", + "enablement": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "extension.showRazorCSharpWindow", + "title": "%command.extension.showRazorCSharpWindow%", + "category": "Razor" + }, + { + "command": "extension.showRazorHtmlWindow", + "title": "%command.extension.showRazorHtmlWindow%", + "category": "Razor" + }, + { + "command": "razor.reportIssue", + "title": "%command.razor.reportIssue%", + "category": "Razor" + }, + { + "command": "dotnet.test.runTestsInContext", + "title": "%command.dotnet.test.runTestsInContext%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.test.debugTestsInContext", + "title": "%command.dotnet.test.debugTestsInContext%", + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.restartServer", + "title": "%command.dotnet.restartServer%", + "category": ".NET", + "enablement": "dotnet.server.activationContext != 'OmniSharp'" + } + ], + "keybindings": [ + { + "command": "o.showOutput", + "key": "Ctrl+Shift+F9", + "mac": "Cmd+Shift+F9" + } + ], + "snippets": [ + { + "language": "csharp", + "path": "./snippets/csharp.json" + } + ], + "breakpoints": [ + { + "language": "csharp" + }, + { + "language": "razor" + }, + { + "language": "qsharp" + }, + { + "language": "aspnetcorerazor" + } + ], + "debuggers": [ + { + "type": "coreclr", + "label": ".NET 5+ and .NET Core", + "hiddenWhen": "dotnet.debug.serviceBrokerAvailable", + "languages": [ + "csharp", + "razor", + "qsharp", + "aspnetcorerazor" + ], + "variables": { + "pickProcess": "csharp.listProcess", + "pickRemoteProcess": "csharp.listRemoteProcess", + "pickRemoteDockerProcess": "csharp.listRemoteDockerProcess" + }, + "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", + "configurationAttributes": { + "launch": { + "type": "object", + "required": [ + "program" + ], + "properties": { + "program": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.program.markdownDescription%", + "default": "${workspaceFolder}/bin/Debug//.dll" + }, + "cwd": { + "type": "string", + "description": "%generateOptionsSchema.cwd.description%", + "default": "${workspaceFolder}" + }, + "args": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.args.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.args.1.description%", + "default": "" + } + ] + }, + "stopAtEntry": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", + "default": false + }, + "launchBrowser": { + "description": "%generateOptionsSchema.launchBrowser.description%", + "default": { + "enabled": true + }, + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": "%generateOptionsSchema.launchBrowser.enabled.description%", + "default": true + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.args.description%", + "default": "${auto-detect-url}" + }, + "osx": { + "description": "%generateOptionsSchema.launchBrowser.osx.description%", + "default": { + "command": "open", + "args": "${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.osx.command.description%", + "default": "open" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.osx.args.description%", + "default": "${auto-detect-url}" + } + } + }, + "linux": { + "description": "%generateOptionsSchema.launchBrowser.linux.description%", + "default": { + "command": "xdg-open", + "args": "${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.linux.command.description%", + "default": "xdg-open" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.linux.args.description%", + "default": "${auto-detect-url}" + } + } + }, + "windows": { + "description": "%generateOptionsSchema.launchBrowser.windows.description%", + "default": { + "command": "cmd.exe", + "args": "/C start ${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.windows.command.description%", + "default": "cmd.exe" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.windows.args.description%", + "default": "/C start ${auto-detect-url}" + } + } + } + } + }, + "env": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.env.description%", + "default": {} + }, + "envFile": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.envFile.markdownDescription%", + "default": "${workspaceFolder}/.env" + }, + "console": { + "type": "string", + "enum": [ + "internalConsole", + "integratedTerminal", + "externalTerminal" + ], + "enumDescriptions": [ + "%generateOptionsSchema.console.internalConsole.enumDescription%", + "%generateOptionsSchema.console.integratedTerminal.enumDescription%", + "%generateOptionsSchema.console.externalTerminal.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.console.markdownDescription%", + "settingsDescription": "%generateOptionsSchema.console.settingsDescription%", + "default": "internalConsole" + }, + "externalConsole": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.externalConsole.markdownDescription%", + "default": false + }, + "launchSettingsFilePath": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.launchSettingsFilePath.markdownDescription%", + "default": "${workspaceFolder}/Properties/launchSettings.json" + }, + "launchSettingsProfile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "%generateOptionsSchema.launchSettingsProfile.description%", + "default": "" + }, + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + }, + "default": {} + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "browserStdOut": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "default": false + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + }, + "engineLogging": { + "type": "boolean", + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "default": false + }, + "diagnosticsLog": { + "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "protocolMessages": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "default": false + }, + "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" + }, + "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" + }, + "debugRuntimeEventTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + } + } + }, + "consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + } + } + }, + "pipeTransport": { + "description": "%generateOptionsSchema.pipeTransport.description%", + "type": "object", + "required": [ + "debuggerPath" + ], + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [], + "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "debuggerPath": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", + "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", + "default": {} + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", + "default": true + }, + "windows": { + "description": "%generateOptionsSchema.pipeTransport.windows.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", + "default": {} + } + } + }, + "osx": { + "description": "%generateOptionsSchema.pipeTransport.osx.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", + "default": {} + } + } + }, + "linux": { + "description": "%generateOptionsSchema.pipeTransport.linux.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", + "default": {} + } + } + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetOutputLogPath": { + "type": "string", + "description": "%generateOptionsSchema.targetOutputLogPath.description%", + "default": "" + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + }, + "checkForDevCert": { + "type": "boolean", + "description": "%generateOptionsSchema.checkForDevCert.description%", + "default": true + } + } + }, + "attach": { + "type": "object", + "required": [], + "properties": { + "processName": { + "type": "string", + "default": "", + "markdownDescription": "%generateOptionsSchema.processName.markdownDescription%" + }, + "processId": { + "anyOf": [ + { + "type": "string", + "markdownDescription": "%generateOptionsSchema.processId.0.markdownDescription%", + "default": "" + }, + { + "type": "integer", + "markdownDescription": "%generateOptionsSchema.processId.1.markdownDescription%", + "default": 0 + } + ] + }, + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + } + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "browserStdOut": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "default": false + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + }, + "engineLogging": { + "type": "boolean", + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "default": false + }, + "diagnosticsLog": { + "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "protocolMessages": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "default": false + }, + "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" + }, + "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" + }, + "debugRuntimeEventTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + } + } + }, + "consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + } + } + }, + "pipeTransport": { + "description": "%generateOptionsSchema.pipeTransport.description%", + "type": "object", + "required": [ + "debuggerPath" + ], + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [], + "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "debuggerPath": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", + "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", + "default": {} + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", + "default": true + }, + "windows": { + "description": "%generateOptionsSchema.pipeTransport.windows.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", + "default": {} + } + } + }, + "osx": { + "description": "%generateOptionsSchema.pipeTransport.osx.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", + "default": {} + } + } + }, + "linux": { + "description": "%generateOptionsSchema.pipeTransport.linux.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", + "default": {} + } + } + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + } + } + } + }, + "configurationSnippets": [ + { + "label": "%debuggers.coreclr.configurationSnippets.label.console-local%", + "description": "%debuggers.coreclr.configurationSnippets.description.console-local%", + "body": { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", + "args": [], + "cwd": "^\"\\${workspaceFolder}\"", + "stopAtEntry": false, + "console": "internalConsole" + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.attach-local%", + "description": "%debuggers.coreclr.configurationSnippets.description.attach%", + "body": { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach" + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.web-local%", + "description": "%debuggers.coreclr.configurationSnippets.description.web-local%", + "body": { + "name": ".NET Core Launch (web)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", + "args": [], + "cwd": "^\"\\${workspaceFolder}\"", + "stopAtEntry": false, + "serverReadyAction": { + "action": "openExternally", + "pattern": "\\\\bNow listening on:\\\\s+(https?://\\\\S+)" + }, + "env": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "sourceFileMap": { + "/Views": "^\"\\${workspaceFolder}/Views\"" + } + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.console-remote%", + "description": "%debuggers.coreclr.configurationSnippets.description.remote%", + "body": { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", + "args": [], + "cwd": "^\"\\${workspaceFolder}\"", + "stopAtEntry": false, + "console": "internalConsole", + "pipeTransport": { + "pipeCwd": "^\"\\${workspaceFolder}\"", + "pipeProgram": "^\"${3:enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'}\"", + "pipeArgs": [], + "debuggerPath": "^\"${4:enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg}\"" + } + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.attach-remote%", + "description": "%debuggers.coreclr.configurationSnippets.description.remote%", + "body": { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach", + "pipeTransport": { + "pipeCwd": "^\"\\${workspaceFolder}\"", + "pipeProgram": "^\"${1:enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'}\"", + "pipeArgs": [], + "debuggerPath": "^\"${2:enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg}\"" + } + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.blazor-hosted%", + "description": "%debuggers.coreclr.configurationSnippets.description.blazor-hosted%", + "body": { + "name": "Launch and Debug Hosted Blazor WebAssembly App", + "type": "blazorwasm", + "request": "launch", + "hosted": true, + "program": "^\"\\${workspaceFolder}/bin/Debug/${1:}/${2:}\"", + "cwd": "^\"\\${workspaceFolder}\"" + } + }, + { + "label": "%debuggers.coreclr.configurationSnippets.label.blazor-standalone%", + "description": "%debuggers.coreclr.configurationSnippets.description.blazor-standalone%", + "body": { + "name": "Launch and Debug Standalone Blazor WebAssembly App", + "type": "blazorwasm", + "request": "launch", + "cwd": "^\"\\${workspaceFolder}\"" + } + } + ] + }, + { + "type": "clr", + "when": "workspacePlatform == windows", + "hiddenWhen": "true", + "label": ".NET Framework 4.x", + "languages": [ + "csharp", + "razor", + "qsharp", + "aspnetcorerazor" + ], + "variables": { + "pickProcess": "csharp.listProcess", + "pickRemoteProcess": "csharp.listRemoteProcess", + "pickRemoteDockerProcess": "csharp.listRemoteDockerProcess" + }, + "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", + "configurationAttributes": { + "launch": { + "type": "object", + "required": [ + "program" + ], + "properties": { + "program": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.program.markdownDescription%", + "default": "${workspaceFolder}/bin/Debug//.dll" + }, + "cwd": { + "type": "string", + "description": "%generateOptionsSchema.cwd.description%", + "default": "${workspaceFolder}" + }, + "args": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.args.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.args.1.description%", + "default": "" + } + ] + }, + "stopAtEntry": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.stopAtEntry.markdownDescription%", + "default": false + }, + "launchBrowser": { + "description": "%generateOptionsSchema.launchBrowser.description%", + "default": { + "enabled": true + }, + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": "%generateOptionsSchema.launchBrowser.enabled.description%", + "default": true + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.args.description%", + "default": "${auto-detect-url}" + }, + "osx": { + "description": "%generateOptionsSchema.launchBrowser.osx.description%", + "default": { + "command": "open", + "args": "${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.osx.command.description%", + "default": "open" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.osx.args.description%", + "default": "${auto-detect-url}" + } + } + }, + "linux": { + "description": "%generateOptionsSchema.launchBrowser.linux.description%", + "default": { + "command": "xdg-open", + "args": "${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.linux.command.description%", + "default": "xdg-open" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.linux.args.description%", + "default": "${auto-detect-url}" + } + } + }, + "windows": { + "description": "%generateOptionsSchema.launchBrowser.windows.description%", + "default": { + "command": "cmd.exe", + "args": "/C start ${auto-detect-url}" + }, + "type": "object", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.windows.command.description%", + "default": "cmd.exe" + }, + "args": { + "type": "string", + "description": "%generateOptionsSchema.launchBrowser.windows.args.description%", + "default": "/C start ${auto-detect-url}" + } + } + } + } + }, + "env": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.env.description%", + "default": {} + }, + "envFile": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.envFile.markdownDescription%", + "default": "${workspaceFolder}/.env" + }, + "console": { + "type": "string", + "enum": [ + "internalConsole", + "integratedTerminal", + "externalTerminal" + ], + "enumDescriptions": [ + "%generateOptionsSchema.console.internalConsole.enumDescription%", + "%generateOptionsSchema.console.integratedTerminal.enumDescription%", + "%generateOptionsSchema.console.externalTerminal.enumDescription%" + ], + "markdownDescription": "%generateOptionsSchema.console.markdownDescription%", + "settingsDescription": "%generateOptionsSchema.console.settingsDescription%", + "default": "internalConsole" + }, + "externalConsole": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.externalConsole.markdownDescription%", + "default": false + }, + "launchSettingsFilePath": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.launchSettingsFilePath.markdownDescription%", + "default": "${workspaceFolder}/Properties/launchSettings.json" + }, + "launchSettingsProfile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "%generateOptionsSchema.launchSettingsProfile.description%", + "default": "" + }, + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + }, + "default": {} + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "browserStdOut": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "default": false + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + }, + "engineLogging": { + "type": "boolean", + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "default": false + }, + "diagnosticsLog": { + "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "protocolMessages": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "default": false + }, + "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" + }, + "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" + }, + "debugRuntimeEventTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + } + } + }, + "consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + } + } + }, + "pipeTransport": { + "description": "%generateOptionsSchema.pipeTransport.description%", + "type": "object", + "required": [ + "debuggerPath" + ], + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [], + "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "debuggerPath": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", + "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", + "default": {} + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", + "default": true + }, + "windows": { + "description": "%generateOptionsSchema.pipeTransport.windows.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", + "default": {} + } + } + }, + "osx": { + "description": "%generateOptionsSchema.pipeTransport.osx.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", + "default": {} + } + } + }, + "linux": { + "description": "%generateOptionsSchema.pipeTransport.linux.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", + "default": {} + } + } + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetOutputLogPath": { + "type": "string", + "description": "%generateOptionsSchema.targetOutputLogPath.description%", + "default": "" + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + }, + "checkForDevCert": { + "type": "boolean", + "description": "%generateOptionsSchema.checkForDevCert.description%", + "default": true + } + } + }, + "attach": { + "type": "object", + "required": [], + "properties": { + "processName": { + "type": "string", + "default": "", + "markdownDescription": "%generateOptionsSchema.processName.markdownDescription%" + }, + "processId": { + "anyOf": [ + { + "type": "string", + "markdownDescription": "%generateOptionsSchema.processId.0.markdownDescription%", + "default": "" + }, + { + "type": "integer", + "markdownDescription": "%generateOptionsSchema.processId.1.markdownDescription%", + "default": 0 + } + ] + }, + "sourceFileMap": { + "type": "object", + "markdownDescription": "%generateOptionsSchema.sourceFileMap.markdownDescription%", + "additionalProperties": { + "type": "string" + } + }, + "justMyCode": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.justMyCode.markdownDescription%", + "default": true + }, + "requireExactSource": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.requireExactSource.markdownDescription%", + "default": true + }, + "enableStepFiltering": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.enableStepFiltering.markdownDescription%", + "default": true + }, + "logging": { + "description": "%generateOptionsSchema.logging.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.exceptions.markdownDescription%", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.moduleLoad.markdownDescription%", + "default": true + }, + "programOutput": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.programOutput.markdownDescription%", + "default": true + }, + "browserStdOut": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.browserStdOut.markdownDescription%", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.elapsedTiming.markdownDescription%", + "default": false + }, + "threadExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.threadExit.markdownDescription%", + "default": false + }, + "processExit": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.processExit.markdownDescription%", + "default": true + }, + "engineLogging": { + "type": "boolean", + "deprecationMessage": "%generateOptionsSchema.logging.engineLogging.deprecationMessage%", + "default": false + }, + "diagnosticsLog": { + "description": "%generateOptionsSchema.logging.diagnosticsLog.description%", + "type": "object", + "required": [], + "default": {}, + "properties": { + "protocolMessages": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.protocolMessages.markdownDescription%", + "default": false + }, + "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" + }, + "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" + }, + "debugRuntimeEventTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.debugRuntimeEventTracing.markdownDescription%", + "default": false + }, + "expressionEvaluationTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.expressionEvaluationTracing.markdownDescription%", + "default": false + }, + "startDebuggingTracing": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.logging.diagnosticsLog.startDebuggingTracing.markdownDescription%", + "default": false + } + } + }, + "consoleUsageMessage": { + "type": "boolean", + "description": "%generateOptionsSchema.logging.consoleUsageMessage.description%", + "default": true + } + } + }, + "pipeTransport": { + "description": "%generateOptionsSchema.pipeTransport.description%", + "type": "object", + "required": [ + "debuggerPath" + ], + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [], + "debuggerPath": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "debuggerPath": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.debuggerPath.description%", + "default": "enter the path for the debugger on the target machine, for example ~/vsdbg/vsdbg" + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.pipeEnv.description%", + "default": {} + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.quoteArgs.description%", + "default": true + }, + "windows": { + "description": "%generateOptionsSchema.pipeTransport.windows.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.windows.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.windows.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.windows.pipeEnv.description%", + "default": {} + } + } + }, + "osx": { + "description": "%generateOptionsSchema.pipeTransport.osx.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.osx.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.osx.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.osx.pipeEnv.description%", + "default": {} + } + } + }, + "linux": { + "description": "%generateOptionsSchema.pipeTransport.linux.description%", + "default": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", + "pipeArgs": [] + }, + "type": "object", + "properties": { + "pipeCwd": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeCwd.description%", + "default": "${workspaceFolder}" + }, + "pipeProgram": { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeProgram.description%", + "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" + }, + "pipeArgs": { + "anyOf": [ + { + "type": "array", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.0.description%", + "items": { + "type": "string" + }, + "default": [] + }, + { + "type": "string", + "description": "%generateOptionsSchema.pipeTransport.linux.pipeArgs.1.description%", + "default": "" + } + ], + "default": [] + }, + "quoteArgs": { + "type": "boolean", + "description": "%generateOptionsSchema.pipeTransport.linux.quoteArgs.description%", + "default": true + }, + "pipeEnv": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "%generateOptionsSchema.pipeTransport.linux.pipeEnv.description%", + "default": {} + } + } + } + } + }, + "suppressJITOptimizations": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.suppressJITOptimizations.markdownDescription%", + "default": false + }, + "symbolOptions": { + "description": "%generateOptionsSchema.symbolOptions.description%", + "default": { + "searchPaths": [], + "searchMicrosoftSymbolServer": false, + "searchNuGetOrgSymbolServer": false + }, + "type": "object", + "properties": { + "searchPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.searchPaths.description%", + "default": [] + }, + "searchMicrosoftSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchMicrosoftSymbolServer.description%", + "default": false + }, + "searchNuGetOrgSymbolServer": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.searchNuGetOrgSymbolServer.description%", + "default": false + }, + "cachePath": { + "type": "string", + "description": "%generateOptionsSchema.symbolOptions.cachePath.description%", + "default": "" + }, + "moduleFilter": { + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.description%", + "default": { + "mode": "loadAllButExcluded", + "excludedModules": [] + }, + "type": "object", + "required": [ + "mode" + ], + "properties": { + "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" + }, + "excludedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.excludedModules.description%", + "default": [] + }, + "includedModules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includedModules.description%", + "default": [] + }, + "includeSymbolsNextToModules": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsNextToModules.description%", + "default": true + }, + "includeSymbolsOnDemand": { + "type": "boolean", + "description": "%generateOptionsSchema.symbolOptions.moduleFilter.includeSymbolsOnDemand.description%", + "default": true + } + } + } + } + }, + "sourceLinkOptions": { + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.markdownDescription%", + "default": { + "*": { + "enabled": true + } + }, + "type": "object", + "additionalItems": { + "type": "object", + "properties": { + "enabled": { + "title": "boolean", + "markdownDescription": "%generateOptionsSchema.sourceLinkOptions.additionalItems.enabled.markdownDescription%", + "default": true + } + } + } + }, + "expressionEvaluationOptions": { + "description": "%generateOptionsSchema.expressionEvaluationOptions.description%", + "default": {}, + "type": "object", + "properties": { + "allowImplicitFuncEval": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowImplicitFuncEval.description%", + "default": true + }, + "allowToString": { + "type": "boolean", + "markdownDescription": "%generateOptionsSchema.expressionEvaluationOptions.allowToString.markdownDescription%", + "default": true + }, + "allowFastEvaluate": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.allowFastEvaluate.description%", + "default": true + }, + "showRawValues": { + "type": "boolean", + "description": "%generateOptionsSchema.expressionEvaluationOptions.showRawValues.description%", + "default": false + } + } + }, + "targetArchitecture": { + "type": "string", + "markdownDescription": "%generateOptionsSchema.targetArchitecture.markdownDescription%", + "enum": [ + "x86_64", + "arm64" + ] + } + } + } + } + }, + { + "type": "blazorwasm", + "label": "Blazor WebAssembly Debug", + "hiddenWhen": "dotnet.debug.serviceBrokerAvailable", + "initialConfigurations": [ + { + "type": "blazorwasm", + "name": "Launch and Debug Blazor WebAssembly Application", + "request": "launch" + } + ], + "configurationAttributes": { + "launch": { + "properties": { + "cwd": { + "type": "string", + "description": "The directory of the Blazor WebAssembly app, defaults to the workspace folder.", + "default": "${workspaceFolder}" + }, + "url": { + "type": "string", + "description": "The URL of the application", + "default": "https://localhost:5001" + }, + "browser": { + "type": "string", + "description": "The debugging browser to launch (Edge or Chrome)", + "default": "edge", + "enum": [ + "chrome", + "edge" + ] + }, + "trace": { + "type": [ + "boolean", + "string" + ], + "default": "true", + "enum": [ + "verbose", + true + ], + "description": "If true, verbose logs from JS debugger are sent to log file. If 'verbose', send logs to console." + }, + "hosted": { + "type": "boolean", + "default": "false", + "description": "True if the app is a hosted Blazor WebAssembly app, false otherwise." + }, + "webRoot": { + "type": "string", + "default": "${workspaceFolder}", + "description": "Specifies the absolute path to the webserver root." + }, + "timeout": { + "type": "number", + "default": 30000, + "description": "Retry for this number of milliseconds to connect to browser." + }, + "program": { + "type": "string", + "default": "${workspaceFolder}/Server/bin/Debug//", + "description": "The path of the DLL to execute when launching a hosted server app" + }, + "env": { + "type": "object", + "description": "Environment variables passed to dotnet. Only valid for hosted apps." + }, + "dotNetConfig": { + "description": "Options passed to the underlying .NET debugger. For more info, see https://github.com/dotnet/vscode-csharp/blob/main/debugger.md.", + "type": "object", + "required": [], + "default": {}, + "properties": { + "justMyCode": { + "type": "boolean", + "description": "Optional flag to only show user code.", + "default": true + }, + "logging": { + "description": "Optional flags to determine what types of messages should be logged to the output window. Applicable only for the app server of hosted Blazor WASM apps.", + "type": "object", + "required": [], + "default": {}, + "properties": { + "exceptions": { + "type": "boolean", + "description": "Optional flag to determine whether exception messages should be logged to the output window.", + "default": true + }, + "moduleLoad": { + "type": "boolean", + "description": "Optional flag to determine whether module load events should be logged to the output window.", + "default": true + }, + "programOutput": { + "type": "boolean", + "description": "Optional flag to determine whether program output should be logged to the output window when not using an external console.", + "default": true + }, + "engineLogging": { + "type": "boolean", + "description": "Optional flag to determine whether diagnostic engine logs should be logged to the output window.", + "default": false + }, + "browserStdOut": { + "type": "boolean", + "description": "Optional flag to determine if stdout text from the launching the web browser should be logged to the output window.", + "default": true + }, + "elapsedTiming": { + "type": "boolean", + "description": "If true, engine logging will include `adapterElapsedTime` and `engineElapsedTime` properties to indicate the amount of time, in microseconds, that a request took.", + "default": false + }, + "threadExit": { + "type": "boolean", + "description": "Controls if a message is logged when a thread in the target process exits. Default: `false`.", + "default": false + }, + "processExit": { + "type": "boolean", + "description": "Controls if a message is logged when the target process exits, or debugging is stopped. Default: `true`.", + "default": true + } + } + }, + "sourceFileMap": { + "type": "object", + "description": "Optional source file mappings passed to the debug engine. Example: '{ \"C:\\foo\":\"/home/user/foo\" }'", + "additionalProperties": { + "type": "string" + }, + "default": { + "": "" + } + } + } + }, + "browserConfig": { + "description": "Options based to the underlying JavaScript debugger. For more info, see https://github.com/microsoft/vscode-js-debug/blob/master/OPTIONS.md.", + "type": "object", + "required": [], + "default": {}, + "properties": { + "outputCapture": { + "enum": [ + "console", + "std" + ], + "description": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.", + "default": "console" + } + } + } + } + }, + "attach": { + "properties": { + "url": { + "type": "string", + "description": "The URL of the application", + "default": "https://localhost:5001" + }, + "cwd": { + "type": "string", + "description": "The directory of the Blazor WebAssembly app, defaults to the workspace folder.", + "default": "${workspaceFolder}" + }, + "browser": { + "type": "string", + "description": "The debugging browser to launch (Edge or Chrome)", + "default": "chrome", + "enum": [ + "chrome", + "edge" + ] + }, + "trace": { + "type": [ + "boolean", + "string" + ], + "default": "true", + "enum": [ + "verbose", + true + ], + "description": "If true, verbose logs from JS debugger are sent to log file. If 'verbose', send logs to console." + }, + "webRoot": { + "type": "string", + "default": "${workspaceFolder}", + "description": "Specifies the absolute path to the webserver root." + }, + "timeout": { + "type": "number", + "default": 30000, + "description": "Retry for this number of milliseconds to connect to browser." + } + } + } + } + }, + { + "type": "dotnet", + "label": "C#", + "hiddenWhen": "!dotnet.debug.serviceBrokerAvailable", + "languages": [ + "csharp", + "razor", + "aspnetcorerazor" + ], + "variables": {}, + "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", + "configurationAttributes": { + "launch": { + "type": "object", + "required": [ + "projectPath" + ], + "properties": { + "projectPath": { + "type": "string", + "description": "%debuggers.dotnet.launch.projectPath.description%", + "default": "${workspaceFolder}/.csproj" + }, + "launchConfigurationId": { + "type": "string", + "description": "%debuggers.dotnet.launch.launchConfigurationId.description%" + } + } + } + }, + "configurationSnippets": [ + { + "label": "%debuggers.dotnet.configurationSnippets.label%", + "description": "%debuggers.dotnet.configurationSnippets.description%", + "body": { + "name": "C#: ${1:} Debug", + "type": "dotnet", + "request": "launch", + "projectPath": "^\"\\${workspaceFolder}/${2:}${1:}.csproj\"" + } + } + ] + }, + { + "type": "monovsdbg", + "label": ".NET Core using Mono Runtime", + "hiddenWhen": "true", + "languages": [ + "csharp" + ], + "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255" + } + ], + "semanticTokenTypes": [ + { + "id": "razorComponentElement", + "description": "A Razor component element" + }, + { + "id": "razorComponentAttribute", + "description": "A Razor component attribute" + }, + { + "id": "razorTagHelperElement", + "description": "A Razor TagHelper Element" + }, + { + "id": "razorTagHelperAttribute", + "description": "A Razor TagHelper Attribute" + }, + { + "id": "razorTransition", + "description": "A Razor transition" + }, + { + "id": "razorDirectiveAttribute", + "description": "A Razor Directive Attribute" + }, + { + "id": "razorDirectiveColon", + "description": "A colon between directive attribute parameters" + }, + { + "id": "razorDirective", + "description": "A Razor directive such as 'code' or 'function'" + }, + { + "id": "razorComment", + "description": "A Razor comment" + }, + { + "id": "markupCommentPunctuation", + "description": "The '@' or '*' of a Razor comment." + }, + { + "id": "markupTagDelimiter", + "description": "Markup delimiters like '<', '>', and '/'." + }, + { + "id": "markupOperator", + "description": "Delimiter for Markup Attribute Key-Value pairs." + }, + { + "id": "markupElement", + "description": "The name of a Markup element." + }, + { + "id": "markupAttribute", + "description": "The name of a Markup attribute." + }, + { + "id": "markupAttributeQuote", + "description": "A token that represents an attribute quote in a Markup attribute." + }, + { + "id": "markupAttributeValue", + "description": "The value of a Markup attribute." + }, + { + "id": "markupComment", + "description": "The contents of a Markup comment." + }, + { + "id": "markupCommentPunctuation", + "description": "The begining or ending punctuation of a Markup comment." + }, + { + "id": "excludedCode", + "description": "A token that represents inactive code." + }, + { + "id": "controlKeyword", + "description": "A token that represents a control-flow keyword.", + "superType": "keyword" + }, + { + "id": "operatorOverloaded", + "description": "A declaration or reference to an overloaded operator." + }, + { + "id": "whitespace", + "description": "A token that represents whitespace." + }, + { + "id": "text", + "description": "A token that represents text." + }, + { + "id": "preprocessorText", + "description": "Text associated with a preprocessor directive." + }, + { + "id": "punctuation", + "description": "A token that represents punctuation." + }, + { + "id": "stringVerbatim", + "superType": "string", + "description": "A token that represents a verbatim string." + }, + { + "id": "stringEscapeCharacter", + "superType": "string", + "description": "An escape character within a string." + }, + { + "id": "recordClass", + "superType": "class", + "description": "A definition or reference to a record class type." + }, + { + "id": "delegate", + "superType": "method", + "description": "A definition or reference to a delegate type." + }, + { + "id": "module", + "superType": "namespace", + "description": "A definition or reference to a module name." + }, + { + "id": "recordStruct", + "superType": "struct", + "description": "A definition or reference to a record struct type." + }, + { + "id": "field", + "superType": "property", + "description": "A definition or reference to a field." + }, + { + "id": "constant", + "superType": "variable", + "description": "A definition or reference to a constant." + }, + { + "id": "extensionMethod", + "superType": "method", + "description": "A definition or reference to an extension method" + }, + { + "id": "xmlDocCommentAttributeName", + "description": "A token that represents an attribute in an XML documentation comment" + }, + { + "id": "xmlDocCommentAttributeQuotes", + "description": "A token that represents an attribute quote in an XML documentation comment" + }, + { + "id": "xmlDocCommentAttributeValue", + "description": "A token that represents an attribute value in an XML documentation comment" + }, + { + "id": "xmlDocCommentCDataSection", + "description": "A token that represents a CDATA section in an XML documentation comment" + }, + { + "id": "xmlDocCommentComment", + "description": "A token that represents a comment in an XML documentation comment" + }, + { + "id": "xmlDocCommentDelimiter", + "description": "A token that represents a delimeter in an XML documentation comment" + }, + { + "id": "xmlDocCommentEntityReference", + "description": "A token that represents reference to an entity in an XML documentation comment" + }, + { + "id": "xmlDocCommentName", + "description": "A token that represents a name in an XML documentation comment" + }, + { + "id": "xmlDocCommentProcessingInstruction", + "description": "A token that represents a processing instruction in an XML documentation comment" + }, + { + "id": "xmlDocCommentText", + "description": "A token that represents text in an XML documentation comment" + }, + { + "id": "xmlLiteralAttributeName", + "description": "A token that represents an attribute name in an XML literal" + }, + { + "id": "xmlLiteralAttributeQuotes", + "description": "A token that represents an attribute quote in an XML literal" + }, + { + "id": "xmlLiteralAttributeValue", + "description": "A token that represents an attribute value in an XML literal" + }, + { + "id": "xmlLiteralCDataSection", + "description": "A token that represents a CDATA section in an XML literal" + }, + { + "id": "xmlLiteralComment", + "description": "A token that represents a comment in an XML literal" + }, + { + "id": "xmlLiteralDelimiter", + "description": "A token that represents a delimiter in an XML literal" + }, + { + "id": "xmlLiteralEmbeddedExpression", + "description": "A token that represents an emebedded expression in an XML literal" + }, + { + "id": "xmlLiteralEntityReference", + "description": "A token that represents a reference to an entity in an XML literal" + }, + { + "id": "xmlLiteralName", + "description": "A token that represents a name in an XML literal" + }, + { + "id": "xmlLiteralProcessingInstruction", + "description": "A token that represents a processing instruction in an XML literal" + }, + { + "id": "xmlLiteralText", + "description": "A token that represents text in an XML literal" + }, + { + "id": "regexComment", + "description": "A token that represents a comment in a regex string" + }, + { + "id": "regexCharacterClass", + "description": "A token that represents a character class in a regex string" + }, + { + "id": "regexAnchor", + "description": "A token that represents an anchor in a regex string" + }, + { + "id": "regexQuantifier", + "description": "A token that represents a quantifier in a regex string" + }, + { + "id": "regexGrouping", + "description": "A token that represents a group in a regex string" + }, + { + "id": "regexAlternation", + "description": "A token that represents an alternation in a regex string" + }, + { + "id": "regexText", + "description": "A token that represents text in a regex string" + }, + { + "id": "regexSelfEscapedCharacter", + "description": "A token that represents a self escaped character in a regex string" + }, + { + "id": "regexOtherEscape", + "description": "A token that represents an escape in a regex string" + }, + { + "id": "jsonComment", + "description": "A token that represents a comment in a JSON string" + }, + { + "id": "jsonNumber", + "description": "A token that represents a number in a JSON string" + }, + { + "id": "jsonString", + "description": "A token that represents a string in a JSON string" + }, + { + "id": "jsonKeyword", + "description": "A token that represents a keyword in a JSON string" + }, + { + "id": "jsonText", + "description": "A token that represents text in a JSON string" + }, + { + "id": "jsonOperator", + "description": "A token that represents an operator in a JSON string" + }, + { + "id": "jsonPunctuation", + "description": "A token that represents punctuation in a JSON string" + }, + { + "id": "jsonArray", + "description": "A token that represents an array in a JSON string" + }, + { + "id": "jsonObject", + "description": "A token that represents an object in a JSON string" + }, + { + "id": "jsonPropertyName", + "description": "A token that represents a property name in a JSON string" + }, + { + "id": "jsonConstructorName", + "description": "A token that represents a constructor in a JSON string" + } + ], + "semanticTokenModifiers": [], + "semanticTokenScopes": [ + { + "language": "aspnetcorerazor", + "scopes": { + "razorComponentElement": [ + "entity.name.class.element.component" + ], + "razorComponentAttribute": [ + "entity.name.class.attribute.component" + ], + "razorTagHelperElement": [ + "entity.name.class.element.taghelper" + ], + "razorTagHelperAttribute": [ + "entity.name.class.attribute.taghelper" + ], + "razorTransition": [ + "keyword.control.razor.transition" + ], + "razorDirectiveAttribute": [ + "keyword.control.razor.directive.attribute", + "keyword.control.cshtml.directive.attribute" + ], + "razorDirectiveColon": [ + "keyword.control.razor.directive.colon", + "keyword.control.cshtml.directive.colon" + ], + "razorDirective": [ + "keyword.control.razor.directive", + "keyword.control.cshtml.directive" + ], + "razorComment": [ + "comment.block.razor" + ], + "razorCommentTransition": [ + "meta.comment.razor", + "keyword.control.cshtml.transition" + ], + "razorCommentStar": [ + "keyword.control.razor.comment.star", + "meta.comment.razor" + ], + "angleBracket": [ + "punctuation.definition.tag" + ], + "forwardSlash": [ + "punctuation.definition.tag" + ], + "equals": [ + "punctuation.separator.key-value.html" + ], + "markupElement": [ + "entity.name.tag.html" + ], + "markupAttribute": [ + "entity.other.attribute-name.html" + ], + "markupAttributeQuote": [ + "punctuation.definition.tag.html" + ], + "markupAttributeValue": [ + "punctuation.definition.entity.html" + ], + "markupComment": [ + "comment.block.html" + ], + "markupCommentPunctuation": [ + "punctuation.definition.comment.html", + "comment.block.html" + ], + "markupTagDelimiter": [ + "punctuation.definition.tag.html" + ], + "keyword": [ + "keyword.cs" + ], + "excludedCode": [ + "support.other.excluded.cs" + ], + "controlKeyword": [ + "keyword.control.cs" + ], + "operatorOverloaded": [ + "entity.name.function.member.overload.cs" + ], + "preprocessorText": [ + "meta.preprocessor.string.cs" + ], + "punctuation": [ + "punctuation.cs" + ], + "stringVerbatim": [ + "string.verbatim.cs" + ], + "stringEscapeCharacter": [ + "constant.character.escape.cs" + ], + "delegate": [ + "entity.name.type.delegate.cs" + ], + "module": [ + "entity.name.type.module.cs" + ], + "field": [ + "entity.name.variable.field.cs" + ], + "constant": [ + "variable.other.constant" + ], + "extensionMethod": [ + "entity.name.function.extension.cs" + ], + "xmlDocCommentAttributeName": [ + "comment.documentation.attribute.name.cs" + ], + "xmlDocCommentAttributeQuotes": [ + "comment.documentation.attribute.quotes.cs" + ], + "xmlDocCommentAttributeValue": [ + "comment.documentation.attribute.value.cs" + ], + "xmlDocCommentCDataSection": [ + "comment.documentation.cdata.cs" + ], + "xmlDocCommentComment": [ + "comment.documentation.comment.cs" + ], + "xmlDocCommentDelimiter": [ + "comment.documentation.delimiter.cs" + ], + "xmlDocCommentEntityReference": [ + "comment.documentation.entityReference.cs" + ], + "xmlDocCommentName": [ + "comment.documentation.name.cs" + ], + "xmlDocCommentProcessingInstruction": [ + "comment.documentation.processingInstruction.cs" + ], + "xmlDocCommentText": [ + "comment.documentation.cs" + ], + "xmlLiteralAttributeName": [ + "entity.other.attribute-name.localname.xml" + ], + "xmlLiteralAttributeQuotes": [ + "string.quoted.double.xml" + ], + "xmlLiteralAttributeValue": [ + "meta.tag.xml" + ], + "xmlLiteralCDataSection": [ + "string.quoted.double.xml" + ], + "xmlLiteralComment": [ + "comment.block.xml" + ], + "xmlLiteralDelimiter": [ + "text.xml" + ], + "xmlLiteralEmbeddedExpression": [ + "meta.tag.xml" + ], + "xmlLiteralEntityReference": [ + "meta.tag.xml" + ], + "xmlLiteralName": [ + "entity.name.tag.localname.xml" + ], + "xmlLiteralProcessingInstruction": [ + "meta.tag.xml" + ], + "xmlLiteralText": [ + "text.xml" + ], + "regexComment": [ + "string.regexp.comment.cs" + ], + "regexCharacterClass": [ + "constant.character.character-class.regexp.cs" + ], + "regexAnchor": [ + "keyword.control.anchor.regexp.cs" + ], + "regexQuantifier": [ + "keyword.operator.quantifier.regexp.cs" + ], + "regexGrouping": [ + "punctuation.definition.group.regexp.cs" + ], + "regexAlternation": [ + "keyword.operator.or.regexp.cs" + ], + "regexText": [ + "string.regexp" + ], + "regexSelfEscapedCharacter": [ + "string.regexp.self-escaped-character.cs" + ], + "regexOtherEscape": [ + "string.regexp.other-escape.cs" + ], + "jsonComment": [ + "comment.line.double-slash.js" + ], + "jsonNumber": [ + "constant.numeric.json" + ], + "jsonString": [ + "string.quoted.double.json" + ], + "jsonKeyword": [ + "constant.language.json" + ], + "jsonText": [ + "string.quoted.double.json" + ], + "jsonOperator": [ + "string.quoted.double.json" + ], + "jsonPunctuation": [ + "punctuation.separator.dictionary.key-value.json" + ], + "jsonArray": [ + "punctuation.definition.array.begin.json" + ], + "jsonObject": [ + "punctuation.definition.dictionary.begin.json" + ], + "jsonPropertyName": [ + "support.type.property-name.json" + ], + "jsonConstructorName": [ + "support.type.property-name.json" + ] + } + }, + { + "language": "csharp", + "scopes": { + "typeParameter": [ + "entity.name.type.type-parameter" + ], + "keyword": [ + "keyword.cs" + ], + "excludedCode": [ + "support.other.excluded.cs" + ], + "controlKeyword": [ + "keyword.control.cs" + ], + "operatorOverloaded": [ + "entity.name.function.member.overload.cs" + ], + "preprocessorText": [ + "meta.preprocessor.string.cs" + ], + "punctuation": [ + "punctuation.cs" + ], + "stringVerbatim": [ + "string.verbatim.cs" + ], + "stringEscapeCharacter": [ + "constant.character.escape.cs" + ], + "delegate": [ + "entity.name.type.delegate.cs" + ], + "module": [ + "entity.name.type.module.cs" + ], + "field": [ + "entity.name.variable.field.cs" + ], + "constant": [ + "variable.other.constant" + ], + "extensionMethod": [ + "entity.name.function.extension.cs" + ], + "xmlDocCommentAttributeName": [ + "comment.documentation.attribute.name.cs" + ], + "xmlDocCommentAttributeQuotes": [ + "comment.documentation.attribute.quotes.cs" + ], + "xmlDocCommentAttributeValue": [ + "comment.documentation.attribute.value.cs" + ], + "xmlDocCommentCDataSection": [ + "comment.documentation.cdata.cs" + ], + "xmlDocCommentComment": [ + "comment.documentation.comment.cs" + ], + "xmlDocCommentDelimiter": [ + "comment.documentation.delimiter.cs" + ], + "xmlDocCommentEntityReference": [ + "comment.documentation.entityReference.cs" + ], + "xmlDocCommentName": [ + "comment.documentation.name.cs" + ], + "xmlDocCommentProcessingInstruction": [ + "comment.documentation.processingInstruction.cs" + ], + "xmlDocCommentText": [ + "comment.documentation.cs" + ], + "xmlLiteralAttributeName": [ + "entity.other.attribute-name.localname.xml" + ], + "xmlLiteralAttributeQuotes": [ + "string.quoted.double.xml" + ], + "xmlLiteralAttributeValue": [ + "meta.tag.xml" + ], + "xmlLiteralCDataSection": [ + "string.quoted.double.xml" + ], + "xmlLiteralComment": [ + "comment.block.xml" + ], + "xmlLiteralDelimiter": [ + "text.xml" + ], + "xmlLiteralEmbeddedExpression": [ + "meta.tag.xml" + ], + "xmlLiteralEntityReference": [ + "meta.tag.xml" + ], + "xmlLiteralName": [ + "entity.name.tag.localname.xml" + ], + "xmlLiteralProcessingInstruction": [ + "meta.tag.xml" + ], + "xmlLiteralText": [ + "text.xml" + ], + "regexComment": [ + "string.regexp.comment.cs" + ], + "regexCharacterClass": [ + "constant.character.character-class.regexp.cs" + ], + "regexAnchor": [ + "keyword.control.anchor.regexp.cs" + ], + "regexQuantifier": [ + "keyword.operator.quantifier.regexp.cs" + ], + "regexGrouping": [ + "punctuation.definition.group.regexp.cs" + ], + "regexAlternation": [ + "keyword.operator.or.regexp.cs" + ], + "regexText": [ + "string.regexp" + ], + "regexSelfEscapedCharacter": [ + "string.regexp.self-escaped-character.cs" + ], + "regexOtherEscape": [ + "string.regexp.other-escape.cs" + ], + "jsonComment": [ + "comment.line.double-slash.js" + ], + "jsonNumber": [ + "constant.numeric.json" + ], + "jsonString": [ + "string.quoted.double.json" + ], + "jsonKeyword": [ + "constant.language.json" + ], + "jsonText": [ + "string.quoted.double.json" + ], + "jsonOperator": [ + "string.quoted.double.json" + ], + "jsonPunctuation": [ + "punctuation.separator.dictionary.key-value.json" + ], + "jsonArray": [ + "punctuation.definition.array.begin.json" + ], + "jsonObject": [ + "punctuation.definition.dictionary.begin.json" + ], + "jsonPropertyName": [ + "support.type.property-name.json" + ], + "jsonConstructorName": [ + "support.type.property-name.json" + ] + } + } + ], + "languages": [ + { + "id": "aspnetcorerazor", + "extensions": [ + ".cshtml", + ".razor" + ], + "mimetypes": [ + "text/x-cshtml" + ], + "configuration": "./src/razor/language-configuration.json", + "aliases": [ + "ASP.NET Razor" + ] + }, + { + "id": "xaml", + "extensions": [ + ".xaml" + ], + "configuration": "./src/xaml/language-configuration.json", + "aliases": [ + "XAML" + ] + } + ], + "grammars": [ + { + "language": "aspnetcorerazor", + "scopeName": "text.aspnetcorerazor", + "path": "./src/razor/syntaxes/aspnetcorerazor.tmLanguage.json", + "unbalancedBracketScopes": [ + "text.aspnetcorerazor" + ] + }, + { + "language": "xaml", + "scopeName": "source.xaml", + "path": "./src/xaml/syntaxes/xaml.tmLanguage.json" + } + ], + "menus": { + "commandPalette": [ + { + "command": "dotnet.test.runTestsInContext", + "when": "editorLangId == csharp && dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "dotnet.test.debugTestsInContext", + "when": "editorLangId == csharp && dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "o.restart", + "when": "dotnet.server.activationContext == 'OmniSharp'" + }, + { + "command": "csharp.listProcess", + "when": "false" + }, + { + "command": "csharp.listRemoteProcess", + "when": "false" + }, + { + "command": "csharp.listRemoteDockerProcess", + "when": "false" + } + ], + "editor/title": [ + { + "command": "extension.showRazorCSharpWindow", + "when": "resourceLangId == aspnetcorerazor" + }, + { + "command": "extension.showRazorHtmlWindow", + "when": "resourceLangId == aspnetcorerazor" + }, + { + "command": "razor.reportIssue", + "when": "resourceLangId == aspnetcorerazor" + } + ], + "editor/context": [ + { + "command": "dotnet.test.runTestsInContext", + "when": "editorLangId == csharp && (dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp')", + "group": "2_dotnet@1" + }, + { + "command": "dotnet.test.debugTestsInContext", + "when": "editorLangId == csharp && (dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp')", + "group": "2_dotnet@2" + } + ] + }, + "viewsWelcome": [ + { + "view": "debug", + "contents": "%viewsWelcome.debug.contents%", + "when": "debugStartLanguage == csharp && !dotnet.debug.serviceBrokerAvailable" + } + ] + } } \ No newline at end of file From c4d88dc1773196d2495f25132d4cbc0911f9b35c Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Tue, 18 Jun 2024 19:10:46 -0300 Subject: [PATCH 06/15] Adding vswebassembly to gitignore --- .vscodeignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.vscodeignore b/.vscodeignore index e8448b607..f9a0d5a60 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -57,3 +57,4 @@ webpack.config.js +RuntimeLicenses/dependencies/* coreclr-debug/install.log +!.vswebassemblybridge/** \ No newline at end of file From d3b844163bbf1070542fc936f20d28962d73e782 Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Wed, 19 Jun 2024 16:35:53 -0300 Subject: [PATCH 07/15] Test if the vswebassembly path exists and also pass DOTNET_MODIFIABLE_ASSEMBLIES to enable hotreload. --- .../blazorDebugConfigurationProvider.ts | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index de406a39e..ab50a7933 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import execa = require('execa'); -import { promises, readFileSync } from 'fs'; +import { promises, readFileSync, existsSync } from 'fs'; import { join } from 'path'; import { fileURLToPath } from 'url'; import * as vscode from 'vscode'; @@ -97,6 +97,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati cwd, env: { ASPNETCORE_ENVIRONMENT: 'Development', + DOTNET_MODIFIABLE_ASSEMBLIES: 'debug', ...configuration.env, }, launchBrowser: { @@ -134,7 +135,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati const wasmConfig = vscode.workspace.getConfiguration('csharp'); const useVSDbg = wasmConfig.get('wasm.debug.useVSDbg') == true; let portBrowserDebug = -1; - if (useVSDbg) { + if (useVSDbg && existsSync(BlazorDebugConfigurationProvider.getWebAssemblyWebBridgePath())) { [inspectUri, portBrowserDebug] = await this.attachToAppOnBrowser(folder, configuration); } @@ -212,7 +213,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati args, cwd, cascadeTerminateToConfigurations: [ONLY_JS_DEBUG_NAME, SERVER_APP_NAME, JS_DEBUG_NAME], - ...configuration.dotNetConfig, + ...configuration.dotNetConfig }; app.monoDebuggerOptions = { @@ -245,14 +246,9 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati private static async launchVsWebAssemblyBridge(urlStr: string): Promise<[string, number, number]> { const dotnetPath = process.platform === 'win32' ? 'dotnet.exe' : 'dotnet'; - const vsWebAssemblyBridge = path.join( - getExtensionPath(), - '.vswebassemblybridge', - 'Microsoft.Diagnostics.BrowserDebugHost.dll' - ); const devToolsUrl = `http://localhost:0`; // Browser debugging port address const spawnedProxyArgs = [ - `${vsWebAssemblyBridge}`, + `${BlazorDebugConfigurationProvider.getWebAssemblyWebBridgePath()}`, '--DevToolsUrl', `${devToolsUrl}`, '--UseVsDbg', @@ -326,10 +322,20 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati return ['', -1, -1]; } + private static getWebAssemblyWebBridgePath() { + const vsWebAssemblyBridge = path.join( + getExtensionPath(), + '.vswebassemblybridge', + 'Microsoft.Diagnostics.BrowserDebugHost.dll' + ); + return vsWebAssemblyBridge; + } + public static async tryToUseVSDbgForMono(urlStr: string): Promise<[string, number, number]> { const wasmConfig = vscode.workspace.getConfiguration('csharp'); const useVSDbg = wasmConfig.get('wasm.debug.useVSDbg') == true; - if (useVSDbg) { + + if (useVSDbg && existsSync(BlazorDebugConfigurationProvider.getWebAssemblyWebBridgePath())) { const [inspectUri, portICorDebug, portBrowserDebug] = await BlazorDebugConfigurationProvider.launchVsWebAssemblyBridge(urlStr); From b094acf86655a4592443ab1b3359c0bf3939572c Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Wed, 19 Jun 2024 16:38:50 -0300 Subject: [PATCH 08/15] Fix prettier --- src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index ab50a7933..a7551a1b8 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -213,7 +213,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati args, cwd, cascadeTerminateToConfigurations: [ONLY_JS_DEBUG_NAME, SERVER_APP_NAME, JS_DEBUG_NAME], - ...configuration.dotNetConfig + ...configuration.dotNetConfig, }; app.monoDebuggerOptions = { From 47967727804ca0b8cee22ff657275f981bdcaa24 Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Thu, 20 Jun 2024 18:07:10 -0300 Subject: [PATCH 09/15] Bump VSWebAssemblyBridge. --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 8539c98cf..c2fc33bee 100644 --- a/package.json +++ b/package.json @@ -690,7 +690,7 @@ { "id": "VSWebAssemblyBridge", "description": "VSWebAssemblyBridge (Platform Agnostic)", - "url": "https://vsdebugger.blob.core.windows.net/vswebassemblybridge-8-0-0-preview-24312-2/vswebassemblybridge.zip", + "url": "https://vsdebugger.blob.core.windows.net/vswebassemblybridge-8-0-532005/vswebassemblybridge.zip", "installPath": ".vswebassemblybridge", "platforms": [ "win32", @@ -702,7 +702,7 @@ "x86_64", "arm64" ], - "integrity": "EB8106AE5BC642B1A1B1C5C6D1119FFA6BE2CA0C01F18BF265B3B7C74E52F97C" + "integrity": "4C4B641AF5F8EFC975EB26D71A6DB052DDF2E3AF3AA263FC660C65F0B7044DDD" } ], "engines": { @@ -5592,4 +5592,4 @@ } ] } -} +} \ No newline at end of file From 83de7bbd02b5a9e030a64ddfb13505c9ad3c4b07 Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Fri, 21 Jun 2024 20:51:42 -0300 Subject: [PATCH 10/15] Check targetFramework before enable it. --- .../provisionalDebugSessionTracker.ts | 14 +- src/lsptoolshost/services/descriptors.ts | 12 ++ .../blazorDebugConfigurationProvider.ts | 150 ++++++++++++++++-- src/shared/assets.ts | 15 ++ src/shared/configurationProvider.ts | 21 ++- src/shared/workspaceConfigurationProvider.ts | 9 ++ 6 files changed, 205 insertions(+), 16 deletions(-) diff --git a/src/coreclrDebug/provisionalDebugSessionTracker.ts b/src/coreclrDebug/provisionalDebugSessionTracker.ts index 28bf067bd..97755c6c6 100644 --- a/src/coreclrDebug/provisionalDebugSessionTracker.ts +++ b/src/coreclrDebug/provisionalDebugSessionTracker.ts @@ -40,7 +40,7 @@ export class ProvisionalDebugSessionTracker { * @param session Debug session. */ onDidStartDebugSession(session: vscode.DebugSession): void { - if (session.type !== 'coreclr') { + if (session.type !== 'coreclr' && session.type !== 'monovsdbg') { return; } @@ -88,6 +88,18 @@ export class ProvisionalDebugSessionTracker { this._onDidStartDebugSession?.dispose(); this._onDidTerminateDebugSession?.dispose(); } + getDebugSessionByName(name: string): vscode.DebugSession | undefined { + const sessions = this._sessions; + if (sessions != undefined) { + const sessionsIt = sessions.entries(); + for (const session of sessionsIt) { + if (session[0].type == name) { + return session[0]; + } + } + } + return undefined; + } } export const debugSessionTracker = new ProvisionalDebugSessionTracker(); diff --git a/src/lsptoolshost/services/descriptors.ts b/src/lsptoolshost/services/descriptors.ts index 2f1a62d79..60b86d811 100644 --- a/src/lsptoolshost/services/descriptors.ts +++ b/src/lsptoolshost/services/descriptors.ts @@ -41,4 +41,16 @@ export default class Descriptors { protocolMajorVersion: 3, } ); + + /** + * The descriptor for token acquisition service that is hosted within the VS Code Extension Host process. + * Use {@link IQueryExecutionService} for the RPC interface. + */ + static readonly projectQueryExecutionService: ServiceRpcDescriptor = Object.freeze( + new ServiceJsonRpcDescriptor( + ServiceMoniker.create('Microsoft.VisualStudio.ProjectSystem.Query.Remoting.QueryExecutionService', '0.2'), + Formatters.Utf8, + MessageDelimiters.HttpLikeHeaders + ) + ); } diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index a7551a1b8..6d069e456 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -17,6 +17,57 @@ import showErrorMessage from '../../../observers/utils/showErrorMessage'; import path = require('path'); import * as cp from 'child_process'; import { getExtensionPath } from '../../../common'; +import { debugSessionTracker } from '../../../coreclrDebug/provisionalDebugSessionTracker'; +import { getCSharpDevKit } from '../../../utils/getCSharpDevKit'; +import Descriptors from '../../../lsptoolshost/services/descriptors'; +import { CancellationToken } from 'vscode'; +import { IDisposable, IObserver } from '@microsoft/servicehub-framework'; + +export interface Project { + Id: { + ProjectPath: string; + ProjectGuid?: string; + }; + ActiveConfigurations?: [ProjectConfiguration]; +} + +export interface QueryResult { + Versions?: any; + + Items?: [T]; +} + +export interface ProjectConfiguration { + BuildProperties?: any; +} + +/** + * This service provides implementation to execute a project query. + */ +export interface IQueryExecutionService { + /** + * execute a query. + * @param query a query string. + */ + ExecuteQueryAsync(query: string, cancellationToken?: CancellationToken): Promise; + + /** + * execute an update query. + * @param query a query string. + */ + ExecuteRemoteExecutableAsync(query: string, cancellationToken?: CancellationToken): Promise; + + /** + * Subscribe query results/ + * @param query a query string. + * @param resultsReceiver an observer to receive results. + */ + SubscribeQueryResultsAsync( + query: string, + resultsReceiver: IObserver, + cancellationToken?: CancellationToken + ): Promise; +} export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurationProvider { private static readonly autoDetectUserNotice: string = vscode.l10n.t( @@ -132,11 +183,11 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati inspectUri: string, url: string ) { - const wasmConfig = vscode.workspace.getConfiguration('csharp'); - const useVSDbg = wasmConfig.get('wasm.debug.useVSDbg') == true; + const originalInspectUri = inspectUri; + const useVSDbg = await BlazorDebugConfigurationProvider.useVSDbg(); let portBrowserDebug = -1; - if (useVSDbg && existsSync(BlazorDebugConfigurationProvider.getWebAssemblyWebBridgePath())) { - [inspectUri, portBrowserDebug] = await this.attachToAppOnBrowser(folder, configuration); + if (useVSDbg) { + [inspectUri, portBrowserDebug] = await this.attachToAppOnBrowser(folder, configuration, url); } const configBrowser = configuration.browser; @@ -170,6 +221,20 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati browser.port = portBrowserDebug; } + const monovsdbgSession = debugSessionTracker.getDebugSessionByName('monovsdbg'); + if (useVSDbg) { + //means that we don't have c#devkit installed so we get information from configSettings + if (monovsdbgSession === undefined && getCSharpDevKit() === undefined) { + //something wrong happened kill the vswebassembly and use the older debugger + browser.inspectUri = originalInspectUri; + browser.port = undefined; + const oldPid = BlazorDebugConfigurationProvider.pidsByUrl.get(browser.url); + if (oldPid != undefined) { + process.kill(oldPid); + } + } + } + try { /** * The browser debugger will immediately launch after the @@ -199,10 +264,11 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati private async attachToAppOnBrowser( folder: vscode.WorkspaceFolder | undefined, - configuration: vscode.DebugConfiguration + configuration: vscode.DebugConfiguration, + url: string ): Promise<[string, number]> { const [inspectUriRet, portICorDebug, portBrowserDebug] = - await BlazorDebugConfigurationProvider.launchVsWebAssemblyBridge(configuration.url); + await BlazorDebugConfigurationProvider.launchVsWebAssemblyBridge(configuration.url || url); const cwd = configuration.cwd || '${workspaceFolder}'; const args = configuration.hosted ? [] : ['run']; @@ -322,6 +388,73 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati return ['', -1, -1]; } + private static async isNet9OrNewer(): Promise { + let isNet9OrNewer = false; + const configurationsObject = { + $properties: ['BuildProperties'], + BuildProperties: { + $properties: ['Id', 'Name', 'Value', 'StorageType'], + $where: { + '&&': [ + { '==': [{ '.': 'Name' }, 'TargetFramework'] }, + { '==': [{ '.': 'StorageType' }, 'ProjectFile'] }, + ], + }, + }, + }; + const query = { + context: 'Projects', + query: { + $properties: ['ActiveConfigurations'], + ActiveConfigurations: configurationsObject, + $filter: { ProjectsByCapabilities: ['WebAssembly'] }, + }, + }; + + const queryString = JSON.stringify(query); + const proxy = await getCSharpDevKit()?.exports.serviceBroker.getProxy( + Descriptors.projectQueryExecutionService + ); + try { + if (proxy) { + const result = await proxy.ExecuteQueryAsync(queryString); + const queryResult = JSON.parse(result) as QueryResult; + if (queryResult && queryResult.Items) { + isNet9OrNewer = true; + queryResult.Items.forEach((project) => { + project.ActiveConfigurations?.forEach((activeConfig) => { + if ( + activeConfig.BuildProperties[0].Value == 'net5.0' || + activeConfig.BuildProperties[0].Value == 'net6.0' || + activeConfig.BuildProperties[0].Value == 'net7.0' || + activeConfig.BuildProperties[0].Value == 'net8.0' + ) { + isNet9OrNewer = false; + } + }); + }); + return isNet9OrNewer; + } + } + } catch (err) { + throw new Error('Exception while talking to proxy: ' + err); + } finally { + proxy?.dispose(); + } + return isNet9OrNewer; + } + private static async useVSDbg(): Promise { + const wasmConfig = vscode.workspace.getConfiguration('csharp'); + const useVSDbg = wasmConfig.get('wasm.debug.useVSDbg') == true; + const existWebAssemblyWebBridge = existsSync(BlazorDebugConfigurationProvider.getWebAssemblyWebBridgePath()); + const csharpDevKitExtension = getCSharpDevKit(); + let isNet9OrNewer = true; + if (useVSDbg && existWebAssemblyWebBridge && csharpDevKitExtension !== undefined) { + isNet9OrNewer = await BlazorDebugConfigurationProvider.isNet9OrNewer(); + } + return useVSDbg && existWebAssemblyWebBridge && isNet9OrNewer; + } + private static getWebAssemblyWebBridgePath() { const vsWebAssemblyBridge = path.join( getExtensionPath(), @@ -332,10 +465,9 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati } public static async tryToUseVSDbgForMono(urlStr: string): Promise<[string, number, number]> { - const wasmConfig = vscode.workspace.getConfiguration('csharp'); - const useVSDbg = wasmConfig.get('wasm.debug.useVSDbg') == true; + const useVSDbg = await BlazorDebugConfigurationProvider.useVSDbg(); - if (useVSDbg && existsSync(BlazorDebugConfigurationProvider.getWebAssemblyWebBridgePath())) { + if (useVSDbg) { const [inspectUri, portICorDebug, portBrowserDebug] = await BlazorDebugConfigurationProvider.launchVsWebAssemblyBridge(urlStr); diff --git a/src/shared/assets.ts b/src/shared/assets.ts index 4360df12d..873a733e5 100644 --- a/src/shared/assets.ts +++ b/src/shared/assets.ts @@ -356,6 +356,21 @@ export class AssetGenerator { assetsPath = assetsPath.slice(0, -1); return [assetsPath, this.executableProjects[0].outputPath]; } + + public isDotNet9OrNewer(): boolean { + let ret = false; + this.executableProjects.forEach((project) => { + if (project.isWebAssemblyProject) { + const projectFileText = fs.readFileSync(project.projectPath, 'utf8'); + ret = + projectFileText.toLowerCase().indexOf('net8.0') < 0 && + projectFileText.toLowerCase().indexOf('net7.0') < 0 && + projectFileText.toLowerCase().indexOf('net6.0') < 0 && + projectFileText.toLowerCase().indexOf('net5.0') < 0; + } + }); + return ret; + } } export enum ProgramLaunchType { diff --git a/src/shared/configurationProvider.ts b/src/shared/configurationProvider.ts index d4cc948dc..e02c393ac 100644 --- a/src/shared/configurationProvider.ts +++ b/src/shared/configurationProvider.ts @@ -149,16 +149,25 @@ export class BaseVsDbgConfigurationProvider implements vscode.DebugConfiguration this.checkForDevCerts(commonOptions.dotnetPath); } } - if (debugConfiguration.type === 'monovsdbg' && this instanceof DotnetWorkspaceConfigurationProvider) { + if ( + debugConfiguration.type === 'monovsdbg' && + debugConfiguration.monoDebuggerOptions.platform === 'browser' && + this instanceof DotnetWorkspaceConfigurationProvider + ) { const configProvider = this as DotnetWorkspaceConfigurationProvider; - if ( - folder && - debugConfiguration.monoDebuggerOptions.platform === 'browser' && - debugConfiguration.monoDebuggerOptions.assetsPath == null - ) { + if (folder && debugConfiguration.monoDebuggerOptions.assetsPath == null) { + const csharpDevKitExtension = getCSharpDevKit(); + if (csharpDevKitExtension === undefined) { + if (!(await configProvider.isDotNet9OrNewer(folder))) { + return undefined; + } + } const [assetsPath, programName] = await configProvider.getAssetsPathAndProgram(folder); debugConfiguration.monoDebuggerOptions.assetsPath = assetsPath; debugConfiguration.program = programName; + if (debugConfiguration.program == null) { + return undefined; + } } } return debugConfiguration; diff --git a/src/shared/workspaceConfigurationProvider.ts b/src/shared/workspaceConfigurationProvider.ts index cd5ef5733..54aef9931 100644 --- a/src/shared/workspaceConfigurationProvider.ts +++ b/src/shared/workspaceConfigurationProvider.ts @@ -105,4 +105,13 @@ export class DotnetWorkspaceConfigurationProvider extends BaseVsDbgConfiguration const generator = new AssetGenerator(info, folder); return generator.getAssetsPathAndProgram(); } + + async isDotNet9OrNewer(folder: vscode.WorkspaceFolder): Promise { + const info = await this.workspaceDebugInfoProvider.getWorkspaceDebugInformation(folder.uri); + if (!info) { + return false; + } + const generator = new AssetGenerator(info, folder); + return generator.isDotNet9OrNewer(); + } } From d6fd0b6e5a80f8d1877381f1bac4e59df48ad60b Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Mon, 1 Jul 2024 20:03:54 -0300 Subject: [PATCH 11/15] Addressing Gregg's comments. --- .../blazorDebugConfigurationProvider.ts | 86 +++++++++---------- src/shared/assets.ts | 34 ++++++-- src/shared/utils.ts | 6 +- 3 files changed, 69 insertions(+), 57 deletions(-) diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index 6d069e456..8ce9698d2 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -22,6 +22,7 @@ import { getCSharpDevKit } from '../../../utils/getCSharpDevKit'; import Descriptors from '../../../lsptoolshost/services/descriptors'; import { CancellationToken } from 'vscode'; import { IDisposable, IObserver } from '@microsoft/servicehub-framework'; +import { EventEmitter } from 'events'; export interface Project { Id: { @@ -324,30 +325,31 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati '--OwnerPid', `${process.pid}`, ]; - const spawnedProxy = cp.spawn(dotnetPath, spawnedProxyArgs); - - try { - let chunksProcessed = 0; - let proxyICorDebugPort = -1; - let proxyBrowserPort = -1; - for await (const output of spawnedProxy.stdout) { - // If we haven't found the URL in the first ten chunks processed - // then bail out. + const cpOptions: cp.SpawnOptionsWithoutStdio = { + detached: true, + windowsHide: true, + }; + let chunksProcessed = 0; + let proxyICorDebugPort = -1; + let proxyBrowserPort = -1; + let newUri = ''; + const spawnedProxy = cp.spawn(dotnetPath, spawnedProxyArgs, cpOptions); + const eventEmmiter = new EventEmitter(); + function handleData(stream: NodeJS.ReadableStream) { + stream.on('data', (chunk) => { + BlazorDebugConfigurationProvider.vsWebAssemblyBridgeOutputChannel.appendLine(chunk.toString()); + if (newUri != '') { + return; + } if (chunksProcessed++ > 10) { - return ['', -1, -1]; + eventEmmiter.emit('vsWebAssemblyReady'); } - BlazorDebugConfigurationProvider.vsWebAssemblyBridgeOutputChannel.appendLine(output); - // The debug proxy server outputs the port it is listening on in the - // standard output of the launched application. We need to pass this URL - // back to the debugger so we extract the URL from stdout using a regex. - // The debug proxy will not exit until killed via the `killDebugProxy` - // method so parsing stdout is necessary to extract the URL. const matchExprProxyUrl = 'Now listening on: (?.*)'; const matchExprICorDebugPort = 'Listening iCorDebug on: (?.*)'; const matchExprBrowserPort = 'Waiting for browser on: (?.*)'; - const foundProxyUrl = `${output}`.match(matchExprProxyUrl); - const foundICorDebugPort = `${output}`.match(matchExprICorDebugPort); - const foundBrowserPort = `${output}`.match(matchExprBrowserPort); + const foundProxyUrl = `${chunk}`.match(matchExprProxyUrl); + const foundICorDebugPort = `${chunk}`.match(matchExprICorDebugPort); + const foundBrowserPort = `${chunk}`.match(matchExprBrowserPort); const proxyUrlString = foundProxyUrl?.groups?.url; if (foundICorDebugPort?.groups?.port != undefined) { proxyICorDebugPort = Number(foundICorDebugPort?.groups?.port); @@ -365,27 +367,21 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati } BlazorDebugConfigurationProvider.pidsByUrl.set(urlStr, spawnedProxy.pid); const url = new URL(proxyUrlString); - return [ - `${url.protocol.replace(`http`, `ws`)}//${url.host}{browserInspectUriPath}`, - proxyICorDebugPort, - proxyBrowserPort, - ]; + newUri = `${url.protocol.replace(`http`, `ws`)}//${url.host}{browserInspectUriPath}`; + eventEmmiter.emit('vsWebAssemblyReady'); } - } + }); - for await (const error of spawnedProxy.stderr) { - BlazorDebugConfigurationProvider.vsWebAssemblyBridgeOutputChannel.appendLine(`ERROR: ${error}`); - } - } catch (error: any) { - if (spawnedProxy.pid) { - BlazorDebugConfigurationProvider.vsWebAssemblyBridgeOutputChannel.appendLine( - `Error occured while spawning debug proxy. Terminating debug proxy server.` - ); - process.kill(spawnedProxy.pid); - } - throw error; + stream.on('err', (err) => { + BlazorDebugConfigurationProvider.vsWebAssemblyBridgeOutputChannel.appendLine(err.toString()); + eventEmmiter.emit('vsWebAssemblyReady'); + }); } - return ['', -1, -1]; + + handleData(spawnedProxy.stdout); + handleData(spawnedProxy.stderr); + await new Promise((resolve) => eventEmmiter.once('vsWebAssemblyReady', resolve)); + return [newUri, proxyICorDebugPort, proxyBrowserPort]; } private static async isNet9OrNewer(): Promise { @@ -419,17 +415,14 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati if (proxy) { const result = await proxy.ExecuteQueryAsync(queryString); const queryResult = JSON.parse(result) as QueryResult; + const pattern = /net(\d+\.\d+)/; if (queryResult && queryResult.Items) { - isNet9OrNewer = true; + isNet9OrNewer = false; queryResult.Items.forEach((project) => { project.ActiveConfigurations?.forEach((activeConfig) => { - if ( - activeConfig.BuildProperties[0].Value == 'net5.0' || - activeConfig.BuildProperties[0].Value == 'net6.0' || - activeConfig.BuildProperties[0].Value == 'net7.0' || - activeConfig.BuildProperties[0].Value == 'net8.0' - ) { - isNet9OrNewer = false; + const match = activeConfig.BuildProperties[0].Value.match(pattern); + if (match && match[1] >= 9) { + isNet9OrNewer = true; } }); }); @@ -446,6 +439,9 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati private static async useVSDbg(): Promise { const wasmConfig = vscode.workspace.getConfiguration('csharp'); const useVSDbg = wasmConfig.get('wasm.debug.useVSDbg') == true; + if (!useVSDbg) { + return false; + } const existWebAssemblyWebBridge = existsSync(BlazorDebugConfigurationProvider.getWebAssemblyWebBridgePath()); const csharpDevKitExtension = getCSharpDevKit(); let isNet9OrNewer = true; diff --git a/src/shared/assets.ts b/src/shared/assets.ts index 873a733e5..f907a4f0f 100644 --- a/src/shared/assets.ts +++ b/src/shared/assets.ts @@ -359,16 +359,32 @@ export class AssetGenerator { public isDotNet9OrNewer(): boolean { let ret = false; - this.executableProjects.forEach((project) => { - if (project.isWebAssemblyProject) { - const projectFileText = fs.readFileSync(project.projectPath, 'utf8'); - ret = - projectFileText.toLowerCase().indexOf('net8.0') < 0 && - projectFileText.toLowerCase().indexOf('net7.0') < 0 && - projectFileText.toLowerCase().indexOf('net6.0') < 0 && - projectFileText.toLowerCase().indexOf('net5.0') < 0; + for (let i = 0; i < this.executableProjects.length; i++) { + const project = this.executableProjects.at(i); + if (project?.isWebAssemblyProject) { + let projectFileText = fs.readFileSync(project.projectPath, 'utf8'); + projectFileText = projectFileText.toLowerCase(); + const pattern = + /.*.*<\/targetframework>.*|.*.*<\/targetframeworks>.*/; + const pattern2 = /net(\d+\.\d+)/g; + const match = projectFileText.match(pattern); + if (match) { + const matches = match[0] + .replace('', '') + .replace('', '') + .replace('', '') + .replace('', '') + .trim() + .matchAll(pattern2); + for (const match of matches) { + ret = true; + if (match && +match[1] < 9) { + return false; + } + } + } } - }); + } return ret; } } diff --git a/src/shared/utils.ts b/src/shared/utils.ts index 873c05a6c..cfb626065 100644 --- a/src/shared/utils.ts +++ b/src/shared/utils.ts @@ -36,13 +36,13 @@ export function findNetStandardTargetFramework(tfmShortNames: string[]): string } export function isWebProject(projectPath: string): [boolean, boolean] { - const projectFileText = fs.readFileSync(projectPath, 'utf8'); + const projectFileText = fs.readFileSync(projectPath, 'utf8').toLowerCase(); // Assume that this is an MSBuild project. In that case, look for the 'Sdk="Microsoft.NET.Sdk.Web"' attribute. // TODO: Have OmniSharp provide the list of SDKs used by a project and check that list instead. return [ - projectFileText.toLowerCase().indexOf('sdk="microsoft.net.sdk.web"') >= 0, - projectFileText.toLowerCase().indexOf('sdk="microsoft.net.sdk.blazorwebassembly"') >= 0, + projectFileText.indexOf('sdk="microsoft.net.sdk.web"') >= 0, + projectFileText.indexOf('sdk="microsoft.net.sdk.blazorwebassembly"') >= 0, ]; } From 04b4c77dcdf5f6f1b5a2df68980dd8d260521807 Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Mon, 1 Jul 2024 20:07:16 -0300 Subject: [PATCH 12/15] Renaming function. --- src/coreclrDebug/provisionalDebugSessionTracker.ts | 4 ++-- src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/coreclrDebug/provisionalDebugSessionTracker.ts b/src/coreclrDebug/provisionalDebugSessionTracker.ts index 97755c6c6..f86452c74 100644 --- a/src/coreclrDebug/provisionalDebugSessionTracker.ts +++ b/src/coreclrDebug/provisionalDebugSessionTracker.ts @@ -88,12 +88,12 @@ export class ProvisionalDebugSessionTracker { this._onDidStartDebugSession?.dispose(); this._onDidTerminateDebugSession?.dispose(); } - getDebugSessionByName(name: string): vscode.DebugSession | undefined { + getDebugSessionByType(type: string): vscode.DebugSession | undefined { const sessions = this._sessions; if (sessions != undefined) { const sessionsIt = sessions.entries(); for (const session of sessionsIt) { - if (session[0].type == name) { + if (session[0].type == type) { return session[0]; } } diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index 8ce9698d2..ffcf6ae60 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -222,7 +222,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati browser.port = portBrowserDebug; } - const monovsdbgSession = debugSessionTracker.getDebugSessionByName('monovsdbg'); + const monovsdbgSession = debugSessionTracker.getDebugSessionByType('monovsdbg'); if (useVSDbg) { //means that we don't have c#devkit installed so we get information from configSettings if (monovsdbgSession === undefined && getCSharpDevKit() === undefined) { From a5452a8fa3e9a9d1ac147a005f64ba52a346a61a Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Tue, 2 Jul 2024 12:28:03 -0300 Subject: [PATCH 13/15] Addressing Gregg's comments. --- .../blazorDebugConfigurationProvider.ts | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index ffcf6ae60..3eb9e223b 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -411,23 +411,24 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati const proxy = await getCSharpDevKit()?.exports.serviceBroker.getProxy( Descriptors.projectQueryExecutionService ); + if (!proxy) { + throw new Error('Unable to obtain required service from C# Dev Kit.'); + } try { - if (proxy) { - const result = await proxy.ExecuteQueryAsync(queryString); - const queryResult = JSON.parse(result) as QueryResult; - const pattern = /net(\d+\.\d+)/; - if (queryResult && queryResult.Items) { - isNet9OrNewer = false; - queryResult.Items.forEach((project) => { - project.ActiveConfigurations?.forEach((activeConfig) => { - const match = activeConfig.BuildProperties[0].Value.match(pattern); - if (match && match[1] >= 9) { - isNet9OrNewer = true; - } - }); + const result = await proxy.ExecuteQueryAsync(queryString); + const queryResult = JSON.parse(result) as QueryResult; + const pattern = /net(\d+\.\d+)/; + if (queryResult && queryResult.Items) { + isNet9OrNewer = false; + queryResult.Items.forEach((project) => { + project.ActiveConfigurations?.forEach((activeConfig) => { + const match = activeConfig.BuildProperties[0].Value.match(pattern); + if (match && match[1] >= 9) { + isNet9OrNewer = true; + } }); - return isNet9OrNewer; - } + }); + return isNet9OrNewer; } } catch (err) { throw new Error('Exception while talking to proxy: ' + err); From e06f914d0674b8c5e5b7c9eac5d55e3f36f9c7ba Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Mon, 8 Jul 2024 16:49:36 -0300 Subject: [PATCH 14/15] Addressing Gregg's comments. --- src/csharpExtensionExports.ts | 2 +- .../blazorDebugConfigurationProvider.ts | 32 +++++++++++++------ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/csharpExtensionExports.ts b/src/csharpExtensionExports.ts index ab44fc058..387de9d92 100644 --- a/src/csharpExtensionExports.ts +++ b/src/csharpExtensionExports.ts @@ -26,7 +26,7 @@ export interface CSharpExtensionExports { determineBrowserType: () => Promise; experimental: CSharpExtensionExperimentalExports; getComponentFolder: (componentName: string) => string; - tryToUseVSDbgForMono: (urlStr: string) => Promise<[string, number, number]>; + tryToUseVSDbgForMono: (urlStr: string, projectPath: string) => Promise<[string, number, number]>; } export interface CSharpExtensionExperimentalExports { diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index 3eb9e223b..2e49c9f56 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -185,7 +185,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati url: string ) { const originalInspectUri = inspectUri; - const useVSDbg = await BlazorDebugConfigurationProvider.useVSDbg(); + const useVSDbg = await BlazorDebugConfigurationProvider.useVSDbg(''); let portBrowserDebug = -1; if (useVSDbg) { [inspectUri, portBrowserDebug] = await this.attachToAppOnBrowser(folder, configuration, url); @@ -384,7 +384,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati return [newUri, proxyICorDebugPort, proxyBrowserPort]; } - private static async isNet9OrNewer(): Promise { + private static async isNet9OrNewer(projectPath: string): Promise { let isNet9OrNewer = false; const configurationsObject = { $properties: ['BuildProperties'], @@ -401,13 +401,25 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati const query = { context: 'Projects', query: { - $properties: ['ActiveConfigurations'], + $properties: ['ActiveConfigurations', 'Path'], ActiveConfigurations: configurationsObject, $filter: { ProjectsByCapabilities: ['WebAssembly'] }, }, }; - - const queryString = JSON.stringify(query); + let queryString = ''; + if (projectPath != '') { + const query = { + context: 'Projects', + query: { + $properties: ['ActiveConfigurations', 'Path'], + ActiveConfigurations: configurationsObject, + $where: { '==': [{ '.': 'Path' }, projectPath] }, + }, + }; + queryString = JSON.stringify(query); + } else { + queryString = JSON.stringify(query); + } const proxy = await getCSharpDevKit()?.exports.serviceBroker.getProxy( Descriptors.projectQueryExecutionService ); @@ -437,7 +449,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati } return isNet9OrNewer; } - private static async useVSDbg(): Promise { + private static async useVSDbg(projectPath: string): Promise { const wasmConfig = vscode.workspace.getConfiguration('csharp'); const useVSDbg = wasmConfig.get('wasm.debug.useVSDbg') == true; if (!useVSDbg) { @@ -446,8 +458,8 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati const existWebAssemblyWebBridge = existsSync(BlazorDebugConfigurationProvider.getWebAssemblyWebBridgePath()); const csharpDevKitExtension = getCSharpDevKit(); let isNet9OrNewer = true; - if (useVSDbg && existWebAssemblyWebBridge && csharpDevKitExtension !== undefined) { - isNet9OrNewer = await BlazorDebugConfigurationProvider.isNet9OrNewer(); + if (existWebAssemblyWebBridge && csharpDevKitExtension !== undefined) { + isNet9OrNewer = await BlazorDebugConfigurationProvider.isNet9OrNewer(projectPath); } return useVSDbg && existWebAssemblyWebBridge && isNet9OrNewer; } @@ -461,8 +473,8 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati return vsWebAssemblyBridge; } - public static async tryToUseVSDbgForMono(urlStr: string): Promise<[string, number, number]> { - const useVSDbg = await BlazorDebugConfigurationProvider.useVSDbg(); + public static async tryToUseVSDbgForMono(urlStr: string, projectPath: string): Promise<[string, number, number]> { + const useVSDbg = await BlazorDebugConfigurationProvider.useVSDbg(projectPath); if (useVSDbg) { const [inspectUri, portICorDebug, portBrowserDebug] = From 9dfa93c1f388bf3a151d774a472e0d41603fb09f Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Wed, 10 Jul 2024 18:24:43 -0300 Subject: [PATCH 15/15] Addressing Gregg's suggestion. --- .../blazorDebug/blazorDebugConfigurationProvider.ts | 11 ++++++++--- src/shared/assets.ts | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts index 2e49c9f56..fc0cd11be 100644 --- a/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts +++ b/src/razor/src/blazorDebug/blazorDebugConfigurationProvider.ts @@ -185,7 +185,12 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati url: string ) { const originalInspectUri = inspectUri; - const useVSDbg = await BlazorDebugConfigurationProvider.useVSDbg(''); + let folderPath = configuration.cwd; + if (folder && folderPath) { + folderPath = folderPath.replace('${workspaceFolder}', fileURLToPath(folder.uri.toString())); + folderPath = folderPath.replaceAll(/[\\/]/g, path.sep); + } + const useVSDbg = await BlazorDebugConfigurationProvider.useVSDbg(folderPath ? folderPath : ''); let portBrowserDebug = -1; if (useVSDbg) { [inspectUri, portBrowserDebug] = await this.attachToAppOnBrowser(folder, configuration, url); @@ -413,7 +418,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati query: { $properties: ['ActiveConfigurations', 'Path'], ActiveConfigurations: configurationsObject, - $where: { '==': [{ '.': 'Path' }, projectPath] }, + $where: { startswith: [{ '.': 'Path' }, projectPath] }, }, }; queryString = JSON.stringify(query); @@ -429,7 +434,7 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati try { const result = await proxy.ExecuteQueryAsync(queryString); const queryResult = JSON.parse(result) as QueryResult; - const pattern = /net(\d+\.\d+)/; + const pattern = /^net(\d+\.\d+)\b/; if (queryResult && queryResult.Items) { isNet9OrNewer = false; queryResult.Items.forEach((project) => { diff --git a/src/shared/assets.ts b/src/shared/assets.ts index f907a4f0f..79660e485 100644 --- a/src/shared/assets.ts +++ b/src/shared/assets.ts @@ -366,7 +366,7 @@ export class AssetGenerator { projectFileText = projectFileText.toLowerCase(); const pattern = /.*.*<\/targetframework>.*|.*.*<\/targetframeworks>.*/; - const pattern2 = /net(\d+\.\d+)/g; + const pattern2 = /^net(\d+\.\d+)\b/g; const match = projectFileText.match(pattern); if (match) { const matches = match[0]