Skip to content

Commit ad991c6

Browse files
authored
Merge branch 'main' into dev/spebl/otfdocs
2 parents 3af533d + f51404d commit ad991c6

File tree

5 files changed

+17
-6
lines changed

5 files changed

+17
-6
lines changed

Extension/CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# C/C++ for Visual Studio Code Changelog
22

3-
## Version 1.23.0: October 24, 2024
3+
## Version 1.23.0: October 29, 2024
44
### Enhancements
55
* Update to clang-format and clang-tidy 19.1.2. [#12824](https://github.com/microsoft/vscode-cpptools/issues/12824)
6+
* Enable `#cpp` with GitHub Copilot chat without `C_Cpp.experimentalFeatures` enabled. [PR #12898](https://github.com/microsoft/vscode-cpptools/pull/12898)
67

78
### Bug Fixes
89
* Fix some translation issues. [#7824](https://github.com/microsoft/vscode-cpptools/issues/7824), [#12439](https://github.com/microsoft/vscode-cpptools/issues/12439), [#12440](https://github.com/microsoft/vscode-cpptools/issues/12440), [#12441](https://github.com/microsoft/vscode-cpptools/issues/12441)

Extension/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6522,7 +6522,7 @@
65226522
"translations-generate": "set NODE_OPTIONS=--no-experimental-fetch && gulp translations-generate",
65236523
"translations-import": "gulp translations-import",
65246524
"import-edge-strings": "ts-node -T ./.scripts/import_edge_strings.ts",
6525-
"prep:dts": "yarn verify dts --quiet || (npx vscode-dts dev && npx vscode-dts main)",
6525+
"prep:dts": "yarn verify dts --quiet || (npx @vscode/dts dev && npx @vscode/dts main)",
65266526
"build": "yarn prep:dts && echo [Building TypeScript code] && tsc --build tsconfig.json"
65276527
},
65286528
"devDependencies": {

Extension/src/Debugger/configurationProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
331331

332332
// Run deploy steps
333333
if (config.deploySteps && config.deploySteps.length !== 0) {
334-
const codeVersion: number[] = vscode.version.split('.').map(num => parseInt(num, undefined));
334+
const codeVersion: number[] = util.getVsCodeVersion();
335335
if ((util.isNumber(codeVersion[0]) && codeVersion[0] < 1) || (util.isNumber(codeVersion[0]) && codeVersion[0] === 1 && util.isNumber(codeVersion[1]) && codeVersion[1] < 69)) {
336336
void logger.getOutputChannelLogger().showErrorMessage(localize("vs.code.1.69+.required", "'deploySteps' require VS Code 1.69+."));
337337
return undefined;

Extension/src/LanguageServer/extension.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,15 @@ export async function activate(): Promise<void> {
255255
activeDocument = activeEditor.document;
256256
}
257257

258-
if (util.extensionContext && new CppSettings().experimentalFeatures) {
259-
const tool = vscode.lm.registerTool('cpptools-lmtool-configuration', new CppConfigurationLanguageModelTool());
260-
disposables.push(tool);
258+
if (util.extensionContext) {
259+
// lmTools wasn't stabilized until 1.95, but (as of October 2024)
260+
// cpptools can be installed on older versions of VS Code. See
261+
// https://github.com/microsoft/vscode-cpptools/blob/main/Extension/package.json#L14
262+
const version = util.getVsCodeVersion();
263+
if (version[0] > 1 || (version[0] === 1 && version[1] >= 95)) {
264+
const tool = vscode.lm.registerTool('cpptools-lmtool-configuration', new CppConfigurationLanguageModelTool());
265+
disposables.push(tool);
266+
}
261267
}
262268

263269
await registerRelatedFilesProvider();

Extension/src/common.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1814,3 +1814,7 @@ export function findExePathInArgs(args: CommandString[]): string | undefined {
18141814

18151815
return undefined;
18161816
}
1817+
1818+
export function getVsCodeVersion(): number[] {
1819+
return vscode.version.split('.').map(num => parseInt(num, undefined));
1820+
}

0 commit comments

Comments
 (0)