Compare commits
26
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe9cfe318a | ||
|
|
2080e28813 | ||
|
|
79e846844f | ||
|
|
3a74d10317 | ||
|
|
ef637af801 | ||
|
|
833795da79 | ||
|
|
68bc9642f4 | ||
|
|
a8bae9e3a6 | ||
|
|
fe2c5ef04b | ||
|
|
83521bc682 | ||
|
|
3263fab54f | ||
|
|
3254d7db33 | ||
|
|
77bdf4b028 | ||
|
|
ca16d85890 | ||
|
|
74f12d8071 | ||
|
|
dc6b33eda2 | ||
|
|
bde931bc3a | ||
|
|
872c86ad20 | ||
|
|
6736b6771f | ||
|
|
4b4ea51138 | ||
|
|
380dcbbb58 | ||
|
|
0a002db1e5 | ||
|
|
b5b1c2b9df | ||
|
|
dd8f358076 | ||
|
|
34cd49174e | ||
|
|
2874fd2600 |
@@ -1,5 +1,28 @@
|
||||
# C/C++ for Visual Studio Code Change Log
|
||||
|
||||
## Version 1.10.8: July 7, 2022
|
||||
### Enhancements
|
||||
* Allow breakpoints for Rust debugging. [PR #9484](https://github.com/microsoft/vscode-cpptools/pull/9484)
|
||||
* Make `C_Cpp.debugShortcut` settable per-workspace folder. [PR #9514](https://github.com/microsoft/vscode-cpptools/pull/9514)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix crash if clang-tidy returns a replacement with an empty FilePath. [#9437](https://github.com/microsoft/vscode-cpptools/issues/9437)
|
||||
* Fix skipping the compiler argument after `-c`. [#9453](https://github.com/microsoft/vscode-cpptools/issues/9453)
|
||||
* Fix `-std:c++20` not being handled with cl.exe. [#9458](https://github.com/microsoft/vscode-cpptools/issues/9458)
|
||||
* Fix bug with the environment being incorrect when compiler querying. [#9472](https://github.com/microsoft/vscode-cpptools/issues/9472)
|
||||
* Fix duplicate compiler args in compiler query with custom configuration providers using cpptools-api prior to v6. [#9531](https://github.com/microsoft/vscode-cpptools/issues/9531)
|
||||
* Fix process launching concurrency issues on Windows.
|
||||
|
||||
## Version 1.10.7: June 15, 2022
|
||||
### Bug Fixes
|
||||
* Fix bugs with process creation on Windows (which caused IntelliSense to fail). [#9431](https://github.com/microsoft/vscode-cpptools/issues/9431)
|
||||
|
||||
## Version 1.10.6: June 14, 2022
|
||||
### Bug Fixes
|
||||
* Fix `@responseFile` in `compilerArgs` not being handled on Linux/Mac. [#9434](https://github.com/microsoft/vscode-cpptools/issues/9434)
|
||||
* Fix debug preLaunchTask not working when `C_Cpp.intelliSenseEngine` is `"Disabled"`. [#9446](https://github.com/microsoft/vscode-cpptools/issues/9446)
|
||||
* Make the `C_Cpp.legacyCompilerArgsBehavior` setting non-deprecated.
|
||||
|
||||
## Version 1.10.5: June 8, 2022
|
||||
### New Features
|
||||
* Add code actions to apply clang-tidy fixes (and other actions). [#8476](https://github.com/microsoft/vscode-cpptools/issues/8476)
|
||||
|
||||
+3067
-2822
File diff suppressed because it is too large
Load Diff
+12
-8
@@ -2,7 +2,7 @@
|
||||
"name": "cpptools",
|
||||
"displayName": "C/C++",
|
||||
"description": "C/C++ IntelliSense, debugging, and code browsing.",
|
||||
"version": "1.10.5-main",
|
||||
"version": "1.10.8-main",
|
||||
"publisher": "ms-vscode",
|
||||
"icon": "LanguageCCPP_color_128x.png",
|
||||
"readme": "README.md",
|
||||
@@ -2664,14 +2664,13 @@
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%c_cpp.configuration.debugShortcut.description%",
|
||||
"scope": "application"
|
||||
"scope": "resource"
|
||||
},
|
||||
"C_Cpp.legacyCompilerArgsBehavior": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "%c_cpp.configuration.legacyCompilerArgsBehavior.markdownDescription%",
|
||||
"scope": "resource",
|
||||
"deprecationMessage": "%c_cpp.configuration.legacyCompilerArgsBehavior.deprecationMessage%"
|
||||
"scope": "resource"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2842,7 +2841,8 @@
|
||||
"languages": [
|
||||
"c",
|
||||
"cpp",
|
||||
"cuda-cpp"
|
||||
"cuda-cpp",
|
||||
"rust"
|
||||
],
|
||||
"_aiKeyComment": "Ignore 'Property aiKey is not allowed'. See https://github.com/microsoft/vscode/issues/76493",
|
||||
"aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
|
||||
@@ -3520,7 +3520,8 @@
|
||||
"languages": [
|
||||
"c",
|
||||
"cpp",
|
||||
"cuda-cpp"
|
||||
"cuda-cpp",
|
||||
"rust"
|
||||
],
|
||||
"_aiKeyComment": "Ignore 'Property aiKey is not allowed'. See https://github.com/microsoft/vscode/issues/76493",
|
||||
"aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
|
||||
@@ -3924,6 +3925,9 @@
|
||||
},
|
||||
{
|
||||
"language": "cuda"
|
||||
},
|
||||
{
|
||||
"language": "rust"
|
||||
}
|
||||
],
|
||||
"jsonValidation": [
|
||||
@@ -4529,7 +4533,7 @@
|
||||
"plist": "^3.0.5",
|
||||
"tmp": "^0.2.1",
|
||||
"vscode-cpptools": "^6.1.0",
|
||||
"vscode-extension-telemetry": "^0.4.4",
|
||||
"@vscode/extension-telemetry": "^0.6.2",
|
||||
"vscode-languageclient": "^5.2.1",
|
||||
"vscode-nls": "^5.0.0",
|
||||
"vscode-tas-client": "^0.1.27",
|
||||
@@ -4550,4 +4554,4 @@
|
||||
"y18n": "^5.0.5",
|
||||
"minimist": "^1.2.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
|
||||
|
||||
const selection: ConfigMenu | undefined = await vscode.window.showQuickPick(this.localizeConfigDetail(items), {placeHolder: localize("select.configuration", "Select a configuration")});
|
||||
if (!selection) {
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": "debug", "configSource": ConfigSource.unknown, "configMode": ConfigMode.unknown, "cancelled": "true", "success": "true" });
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": "debug", "configSource": ConfigSource.unknown, "configMode": ConfigMode.unknown, "cancelled": "true", "succeeded": "true" });
|
||||
return []; // User canceled it.
|
||||
}
|
||||
|
||||
@@ -113,14 +113,13 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
|
||||
* resolveDebugConfigurationWithSubstitutedVariables will be automatically called after this function.
|
||||
*/
|
||||
async resolveDebugConfiguration(folder: vscode.WorkspaceFolder | undefined, config: CppDebugConfiguration, token?: vscode.CancellationToken): Promise<CppDebugConfiguration | null | undefined> {
|
||||
const isIntelliSenseDisabled: boolean = new CppSettings((vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0) ? vscode.workspace.workspaceFolders[0]?.uri : undefined).intelliSenseEngine === "Disabled";
|
||||
if (!config || !config.type) {
|
||||
// When DebugConfigurationProviderTriggerKind is Dynamic, this function will be called with an empty config.
|
||||
// Hence, providing debug configs, and start debugging should be done manually.
|
||||
// resolveDebugConfiguration will be automatically called after calling provideDebugConfigurations.
|
||||
const configs: CppDebugConfiguration[]= await this.provideDebugConfigurations(folder);
|
||||
if (!configs || configs.length === 0) {
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": DebugType.debug, "configSource": folder ? ConfigSource.workspaceFolder : ConfigSource.singleFile, "configMode": ConfigMode.noLaunchConfig, "cancelled": "true", "success": "true" });
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": DebugType.debug, "configSource": folder ? ConfigSource.workspaceFolder : ConfigSource.singleFile, "configMode": ConfigMode.noLaunchConfig, "cancelled": "true", "succeeded": "true" });
|
||||
return undefined; // aborts debugging silently
|
||||
} else {
|
||||
// Currently, we expect only one debug config to be selected.
|
||||
@@ -148,6 +147,18 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
|
||||
|
||||
if (config.preLaunchTask) {
|
||||
config.configSource = this.getDebugConfigSource(config, folder);
|
||||
const isIntelliSenseDisabled: boolean = new CppSettings((vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0) ? vscode.workspace.workspaceFolders[0]?.uri : undefined).intelliSenseEngine === "Disabled";
|
||||
// Run the build task if IntelliSense is disabled.
|
||||
if (isIntelliSenseDisabled) {
|
||||
try {
|
||||
await cppBuildTaskProvider.runBuildTask(config.preLaunchTask);
|
||||
config.preLaunchTask = undefined;
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": DebugType.debug, "configSource": config.configSource || ConfigSource.unknown, "configMode": ConfigMode.launchConfig, "cancelled": "false", "succeeded": "true" });
|
||||
} catch (err) {
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": DebugType.debug, "configSource": config.configSource || ConfigSource.unknown, "configMode": ConfigMode.launchConfig, "cancelled": "false", "succeeded": "false" });
|
||||
}
|
||||
return config;
|
||||
}
|
||||
let resolveByVsCode: boolean = false;
|
||||
const isDebugPanel: boolean = !config.debuggerEvent || (config.debuggerEvent && config.debuggerEvent === DebuggerEvent.debugPanel);
|
||||
const singleFile: boolean = config.configSource === ConfigSource.singleFile;
|
||||
@@ -169,11 +180,10 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
|
||||
config.debugType = config.debugType ? config.debugType : DebugType.debug;
|
||||
const configMode: ConfigMode = isExistingConfig ? ConfigMode.launchConfig : ConfigMode.noLaunchConfig;
|
||||
// if configuration.debuggerEvent === undefined, it means this configuration is already defined in launch.json and is shown in debugPanel.
|
||||
Telemetry.logDebuggerEvent(config.debuggerEvent || DebuggerEvent.debugPanel, { "debugType": config.debugType || DebugType.debug, "configSource": config.configSource || ConfigSource.unknown, "configMode": configMode, "cancelled": "false", "success": "true" });
|
||||
Telemetry.logDebuggerEvent(config.debuggerEvent || DebuggerEvent.debugPanel, { "debugType": config.debugType || DebugType.debug, "configSource": config.configSource || ConfigSource.unknown, "configMode": configMode, "cancelled": "false", "succeeded": "true" });
|
||||
|
||||
if (!resolveByVsCode) {
|
||||
if ((singleFile || isIntelliSenseDisabled ||
|
||||
(isDebugPanel && !folder && isExistingTask))) {
|
||||
if ((singleFile || (isDebugPanel && !folder && isExistingTask))) {
|
||||
await this.resolvePreLaunchTask(config, configMode);
|
||||
config.preLaunchTask = undefined;
|
||||
} else {
|
||||
@@ -753,7 +763,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
|
||||
}
|
||||
const selectedConfig: vscode.DebugConfiguration | undefined = await this.selectConfiguration(textEditor, false, true);
|
||||
if (!selectedConfig) {
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.addConfigGear, { "configSource": ConfigSource.workspaceFolder, "configMode": ConfigMode.launchConfig, "cancelled": "true", "success": "true" });
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.addConfigGear, { "configSource": ConfigSource.workspaceFolder, "configMode": ConfigMode.launchConfig, "cancelled": "true", "succeeded": "true" });
|
||||
return; // User canceled it.
|
||||
}
|
||||
|
||||
@@ -770,7 +780,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
|
||||
selectedConfig.debuggerEvent = undefined;
|
||||
// Write debug configuration in launch.json file.
|
||||
await this.writeDebugConfig(selectedConfig, isExistingConfig, folder);
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.addConfigGear, { "configSource": ConfigSource.workspaceFolder, "configMode": ConfigMode.launchConfig, "cancelled": "false", "success": "true" });
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.addConfigGear, { "configSource": ConfigSource.workspaceFolder, "configMode": ConfigMode.launchConfig, "cancelled": "false", "succeeded": "true" });
|
||||
}
|
||||
|
||||
public async buildAndRun(textEditor: vscode.TextEditor): Promise<void> {
|
||||
@@ -782,7 +792,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
|
||||
let folder: vscode.WorkspaceFolder | undefined = vscode.workspace.getWorkspaceFolder(textEditor.document.uri);
|
||||
const selectedConfig: CppDebugConfiguration | undefined = await this.selectConfiguration(textEditor);
|
||||
if (!selectedConfig) {
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.playButton, { "debugType": debugModeOn ? DebugType.debug : DebugType.run, "configSource": ConfigSource.unknown, "cancelled": "true", "success": "true" });
|
||||
Telemetry.logDebuggerEvent(DebuggerEvent.playButton, { "debugType": debugModeOn ? DebugType.debug : DebugType.run, "configSource": ConfigSource.unknown, "cancelled": "true", "succeeded": "true" });
|
||||
return; // User canceled it.
|
||||
}
|
||||
|
||||
@@ -860,7 +870,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
|
||||
if (e && e.message === util.failedToParseJson) {
|
||||
vscode.window.showErrorMessage(util.failedToParseJson);
|
||||
}
|
||||
Telemetry.logDebuggerEvent(config.debuggerEvent || DebuggerEvent.debugPanel, { "debugType": config.debugType || DebugType.debug, "configSource": config.configSource || ConfigSource.unknown, "configMode": configMode, "cancelled": "false", "success": "false" });
|
||||
Telemetry.logDebuggerEvent(config.debuggerEvent || DebuggerEvent.debugPanel, { "debugType": config.debugType || DebugType.debug, "configSource": config.configSource || ConfigSource.unknown, "configMode": configMode, "cancelled": "false", "succeeded": "false" });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3215,6 +3215,7 @@ export class DefaultClient implements Client {
|
||||
itemConfig.compilerPath = compilerPathAndArgs.compilerPath;
|
||||
if (providerVersion < Version.v6) {
|
||||
itemConfig.compilerArgsLegacy = compilerPathAndArgs.allCompilerArgs;
|
||||
itemConfig.compilerArgs = undefined;
|
||||
} else {
|
||||
itemConfig.compilerArgs = compilerPathAndArgs.allCompilerArgs;
|
||||
}
|
||||
@@ -3306,6 +3307,7 @@ export class DefaultClient implements Client {
|
||||
sanitized.compilerPath = compilerPathAndArgs.compilerPath;
|
||||
if (providerVersion < Version.v6) {
|
||||
sanitized.compilerArgsLegacy = compilerPathAndArgs.allCompilerArgs;
|
||||
sanitized.compilerArgs = undefined;
|
||||
} else {
|
||||
sanitized.compilerArgs = compilerPathAndArgs.allCompilerArgs;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
'use strict';
|
||||
|
||||
import TelemetryReporter from 'vscode-extension-telemetry';
|
||||
import TelemetryReporter from '@vscode/extension-telemetry';
|
||||
import { getExperimentationServiceAsync, IExperimentationService, IExperimentationTelemetry, TargetPopulation } from 'vscode-tas-client';
|
||||
import * as util from './common';
|
||||
|
||||
|
||||
+44
-5
@@ -101,6 +101,42 @@
|
||||
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
|
||||
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
|
||||
|
||||
"@microsoft/[email protected]", "@microsoft/1ds-core-js@^3.2.3":
|
||||
version "3.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.3.tgz#2217d92ec8b073caa4577a13f40ea3a5c4c4d4e7"
|
||||
integrity sha512-796A8fd90oUKDRO7UXUT9BwZ3G+a9XzJj5v012FcCN/2qRhEsIV3x/0wkx2S08T4FiQEUPkB2uoYHpEjEneM7g==
|
||||
dependencies:
|
||||
"@microsoft/applicationinsights-core-js" "2.8.4"
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/1ds-post-js@^3.2.3":
|
||||
version "3.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.3.tgz#1fa7d51615a44f289632ae8c588007ba943db216"
|
||||
integrity sha512-tcGJQXXr2LYoBbIXPoUVe1KCF3OtBsuKDFL7BXfmNtuSGtWF0yejm6H83DrR8/cUIGMRMUP9lqNlqFGwDYiwAQ==
|
||||
dependencies:
|
||||
"@microsoft/1ds-core-js" "3.2.3"
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/[email protected]":
|
||||
version "2.8.4"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.4.tgz#607e531bb241a8920d43960f68a7c76a6f9af596"
|
||||
integrity sha512-FoA0FNOsFbJnLyTyQlYs6+HR7HMEa6nAOE6WOm9WVejBHMHQ/Bdb+hfVFi6slxwCimr/ner90jchi4/sIYdnyQ==
|
||||
dependencies:
|
||||
"@microsoft/applicationinsights-shims" "2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/[email protected]", "@microsoft/applicationinsights-shims@^2.0.1":
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.1.tgz#5d72fb7aaf4056c4fda54f9d7c93ccf8ca9bcbfd"
|
||||
integrity sha512-G0MXf6R6HndRbDy9BbEj0zrLeuhwt2nsXk2zKtF0TnYo39KgYqhYC2ayIzKPTm2KAE+xzD7rgyLdZnrcRvt9WQ==
|
||||
|
||||
"@microsoft/dynamicproto-js@^1.1.6":
|
||||
version "1.1.6"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.6.tgz#6fe03468862861f5f88ac4c3959a652b3797f1bc"
|
||||
integrity sha512-D1Oivw1A4bIXhzBIy3/BBPn3p2On+kpO2NiYt9shICDK7L/w+cR6FFBUsBZ05l6iqzTeL+Jm8lAYn0g6G7DmDg==
|
||||
|
||||
"@nodelib/[email protected]":
|
||||
version "2.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
|
||||
@@ -415,6 +451,14 @@
|
||||
resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
|
||||
integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
|
||||
|
||||
"@vscode/extension-telemetry@^0.6.2":
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.6.2.tgz#b86814ee680615730da94220c2b03ea9c3c14a8e"
|
||||
integrity sha512-yb/wxLuaaCRcBAZtDCjNYSisAXz3FWsSqAha5nhHcYxx2ZPdQdWuZqVXGKq0ZpHVndBWWtK6XqtpCN2/HB4S1w==
|
||||
dependencies:
|
||||
"@microsoft/1ds-core-js" "^3.2.3"
|
||||
"@microsoft/1ds-post-js" "^3.2.3"
|
||||
|
||||
"@vscode/test-electron@^1.6.1":
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@vscode/test-electron/-/test-electron-1.6.1.tgz#2b282154097e250ee9b94b6a284eb5804e53a3d7"
|
||||
@@ -5790,11 +5834,6 @@ [email protected], vscode-debugprotocol@^1.35.0:
|
||||
resolved "https://registry.yarnpkg.com/vscode-debugprotocol/-/vscode-debugprotocol-1.38.0.tgz#7a9bcd457e6642f48fabef114c0fa1c25a2fb1e7"
|
||||
integrity sha512-oam9iSjNfXSn71a8bmNsXv8k/rIKSOcllIPrFnNgxd1EMBpfnum+gb7lmRpcH0zSjGb+OH8Ncn8B5tv8srWbNQ==
|
||||
|
||||
vscode-extension-telemetry@^0.4.4:
|
||||
version "0.4.4"
|
||||
resolved "https://registry.yarnpkg.com/vscode-extension-telemetry/-/vscode-extension-telemetry-0.4.4.tgz#e5d5ac90ea7d07ec054f5310893d95d43d5984b0"
|
||||
integrity sha512-LzirNf2GnykXCAqqWrvj+snYqgkPVyjwM72tYOHgcZiG/ZRuNjmqlgvs+SomEJdmD8cutduitPmhoyIuzOrVfA==
|
||||
|
||||
vscode-jsonrpc@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz#a7bf74ef3254d0a0c272fab15c82128e378b3be9"
|
||||
|
||||
Reference in New Issue
Block a user