Skip to content

Commit 3a3a345

Browse files
authored
Merge pull request #7801 from microsoft/main
Merge for 1.5.0
2 parents 54bf446 + 0228b97 commit 3a3a345

File tree

91 files changed

+1448
-850
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1448
-850
lines changed

.github/actions/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Documentation/Debugger/How To Debug MIEngine.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# How To Debug MIEngine
22

3-
MIEngine is one of the components used to enable the C/C++ debugging scenario with the Microsoft C/C++ extension with VS Code. This document is to help enable users who want to debug and contribute to MIEngine to fix issues or extend functionality. MIEngine is used to communicate with `gdb`/`lldb` using the MI protocol.
3+
MIEngine is one of the components used to enable the C/C++ debugging scenario with the Microsoft C/C++ extension with VS Code. This document is to help enable users who want to debug and contribute to MIEngine to fix issues or extend functionality. MIEngine is used to communicate with `gdb`/`lldb` using the MI protocol.
44

55
**Repository:** https://github.com/Microsoft/MIEngine
66

@@ -19,7 +19,7 @@ You can open the solution file **MIDebugEngine.sln** located under **src** and c
1919

2020
The symbol files are as follows:
2121

22-
**On Windows**
22+
**On Windows**
2323
* Microsoft.MICore.pdb
2424
* Microsoft.MIDebugEngine.pdb
2525
* vscode\OpenDebugAD7.pdb
@@ -37,7 +37,7 @@ On Windows, the easiest way to debug is to use Visual Studio. Locate the **src\D
3737

3838
If you are not building the extension, Locate the **out\src\Debugger\extension.ts** file in the **.vscode\extensions\ms-vscode.cpptools** folder and open it in an editor.
3939

40-
Locate the following lines:
40+
Locate the following lines:
4141
```json
4242
return {
4343
command: command
@@ -48,13 +48,13 @@ and add the following line to the object:
4848
args: ["--pauseForDebugger"]
4949
```
5050

51-
This will cause the debugger to look like it has hung once you start debugging, but in reality it is waiting for a debugger to attach. Set your breakpoints and attach your debugger to the `OpenDebugAD7.exe` process. Once the debugger is attached, VS Code should start debugging and you can reproduce your scenario.
51+
This will cause the debugger to look like it has hung once you start debugging, but in reality it is waiting for a debugger to attach. Set your breakpoints and attach your debugger to the `OpenDebugAD7.exe` process. Once the debugger is attached, VS Code should start debugging and you can reproduce your scenario.
5252

53-
### Debugging MIEngine running on Linux or Mac OS X
53+
### Debugging MIEngine running on Linux or macOS
5454

5555
#### With MonoDevelop
5656

57-
On Linux and Mac OS X, we use `mono` as our framework. You can download Xamarin Studio v5.10.1.6 and remotely attach to your Mac or Linux box to debug there.
57+
On Linux and macOS, we use `mono` as our framework. You can download Xamarin Studio v5.10.1.6 and remotely attach to your Mac or Linux box to debug there.
5858

