Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge to the vs branch #13182

Open
wants to merge 52 commits into
base: vs
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
1b21b69
Update changelog for 1.23.1 (#12931)
sean-mcmanus Nov 6, 2024
c9cae0b
Update changelog. (#12938)
sean-mcmanus Nov 6, 2024
911c39d
Fixes to compile commands file watchers fallback logic (#12948)
yiftahw Nov 13, 2024
9646722
Address issue with `Attempting to use languageClient before initializ…
Colengms Nov 13, 2024
05fbc0e
Fix matching of editorConfig sections patterns (#12953)
Colengms Nov 13, 2024
64e9106
Bump cross-spawn from 7.0.3 to 7.0.6 in /Extension (#12973)
dependabot[bot] Nov 19, 2024
bfa3c75
Add a CODEOWNERS file for required PR reviews (#12987)
bobbrow Nov 21, 2024
21a44d9
Add a string for multiple compile_commands.json (on native side) (#12…
Colengms Dec 2, 2024
a6089ea
Support A/B Compiler Arguments Traits (#12979)
kuchungmsft Dec 2, 2024
9efde54
pass optional parameter to C_Cpp.ConfigurationSelect (#12993)
adrianstephens Dec 3, 2024
74d691f
Update mac runner to macos-14 (#13013)
Colengms Dec 3, 2024
052bcff
Fix an unnecessary cancel/re-request with GitHub Copilot requests (an…
sean-mcmanus Dec 4, 2024
44b736e
Update changelog for 1.23.2 (#13020)
Colengms Dec 5, 2024
05d43dc
[Auto] Localization - Translated Strings (#12869)
csigs Dec 5, 2024
ee71e1f
Update changelog for 1.23.2 (2nd time) (#13024)
Colengms Dec 5, 2024
fa80d44
Support for copilot-generated summaries in quick info. (On-the-fly do…
spebl Dec 9, 2024
d04d53e
Detect compile_commands.json after containing folder deleted and recr…
yiftahw Dec 11, 2024
cd5aaaa
Fix native strings. (#13046)
sean-mcmanus Dec 12, 2024
ab7bebf
Fix space around binary operator translation. (#13057)
sean-mcmanus Dec 14, 2024
d7ee241
Update `extension.test.ts` reference (#13040)
emmanuel-ferdman Dec 14, 2024
fbf8135
Trigger reparsing when `files.encoding` setting changes (#13047)
Colengms Dec 16, 2024
afb208d
get isense client by uri (#13059)
lukka Dec 17, 2024
84b92dc
Don't show the output window for "references may be missing" when the…
bobbrow Dec 18, 2024
b11f390
Bump nanoid from 3.3.7 to 3.3.8 in /Extension (#13060)
dependabot[bot] Dec 18, 2024
73f4442
Update the descriptions of clang path settings (#13071)
bobbrow Dec 19, 2024
b96d82a
Add appName telemetry (#13072)
benmcmorran Dec 19, 2024
5c684a8
Don't reset everyones databases (#13073)
Colengms Dec 19, 2024
a172a42
Ensure default persistent values get persisted (#13074)
Colengms Dec 19, 2024
0aaae1f
Support sending telemetry during cpptools initialization (#13077)
benmcmorran Dec 20, 2024
2bff033
Handle multiple compile commands on client side (needs native server …
yiftahw Dec 30, 2024
42c6d99
Updated Description for Preferred Path Separator Setting and Refactor…
browntarik Dec 31, 2024
d2626e0
Re-enable the SingleRootProject tests with check-in tests and fix the…
sean-mcmanus Dec 31, 2024
fa0e1c0
Fix cl.exe.not.available loc. (#13091)
sean-mcmanus Dec 31, 2024
d70d063
Fix other developer command prompt cases, and "developer" and "code" …
sean-mcmanus Jan 2, 2025
6e3e074
Update msvc versions. (#13097)
sean-mcmanus Jan 3, 2025
4c6f319
Update IntelliSense loc strings. (#13098)
sean-mcmanus Jan 3, 2025
200f093
Add 3rd party notice for libiconv (#13056)
Colengms Jan 7, 2025
8e5bbf1
Support C89 in Completion Prompts (#13132)
kuchungmsft Jan 8, 2025
205ae06
Update changelog and version for 1.23.3. (#13127)
sean-mcmanus Jan 8, 2025
941aa60
Minor TPN updates. (#13135)
sean-mcmanus Jan 8, 2025
fed7a82
Fix .editorConfig setting precedence (#13140)
Colengms Jan 10, 2025
6f9ddbf
Fix casing of Windows. (#13149)
sean-mcmanus Jan 14, 2025
c4d9f11
Update changelog and version for 1.23.4. (#13155)
sean-mcmanus Jan 15, 2025
e4091ab
Combine ProjectContext and RelatedFilesProvider Telemetry in One Even…
kuchungmsft Jan 16, 2025
31969c8
Stop sending err.message in telemetry (#13158)
sean-mcmanus Jan 16, 2025
9e96d63
Update changelog (2nd time). (#13159)
sean-mcmanus Jan 16, 2025
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
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.

2 changes: 1 addition & 1 deletion .github/workflows/ci_mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: macos-12
runner-env: macos-14
platform: mac
yarn-args: --network-timeout 100000
8 changes: 8 additions & 0 deletions .github/workflows/job-compile-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,14 @@ jobs:
run: yarn test
working-directory: Extension

# These tests don't require the binary.
# On Linux, it is failing (before the tests actually run) with: Test run terminated with signal SIGSEGV.
# But it works on Linux during the E2E test.
- name: Run SingleRootProject tests
if: ${{ inputs.platform != 'linux' }}
run: yarn test --scenario=SingleRootProject --skipCheckBinaries
working-directory: Extension

# NOTE : We can't run the test that require the native binary files
# yet -- there will be an update soon that allows the tester to
# acquire them on-the-fly
Expand Down
8 changes: 8 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @microsoft/cpptools-maintainers will be requested for
# review when someone opens a pull request.

* @microsoft/cpptools-maintainers
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* [Build and debug the extension](Documentation/Building%20the%20Extension.md).
* File an [issue](https://github.com/Microsoft/vscode-cpptools/issues) and a [pull request](https://github.com/Microsoft/vscode-cpptools/pulls) with the change and we will review it.
* If the change affects functionality, add a line describing the change to [**CHANGELOG.md**](Extension/CHANGELOG.md).
* Try and add a test in [**test/extension.test.ts**](Extension/test/unitTests/extension.test.ts).
* Try and add a test in [**test/extension.test.ts**](Extension/test/scenarios/SingleRootProject/tests/extension.test.ts).
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".

## About the Code
Expand Down
11 changes: 0 additions & 11 deletions Extension/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,6 @@ module.exports = {
"eslint-plugin-header"
],
"rules": {
"indent": [
"warn",
4,
{
"SwitchCase": 1,
"ObjectExpression": "first"
}
],
"@typescript-eslint/indent": [
"error", 4
],
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/await-thenable": "error",
Expand Down
21 changes: 18 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 @@ -334,6 +334,9 @@ export async function checkDTS() {
}

export async function checkBinaries() {
if ($switches.includes('--skipCheckBinaries')) {
return false;
}
let failing = false;
failing = !await assertAnyFile(['bin/cpptools.exe', 'bin/cpptools']) && (quiet || warn(`The native binary files are not present. You should either build or install the native binaries\n\n.`)) || failing;

Expand All @@ -342,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);
}
}
77 changes: 77 additions & 0 deletions Extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,82 @@
# C/C++ for Visual Studio Code Changelog

## Version 1.23.4: January 21, 2025
### 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.

## Version 1.23.3: January 9, 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)
* 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.
* IntelliSense parser updates.

### Bug Fixes
* 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)
* 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)
* Fix an incorrect IntelliSense error when using `std::unique_ptr`. [#11979](https://github.com/microsoft/vscode-cpptools/issues/11979)
* Fix an incorrect IntelliSense error with designated initializers. [#12239](https://github.com/microsoft/vscode-cpptools/issues/12239)
* 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 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 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`.
* Other internal fixes.

## Version 1.22.11: November 5, 2024
### Bug Fixes
* Fix system includes incorrectly being treated as non-system includes when specified with `-I`. [#12842](https://github.com/microsoft/vscode-cpptools/issues/12842)
* Fix inactive region ranges when multi-byte UTF-8 characters are used. [#12879](https://github.com/microsoft/vscode-cpptools/issues/12879)
* Fix formatting with `.editorconfig` files. [#12921](https://github.com/microsoft/vscode-cpptools/issues/12921)

## Version 1.23.0: October 29, 2024
### Enhancements
* Update to clang-format and clang-tidy 19.1.2. [#12824](https://github.com/microsoft/vscode-cpptools/issues/12824)
Expand Down
Loading
Loading