Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5f8f84b43 | ||
|
|
e53b190380 | ||
|
|
1846fd4001 | ||
|
|
62e09945e3 | ||
|
|
c9b0db02fd | ||
|
|
51da619eec | ||
|
|
3eb50568e9 | ||
|
|
866b145645 | ||
|
|
9762fe5397 | ||
|
|
377896c30a | ||
|
|
98f13a6f11 | ||
|
|
0d85aea687 | ||
|
|
25d2b76514 | ||
|
|
42dfef3f6b | ||
|
|
1ce1e9cd71 | ||
|
|
65163966d5 | ||
|
|
edf8e0a155 | ||
|
|
4083075476 | ||
|
|
b745ebc218 | ||
|
|
b69d17a0f5 | ||
|
|
be8b6fb693 |
+21
-18
@@ -1,25 +1,10 @@
|
||||
# C/C++ for Visual Studio Code Changelog
|
||||
|
||||
## Version 1.17.2: August 14, 2023
|
||||
### Enhancements
|
||||
* Enable a subset of markdown to render in hover by default and a `C_Cpp.markdownInComments` setting. [#6020](https://github.com/microsoft/vscode-cpptools/issues/6020), [#10461](https://github.com/microsoft/vscode-cpptools/issues/10461)
|
||||
* Add support for gcc 13 features. [#11038](https://github.com/microsoft/vscode-cpptools/issues/11038)
|
||||
* Add default compiler detection of additional compilers in MSYS environments. [#11211](https://github.com/microsoft/vscode-cpptools/issues/11211)
|
||||
* Use musl for building Linux binaries of the extension.
|
||||
* Add support for additional compiler wrappers: gomacc, distcc, buildcache, and icecc.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix a couple bugs with documentation comments. [#5241](https://github.com/microsoft/vscode-cpptools/issues/5241)
|
||||
* Added `__float128` support in gcc IntelliSense mode. [#9558](https://github.com/microsoft/vscode-cpptools/issues/9558)
|
||||
## Version 1.17.1: August 9, 2023
|
||||
## Bug Fixes
|
||||
* Fix an issue where the debugger would get stuck while using cl.exe options. [#10231](https://github.com/microsoft/vscode-cpptools/issues/10231)
|
||||
* Fix C/C++ commands showing in the Command Palette with non-C/C++ files. [#10421](https://github.com/microsoft/vscode-cpptools/issues/10421)
|
||||
* Fix the 'Select IntelliSense Configuration' command to also update an existing `compilerPath` in c_cpp_properties.json. [#10808](https://github.com/microsoft/vscode-cpptools/issues/10808)
|
||||
* Fix `#include` completion leaving an extra `>`. [#11042](https://github.com/microsoft/vscode-cpptools/issues/11042)
|
||||
* Fix an issue with matching of glob patterns containing path delimiters. [#11132](https://github.com/microsoft/vscode-cpptools/issues/11132)
|
||||
* Fix Create Declaration/Definition via `Quick Fix…` from hover tooltip. [#11157](https://github.com/microsoft/vscode-cpptools/issues/11157)
|
||||
* Fix issues with compiler querying of clang-cl. [#11207](https://github.com/microsoft/vscode-cpptools/issues/11207)
|
||||
* Fix `files.encoding` setting on startup. [#11210](https://github.com/microsoft/vscode-cpptools/issues/11210)
|
||||
* Fix a crash related to directories with a very large number of files. [#11226](https://github.com/microsoft/vscode-cpptools/issues/11226)
|
||||
* Fix the parameter format of call hierarchy items. [#11247](https://github.com/microsoft/vscode-cpptools/issues/11247)
|
||||
* Remove the vcpkg code action from the missing includes code action list. [#11252](https://github.com/microsoft/vscode-cpptools/issues/11252)
|
||||
* Fix the file path info of call hierarchy items to display the relative path to a workspace folder. [#11254](https://github.com/microsoft/vscode-cpptools/issues/11254)
|
||||
@@ -27,7 +12,25 @@
|
||||
* Fix a crash for CUDA projects with '>' in the command line. [#11289](https://github.com/microsoft/vscode-cpptools/issues/11289)
|
||||
* Increase the default standard for the 'Build and Debug Active File' feature to c++14 on macOS. [#11292](https://github.com/microsoft/vscode-cpptools/issues/11292)
|
||||
* Fix an issue with the compiler currently configured for use with IntelliSense being listed last in the task creation popup. [PR #11299](https://github.com/microsoft/vscode-cpptools/pull/11299)
|
||||
* Fix an issue to allow users to utilize the walkthrough without tasks.json. [PR #11300](https://github.com/microsoft/vscode-cpptools/pull/11300)
|
||||
* Fix an IPCH issue on Linux due to the Position Independent Executable (PIE) option not being set since 1.17.0.
|
||||
|
||||
## Version 1.17.0: July 26, 2023
|
||||
### Enhancements
|
||||
* Enable a subset of markdown to render in hover by default and a `C_Cpp.markdownInComments` setting. [#6020](https://github.com/microsoft/vscode-cpptools/issues/6020), [#10461](https://github.com/microsoft/vscode-cpptools/issues/10461)
|
||||
* Add default compiler detection of additional compilers in MSYS environments. [#11211](https://github.com/microsoft/vscode-cpptools/issues/11211)
|
||||
* Add support for additional compiler wrappers: gomacc, distcc, buildcache, and icecc.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix a couple bugs with documentation comments. [#5241](https://github.com/microsoft/vscode-cpptools/issues/5241)
|
||||
* Added `__float128` support in gcc IntelliSense mode. [#9558](https://github.com/microsoft/vscode-cpptools/issues/9558)
|
||||
* Address various issues with support for gcc 13. [#11038](https://github.com/microsoft/vscode-cpptools/issues/11038)
|
||||
* Fix `#include` completion leaving an extra `>`. [#11042](https://github.com/microsoft/vscode-cpptools/issues/11042)
|
||||
* Fix an issue with matching of glob patterns containing path delimiters. [#11132](https://github.com/microsoft/vscode-cpptools/issues/11132)
|
||||
* Fix Create Declaration/Definition via `Quick Fix…` from hover tooltip. [#11157](https://github.com/microsoft/vscode-cpptools/issues/11157)
|
||||
* Fix issues with compiler querying of clang-cl. [#11207](https://github.com/microsoft/vscode-cpptools/issues/11207)
|
||||
* Fix `files.encoding` setting on startup. [#11210](https://github.com/microsoft/vscode-cpptools/issues/11210)
|
||||
* Fix a crash related to directories with a very large number of files. [#11226](https://github.com/microsoft/vscode-cpptools/issues/11226)
|
||||
* Fix Rank > 1 Display Strings for Natvis. [PR MIEngine#1406](https://github.com/microsoft/MIEngine/pull/1406)
|
||||
* Fix some crashes identified by crash telemetry.
|
||||
* Fix an issue that could cause zombie processes on Linux/Mac.
|
||||
@@ -2084,4 +2087,4 @@
|
||||
## Version 0.5.0: April 14, 2016
|
||||
* Usability and correctness bug fixes.
|
||||
* Simplify installation experience.
|
||||
* Usability and correctness bug fixes.
|
||||
* Usability and correctness bug fixes.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "cpptools",
|
||||
"displayName": "C/C++",
|
||||
"description": "C/C++ IntelliSense, debugging, and code browsing.",
|
||||
"version": "1.17.2-main",
|
||||
"version": "1.17.1-main",
|
||||
"publisher": "ms-vscode",
|
||||
"icon": "LanguageCCPP_color_128x.png",
|
||||
"readme": "README.md",
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { execChildProcess } from './common';
|
||||
import { isWindows } from './constants';
|
||||
import { logLanguageServerEvent } from './telemetry';
|
||||
|
||||
/**
|
||||
* Hash the MAC addresses on the machine (Windows-only) and log telemetry.
|
||||
*/
|
||||
export async function logMachineIdMappings(): Promise<void> {
|
||||
if (!isWindows) {
|
||||
return;
|
||||
}
|
||||
|
||||
const macAddresses = await getMacAddresses();
|
||||
|
||||
// The first MAC address is the one Visual Studio uses
|
||||
const primary = await getMachineId(macAddresses.shift());
|
||||
if (primary) {
|
||||
logLanguageServerEvent('machineIdMap', {primary});
|
||||
}
|
||||
|
||||
// VS Code uses os.networkInterfaces() which has different sorting and availability,
|
||||
// but all MAC addresses are returned by getmac.exe. The ID VS Code uses may change
|
||||
// based on changes to the network configuration. Log the extras so we can assess
|
||||
// how frequently this impacts the machine id.
|
||||
for (const macAddress of macAddresses) {
|
||||
const additional = await getMachineId(macAddress);
|
||||
if (additional) {
|
||||
logLanguageServerEvent('machineIdMap', {additional});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse the output of getmac.exe to get the list of MAC addresses for the PC.
|
||||
*/
|
||||
async function getMacAddresses(): Promise<string[]> {
|
||||
try {
|
||||
const output = await execChildProcess('getmac');
|
||||
const regex = /(?:[a-z0-9]{2}[:\-]){5}[a-z0-9]{2}/gmi;
|
||||
return output.match(regex) ?? [];
|
||||
} catch (err) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Code below is adapted from:
|
||||
* - vscode\src\vs\base\node\id.ts
|
||||
*/
|
||||
|
||||
async function getMachineId(macAddress?: string): Promise<string | undefined> {
|
||||
if (!macAddress) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
try {
|
||||
const crypto = await import('crypto');
|
||||
const normalized = macAddress.toUpperCase().replace(/:/g, '-');
|
||||
return crypto.createHash('sha256').update(normalized, 'utf8').digest('hex');
|
||||
} catch (err) {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,6 @@ import { PersistentState } from './LanguageServer/persistentState';
|
||||
import { CppSettings } from './LanguageServer/settings';
|
||||
import { logAndReturn, returns } from './Utility/Async/returns';
|
||||
import { CppTools1 } from './cppTools1';
|
||||
import { logMachineIdMappings } from './id';
|
||||
import { disposeOutputChannels, log } from './logger';
|
||||
import { PlatformInformation } from './platform';
|
||||
|
||||
@@ -215,7 +214,6 @@ function sendTelemetry(info: PlatformInformation): void {
|
||||
break;
|
||||
}
|
||||
Telemetry.logDebuggerEvent("acquisition", telemetryProperties);
|
||||
logMachineIdMappings().catch(logAndReturn.undefined);
|
||||
}
|
||||
|
||||
async function checkVsixCompatibility(): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user