Skip to content

Commit a17a8e1

Browse files
authored
Merge pull request #2210 from Microsoft/master
merge for 0.17.6-insiders
2 parents 4b90e4c + bfad304 commit a17a8e1

29 files changed

+1928
-1198
lines changed

Documentation/Debugger/How To Debug MIEngine.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
# How To Debug MIEngine (Work in Progress)
2-
3-
*This is a work in progress. Please create a pull request with updates if there is anything wrong with it.*
1+
# How To Debug MIEngine
42

53
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.
64

@@ -15,28 +13,38 @@ You can open the solution file **MIDebugEngine.sln** located under **src** and c
1513
* Microsoft.MICore.dll
1614
* Microsoft.MICore.XmlSerializers.dll
1715
* Microsoft.MIDebugEngine.dll
16+
* vscode\OpenDebugAD7.exe
17+
* vscode\Microsoft.DebugEngineHost.dll
1818

1919
The symbol files are as follows:
2020

2121
**On Windows**
2222
* Microsoft.MICore.pdb
2323
* Microsoft.MIDebugEngine.dll
24+
* vscode\OpenDebugAD7.pdb
25+
* vscode\Microsoft.DebugEngineHost.pdb
2426

2527
**On Linux/Mac**
2628
* Microsoft.MICore.dll.mdb
2729
* Microsoft.MIDebugEngine.dll.mdb
30+
* vscode\OpenDebugAD7.exe.mdb
31+
* vscode\Microsoft.DebugEngineHost.dll.mdb
2832

2933
### Debugging On Windows
3034

31-
On Windows, the easiest way to debug is to use Visual Studio. Locate the **package.json** file in the **Extension** folder and open it in an editor.
35+
On Windows, the easiest way to debug is to use Visual Studio. Locate the **src\Debugger\extension.ts** file in the **Extension** folder and open it in an editor.
36+
37+
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.
3238

33-
Locate the following line:
39+
Locate the following lines:
3440
```json
35-
"program": "./debugAdapters/OpenDebugAD7",
41+
return {
42+
command: command
43+
};
3644
```
37-
and add the following line below it:
45+
and add the following line to the object:
3846
```json
39-
"args": ["--pauseForDebugger"],
47+
args: ["--pauseForDebugger"]
4048
```
4149

4250
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.

Extension/CHANGELOG.md

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

