Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand Down Expand Up @@ -91,7 +91,7 @@ jobs:
exit 1

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
with:
category: "/language:${{matrix.language}}"

29 changes: 29 additions & 0 deletions Extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# C/C++ for Visual Studio Code Changelog

## Version 1.35.3: October 2, 2026
### New Features
* Add 'Fold All Inactive Regions' and 'Unfold All Inactive Regions' commands and the opt-in `C_Cpp.autoFoldInactiveRegions` setting. [#8992](https://github.com/microsoft/vscode-cpptools/issues/8992)
* Dim unreachable code when `editor.showUnused` is enabled. [#12902](https://github.com/microsoft/vscode-cpptools/issues/12902)
* Show C++ type size and alignment in hovers. [#13034](https://github.com/microsoft/vscode-cpptools/issues/13034)

### Enhancements
* Increase the per-file IntelliSense diagnostic limit from 250 to 1,000, prioritize errors over unused-code hints, and reduce processing of over-limit diagnostics.
* Improve IntelliSense performance in large include graphs and classes with many inherited constructors.
* Reduce custom-configuration processing overhead and memory retained from `compile_commands.json`.
* Improve code folding performance in files with many inactive preprocessor regions.
* Improve loading performance for Windows-1255 and Windows-1258 source files.
* Reduce CPU usage when resolving headers in large Windows workspaces.

### Bug Fixes
* Fix 'Go to Declaration' and 'Go to Definition' returning the current location instead of an available counterpart. [#14509](https://github.com/microsoft/vscode-cpptools/issues/14509)
* Update MIEngine to fix debugger failures with synthetic GDB stack frames. [#14741](https://github.com/microsoft/vscode-cpptools/issues/14741)
* Thanks for the contribution. [@tzcnt](https://github.com/tzcnt) [PR MIEngine#1605](https://github.com/microsoft/MIEngine/pull/1605)
* Fix incorrect IntelliSense errors for alias-template deduction guides using C++26 pack indexing. [#14794](https://github.com/microsoft/vscode-cpptools/issues/14794)
* Fix incorrect unused-parameter warnings and dimming for assignments through reference parameters. [#14801](https://github.com/microsoft/vscode-cpptools/issues/14801)
* Fix missing IntelliSense headers with Clang `-cxx-isystem` and `-stdlib++-isystem` options and split clang-cl `-imsvc` and `/imsvc` arguments.
* Fix IntelliSense crashes involving deduction guides, user-defined conversions, and lambdas in macros.
* Fix IntelliSense handling of GCC `--embed-directory=<dir>` and `--embed-directory <dir>` arguments.
* Fix a tag parser stack-overflow crash when loading cyclic or excessively deep cached symbol data.
* Fix unwanted completion popups when typing incomplete floating-point exponents.
* Fix configuration-provider requests delaying language server shutdown.
* Various localization updates.
* Update dependencies.

## Version 1.35.2: September 22, 2026
### New Feature
* Dim unused local variables and parameters when `editor.showUnused` is enabled. [#10490](https://github.com/microsoft/vscode-cpptools/issues/10490)
Expand Down
3 changes: 2 additions & 1 deletion Extension/bin/messages/cs/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"Typ není podobný jazyku C kvůli této deklaraci členu",
"Typ není podobný jazyku C kvůli tomuto lambda výrazu",
"Kvalifikátor názvu výčtového typu je funkce jazyka C++11",
"Neomezené sjednocení je funkce jazyka C++11"
"Neomezené sjednocení je funkce jazyka C++11",
"%sq už je v aktuálním rozsahu deklarovaný"
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/de/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"Der Typ ist aufgrund dieser Memberdeklaration nicht C-ähnlich.",
"Der Typ ist aufgrund dieses Lambdaausdrucks nicht C-ähnlich.",
"Ein Namensqualifizierer für einen Enumerationstyp ist ein C++11-Feature.",
"Unbeschränkte Unions sind ein C++11-Feature."
"Unbeschränkte Unions sind ein C++11-Feature.",
"%sq wurde bereits im aktuellen Bereich deklariert."
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/es/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"el tipo no es similar a C debido a esta declaración de miembro",
"el tipo no es similar a C debido a esta expresión lambda",
"un calificador de nombre de tipo de enumeración es una característica de C++11",
"las uniones sin restricciones son una característica de C++11"
"las uniones sin restricciones son una característica de C++11",
"%sq ya se ha declarado en el ámbito actual"
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/fr/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"le type n’est pas similaire à C en raison de cette déclaration de membre",
"le type n’est pas similaire à C en raison de cette expression lambda",
"un qualificateur de nom de type énumération est une fonctionnalité C++11",
"les unions sans restriction sont une fonctionnalité C++11"
"les unions sans restriction sont une fonctionnalité C++11",
"%sq a déjà été déclaré dans la portée actuelle"
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/it/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"il tipo non è simile a C a causa di questa dichiarazione di membro",
"il tipo non è simile a C a causa di questa espressione lambda",
"un qualificatore del nome di tipo enumerazione è una funzionalità di C++11",
"le unioni senza restrizioni sono una funzionalità di C++11"
"le unioni senza restrizioni sono una funzionalità di C++11",
"%sq già dichiarato nell'ambito corrente"
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/ja/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"このメンバー宣言のため、型は C-like ではありません",
"このラムダ式のため、型は C-like ではありません",
"列挙型名修飾子は C++11 の機能です",
"無制限の共用体は C++11 機能です"
"無制限の共用体は C++11 機能です",
"%sq は現在のスコープで既に宣言されています"
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/ko/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"이 멤버 선언 때문에 형식이 C와 유사하지 않음",
"이 람다 식 때문에 형식이 C와 유사하지 않음",
"열거형 형식 이름 한정자는 C++11 기능임",
"제한 없는 공용 구조체는 C++11 기능임"
"제한 없는 공용 구조체는 C++11 기능임",
"현재 범위에 이미 %sq이(가) 선언되어 있습니다."
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/pl/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"typ nie jest C-podobny z powodu tej deklaracji składowej",
"typ nie jest C-podobny z powodu tego wyrażenia lambda",
"kwalifikator nazwy typu wyliczeniowego jest funkcją języka C++11",
"nieograniczone unie są funkcją języka C++11"
"nieograniczone unie są funkcją języka C++11",
"element %sq został już zadeklarowany w bieżącym zakresie"
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/pt-br/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"o tipo não é semelhante a C devido a esta declaração de membro",
"o tipo não é semelhante a C devido a esta expressão lambda",
"um qualificador de nome de tipo de enumeração é um recurso do C++11",
"uniões irrestritas são um recurso do C++11"
"uniões irrestritas são um recurso do C++11",
"%sq já foi declarado no escopo atual"
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/ru/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"тип не является C-подобным из-за этого объявления элемента",
"тип не является C-подобным из-за этого лямбда-выражения",
"квалификатор имени типа перечисления — это функция C++11",
"неограниченные объединения — это функция C++11"
"неограниченные объединения — это функция C++11",
"%sq уже объявлено в текущей области"
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/tr/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"bu üye bildirimi nedeniyle tür C benzeri değil",
"bu lambda ifadesi nedeniyle tür C benzeri değil",
"sabit listesi türü ad niteleyicisi bir C++11 özelliğidir",
"kısıtlanmamış birleşimler bir C++11 özelliğidir"
"kısıtlanmamış birleşimler bir C++11 özelliğidir",
"geçerli kapsamda, %sq önceden de tanımlanmış"
]
3 changes: 2 additions & 1 deletion Extension/bin/messages/zh-cn/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -3782,5 +3782,6 @@
"由于此成员声明,类型不是 C 风格",
"由于此 lambda 表达式,该类型不是 C 风格",
"枚举类型名称限定符是 C++11 功能",
"无限制联合是 C++11 功能"
"无限制联合是 C++11 功能",
"已在当前范围内声明 %sq"
]
5 changes: 3 additions & 2 deletions Extension/bin/messages/zh-tw/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -1697,7 +1697,7 @@
"向量運算不適用於非整數類資料類型的向量",
"無法開啟 %s 檔案 %sq2",
"無法開啟 %s 檔案 %sq2: %s3",
"先行編譯標頭檔",
"預編譯標頭",
"預先定義巨集",
"已產生 C",
"已產生 C++",
Expand Down Expand Up @@ -3782,5 +3782,6 @@
"因為這個成員宣告,類型不是 C 樣式",
"因為這個 Lambda 運算式,類型不是 C 樣式",
"列舉型別名稱限定詞是 C++11 功能",
"不受限的等位是 C++11 功能"
"不受限的聯合是 C++11 功能",
"已經在目前的範圍宣告 %sq"
]
28 changes: 26 additions & 2 deletions Extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "cpptools",
"displayName": "C/C++",
"description": "C/C++ IntelliSense, debugging, and code browsing.",
"version": "1.35.2-main",
"version": "1.35.3-main",
"publisher": "ms-vscode",
"icon": "LanguageCCPP_color_128x.png",
"readme": "README.md",
Expand Down Expand Up @@ -1072,6 +1072,12 @@
"description": "%c_cpp.configuration.dimInactiveRegions.description%",
"scope": "resource"
},
"C_Cpp.autoFoldInactiveRegions": {
"type": "boolean",
"default": false,
"markdownDescription": "%c_cpp.configuration.autoFoldInactiveRegions.description%",
"scope": "resource"
},
"C_Cpp.inactiveRegionOpacity": {
"type": "number",
"default": 0.55,
Expand Down Expand Up @@ -3999,6 +4005,16 @@
"title": "%c_cpp.command.toggleDimInactiveRegions.title%",
"category": "C/C++"
},
{
"command": "C_Cpp.FoldAllInactiveRegions",
"title": "%c_cpp.command.foldAllInactiveRegions.title%",
"category": "C/C++"
},
{
"command": "C_Cpp.UnfoldAllInactiveRegions",
"title": "%c_cpp.command.unfoldAllInactiveRegions.title%",
"category": "C/C++"
},
{
"command": "C_Cpp.ResetDatabase",
"title": "%c_cpp.command.resetDatabase.title%",
Expand Down Expand Up @@ -6552,6 +6568,14 @@
"command": "C_Cpp.ToggleDimInactiveRegions",
"when": "config.C_Cpp.intelliSenseEngine =~ /^[dD]efault$/"
},
{
"command": "C_Cpp.FoldAllInactiveRegions",
"when": "editorLangId =~ /^(c|(cuda-)?cpp)$/ && config.C_Cpp.intelliSenseEngine =~ /^[dD]efault$/ && config.C_Cpp.codeFolding =~ /^[eE]nabled$/"
},
{
"command": "C_Cpp.UnfoldAllInactiveRegions",
"when": "editorLangId =~ /^(c|(cuda-)?cpp)$/ && config.C_Cpp.intelliSenseEngine =~ /^[dD]efault$/ && config.C_Cpp.codeFolding =~ /^[eE]nabled$/"
},
{
"command": "C_Cpp.ResetDatabase",
"when": "!(config.C_Cpp.intelliSenseEngine =~ /^[dD]isabled$/)"
Expand Down Expand Up @@ -7269,7 +7293,7 @@
"resolutions": {
"gulp-typescript/**/glob-parent": "^5.1.2",
"serialize-javascript": "^7.0.5",
"fast-uri": "^3.1.6",
"fast-uri": "^3.1.8",
"@humanfs/node": "^0.16.8"
}
}
3 changes: 3 additions & 0 deletions Extension/package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
"c_cpp.command.enableErrorSquiggles.title": "Enable Error Squiggles",
"c_cpp.command.disableErrorSquiggles.title": "Disable Error Squiggles",
"c_cpp.command.toggleDimInactiveRegions.title": "Toggle Inactive Region Colorization",
"c_cpp.command.foldAllInactiveRegions.title": "Fold All Inactive Regions",
"c_cpp.command.unfoldAllInactiveRegions.title": "Unfold All Inactive Regions",
"c_cpp.command.resetDatabase.title": "Reset IntelliSense Database",
"c_cpp.command.takeSurvey.title": "Take Survey",
"c_cpp.command.restartIntelliSenseForFile.title": "Restart IntelliSense for Active File",
Expand Down Expand Up @@ -486,6 +488,7 @@
"c_cpp.configuration.autocomplete.disabled.description": "Uses the word-based completion provided by Visual Studio Code.",
"c_cpp.configuration.errorSquiggles.description": "Controls whether suspected compile errors detected by the IntelliSense engine will be reported back to the editor. It also controls whether code analysis warnings are reported if includes can't be found. This setting is ignored by the Tag Parser engine.",
"c_cpp.configuration.dimInactiveRegions.description": "Controls whether inactive preprocessor blocks are colored differently than active code. This setting has no effect if IntelliSense is disabled or if using the Default High Contrast theme.",
"c_cpp.configuration.autoFoldInactiveRegions.description": "Controls whether inactive preprocessor blocks are automatically folded when a file is opened. This setting only applies when `#C_Cpp.intelliSenseEngine#` is `default` and `#C_Cpp.codeFolding#` is `enabled`.",
"c_cpp.configuration.inactiveRegionOpacity.markdownDescription": {
"message": "Controls the opacity of inactive preprocessor blocks. Scales between `0.1` and `1.0`. This setting only applies when inactive region dimming is enabled.",
"comment": [
Expand Down
Loading
Loading