Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
5d32121
Support Content Exclusion for Copilot Hover (#13143)
spebl Jan 16, 2025
ce0435b
Update changelog for 1.23.4 (3rd time) (#13164)
sean-mcmanus Jan 18, 2025
33a205b
Fix issue with config requests before provider has registered (#13167)
Colengms Jan 18, 2025
1b82daf
[Auto] Localization - Translated Strings (#13027)
csigs Jan 22, 2025
1aa24fe
Add a changelog entry. (#13177)
sean-mcmanus Jan 22, 2025
cdf1e6b
Bump undici from 5.28.4 to 5.28.5 in /.github/actions (#13180)
dependabot[bot] Jan 22, 2025
d7f5c28
Fix label casing in action workflows, and add 'help wanted' to `addLa…
Colengms Jan 24, 2025
3614cab
Fix Call Hierarchy Calls From. (#13201)
sean-mcmanus Jan 27, 2025
77f30fa
Fix an undefined access when an edit is done before cpptools starts (…
sean-mcmanus Jan 28, 2025
99864b0
Update changelog and version for 1.23.5. (#13208)
sean-mcmanus Jan 28, 2025
e3bb8a7
Fix a potential race between `didChange` and `didOpen` (#13209)
Colengms Jan 28, 2025
c3f8d0c
Remove cpptools1 experiment flag from Symbol Search (#13199)
fearthecowboy Jan 29, 2025
0a64b77
Fix an issue with editorconfig tab_size (#13216)
Colengms Jan 30, 2025
64c00a9
Fix Select IntelliSense Configuration regression. (#13224)
sean-mcmanus Feb 3, 2025
e5e176b
Add check for copilot access before providing copilot hover (#13238)
spebl Feb 5, 2025
94758af
code snippet provider (#13018)
lukka Feb 5, 2025
ebce162
don't abort instantly, keep searching (#13243)
fearthecowboy Feb 6, 2025
e1d824f
Update changelog for 1.23.6 (#13244)
sean-mcmanus Feb 6, 2025
60e998b
Don't use 'system' include/framework paths as fallback 'user' include…
Colengms Feb 7, 2025
0f8dd27
Update changelog and version for 1.24.0. (#13248)
sean-mcmanus Feb 7, 2025
c48729b
Merge branch 'main' into seanmcm/1_24_0_insiders
sean-mcmanus Feb 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/actions/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion .github/workflows/bug-debugger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: bug,debugger
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,language service,internal"
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
createdAfter: "2024-07-22"
addComment: "Thank you for reporting this issue. We’ll let you know if we need more information to investigate it. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
addLabels: help wanted
2 changes: 1 addition & 1 deletion .github/workflows/by-design-closer-debugger .yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: by design,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
closeDays: 0
closeComment: "This issue has been closed because the described behavior was determined to be by design."
2 changes: 1 addition & 1 deletion .github/workflows/external-closer-debugger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: external,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
closeDays: 0
closeComment: "This issue has been closed because it is external or not applicable to the extension."
5 changes: 3 additions & 2 deletions .github/workflows/feature-request-debugger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ jobs:
uses: ./.github/actions/AddComment
with:
readonly: ${{ github.event.inputs.readonly }}
labels: feature request,debugger
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,language service,internal"
labels: Feature Request,debugger
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
createdAfter: "2024-07-22"
addComment: "Thank you for your feature request. While we may not be able to implement it immediately, we will monitor community reactions to see how it fits into our backlog. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
addLabels: help wanted
2 changes: 1 addition & 1 deletion .github/workflows/investigate-closer-debugger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: investigate,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
closeDays: 180
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: "investigate: costing,debugger"
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
closeDays: 180
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
2 changes: 1 addition & 1 deletion .github/workflows/more-info-needed-closer-debugger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: more info needed,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/question-closer-debugger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: question,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
closeComment: "This issue has been closed because it is a question and has not had recent activity."
Expand Down
18 changes: 15 additions & 3 deletions Extension/.scripts/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export const Git = async (...args: Parameters<Awaited<CommandFunction>>) => (awa
export const GitClean = async (...args: Parameters<Awaited<CommandFunction>>) => (await new Command(await git, 'clean'))(...args);

export async function getModifiedIgnoredFiles() {
const {code, error, stdio } = await GitClean('-Xd', '-n');
const { code, error, stdio } = await GitClean('-Xd', '-n');
if (code) {
throw new Error(`\n${error.all().join('\n')}`);
}
Expand All @@ -65,11 +65,11 @@ export async function rimraf(...paths: string[]) {
}
if (await filepath.isFolder(each)) {
verbose(`Removing folder ${red(each)}`);
all.push(rm(each, {recursive: true, force: true}));
all.push(rm(each, { recursive: true, force: true }));
continue;
}
verbose(`Removing file ${red(each)}`);
all.push(rm(each, {force: true}));
all.push(rm(each, { force: true }));
}
await Promise.all(all);
}
Expand Down Expand Up @@ -345,3 +345,15 @@ export async function checkBinaries() {
}
return failing;
}

export async function checkProposals() {
let failing = false;

await rm(`${$root}/vscode.proposed.chatParticipantAdditions.d.ts`);
failing = await assertAnyFile('vscode.proposed.chatParticipantAdditions.d.ts') && (quiet || warn(`The VSCode import file '${$root}/vscode.proposed.chatParticipantAdditions.d.ts' should not be present.`)) || failing;

if (!failing) {
verbose('VSCode proposals appear to be in place.');
}
return failing;
}
11 changes: 10 additions & 1 deletion Extension/.scripts/verify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */

import { checkBinaries, checkCompiled, checkDTS, checkPrep, error, green } from './common';
import { checkBinaries, checkCompiled, checkDTS, checkPrep, checkProposals, error, green } from './common';
const quiet = process.argv.includes('--quiet');

export async function main() {
Expand Down Expand Up @@ -50,3 +50,12 @@ export async function dts() {
process.exit(1);
}
}

export async function proposals() {
let failing = false;
failing = (await checkProposals() && (quiet || error(`Issue with VSCode proposals. Run ${green('yarn prep')} to fix it.`))) || failing;

if (failing) {
process.exit(1);
}
}
85 changes: 45 additions & 40 deletions Extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,49 @@
# C/C++ for Visual Studio Code Changelog

## Version 1.23.4: January 21, 2025
## Version 1.24.0: Febrary 10, 2025
### New Feature
* Add experimental support for Copilot descriptions in hover tooltips, controlled by the `C_Cpp.copilotHover` setting. This feature is currently off by default and may be subject to A/B experimentation. To opt-out of Copilot Hover experiments, set `C_Cpp.copilotHover` to `disabled`.

### Enhancement
* Improve/fix the switch header/source feature. [#2635](https://github.com/microsoft/vscode-cpptools/issues/2635)

### Bug Fixes
* Fix some localization issues. [#12909](https://github.com/microsoft/vscode-cpptools/issues/12909), [#13090](https://github.com/microsoft/vscode-cpptools/issues/13090)
* Fix a couple bugs with `.editorConfig` handling. [PR #13140](https://github.com/microsoft/vscode-cpptools/pull/13140)
* Fix a bug when processing a file with invalid multi-byte sequences. [#13150](https://github.com/microsoft/vscode-cpptools/issues/13150)
* Fix a potential telemetry issue with Copilot hover. [PR #13158](https://github.com/microsoft/vscode-cpptools/pull/13158)
* Fix a crash when Copilot hover is used on code with no definition file (e.g. literals).
* Update clang-format and clang-tidy from 19.1.6 to 19.1.7.
* Update vsdbg from 17.12.10729.1 to 17.13.20115.1.
* Fix `libiconv.dll` not being signed on Windows.
* Fix incorrect GB2312 decoding on Linux.
* Fix a bug in which hundreds of custom configuration requests could be sent on startup before the configuration provider has registered. [#13166](https://github.com/microsoft/vscode-cpptools/issues/13166)
* Fix handling of the `-framework` compiler argument. [#13204](https://github.com/microsoft/vscode-cpptools/issues/13204)
* Fix a potential race between didChange and didOpen. [PR #13209](https://github.com/microsoft/vscode-cpptools/pull/13209)
* Fix an issue with the `.editorconfig` `tab_size`. [PR #13216](https://github.com/microsoft/vscode-cpptools/pull/13216)
* Fix a potential deadlock on shutdown if configuration providers are used. [#13218](https://github.com/microsoft/vscode-cpptools/issues/13218)
* Fix system include/framework paths being used as a fallback for user include/framework paths in the base configuration. [PR #13247](https://github.com/microsoft/vscode-cpptools/pull/13247)
* Fix an inaccurate cursor position for IntelliSense update.
* Fix a random crash during code analysis.

## Version 1.23.6: February 6, 2025
### Bug Fixes
* Fix a bug with remote attach debugging. [#13137](https://github.com/microsoft/vscode-cpptools/issues/13137)
* Fix symlink-related regression bugs. [#13214](https://github.com/microsoft/vscode-cpptools/issues/13214), [#13228](https://github.com/microsoft/vscode-cpptools/issues/13228)
* Fix a regression bug when using 'Select IntelliSense Configuration'. [#13220](https://github.com/microsoft/vscode-cpptools/issues/13220)
* Fix a regression bug with `files.associations` handling. [#13223](https://github.com/microsoft/vscode-cpptools/issues/13223)

## Version 1.23.3: January 9, 2025
## Version 1.23.5: January 28, 2025
### Enhancements
* Modifications to the snippet completions to more closely match the snippets provided by TypeScript. [#4482](https://github.com/microsoft/vscode-cpptools/issues/4482)
* Enable setting multiple compile commands. [#7029](https://github.com/microsoft/vscode-cpptools/issues/7029)
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12960](https://github.com/microsoft/vscode-cpptools/pull/12960)
* Changes to how paths are internally canonicalized on Linux and macOS, avoiding file system access to improve performance and delay resolution of symbolic links. [#12924](https://github.com/microsoft/vscode-cpptools/issues/12924)
* Add handling of `-fno-char8_t` and `-fchar8_t` compiler arguments. [#12968](https://github.com/microsoft/vscode-cpptools/issues/12968)
* Add support for providing well-known compiler argument information to Copilot Completions. [PR #12979](https://github.com/microsoft/vscode-cpptools/pull/12979)
* Fixed unnecessary cancellation of Copilot context requests. [PR #12988](https://github.com/microsoft/vscode-cpptools/pull/12988)
* Add support for passing an additional parameter to `C_Cpp.ConfigurationSelect` command. [PR #12993](https://github.com/microsoft/vscode-cpptools/pull/12993)
* Thank you for the contribution. [@adrianstephens](https://github.com/adrianstephens)
* Update clang path setting descriptions. [PR #13071](https://github.com/microsoft/vscode-cpptools/pull/13071)
* Update clang-format and clang-tidy from 19.1.5 to 19.1.6.
* Update clang-format and clang-tidy from 19.1.2 to 19.1.7.
* IntelliSense parser updates.

### Bug Fixes
* Fix a perf regression in hover operation by using cached lexer line states. [#3126](https://github.com/microsoft/vscode-cpptools/issues/3126)
* Fix `compile_commands.json` no longer being used if the containing folder is deleted and recreated. [#7030](https://github.com/microsoft/vscode-cpptools/issues/7030)
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #13032](https://github.com/microsoft/vscode-cpptools/pull/13032)
* Increase clang-format timeout from 10 seconds to 30 seconds. [#10213](https://github.com/microsoft/vscode-cpptools/issues/10213)
* Fix `C_Cpp.enhancedColorization` not taking effect after it's changed. [#10565](https://github.com/microsoft/vscode-cpptools/issues/10565)
* Fix changes to `files.encoding` not triggering a database reset. [#10892](https://github.com/microsoft/vscode-cpptools/issues/10892)
* Fix parameter hints interpreting `*` in a comment as markdown. [#11082](https://github.com/microsoft/vscode-cpptools/issues/11082)
Expand All @@ -32,44 +52,29 @@
* Fix handling of `koi8ru` and `koi8t` file encodings on Windows. [#12272](https://github.com/microsoft/vscode-cpptools/issues/12272)
* Fix description of `C_Cpp.preferredPathSeparator`. [#12597](https://github.com/microsoft/vscode-cpptools/issues/12597)
* Fix the IntelliSense process launching when it's disabled and the Copilot extension is used. [#12750](https://github.com/microsoft/vscode-cpptools/issues/12750), [#13058](https://github.com/microsoft/vscode-cpptools/issues/13058)
* Fix the IntelliSense mode being `macos` instead of `windows` when `_WIN32` is defined on macOS. [#13016](https://github.com/Microsoft/vscode-cpptools/issues/13016)
* Fix IntelliSense bugs when using non-UTF8 file encodings. [#13028](https://github.com/microsoft/vscode-cpptools/issues/13028), [#13044](https://github.com/microsoft/vscode-cpptools/issues/13044)
* Fix an incorrect translation for "binary operator". [#13048](https://github.com/microsoft/vscode-cpptools/issues/13048)
* Fix the "references may be missing" logging pane being shown when the `C_Cpp.loggingLevel` is `Error` or `None`. [#13066](https://github.com/microsoft/vscode-cpptools/issues/13066)
* Fix `C_Cpp.default.compilerPath` not using the `C_Cpp.preferredPathSeparator` setting when generated from the 'Select IntelliSense Configuration' command. [#13083](https://github.com/microsoft/vscode-cpptools/issues/13083)

### Version 1.23.2: December 5, 2024
### Enhancements
* Changes to how paths are internally canonicalized on Linux and macOS, avoiding file system access to improve performance and delay resolution of symbolic links. [#12924](https://github.com/microsoft/vscode-cpptools/issues/12924)
* Add handling of `-fno-char8_t` and `-fchar8_t` compiler arguments. [#12968](https://github.com/microsoft/vscode-cpptools/issues/12968)
* Add support for providing well-known compiler argument information to Copilot Completions. [PR #12979](https://github.com/microsoft/vscode-cpptools/pull/12979)
* Fixed unnecessary cancellation of Copilot context requests. [PR #12988](https://github.com/microsoft/vscode-cpptools/pull/12988)
* Add support for passing an additional parameter to `C_Cpp.ConfigurationSelect` command. [PR #12993](https://github.com/microsoft/vscode-cpptools/pull/12993)
* Thank you for the contribution. [@adrianstephens](https://github.com/adrianstephens)
* Update clang-format and clang-tidy from 19.1.2 to 19.1.5.

### Bug Fixes
* Fix a perf regression in hover operation by using cached lexer line states. [#3126](https://github.com/microsoft/vscode-cpptools/issues/3126)
* Increase clang-format timeout from 10 seconds to 30 seconds. [#10213](https://github.com/microsoft/vscode-cpptools/issues/10213)
* Fix casing of path in include completion tooltip on Windows. [#12895](https://github.com/microsoft/vscode-cpptools/issues/12895)
* Fix a performance issue where some LSP requests would delay other LSP requests. [#12905](https://github.com/microsoft/vscode-cpptools/issues/12905)
* Fix some localization issues. [#12909](https://github.com/microsoft/vscode-cpptools/issues/12909), [#13090](https://github.com/microsoft/vscode-cpptools/issues/13090)
* Fix pattern matching of sections in `.editorConfig` files. [#12933](https://github.com/microsoft/vscode-cpptools/issues/12933)
* Fix handling of relative paths passed to cl.exe `/reference` argument. [#12944](https://github.com/microsoft/vscode-cpptools/issues/12944)
* Fix a leak of compile command file watchers. [#12946](https://github.com/microsoft/vscode-cpptools/issues/12946)
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12948](https://github.com/microsoft/vscode-cpptools/pull/12948)
* Fix a compile commands fallback logic issue. [#12947](https://github.com/microsoft/vscode-cpptools/issues/12947)
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12948](https://github.com/microsoft/vscode-cpptools/pull/12948)
* Fix an issue in which a `didOpen` event was processed before the language client was fully started. [#12954](https://github.com/microsoft/vscode-cpptools/issues/12954)
* Fix the IntelliSense mode being `macos` instead of `windows` when `_WIN32` is defined on macOS. [#13016](https://github.com/Microsoft/vscode-cpptools/issues/13016)
* Fix IntelliSense bugs when using non-UTF8 file encodings. [#13028](https://github.com/microsoft/vscode-cpptools/issues/13028), [#13044](https://github.com/microsoft/vscode-cpptools/issues/13044)
* Fix an incorrect translation for "binary operator". [#13048](https://github.com/microsoft/vscode-cpptools/issues/13048)
* Fix the "references may be missing" logging pane being shown when the `C_Cpp.loggingLevel` is `Error` or `None`. [#13066](https://github.com/microsoft/vscode-cpptools/issues/13066)
* Fix `C_Cpp.default.compilerPath` not using the `C_Cpp.preferredPathSeparator` setting when generated from the 'Select IntelliSense Configuration' command. [#13083](https://github.com/microsoft/vscode-cpptools/issues/13083)
* Fix a couple bugs with `.editorConfig` handling. [PR #13140](https://github.com/microsoft/vscode-cpptools/pull/13140)
* Fix a bug when processing a file with invalid multi-byte sequences. [#13150](https://github.com/microsoft/vscode-cpptools/issues/13150)
* Fix call hierarchy calls from. [#13200](https://github.com/microsoft/vscode-cpptools/issues/13200)
* Fix IntelliSense issues related to large header files (>32K) and encodings other than UTF-8.
* Fix a deadlock.

### Version 1.23.1: November 6, 2024
### Bug Fixes
* A potential fix for a crash during process shutdown (in `uv_run`). [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668)
* Fix a performance issue where some LSP requests would delay other LSP requests. [#12905](https://github.com/microsoft/vscode-cpptools/issues/12905)
* A potential fix for a crash in cpptools (in `report_intellisense_results`).
* Fix a random deadlock with `compiler_info::find_or_create`.
* Fix a random deadlock with `handle_edits`.
* Update vsdbg from 17.12.10729.1 to 17.13.20115.1.
* Other internal fixes.
* Fix some deadlocks.
* Fix some crashes.

## Version 1.22.11: November 5, 2024
### Bug Fixes
Expand Down
Loading