3-
## Version 0.17.5-insiders: June 7, 2018
3+
## Version 0.17.6: June 28, 2018
4+
* Fix the database icon getting stuck with recursive includes. [#2104](https://github.com/Microsoft/vscode-cpptools/issues/2104)
5+
* Fix the red flame appearing late with recursive includes. [#2105](https://github.com/Microsoft/vscode-cpptools/issues/2105)
6+
* Fix source files being parsed in system directories. [#2156](https://github.com/Microsoft/vscode-cpptools/issues/2156)
7+
* Fix a crash when saving with recursive includes. [#2173](https://github.com/Microsoft/vscode-cpptools/issues/2173)
8+
* Fix a crash when the `includePath` or `browse.path` is `"**"`. [#2174](https://github.com/Microsoft/vscode-cpptools/issues/2174)
9+
* Fix IntelliSense for WSL without g++ installed. [#2178](https://github.com/Microsoft/vscode-cpptools/issues/2178)
10+
* Fix random IntelliSense (completion) failures due to edits being delayed. [#2184](https://github.com/Microsoft/vscode-cpptools/issues/2184)
11+
* Fix a performance bug with recursive includes.
12+
* Fixed a CPU usage problem on Mac related to system frameworks parsing.
13+
* Keep the IntelliSense process around for 10 seconds after a file is closed in case it's needed again.
14+
* Added an API so build system extensions can provide IntelliSense configurations for source files. More details at [npmjs.com](https://www.npmjs.com/package/vscode-cpptools).
15+
* Fix automatic argument quoting when debugging with gdb/lldb to include when the argument has a '(' or ')' in it. Also escape existing '"' symbols.
16+
17+
## Version 0.17.5: June 21, 2018
18+
* Detect `compile_commands.json` and show prompt to use it. [#1297](https://github.com/Microsoft/vscode-cpptools/issues/1297)
419
* Change inactive regions from gray to translucent. [#1907](https://github.com/Microsoft/vscode-cpptools/issues/1907)
520
* Improve performance of recursive includes paths. [#2068](https://github.com/Microsoft/vscode-cpptools/issues/2068)
6-
* Fix #include completion with headers in the same directory. [#2031](https://github.com/Microsoft/vscode-cpptools/issues/2031)
7-
* Support asm clobber registers on Windows. [#2090](https://github.com/Microsoft/vscode-cpptools/issues/2090)
21+
* Fix IntelliSense client failure due to `No args provider`. [#1908](https://github.com/Microsoft/vscode-cpptools/issues/1908)
22+
* Fix `#include` completion with headers in the same directory. [#2031](https://github.com/Microsoft/vscode-cpptools/issues/2031)
23+
* Fix non-header files outside the workspace folder not being parsed (i.e. so `Go to Definition` works). [#2053](https://github.com/Microsoft/vscode-cpptools/issues/2053)
824
* Fix some crashes. [#2080](https://github.com/Microsoft/vscode-cpptools/issues/2080)
25+
* Support asm clobber registers on Windows. [#2090](https://github.com/Microsoft/vscode-cpptools/issues/2090)
26+
* Fix usage of `${config:section.setting}`. [#2165](https://github.com/Microsoft/vscode-cpptools/issues/2165)
27+
* `browse.path` now inherits `includePath` if not set in `c_cpp_properties.json`.
28+
* On Windows, `compilerPath` now populates with the guessed `cl.exe` path, and the `MSVC` include path is based on the `cl.exe` path.
29+
* Fix files under a non-recursive `browse.path` being removed from the database.
30+
* Fix `*` not working in `browse.path` with WSL.
31+
* Fix for -break-insert main returning multiple bind points. [#729](https://github.com/Microsoft/MIEngine/pull/729)
32+
* Use -- instead of -x for gnome-terminal. [#733](https://github.com/Microsoft/MIEngine/pull/733)
33+
* Added `miDebuggerArgs` in order to pass arguments to the program in `miDebuggerPath`. [#720](https://github.com/Microsoft/MIEngine/pull/720)
934

1035
## Version 0.17.4: May 31, 2018
1136
* Fix infinite loop (caused by deadlock) when using recursive includes. [#2043](https://github.com/Microsoft/vscode-cpptools/issues/2043)
1237
* Stop using recursive includes in the default configuration.
1338
* @Hyzeta [PR #2059](https://github.com/Microsoft/vscode-cpptools/pull/2059)
1439
* Fix various other potential deadlocks and crashes.
15-
* Fix Go to Definition on `#include` not filtering out results based on the path. [#1253](https://github.com/Microsoft/vscode-cpptools/issues/1253), [#2033](https://github.com/Microsoft/vscode-cpptools/issues/2033)
40+
* Fix `Go to Definition` on `#include` not filtering out results based on the path. [#1253](https://github.com/Microsoft/vscode-cpptools/issues/1253), [#2033](https://github.com/Microsoft/vscode-cpptools/issues/2033)
1641
* Fix database icon getting stuck. [#1917](https://github.com/Microsoft/vscode-cpptools/issues/1917)
1742

1843
## Version 0.17.3: May 22, 2018
@@ -190,7 +215,7 @@
190215
* Light bulbs (code actions) for #include errors now suggest potential paths to add to the `includePath` based on a recursive search of the `browse.path`. [#846](https://github.com/Microsoft/vscode-cpptools/issues/846)
191216
* Browse database now removes old symbols when `browse.path` changes. [#262](https://github.com/Microsoft/vscode-cpptools/issues/262)
192217
* Add `*` on new lines after a multiline comment with `/**` is started. [#579](https://github.com/Microsoft/vscode-cpptools/issues/579)
193-
* Fix Go to Definition, completion, and parameter hints for partially scoped members. [#635](https://github.com/Microsoft/vscode-cpptools/issues/635)
218+
* Fix `Go to Definition`, completion, and parameter hints for partially scoped members. [#635](https://github.com/Microsoft/vscode-cpptools/issues/635)
194219
* Fix bug in `macFrameworkPath` not resolving variables.
195220

196221
## Version 0.12.4: September 12, 2017

Extension/ReleaseNotes.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -205,12 +205,12 @@ <h1>Microsoft C/C++ Extension for VS Code</h1>
205205
<tr>
206206
<td>
207207
<div>
208-
<h2 class="caption">April 2018 Update</h2>
209-
<div>Thank you for installing the C/C++ extension. In the April update, we added autocomplete suggestions for <code>#include</code> statements.<br/>
208+
<h2 class="caption">June 2018 Update</h2>
209+
<div>Thank you for installing the C/C++ extension. In the June update, we focused on workspace configuration improvements.<br/>
210+
<br/>
211+
We dramatically improved the performance of recursive includes (e.g. using <code>${workspaceFolder}/**</code> in your <code>includePath</code>), we will prompt you to
212+
use compile_commands.json if it is found in your workspace, and we made the <code>browse.path</code> setting optional in the case that it is identical to your <code>includePath</code>.<br/>
210213
<br/>
211-
We also added settings for configuration defaults and made some changes to improve the automatic configuration experience. If you set the <code>"compilerPath"</code>
212-
property in c_cpp_properties.json, you no longer need to add system includes and defines to <code>"includePath"</code> or <code>"defines"</code><br />
213-
<br />
214214
Additional features and bug fixes are detailed in the <a href="https://github.com/Microsoft/vscode-cpptools/releases">full release notes</a>.</div>
215215
</div>
216216
</td>
@@ -234,9 +234,9 @@ <h3 class="caption">Getting Started</h3>
234234
<td>
235235
<div>
236236
<h3 class="caption">Blog Posts</h3>
237+
<div><a href="https://blogs.msdn.microsoft.com/vcblog/2018/05/08/visual-studio-code-cc-extension-may-2018-update-intellisense-configuration-just-got-so-much-easier/">May 2018 Update</a></div>
237238
<div><a href="https://blogs.msdn.microsoft.com/vcblog/2018/03/29/visual-studio-code-cc-extension-march-2018-update/">March 2018 Update</a></div>
238239
<div><a href="https://blogs.msdn.microsoft.com/vcblog/2018/02/20/visual-studio-code-cc-extension-feb-2018-update/">February 2018 Update</a></div>
239-
<div><a href="https://blogs.msdn.microsoft.com/vcblog/2018/01/17/visual-studio-code-cc-extension-jan-2018-update/">January 2018 Update</a></div>
240240
<div><a href="https://blogs.msdn.microsoft.com/vcblog/2016/03/31/cc-extension-for-visual-studio-code/">C/C++ Extension anouncement</a></div>
241241
</div>
242242
</td>

Extension/c_cpp_properties.schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@
8181
"type": "string"
8282
}
8383
},
84+
"configurationProvider": {
85+
"description": "The id of a VS Code extension that can provide IntelliSense configuration information for source files.",
86+
"type": "string"
87+
},
8488
"browse": {
8589
"type": "object",
8690
"properties": {

Extension/cpptools.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
{
2-
"intelliSenseEngine_default_percentage": 100
2+
"intelliSenseEngine_default_percentage": 100,
3+
"defaultIntelliSenseEngine": 100,
4+
"recursiveIncludes": 100
35
}

Extension/gulpfile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,5 +87,5 @@ gulp.task('pr-check', () => {
8787
});
8888

8989
gulp.task('generateOptionsSchema', () => {
90-
optionsSchemaGenerator.GenerateOptionsSchema();
90+
optionsSchemaGenerator.generateOptionsSchema();
9191
});

0 commit comments

Comments
 (0)