5959
##### Install Prerequisites
6060
1. Install [GTK](http://www.mono-project.com/download/).
@@ -78,12 +78,12 @@ MonoDevelop.exe
7878

7979
##### Configure the extension to enable remote debugging
8080

81-
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from Xamarin Studio.
81+
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from Xamarin Studio.
8282

8383
##### Attach the remote debugger
8484

8585
In MonoDevelop: Run -> Run With -> Custom Command Mono Soft Debugger.
86-
Fill in the IP and port of the Linux/Mac OS X machine and hit "Connect" to start debugging.
86+
Fill in the IP and port of the Linux/macOS machine and hit "Connect" to start debugging.
8787

8888
After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F5</kbd> to bring up the connect dialog again.
8989

@@ -113,7 +113,7 @@ After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F
113113

114114
##### Configure the extension to enable remote debugging
115115

116-
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from VS Code.
116+
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from VS Code.
117117

118118
##### Attach the remote debugger
119119

Extension/CHANGELOG.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,46 @@
11
# C/C++ for Visual Studio Code Change Log
22

3+
## Version 1.5.0: July 8, 2021
4+
### New Feature
5+
* Add the "Inline macro" code action. [#4183](https://github.com/microsoft/vscode-cpptools/issues/4183)
6+
* Add a Windows ARM64 debugger. [PR #7798](https://github.com/microsoft/vscode-cpptools/pull/7798)
7+
8+
### Enhancements
9+
* Add auto-detection of clang compilers on Windows (and different versions of cl.exe). [#6718](https://github.com/microsoft/vscode-cpptools/issues/6718)
10+
* Stop adding .cu files to `files.associations` (switch to using setTextDocumentLanguage). [#7359](https://github.com/microsoft/vscode-cpptools/issues/7359)
11+
* Add "Symbol Options" for CppVsdbg to configure symbol settings [PR #7680](https://github.com/microsoft/vscode-cpptools/pull/7680)
12+
* Update CppVsdbg to use newer CppEE and msdia.
13+
14+
### Bug Fixes
15+
* Fix switch header/source not checking `files.exclude`. [#4429](https://github.com/microsoft/vscode-cpptools/issues/4429)
16+
* Fix code folding causing `} else if` lines to be hidden. [#5521](https://github.com/microsoft/vscode-cpptools/issues/5521)
17+
* Add abort handling to recursive includes directory iteration. [#6461](https://github.com/microsoft/vscode-cpptools/issues/6461)
18+
* Fix include completion with recursive includes in header files. [#6842](https://github.com/microsoft/vscode-cpptools/issues/6842)
19+
* Add the get-task-allow entitlement to macOS binaries to enable call stacks to be obtained when SIP is enabled. [#7412](https://github.com/microsoft/vscode-cpptools/issues/7412)
20+
* Fix Find All References reporting certain references in headers as inactive. [#7609](https://github.com/microsoft/vscode-cpptools/issues/7609)
21+
* Fix IntelliSense process crash and tag parser failure with columns > 65535. [#7621](https://github.com/microsoft/vscode-cpptools/issues/7621)
22+
* Fix incorrect localization translations.
23+
* jogo- (@jogo-) [PR #7625](https://github.com/microsoft/vscode-cpptools/pull/7625)
24+
* Fix `autocompleteAddParentheses` for some template argument deduction cases. [#7626](https://github.com/microsoft/vscode-cpptools/issues/7626)
25+
* Fix some incorrect IntelliSense errors. [#6639](https://github.com/microsoft/vscode-cpptools/issues/6639), [#7630](https://github.com/microsoft/vscode-cpptools/issues/7630)
26+
* Change references of "OS X" to "macOS".
27+
* Tyler Davis (@TylerADavis) [PR #7636](https://github.com/microsoft/vscode-cpptools/pull/7636)
28+
* Prevent the root path from being added to the `browse.path`. [#7648](https://github.com/microsoft/vscode-cpptools/issues/7648)
29+
* Fix a configuration squiggle when `${workspaceFolder}` is used with `compilerPath`. [#7649](https://github.com/microsoft/vscode-cpptools/issues/7649)
30+
* Fix an issue causing editorConfig not to be used or cached. [PR #7666](https://github.com/microsoft/vscode-cpptools/pull/7666)
31+
* Fix document symbols nesting with templates. [#7673](https://github.com/microsoft/vscode-cpptools/issues/7673)
32+
* Fix include paths not being found when the paths start with /D or /I. [#7701](https://github.com/microsoft/vscode-cpptools/issues/7701), [#7757](https://github.com/microsoft/vscode-cpptools/issues/7756)
33+
* Fix Find All References on a global variable giving incorrect references to local variables. [#7702](https://github.com/microsoft/vscode-cpptools/issues/7702)
34+
* Fix `vcFormat` not working near the end of the file with UTF-8 characters > 1 byte. [#7704](https://github.com/microsoft/vscode-cpptools/issues/7704)
35+
* Fix a configuration squiggle for a recursively resolved `forcedInclude`. [PR #7722](https://github.com/microsoft/vscode-cpptools/pull/7722)
36+
* Fix `Build and Debug Active File` for certain file extensions (.cu, .cp, etc.).
37+
* jogo- (@jogo-) [PR #7726](https://github.com/microsoft/vscode-cpptools/pull/7726)
38+
* Fix `browse.path` being incorrect if an invalid `compileCommands` is set. [#7737](https://github.com/microsoft/vscode-cpptools/issues/7737)
39+
* Fix an incorrect error message when `C_Cpp.errorSquiggles` is `"Enabled"`. [#7744](https://github.com/microsoft/vscode-cpptools/issues/7744)
40+
* Fix compiler querying sometimes not working with Cygwin. [#7751](https://github.com/microsoft/vscode-cpptools/issues/7751)
41+
* Fix a duplicate IntelliSense update when a new C/C++ file is opened and after switching from a non-C/C++ file and back.
42+
* Fix a potential IntelliSense process crash on shutdown.
43+
344
## Version 1.4.1: June 8, 2021
445
* Fix the configuration UI sometimes not populating initially with VS Code 1.56 or later. [#7641](https://github.com/microsoft/vscode-cpptools/issues/7641)
546

Extension/bin/messages/cs/messages.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3376,11 +3376,21 @@
33763376
"Moduly se v tomto režimu nepovolily.",
33773377
"Název modulu nesmí obsahovat slovo import.",
33783378
"Název modulu nesmí obsahovat slovo module.",
3379-
"Když se %sq používá v direktivě import, nemůže to být makro.",
3379+
null,
33803380
null,
33813381
"%n není výčtový typ.",
33823382
"Enumerátor %no2 je v konfliktu s %n1.",
33833383
"Enumerátor %no se už v tomto oboru %p deklaroval.",
33843384
"specifikace throw() není součástí standardu C++20 a novějších",
3385-
"více než jedna položka v mapě jednotky hlavičky odpovídá %s"
3385+
"více než jedna položka v mapě jednotky hlavičky odpovídá %s",
3386+
"Diagnostika #pragma musí mít buď argument push nebo pop.",
3387+
"Nenašel se žádný push diagnostiky #pragma, které by odpovídal tomuto popu diagnostiky.",
3388+
"%sq nemůže být makro, pokud se použije ve směrnici pro import nebo modul.",
3389+
"Tato direktiva se může vyskytovat jenom v rozsahu globálního oboru názvů.",
3390+
"Deklarace typu export se může vyskytovat jenom na úrovni globálního rozsahu (global) nebo rozsahu oboru názvů (namespace).",
3391+
"%sq se parsuje jako identifikátor, nikoli jako klíčové slovo, protože tokeny, které po něm následují, se neshodují s direktivou preprocesoru.",
3392+
"Vypadá to, že se jedná o začátek direktivy preprocesoru, ale chybějící znak „;“, po kterém ihned následuje nový řádek, tomu brání.",
3393+
"Vypadá to, že se jedná o direktivu předběžného zpracování modulů, ale tyto direktivy se nemůžou vyskytovat v rámci rozšíření makra.",
3394+
"Direktiva typu module se nemůže vyskytovat v oboru podmíněného zahrnutí (např. #if, #else, #elseif apod.).",
3395+
"Import %sq se přeskočil."
33863396
]

Extension/bin/messages/de/messages.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3376,11 +3376,21 @@
33763376
"Module sind in diesem Modus nicht aktiviert.",
33773377
"\"Import\" ist in einem Modulnamen unzulässig.",
33783378
"\"Modul\" ist in einem Modulnamen unzulässig.",
3379-
"\"%sq\" kann kein Makro sein, wenn es in einer Importdirektive verwendet wird.",
3379+
null,
33803380
null,
33813381
"\"%n\" ist kein Enumerationstyp.",
33823382
"Der Enumerator \"%no2\" steht in Konflikt mit \"%n1\".",
33833383
"Der Enumerator \"%no\" wurde bereits in diesem Bereich (%p) deklariert.",
33843384
"Die Spezifikation \"throw()\" ist nicht in C++ 20 und höher enthalten.",
3385-
"Mehrere Einträge in der Headereinheitenzuordnung stimmen mit \"%s\" überein."
3385+
"Mehrere Einträge in der Headereinheitenzuordnung stimmen mit \"%s\" überein.",
3386+
"#pragma-Diagnose muss entweder das Argument \"push\" oder \"pop\" aufweisen",
3387+
"es wurde kein \"#pragma diagnostic push\" gefunden, um diesem \"diagnostic pop\" zu entsprechen",
3388+
"%sq kann kein Makro sein, wenn es in einer \"import\"- oder \"module\"-Direktive verwendet wird",
3389+
"diese Direktive darf nur im globalen Namespacebereich angezeigt werden",
3390+
"eine \"export\"-Deklaration kann nur im globalen oder Namespace-Gültigkeitsbereich auftreten.",
3391+
"%sq wird als Bezeichner und nicht als Schlüsselwort analysiert, da die nachfolgenden Token nicht mit denen einer Präprozessor-Direktive übereinstimmen",
3392+
"dies scheint der Anfang einer Präprozessor-Direktive zu sein, aber der Mangel an \";\", gefolgt von einem Zeilenumbruch, verhindert, dass",
3393+
"dies scheint eine Direktive für die Vorverarbeitung von Modulen zu sein, aber solche Direktiven dürfen nicht innerhalb einer Makroerweiterung auftreten",
3394+
"eine \"module\"-Direktive darf nicht im Bereich der bedingten Inklusion enthalten sein (z. B. #if, #else, #elseif usw.)",
3395+
"der Import von %sq wurde übersprungen"
33863396
]

Extension/bin/messages/es/messages.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3376,11 +3376,21 @@
33763376
"los módulos no están habilitados en este modo",
33773377
"No se permite \"import\" en un nombre de módulo",
33783378
"No se permite usar \"módulo\" en un nombre de módulo",
3379-
"%sq no puede ser una macro cuando se use en una directiva import",
3379+
null,
33803380
null,
33813381
"%n no es un tipo de enumeración",
33823382
"el enumerador %no2 entra en conflicto con %n1",
33833383
"el enumerador %no ya se ha declarado en el ámbito %p",
33843384
"la especificación \"throw()\" no forma parte de C++20 y versiones posteriores",
3385-
"más que la entrada en el mapa de la unidad del encabezado coincide con \"%s\""
3385+
"más que la entrada en el mapa de la unidad del encabezado coincide con \"%s\"",
3386+
"el diagnóstico #pragma debe tener un argumento \"push\" o \"pop\"",
3387+
"no se encontró ninguna \"diagnóstico 'push' de #pragma\" que coincidiera con este \"diagnóstico 'pop'\"",
3388+
"%sq no puede ser una macro cuando se usa en una directiva \"import\" o \"module\"",
3389+
"esta directiva solo puede aparecer en el ámbito de espacio de nombres global",
3390+
"una declaración \"export\" solo puede aparecer en un ámbito global o de espacio de nombres",
3391+
"%sq se analiza como identificador en lugar de como palabra clave porque los tokens posteriores no coinciden con los de una directiva de preprocesador",
3392+
"parece ser el inicio de una directiva de preprocesador, pero la ausencia de un \";\" seguida inmediatamente por una nueva línea impide eso",
3393+
"parece que se trata de una directiva de preprocesamiento de módulos, pero estas directivas no pueden aparecer dentro de una expansión de macro",
3394+
"una directiva \"module\" no puede aparecer en el ámbito de la inclusión condicional (por ejemplo, #if, #else, #elseif, etc.)",
3395+
"se ha omitido la importación de %sq"
33863396
]

Extension/bin/messages/fr/messages.json

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1896,15 +1896,15 @@
18961896
"l'attribut 'hiding' spécifié sur une déclaration référencée par la déclaration using %p",
18971897
"l'attribut 'hiding' est requis sur une déclaration (dans une classe 'base_check') qui masque %nd",
18981898
"%n n'est pas défini dans cette unité de traduction, mais dépend d'un type local",
1899-
"%n n'est pas défini dans cette unité de traduction, mais dépend d'u n type sans liaison",
1899+
"%n n'est pas défini dans cette unité de traduction, mais dépend d'un type sans liaison",
19001900
"l'attribut %sq est manquant dans une autre unité de traduction",
19011901
"l'attribut %sq est en conflit avec une autre unité de traduction",
19021902
"l'option 'nonstd_gnu_keywords' est uniquement valide dans les modes C GNU et C++ GNU",
19031903
"l'utilisation d'une variable const dans une expression constante est non standard en C",
19041904
"un initialiseur ne peut pas être spécifié pour un membre de tableau flexible à durée de stockage automatique",
19051905
null,
19061906
"un type de classe 'final' ne peut pas être utilisé comme une classe de base",
1907-
"les modèles exportés ne sont pus en langage C++ standard",
1907+
"les modèles exportés ne sont plus en langage C++ standard",
19081908
"un désignateur dépendant du modèle n'est pas autorisé",
19091909
"le second opérande de offsetof ne peut pas être un champ avec type référence",
19101910
"les temporaires à durée de vie longue sont incompatibles avec les autres fonctionnalités de langage plus récentes demandées",
@@ -3376,11 +3376,21 @@
33763376
"les modules ne sont pas activés dans ce mode",
33773377
"'import' n'est pas autorisé dans un nom de module",
33783378
"'module' n'est pas autorisé dans un nom de module",
3379-
"%sq ne peut pas être une macro quand il est utilisé dans une directive import",
3379+
null,
33803380
null,
33813381
"%n n'est pas un type énumération",
33823382
"l'énumérateur %no2 est en conflit avec %n1",
33833383
"l'énumérateur %no a déjà été déclaré dans cette étendue %p",
33843384
"la spécification 'throw()' ne fait pas partie de C++20 ni des versions ultérieures",
3385-
"plusieurs entrées dans le mappage d'unité d'en-tête correspondent à '%s'"
3385+
"plusieurs entrées dans le mappage d'unité d'en-tête correspondent à '%s'",
3386+
"#Le diagnostic pragma doit avoir un argument « push » ou « pop »",
3387+
"Aucun « #pragma diagnostic push » n’a été trouvé en correspondance à ce « diagnostic pop »",
3388+
"%sq ne peut pas être une macro quand il est utilisé dans une directive d’importation ou de module",
3389+
"cette directive ne peut apparaître que dans l’étendue de l’espace de noms global",
3390+
"une déclaration « export » peut apparaître uniquement dans l’étendue globale ou de l’espace de noms",
3391+
"Le %sq est ensuite analysé en tant qu’identificateur plutôt qu’en tant que mot clé, car les jetons qui suivent ne correspondent pas à ceux d’une directive de préprocesseur",
3392+
"cette directive semble être le début d’une directive de préprocesseur, mais l’absence de « ; » suivie immédiatement d’une nouvelle ligne empêche",
3393+
"il s’agit d’une directive de prétraitement de modules, mais une telle directive ne peut pas apparaître dans une extension de macro",
3394+
"une directive « module » ne peut pas apparaître dans le cadre de l’inclusion conditionnelle (par exemple, #if, #else, #elseif, etc.)",
3395+
"l’importation de %sq a été ignorée"
33863396
]

Extension/bin/messages/it/messages.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3376,11 +3376,21 @@
33763376
"i moduli non sono abilitati in questa modalità",
33773377
"Il nome di un modulo non può contenere 'import'",
33783378
"Il nome di un modulo non può contenere 'module'",
3379-
"%sq non può essere una macro se usata in una direttiva di importazione",
3379+
null,
33803380
null,
33813381
"%n non è un tipo di enumerazione",
33823382
"l'enumeratore %no2 è in conflitto con %n1",
33833383
"l'enumeratore %no è già stato dichiarato in questo ambito %p",
33843384
"la specifica 'throw()' non fa parte di C++20 e versioni successive",
3385-
"più di una voce nel mapping dell'unità intestazione corrisponde a '%s'"
3385+
"più di una voce nel mapping dell'unità intestazione corrisponde a '%s'",
3386+
"la diagnostica #pragma deve avere l'argomento 'push' o 'pop'",
3387+
"nessun '#pragma diagnostic push' trovato che corrisponda a questo 'diagnostic pop'",
3388+
"%sq non può essere una macro se usata in una direttiva import o modulo",
3389+
"questa direttiva può essere visualizzata solo nell'ambito dello spazio dei nomi globale",
3390+
"una dichiarazione 'export' può essere visualizzata solo nell'ambito globale o dello spazio dei nomi",
3391+
"%sq viene analizzato come identificatore anziché come parola chiave perché i token che seguono non corrispondono a quelli di una direttiva preprocessore",
3392+
"sembra essere l'inizio di una direttiva preprocessore, ma la mancanza di ';' seguita immediatamente da una nuova riga lo impedisce",
3393+
"sembra essere una direttiva pre-elaborazione dei moduli, ma tali direttive non possono essere visualizzate all'interno di un'espansione delle macro",
3394+
"una direttiva 'module' non può comparire nell'ambito dell'inclusione condizionale (ad esempio, #if, #else, #elseif e così via)",
3395+
"l'importazione di %sq è stata ignorata"
33863396
]

0 commit comments

Comments
 (0)