Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
052f4e7
update version
bobbrow Jul 20, 2018
25a29d0
update fwlinks
bobbrow Jul 20, 2018
2cbc90d
Fix empty windowsSDKVersion. (#2301)
sean-mcmanus Jul 21, 2018
913f740
adds settings for inactive region font & bg color (#2308)
john-patterson Jul 23, 2018
7947dd8
Add multi-pass environment variable resolution (#2322)
john-patterson Jul 24, 2018
c8e30c7
Allow telemetry to detect failed downloads (#2332)
WardenGnaw Jul 26, 2018
2292e7d
Improve description in Extension/README.md (#2336)
Xeonacid Jul 27, 2018
84ff661
adds CHANGELOG entry for PR 2322 (#2325)
john-patterson Jul 27, 2018
1009b76
minor tweaks to config provider experience (#2302)
bobbrow Jul 27, 2018
8b704f5
allow users to use ~ for ${userprofile} on Windows (#2333)
bobbrow Jul 27, 2018
ad46d38
Only allow one configuration popup at a time (#2337)
bobbrow Jul 30, 2018
c36eb8e
Using sh instead of bash (#2340)
andyneff Jul 30, 2018
2b4b5d3
add a setting to modify the behavior of go to symbol in workspace (#2…
bobbrow Aug 2, 2018
3a46f10
Add gcc-x64 intelliSenseMode. (#2315)
sean-mcmanus Aug 2, 2018
3381cde
Update changelog for 0.17.8-insiders. (#2353)
sean-mcmanus Aug 4, 2018
2388fa9
Update FAQs.md (#2343)
pieandcakes Aug 8, 2018
770013d
Enable environment variables with clang_format_path. (#2380)
sean-mcmanus Aug 15, 2018
ce59810
Update changelog for 0.18.0. (#2384)
sean-mcmanus Aug 15, 2018
a088244
Update changelog to reflect compile commands parsing fix (#2409)
grdowns Aug 16, 2018
3790fa9
Add intelliSenseEngine "Disabled". (#2392)
sean-mcmanus Aug 16, 2018
4afadad
update changelog (#2411)
bobbrow Aug 16, 2018
906fd2d
Seanmcm/auto open cpp properties (#2410)
sean-mcmanus Aug 16, 2018
60b20dc
Update package-lock and fix new linter errors. (#2412)
sean-mcmanus Aug 16, 2018
b0fc942
Merge branch 'release' into master
sean-mcmanus Aug 16, 2018
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
39 changes: 38 additions & 1 deletion Documentation/FAQs.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
## Table of Contents
* Setup: [Debugging Setup](#debugging-setup)
* Debugger: [Why is debugging not working?](#why-is-debugging-not-working)
* Build: [How to enable debug symbols?](#how-to-enable-debug-symbols)
* Build: [How to enable debug symbols](#how-to-enable-debug-symbols)
* Logging: [How to enable logging](#how-to-enable-logging)

## Debugging Setup
The debugger needs to be configured to know which executable and debugger to use:
Expand Down Expand Up @@ -43,3 +44,39 @@ When in doubt, please check your compiler's documentation for the options necess

* #### cl.exe
Symbols are located in the `*.pdb` file.

## How to enable logging

Enabling logging will show communication information between VS Code and our extension and between our extension and the debugger.

### Logging for `MI` debuggers

The logging block with its defaults is as follows:

```
"logging": {
"trace": false,
"traceResponse": false,
"engineLogging": false
}
```

#### VS Code and the CppTools extension

The logging here is called `trace` logging and can be enabled by setting `trace` and `traceResponse` to `true` in the logging block inside `launch.json`. This will help diagnose issues related to VS Code's communication to our extension and our responses.

#### CppTools extension and the debugger

The logging between CppTools and the debugger is called `engineLogging`. When using an `MI` debugger such as `gdb` or `lldb`, this will show the request, response and events using the `mi` interpreter. This logging will help us determine whether the debugger is receiving the right commands and generating the correct responses.

### Logging for `Visual C++` debugger

The logging block with its defaults is as follows:

```
"logging": {
"engineLogging": false
}
```

The `Visual C++` debugger logging will show only the communication to and from VS Code as all communication to the debugger is done internally to the process and is not visible through logging.
2 changes: 1 addition & 1 deletion Extension/.vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test"
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests"
],
"stopOnEntry": false,
"sourceMaps": true,
Expand Down
41 changes: 40 additions & 1 deletion Extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,45 @@
# C/C++ for Visual Studio Code Change Log

## Version 0.17.7: July 19, 2018
## Version 0.18.0: August 16, 2018
### New Features
* Add the `C_Cpp.intelliSenseEngine` setting value of `Disabled` (for users who only use the debugger). [#785](https://github.com/Microsoft/vscode-cpptools/issues/785)
* Add `C_Cpp.workspaceSymbols` setting with default `Just My Code` to filter out system header symbols. [#1119](https://github.com/Microsoft/vscode-cpptools/issues/1119), [#2320](https://github.com/Microsoft/vscode-cpptools/issues/2320)
* Add `C_Cpp.inactiveRegionForegroundColor` and `C_Cpp.inactiveRegionBackgroundColor` settings. [#1620](https://github.com/Microsoft/vscode-cpptools/issues/1620), [#2212](https://github.com/Microsoft/vscode-cpptools/issues/2212)
* John Patterson (@john-patterson) [PR 2308](https://github.com/Microsoft/vscode-cpptools/pull/2308)
* Add `gcc-x64` `intelliSenseMode` and send the correct clang or gcc version to our parser, fixing various IntelliSense errors. [#2112](https://github.com/Microsoft/vscode-cpptools/issues/2112), [#2175](https://github.com/Microsoft/vscode-cpptools/issues/2175), [#2260](https://github.com/Microsoft/vscode-cpptools/issues/2260), [#2299](https://github.com/Microsoft/vscode-cpptools/issues/2299), [#2317](https://github.com/Microsoft/vscode-cpptools/issues/2317)
* Make `Go to Definition` on the definition go to the declaration instead. [#2298](https://github.com/Microsoft/vscode-cpptools/issues/2298)
* Add multi-pass environment variable resolution allowing variables defined in terms of other variables. [#2057](https://github.com/Microsoft/vscode-cpptools/issues/2057)
* John Patterson (@john-patterson) [PR 2322](https://github.com/Microsoft/vscode-cpptools/pull/2322)
* Allow users to use `~` for `${userProfile}` on Windows. [PR 2333](https://github.com/Microsoft/vscode-cpptools/pull/2333)
* Add support for compiler flags `-fms-extensions` and `-fno-ms-extensions` on Windows (the default for MinGW-based compilers). [#2363](https://github.com/Microsoft/vscode-cpptools/issues/2363)
* Make completion "show more results" (i.e. inaccessible members) when invoked a 2nd time. [#2386](https://github.com/Microsoft/vscode-cpptools/issues/2386)

### Bug Fixes
* Fix attach to process for systems without `bash` by using `sh` instead. [#569](https://github.com/Microsoft/vscode-cpptools/issues/569)
* Andy Neff (@andyneff) [PR 2340](https://github.com/Microsoft/vscode-cpptools/pull/2340)
* Fix IntelliSense crash after hover or completion with `_Complex` types. [#689](https://github.com/Microsoft/vscode-cpptools/issues/689), [#1112](https://github.com/Microsoft/vscode-cpptools/issues/1112)
* Fix `files.exclude` not working to exclude non-workspace folders from symbol parsing. [#1066](https://github.com/Microsoft/vscode-cpptools/issues/1066)
* Fix `Switch Header/Source` to give results that match the parent folder name before using just the file name. [#1085](https://github.com/Microsoft/vscode-cpptools/issues/1085)
* Fix incorrect IntelliSense errors caused by namespace lookup failure when instantiation template arguments in clang mode. [#1395](https://github.com/Microsoft/vscode-cpptools/issues/1395), [#1559](https://github.com/Microsoft/vscode-cpptools/issues/1559), [#1753](https://github.com/Microsoft/vscode-cpptools/issues/1753), [#2272](https://github.com/Microsoft/vscode-cpptools/issues/2272)
* Fix missing parameter help when using { for constructors. [#1667](https://github.com/Microsoft/vscode-cpptools/issues/1667)
* Fix Mac framework dependencies not being discovered. [#1913](https://github.com/Microsoft/vscode-cpptools/issues/1913)
* Fix `compilerPath` not working with `${workspaceFolder}`. [#1982](https://github.com/Microsoft/vscode-cpptools/issues/1982)
* Fix red flame getting stuck after modifying `c_cpp_properties.json`. [#2077](https://github.com/Microsoft/vscode-cpptools/issues/2077)
* Don't add empty `windowsSDKVersion` if none exists. [#2300](https://github.com/Microsoft/vscode-cpptools/issues/2300)
* Fix IntelliSense crash when the gcc-8 type_traits header is used. [#2323](https://github.com/Microsoft/vscode-cpptools/issues/2323), [#2328](https://github.com/Microsoft/vscode-cpptools/issues/2328)
* Limit configuration popups to one at a time. [#2324](https://github.com/Microsoft/vscode-cpptools/issues/2324)
* Don't show `includePath` code actions if compile commands or custom configuration providers are used. [#2334](https://github.com/Microsoft/vscode-cpptools/issues/2334)
* Fix `Cpp.clang_format_path` not accepting environment variables. [#2344](https://github.com/Microsoft/vscode-cpptools/issues/2344)
* Fix IntelliSense not working with non-ASCII characters in the WSL install path. [#2351](https://github.com/Microsoft/vscode-cpptools/issues/2351)
* Filter out buggy IntelliSense error `"= delete" can only appear on the first declaration of a function`. [#2352](https://github.com/Microsoft/vscode-cpptools/issues/2352)
* Fix IntelliSense failing with WSL if gcc is installed bug g++ isn't. [#2360](https://github.com/Microsoft/vscode-cpptools/issues/2360)
* Fix WSL paths starting with `/mnt/` failing to get symbols parsed. [#2361](https://github.com/Microsoft/vscode-cpptools/issues/2361)
* Fix IntelliSense process crash when hovering over a designated initializer list with an anonymous struct. [#2370](https://github.com/Microsoft/vscode-cpptools/issues/2370)
* Stop showing "File: " in completion details for internal compiler defines. [#2387](https://github.com/Microsoft/vscode-cpptools/issues/2387)
* Invoke `Edit Configurations...` when the `Configuration Help` button is clicked. [#2408](https://github.com/Microsoft/vscode-cpptools/issues/2408)
* Fix to allow SIGINT to be sent using the kill -2 command when using pipeTransport.

## Version 0.17.7: July 22, 2018
* Fix `Go to Definition` for code scoped with an aliased namespace. [#387](https://github.com/Microsoft/vscode-cpptools/issues/387)
* Fix incorrect IntelliSense errors with template template-arguments. [#1014](https://github.com/Microsoft/vscode-cpptools/issues/1014)
* Fix crash when using designated initializer lists. [#1440](https://github.com/Microsoft/vscode-cpptools/issues/1440)
Expand Down
2 changes: 1 addition & 1 deletion Extension/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This preview release of the extension adds language support for C/C++ to Visual
* Quick Info (Hover)
* Error Squiggles
* Debugging
* Support for debugging Windows (PDB, Mingw/Cygwin), Linux and OS X applications
* Support for debugging Windows (PDB, MinGW/Cygwin), Linux and macOS applications
* Line by line code stepping
* Breakpoints (including conditional and function breakpoints)
* Variable inspection
Expand Down
1 change: 0 additions & 1 deletion Extension/bin/msvc.64.darwin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"defaults": [
"--clang",
"--pack_alignment",
"8"
],
Expand Down
1 change: 0 additions & 1 deletion Extension/bin/msvc.64.intel.clang.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"defaults": [
"--clang",
"--pack_alignment",
"8"
],
Expand Down
1 change: 0 additions & 1 deletion Extension/bin/msvc.64.linux.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"defaults": [
"--clang",
"--pack_alignment",
"8"
],
Expand Down
3 changes: 2 additions & 1 deletion Extension/c_cpp_properties.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,11 @@
}
},
"intelliSenseMode": {
"description": "If set, it overrides the default mode used by the IntelliSense engine. Windows defaults to msvc-x64 and Linux/Mac default to clang-x64.",
"description": "If set, it overrides the default mode used by the IntelliSense engine. Windows defaults to msvc-x64, Linux defaults to gcc-x64, and Mac default to clang-x64.",
"type": "string",
"enum": [
"msvc-x64",
"gcc-x64",
"clang-x64",
"${default}"
]
Expand Down
46 changes: 17 additions & 29 deletions Extension/gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,43 +12,31 @@ const mocha = require('gulp-mocha');
const fs = require('fs');
const optionsSchemaGenerator = require('./out/tools/GenerateOptionsSchema');

gulp.task('allTests', () => {
gulp.start('unitTests');
gulp.start('integrationTests');
});

gulp.task('unitTests', () => {
gulp.src('./out/test/unitTests', {read: false}).pipe(
mocha({
ui: "tdd"
})
).once('error', err => {
process.exit(1);
})
.once('end', () => {
process.exit();
})
env.set({
CODE_TESTS_PATH: "./out/test/unitTests",
});

gulp.src('./test/runVsCodeTestsWithAbsolutePaths.js', {read: false})
.pipe(mocha({ ui: "tdd" }))
.once('error', err => process.exit(1))
.once('end', () => process.exit())
});

gulp.task('integrationTests', () => {
env.set({
CODE_TESTS_PATH: "./out/test/integrationTests",
CODE_TESTS_WORKSPACE: "./test/integrationTests/testAssets/SimpleCppProject"
}
);
gulp.src('./test/runVsCodeTestsWithAbsolutePaths.js', {read: false}).pipe(
mocha({
ui: "tdd",
delay: true
})
).once('error', err => {
process.exit(1);
})
.once('end', () => {
process.exit();
})
});

gulp.src('./test/runVsCodeTestsWithAbsolutePaths.js', {read: false})
.pipe(mocha({ ui: "tdd" }))
.once('error', err => process.exit(1))
.once('end', () => process.exit())
});

gulp.task('allTests', ['unitTests', 'integrationTests']);

/// Misc Tasks
const allTypeScript = [
'src/**/*.ts',
Expand Down Expand Up @@ -80,7 +68,7 @@ gulp.task('tslint', () => {

gulp.task('pr-check', () => {
const packageJson = JSON.parse(fs.readFileSync('./package.json').toString());
if (packageJson.activationEvents.length !== 1 && packageJson.activationEvents[0] !== '*') {
if (packageJson.activationEvents.length !== 1 && packageJson.activationEvents[0] !== '*') {
console.log('Please make sure to not check in package.json that has been rewritten by the extension activation. If you intended to have changes in package.json, please only check-in your changes. If you did not, please run `git checkout -- package.json`.');
process.exit(1);
}
Expand Down
Loading