* Fix glob coverage
* resolve and split paths before validation
* expand glob patterns and do not expand incorrect paths
* Do not squiggle paths that need to be expanded
* revert change
* squiggle paths that end with *
* Do not squiggle paths that end with *
* properly squiggle glob paths with recursive includes
* correctly report squiggles with glob paths
* move check for asterisk to outer check
* fix lint issues
Removes the console.log messages that show up during normal execution.
Leaves console.logs in exception handlers the way they are.
Signed-off-by: Trond Einar Snekvik <[email protected]>
* Add loc string and Add Missing Include handler
* Add AddMissingInclude Command and resolve lint
* Refactor codeActionProvider
* resolve formatting and append newline to includes
* Only apply new line to Add Missing Include
* Resolve lint issue
* Add new line specific to OS
* Resolve newline
* made sure that yarn install gets called before compile
* Add some nice messages
* better detection
* cleaned up more
* more tweaks
* remove old checks
* let unit tests run without binaries
* turn off scenario tests until binaries can be installed
* add another rule
* updated files
* queue and ready are now separate
* checkpoint
* found it! fixed missing call
* cleaned up and refactored a bit
* cleanup
* whoops. make sure linter runs!
* Make the queue itself static
* addressed formatting issues, added more rules to eslint
* more formatting, made ready Promise/void
* checkpoint
* checkpoint
* checkpoint
* checkpoint (linting)
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* renamed path to filepath.
* checkpoint
* checkpoint
* so close...
* checkpoint again
* before making doc
* checkpoint
* checkpoint
* Checkpoint
* renamed awaiters
* eslint
* fix format on generated native strings
* add dummy pretest task back in for the moment
* change unit test runing
* posix calc test failure
* make signal dispose better
* add est regen script
* missed file
* checkpoint
* Improve scripts a bit
* remove hooks for now
* remove unused script
* remove unused script
* filter out files
* ensure that eslint works for scripts too
* fix build oses to specific version
* cleanups and tweaking
* adjusted for cosmetic feedback
* more
* add eslint rule to fix space before/after semicolon
* remove tba/tbd
* cleanup
* Added space-infix-ops rule
* cleanup
* resolve comments
* resolve comments
* add simple debug task
* spelling fixes
* cleanup more
* More changes. yay
* remove the extra whitespace from before comments
* add eslint rule to ensure that there are never extra spaces
* adding another eslint rule to ensure that there isn't spacing around unary operators, which we all know is dangerous. Or weird. I forget which
* added a space between vs and code because a space is the desired format
* removed all mentions of transpiler which was removed
* removed an extra comma
* removed a trailing slash
* removed useless lines
* missed as file
* reconfigure no-extra-parens rule
* added note about yarn install
* whatever
* more fun
* FIx it so that it webpacks correctly
* remove refernces to attic
* restore line to correct check
* fix whitespace
* added blank yarn install
* removed
For example, using the following tree:
rootUri
- sources
- main
- main.c
- vendor
- khash.h
- headers
- C001
- a.h
- C002
- b.h
The following directory paths works:
- `sources/**` for plain old recursive path
- `headers/C*/` dynamic path
- `missing/` reported as "not found"
- `missing/*` expanded as empty result (silent fail)
Note: bakslash paths need to be slash-converted to avoid be considered as "Dynamic"
Co-authored-by: Sean McManus <[email protected]>
Co-authored-by: browntarik <[email protected]>
* Fix configure IntelliSense UI bugs with non-C/C++ files.
* Fix "Configure IntelliSense" not going away until reload window.
* Move location to the left of the config.
* Refactor isCpp
* Stop showing the code action if the default compiler is already set.
* Multiple other fixes.
* Fix clang-tidy 'clang-analyzer-' documentation links not working.
* Fix file parsing ending not being displayed during pause
* Fix logic
* Remove redundant line
* Condense unpaused parser text
* Introduced parser indexing phase to UI
* Use lookupString() for parse status logic
* Update UI check logic
* Remove log
* Fix logic
* Seperate initializing from indexing in UI
* Change parser initalized text
* Remove extra new line
* Remove missed code
* Add uiOverride parameter to telemetry
* Resolve includePath before sending config notification
* Ensure all configuration paths are absolute
* Optimize implentation of resolution of arrays
* Move the resolving of config paths
* Reuse win32 check for all resolvePath's
* add explict type to isWin32
* Change engine logging and add natvis diagnostics
This PR adds logging categories to engineLogging and adds
in the option for natvisDiagnostics with different categories.
* change nls nativisDiagnostics to category
* Change engine logging and add natvis diagnostics
This PR adds logging categories to engineLogging and adds
in the option for natvisDiagnostics with different categories.
* change nls nativisDiagnostics to category
* Fix BufferOverflow with NativeAttach
This PR migrates the nativeAttach child_process calls to use 'spawn'
instead of 'exec'. This allows the extension to deal with large process
listing output via input/output streams instead of using a single
hardcoded buffer.
Added support for canceling and timeout if the spawned process does not
exit within 30 seconds.
* Contribute breakpoints for the "rust" language
Since rust code can be debugged with this extension, contribute breakpoints for the "rust" language such that the workaround of "allow breakpoints in all files" is no longer required.
* Contribute breakpoints for the "rust" language
Since rust code can be debugged with this extension, contribute breakpoints for the "rust" language such that the workaround of "allow breakpoints in all files" is no longer required.
* Update lldb-mi build
Hardcode llvm/lldb-mi commits to match the ones in cgmanifest.
Added parameters to support building for different arch and on
different machines.
* Refactor
* Remove the remote extensions from the pack as remote is considered "advanced"
* Mark the pack to not be compatible with "web" so that it is not offered as a recommendation.
This PR adds in a cgmanifest.json file to comply with Component
Governance Compliance.
This adds two registrations to llvm-project and lldb-mi as components as
they are packaged and published with the macOS version of the VS Code
C/C++ Extension.
it looks like in [package.json line 5](https://github.com/microsoft/vscode-cpptools/blob/a62acdb5a52438540c266b409a0ee7f8e64f7a9b/Extension/package.json#L5), we add a suffix, "main", to the version. When we assign customers to target populations for experiments, we were trying to assign customers without any suffix to Public, which resulted in no one being included. Instead, I think we should be checking if the suffix is "main" and assign those customers to Public.
Debugger now ships using .NET 5 Runtime to run OpenDebugAD7.
Supports:
- win7-x86
- win-x64
- win10-arm64
- linux-x64
- linux-musl-x64
- linux-arm
- linux-arm64
- osx-x64
Cleaned up unused setup files.
Updated packageManager to download alpine dependencies.
Removed 'removeUnnecessaryFile' step since that removed windows
configurations for OpenDebugAD7.
* removed walkthrough task for Build your C++ file and simplified instructions for Run and debug your C++ file
* Addressing PR feedback - removed unused files and added step for selecting compiler in markdown file for Run and debug your C++ file
* Add new "console" launch config for vsdbg
This PR adds new console support for the cppvsdbg debug type.
This removes the legacy 'externalConsole' flag with 'console'.
Console has four enums:
- internalConsole: Output to the VS Code Debug Console. This doesn't
support reading console input (ex:Console.ReadLine)
- integratedTerminal: VS Code's integrated terminal
- externalTerminal: External terminal that can be configured via user
settings
- newExternalWindow: Console applications will be launched in their own
external console window which will end when the application stops.
Non-console applications will run without a terminal, and
stdout/stderr will be ignored.
* change master to main
* check for duplicate names
* check duplicates before removing the later configs
* spelling check
* fix spelling error
* add configNameInvalid for UI error(won't show yet)
* show the UI error
* squiggle for all duplicates
* change let to const
* squiggle for first one as well
* let to const
* Update link for Windows Debugger
This PR updated the License.txt when vsdbg is downloaded in
debugAdapters.
See https://github.com/microsoft/vscode-cpptools/pull/6735
* Update integreity hash for the Windows Debugger
* Output the cppbuild command used. Fixes#6647 .
Also fixes "D" command line warnings with cl.exe.
Move the build result message to the end.
Handle the /nologo case and always shows the logo/header if it exists (but default to use /nologo).
* localizing for task provider
* localize single_file_mode_not_available
* remove end of line from localalized string
* modify error(s)
* remove space from localized string
* remove space from localized string
* localizing for task provider
* localize single_file_mode_not_available
* remove end of line from localalized string
* modify error(s)
* remove space from localized string
* remove space from localized string
Add resolveDebugConfigurationWithSubstitutedVariables for
configurationProviders.
Keeping resolveDebugConfiguration to return null if type is not provided
in order to prompt `provideDebugConfiguration`.
* [cppdbg] Support new sourceFileMap schema
For cppdbg, sourceFileMap can be used for binding breakpoints.
If keeping with the old format "<source-path>":"<target-path>", it will
always be used for breakpoints.
If you use the new:
"<compile-path>" : {
"editorPath": "<target-path>",
"useForBreakpoints": true
}
The sourceMap will only be used for frame enumeration.
* Fix linter issues
* Addressing PR comments
This PR uses the
DebugConfigurationProvider.resolveDebugConfigurationWithSubstitutedVariables
which allows the debug configuration to wait for the preLaunchTask to
complete before continuing on and resolving variables that may have been
set in the 'tasks.json'.
This also resolves the logging issue where the 'Build and Debug Active
File' preLaunchTask uses the current file but we switch to the output
window for logging.
* Fix 'Build and Debug Active File' race condition with EngineLogs
If users use 'Build and Debug Active File' with "engineLogging", the resolveDebugConfigurations will quickly switch to the output window and `${fileBasenameNoExtension}` will resolve to something similar to `./extension-output-#5`.
This may be a bug with VS Code determining the output window to be a file, but this will unblock users who need to enable engine logging for this scenario.
* adding standard std version to clang_format_style
* add new cppBuildTaskProvider
* add Sean's changes to tasks
* draft
* draft 2
* draft 3 - working
* windows version
* fix cwd path
* fix cwd
* change header and source file set
* minor changes
* make new instance
* create new instance
* remove compilerPath input
* review changes
* solving the error due to space in file name
* showing the error message
* fix lint
* add set timeout and setinterval from timers
* Rename cppbuildTaskProvider.ts to cppBuildTaskProvider.ts
* fire the events with zero
* delete filewatcher
* localize strings
* change changelog.md
* changelog
* changelog
* change format
* wait dobuild
* use checkFileExists
* after test
* after test2
* add properties
* change the doBuild
* this.closeEmitter.fire(result);
* change doBuild
* very minor change
* label vs name resolved
* draft
* draft for Sean
* before cleaning the code
* Stable, Clean, Before API proposal
* adding details to the tasks menue
* add TODO
* remove extra ",remove description,merge from local
* remove task rename in this versoin
* remove TODOs
* merge the "default" stuff
* remove some parts of proposals
* fix linter errors
* add import * as which from 'which';
* clean up the code after version 1.0.0
* add new line
* adapt to the new Vs Code API
* linter error
* revert changelog
Co-authored-by: Elaheh Rashedi <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
* Fix issue with LSP process not getting shut down gracefully (#6141)
* Update version number and changelog
* Update changelog, fwlinks, and hashes.
Co-authored-by: Colen Garoutte-Carson <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
* add increment to progress bar
* remove localized string
* calculate the increment based on num of packages
* change increment function
* cleanup extra progress
* add typedef
Co-authored-by: Sean McManus <[email protected]>
Fix c_cpp_properties.json not opening as JSON with comments. Follow up to #5885
Fix the configuration UI disappearing when selection moves to the C/C++ or Log Diagnostics window, mentioned at #5822 .
Fix an unreported bug where the configuration UI wouldn't appear for non-cpp files that are active on startup (until the selection changed).
Add more more C/C++ related files to ShowConfigurations.
Authored-by: Elaheh Rashedi <[email protected]>
bug fix: https://github.com/microsoft/vscode-cpptools/issues/4829
- Check for the core binary files in the extension folder and show this warning message if any of the binaries are missing:
- Check for the important JSON files in the extension folder and show this error message if any of the binaries are missing (the message is shown if the user has installed a VSIX that doesn't match their OS).
* ignore 'screen size is bogus' error; fixesmicrosoft/vscode#75932; imitiates similar fix for a different extension microsoft/vscode-node-debug/commit/5298920
* ignore 'screen size is bogus' error; fixesmicrosoft/vscode#75932; imitiates similar fix for a different extension microsoft/vscode-node-debug/commit/5298920
Fixes:
- It doesn't check for a downgrade to non-insiders on startup, only when the setting changes.
- There was a bug with the timer code that checks for a new insiders every hour.
- It wasn't bypassing the autoUpdate check when the user manually switches the updateChannel.
* [cppvsdbg] Add logging ThreadExit and ProcessExit
This PR adds two log flags for ThreadExit and ProcessExit events.
This will remove the "The thread 10564 has exited with code 0 (0x0)."
and "The program '[24104] ConsoleApplication1.exe' has exited with code
0 (0x0)." messages.
* Print launch.json to C/C++ Output Log
This PR adds a check in resolveDebugConfiguration so that if a user adds
logging.engineLogging = true in the launch.json, we will output the
resovled json in the C/C++ Output.
* Use GitHub bug notation and add title for log
Co-authored-by: Sean McManus <[email protected]>
* Added system to store and query properties from the active C/C++ configuration
Co-authored-by: yngwe@farnsworth <yngwe@farnsworth>
Co-authored-by: yngwe@bender <yngwe@bender>
Our offline installer will include two versions of lldb.
./debugAdapters/lldb is lldb-mi 3.8 and is used for High-Sierra and older
./debugAdapters/lldb-mi is lldb-mi 10.x and is used for Mojave and
higher.
Co-authored-by: Andrew Wang <[email protected]>
description:Create a bug report for IntelliSense, code editing, code navigation, code completion, code formatting, semantic colorization, etc.
body:
- type:markdown
attributes:
value:|
### Is there an existing issue for this?
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
- type:textarea
attributes:
label:Environment
description:|
Please provide the information for the following:
- OS and Version
- VS Code Version
- C/C++ Extension Version
- If using SSH remote, specify OS of remote machine
value:|
- OS and Version:
- VS Code Version:
- C/C++ Extension Version:
- If using SSH remote, specify OS of remote machine:
validations:
required:true
- type:textarea
attributes:
label:Bug Summary and Steps to Reproduce
description:|
Please describe the language service issue or language service feature that is not working as expected. Include information about the actual workspace project (for example, is the workspace a single project or multiple projects, size of the project, etc).
Include clear steps on how to reproduce the issue and a description of what you expected to happen.
value:|
Bug Summary:
Steps to reproduce:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
Expected behavior:
validations:
required:true
- type:textarea
attributes:
label:Configuration and Logs
description:|
Please provide your c_cpp_properties.json and logs:
- Configurations in `c_cpp_properties.json`
- Logs from running `C/C++: Log Diagnostics` from the VS Code command palette
- Logs from [the language server logging](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
render:shell
validations:
required:true
- type:textarea
attributes:
label:Other Extensions
description:If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
validations:
required:false
- type:textarea
attributes:
label:Additional context
description:|
Optionally provide other information that will give us more context about the issue you are encountering, such as code sample, screenshots, screen recording of the issue, call stacks, etc.
Providing call stacks:
For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
Instructions for attaching debugger to language service process:
description:Create a bug report for debugging such as call stack, breakpoints, watch window, launching or attaching to a debuggee.
body:
- type:markdown
attributes:
value:|
### Is there an existing issue for this?
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
- type:textarea
attributes:
label:Environment
description:|
Please provide the information for the following:
- OS and version
- VS Code version
- C/C++ extension version
- OS and version of remote machine (if applicable)
- GDB / LLDB version
value:|
- OS and version:
- VS Code:
- C/C++ extension:
- OS and version of remote machine (if applicable):
- GDB / LLDB version:
validations:
required:true
- type:textarea
attributes:
label:Bug Summary and Steps to Reproduce
description:|
Please describe the debugging issue or debugger feature that is not working as expected.
Include clear steps on how to reproduce the issue.
value:|
Bug Summary:
Steps to reproduce:
1. In this environment...
2. With this config...
3. Do '...'
4. See error...
validations:
required:true
- type:textarea
attributes:
label:Debugger Configurations
description:Please provide the debugger configurations from the **tasks.json** and **launch.json** files.
render:shell
validations:
required:true
- type:textarea
attributes:
label:Debugger Logs
description:|
If applicable, please include [logging for the debugger adapter](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-debug-adapter) by adding `"logging": { "engineLogging": true, "trace": true, "traceResponse": true }` in the **launch.json** file.
Include logs or error messages from the Debug Console or Output windows.
render:shell
validations:
required:true
- type:textarea
attributes:
label:Other Extensions
description:If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
validations:
required:false
- type:textarea
attributes:
label:Additional Information
description:|
Optionally provide other information that will give us more context about the issue you are encountering, such as a code sample, screenshots, or screen recording of the issue.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
description:Suggest an idea for the C/C++ extension.
body:
- type:markdown
attributes:
value:|
### Is there an existing request for this feature?
Prior to creating a new feature request, please review our [existing feature requests](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22) to avoid duplicates.
about:'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
title:''
labels:''
assignees:''
---
**Type: LanguageService**
<!----- Input information below ----->
<!--
**Prior to filing an issue, please review:**
- Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
- Our documentation at https://code.visualstudio.com/docs/languages/cpp
- FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
-->
**Describe the bug**
- OS and Version:
- VS Code Version:
- C/C++ Extension Version:
- Other extensions you installed (and if the issue persists after disabling them):
- Does this issue involve using SSH remote to run the extension on a remote machine?:
- A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).
**Steps to reproduce**
<!-- Provide clear steps to reproduce the behavior: -->
<!-- *The most actionable issue reports include a code sample including configuration files such as c_cpp_properties.json* -->
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
<!-- Please provide the following logs that show diagnostics and debugging information about the language server.
1. Logs from the command `C/C++: Log Diagnostics`
2. Logs from [the language server](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
-->
<details>
<summary><strong>Logs</strong></summary>
<!-- Note: do not remove empty line after </summary> tag, otherwise the code blocks formatting won't show correctly. -->
```
Insert logs here.
```
</details>
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
**Additional context**
<!--
* Call Stacks: For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
(0,utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
if(this.pingComment){
awaitissue.postComment(this.pingComment
.replace('${assignee}',hydrated.assignee)
.replace('${author}',hydrated.author.name));
}
}
else{
(0,utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee?' cc @'+hydrated.assignee:''}`);
}
}
}
else{
if(!hydrated.open){
(0,utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
(0,utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b=issue.milestone)===null||_b===void0?void0:_b.milestoneId}`);
returnfalse;
}
// Make sure a milestones we wanted to ignore is not present.
- cron:012***# Run at 12:00 PM UTC (4:00 AM PST, 5:00 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v3
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:by design
ignoreLabels:debugger,Feature Request,more info needed,internal
closeDays:60
closeComment:"This issue has been closed because the described behavior was determined to be by design."
pingDays:80
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
- cron:1012***# Run at 12:10 PM UTC (4:10 AM PST, 5:10 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:duplicate
ignoreLabels:debugger,Feature Request,more info needed,by design,internal
closeDays:60
closeComment:"This issue has been closed because it is a duplicate of another issue we are tracking."
pingDays:80
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
- cron:5011***# Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:enhancement
ignoreLabels:debugger,internal,Feature Request
addLabels:more votes needed
closeDays:60
maximumVotes:2
closeComment:"This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
- cron:4011***# Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:enhancement
ignoreLabels:debugger,internal,Feature Request
addLabels:more votes needed
closeDays:60
maximumVotes:2
closeComment:"This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
- cron:5011***# Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:Feature Request
ignoreLabels:debugger,internal
addLabels:more votes needed
closeDays:60
maximumVotes:2
closeComment:"This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
- cron:4011***# Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:Feature Request
ignoreLabels:debugger,internal
addLabels:more votes needed
closeDays:60
maximumVotes:2
closeComment:"This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
- cron:1011***# Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:investigate,debugger
ignoreLabels:language service,internal
closeDays:180
closeComment:"This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
- cron:1011***# Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:"investigate: costing,debugger"
ignoreLabels:language service,internal
closeDays:180
closeComment:"This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
- cron:1011***# Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:more info needed,debugger
ignoreLabels:language service,internal
involves:wardengnaw,pieandcakes,calgagi
closeDays:14
closeComment:"This issue has been closed because it needs more information and has not had recent activity."
pingDays:7
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
- cron:1011***# Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:more info needed
ignoreLabels:debugger,internal
closeDays:30
closeComment:"This issue has been closed because it needs more information and has not had recent activity."
pingDays:14
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
- cron:2011***# Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:question,debugger
ignoreLabels:language service,internal
involves:wardengnaw,pieandcakes,calgagi
closeDays:14
closeComment:"This issue has been closed because it is a question and has not had recent activity."
pingDays:7
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
- cron:2011***# Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT)
workflow_dispatch:
inputs:
readonly:
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
jobs:
main:
runs-on:ubuntu-latest
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
uses:./.github/actions/StaleCloser
with:
readonly:${{ github.event.inputs.readonly }}
labels:question
ignoreLabels:debugger,internal
closeDays:60
closeComment:"This issue has been closed because it is a question and has not had recent activity."
pingDays:80
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
This folder contains the entitlements needed for the debugger to run on macOS.
We use the entitlements that the .net runtime uses. See https://github.com/dotnet/runtime/blob/57678512d214af368ff055f358c5106f1aa19ac4/eng/pipelines/common/entitlements.plist
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact opencode@microsoft.com with any additional questions or comments.
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
Resources:
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
* 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).
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/master/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".
* 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
* Execution starts in the `activate` method in [**main.ts**](Extension/src/main.ts).
*`processRuntimeDependencies` handles the downloading and installation of the OS-dependent files. Downloading code exists in [**packageManager.ts**](Extension/src/packageManager.ts).
*`downloadCpptoolsJsonPkg` handles the **cpptools.json**, which can be used to enable changes to occur mid-update, such as turning the `intelliSenseEngine` to `"Default"` for a certain percentage of users.
* The debugger code is in the [**Debugger**](https://github.com/Microsoft/vscode-cpptools/tree/master/Extension/src/Debugger) folder.
* The debugger code is in the [**Debugger**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension/src/Debugger) folder.
* [**LanguageServer/client.ts**](Extension/src/LanguageServer/client.ts) handles various language server functionality.
* [**LanguageServer/configurations.ts**](Extension/src/LanguageServer/configurations.ts) handles functionality related to **c_cpp_properties.json**.
* [**telemetry.ts**](Extension/src/telemetry.ts): Telemetry data gets sent to either `logLanguageServerEvent` or `logDebuggerEvent`.
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
*`yarn install` will install the dependencies needed to build the extension.
* **(optional)** `yarn global add vsce` will install `vsce` globally to create a VSIX package that you can install.
* **(optional)** Set an environment variable `CPPTOOLS_DEV=1`.
* This enables the local developer workflow when testing the debugger, copying dependencies from the **node_modules** folder. Testing the language server does not require this step.
* Open the **Extension** folder in Visual Studio Code and press F5. This will launch a VS Code Extension Host window and activate the TypeScript debugger. You can set breakpoints on the extension source code and debug your scenario.
* If, after pressing F5, you see the following error in the `[Extension Development Host]` window,
> Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: Missing binary at .../vscode-cpptools/Extension/bin/cpptools
* Then, you can follow the instructions in this [comment in a discussion about building this extension locally](https://github.com/microsoft/vscode-cpptools/discussions/8745#discussioncomment-2091563).
> get the <package.version.number> binaries from installing the extension and then copying the binaries
1. To do this, install this extension from the Visual Studio Marketplace and find its location on your device. It might be in a directory like `\\wsl$\Ubuntu\home\hamir\.vscode-server\extensions\ms-vscode.cpptools-<package.version.number>`, for example.
2. Next, go to the `bin/` directory of the aforementioned directory, and drag-and-drop, or copy-and-paste, `cpptools` and `cpptools-srv` from `...\extensions\ms-vscode.cpptools-<package.version.number>\bin\` to this repository's `Extension\bin\` directory on your local device, so that `.../vscode-cpptools/Extension/bin/cpptools` and `.../vscode-cpptools/Extension/bin/cpptools-srv` both exist in your workspace.
3. The aforementioned warning should be gone, and Intellisense, which gives those squiggly red error lines, should now be present.
4. The `insiders` branch has binaries compatible with the latest Pre-Release version of the extension, and the `release` branch has binaries compatible with the latest Release version, but the `main` branch may have TypeScript changes that are incompatible with the published binaries, in which case, you'll need to create a branch off the `insiders` or `release` branches.
* Feel free to use [the Discussions tab of this repository](https://github.com/microsoft/vscode-cpptools/discussions) if you have any further questions on building this extension locally.
The Microsoft Windows C/C++ debugger (cppvsdbg) supports configuration options for if the debugger stops when exceptions are thrown. This is done with the 'All Exceptions' check box in the BREAKPOINTS section of the 'Run and Debug' view.
Note that the BREAKPOINTS section will be missing this entry until the first time that the folder has been debugged with the 'cppvsdbg' debugger.
Checking 'All Exceptions' will configure the debugger to stop when an exception is thrown.
##### Exception Conditions
The 'All Exceptions' checkbox support conditions to break on only selected exception types (C++ exceptions) or codes (Win32 exceptions). To edit the condition, click on the pencil icon or right click on the entry and invoke 'Edit Condition'. The condition is a comma-separated list of exception types and codes to break on, or if the list starts with '!', a list of exception types and codes to ignore.
Examples conditions:
| Example condition value | Result |
|-------------------------|--------|
| 0xC0000005, 0xC0000094 | Break on Win32 Access Violation exceptions and integer division by zero exceptions |
| std::out_of_range, 0xC0000005 | This will break on out-of-range exceptions, and access violation exceptions |
| !MyExceptionClass | This will break on all exceptions except C++ `MyExceptionClass` exceptions |
| !MyExceptionClass, 0x6831C815 | This will break on all exceptions except C++ `MyExceptionClass` exceptions and Win32 exceptions with custom code 0x6831C815 |
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.
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.
@@ -19,7 +19,7 @@ You can open the solution file **MIDebugEngine.sln** located under **src** and c
The symbol files are as follows:
**On Windows**
**On Windows**
* Microsoft.MICore.pdb
* Microsoft.MIDebugEngine.pdb
* vscode\OpenDebugAD7.pdb
@@ -37,7 +37,7 @@ On Windows, the easiest way to debug is to use Visual Studio. Locate the **src\D
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.
Locate the following lines:
Locate the following lines:
```json
return{
command:command
@@ -48,13 +48,13 @@ and add the following line to the object:
args:["--pauseForDebugger"]
```
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.
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.
### Debugging MIEngine running on Linux or MacOS X
### Debugging MIEngine running on Linux or macOS
#### With MonoDevelop
On Linux and MacOS 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.
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.
##### Configure the extension to enable remote debugging
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.
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.
##### Attach the remote debugger
In MonoDevelop: Run -> Run With -> Custom Command Mono Soft Debugger.
Fill in the IP and port of the Linux/MacOS X machine and hit "Connect" to start debugging.
Fill in the IP and port of the Linux/macOS machine and hit "Connect" to start debugging.
After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F5</kbd> to bring up the connect dialog again.
@@ -113,7 +113,7 @@ After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F
##### Configure the extension to enable remote debugging
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.
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.
<xs:documentation>Expression that points to value of the linked list node. It can be left empty or have 'this' to refer to the linked list node itself. This expression is evaluated under the context of the linked list node and not the parent linked list type.</xs:documentation>
@@ -402,7 +402,7 @@
<xs:documentation>
Indicates that the item should use the icon associated with general data.
</xs:documentation>
</xs:annotation>
</xs:annotation>
</xs:enumeration>
<xs:enumerationvalue="Method">
<xs:annotation>
@@ -864,16 +864,16 @@
<xs:complexTypename="MostDerivedObjectType">
<xs:annotation>
<xs:documentation>
Specifies an expression which evaluates to the current object, casted to its most-derived type.
In most cases, the debugger is able to automatically determine an object's most-derived type, in which case use of the <MostDerivedType>
Specifies an expression which evaluates to the current object, casted to its most-derived type.
In most cases, the debugger is able to automatically determine an object's most-derived type, in which case use of the <MostDerivedType>
element is unecessary. Automatic determination of an object's most-derived type requires the object to be an instance of a C++ class, with a
compiler-generated virtual function table. This is sufficient for most class-hierarchies; however, custom logic may occasionally be necessary
when dealing with a class hierarchy that does not contain virtual functions, or when the virtual function table is manually constructed by the
when dealing with a class hierarchy that does not contain virtual functions, or when the virtual function table is manually constructed by the
application code.
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extensionbase="StringType">
<xs:attributeGroupref="CommonAttributes"/>
@@ -935,12 +935,12 @@
<xs:annotation>
<xs:documentation>
Indicates that the given type is a smart pointer. The text inside this element specifies the expression to evaluate the underlying pointer.
The <SmartPointer> element has the following effects:
- If no alternative <DisplayString> element is provided (or all <DisplayString> elements have failed conditions), the underlying pointer will be the display string
- If no alternative <StringView> element is provided (or all <StringView> elements have failed conditions), the underlying pointer will be the string view, if it has one.
- If no alternative <Expand> element is provided, the expansion of the smart pointer will be the expansion of the underlying pointer.
- The smart pointer class will also support overloaded operators as determined by the <Usage> attribute. You can opt out of this behavior by specifying
- The smart pointer class will also support overloaded operators as determined by the <Usage> attribute. You can opt out of this behavior by specifying
<xs:documentation>Indicates which combinations of operators this smart pointer object supports.
<xs:documentation>Indicates which combinations of operators this smart pointer object supports.
</xs:documentation>
</xs:annotation>
</xs:attribute>
@@ -1004,10 +1004,10 @@
<xs:documentation>Specifies an optional priority to assign to this entry for type matching. Higher priority entries within a particular file or directory
are checked first. <Type> entries that do not specify a priority receive default priority of "Medium"<AlternativeType> entries which do not specify a priority
will inherit the priority of the enclosing <Type> element. The priority is only used to disambiguate type matching when all other means of disambiguation are unavailable.
For example, entries with more specific template instantiations, module constraints, or view constraints will take priority regardless of any priority values specified.
Similarly, regardless of priority, natvis files that are part of a loaded project will always take precedence over files in the user natvis directory,
which will, in turn, take precedence over files in the system-wide natvis directory.
For example, entries with more specific template instantiations, module constraints, or view constraints will take priority regardless of any priority values specified.
Similarly, regardless of priority, natvis files that are part of a loaded project will always take precedence over files in the user natvis directory,
which will, in turn, take precedence over files in the system-wide natvis directory.
If two entries have the same priority and cannot otherwise be disambiguated, it is unspecified which one will get used.
awaitassertAnyFile('dist/src/main.js',`The extension entry point '${$root}/dist/src/main.js is missing. You should run ${brightGreen("yarn compile")}\n\n`);
const{cli,args}=awaitinstall();
// example of installing an extension into code
//verbose(`Installing release version of 'ms-vscode.cpptools'`);
failing=!awaitassertAnyFolder('dist/test')&&(quiet||warn(`The compiled test files are not in place.`))||failing;
failing=!awaitassertAnyFolder('dist/walkthrough')&&(quiet||warn(`The walkthrough files are not in place.`))||failing;
failing=!awaitassertAnyFolder('dist/html')&&(quiet||warn(`The html files are not in place.`))||failing;
failing=!awaitassertAnyFolder('dist/schema')&&(quiet||warn(`The schema files are not in place.`))||failing;
failing=!awaitassertAnyFile('dist/nls.metadata.json')&&(quiet||warn(`The extension translation file '${$root}/dist/nls.metadata.json is missing.`))||failing;
failing=awaitcheckDTS()||failing;
if(!failing){
verbose('Prep files appear to be in place.');
}
returnfailing;
}
exportasyncfunctioncheckCompiled() {
letfailing=false;
failing=awaitcheckDTS()||failing;
failing=!awaitassertAnyFile('dist/src/main.js')&&(quiet||warn(`The extension entry point '${$root}/dist/src/main.js is missing.`))||failing;
if(!failing){
verbose('Compiled files appear to be in place.');
}
returnfailing;
}
exportasyncfunctioncheckDTS() {
letfailing=false;
failing=!awaitassertAnyFile('vscode.d.ts')&&(quiet||warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`))||failing;
failing=!awaitassertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts')&&(quiet||warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`))||failing;
if(!failing){
verbose('VSCode d.ts files appear to be in place.');
}
returnfailing;
}
exportasyncfunctioncheckBinaries() {
letfailing=false;
failing=!awaitassertAnyFile(['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;
if(!failing){
verbose('Native binary files appear to be in place.');
awaitassertAnyFolder('dist/test/unit',`The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`);
constmocha=awaitassertAnyFile(["node_modules/.bin/mocha.cmd","node_modules/.bin/mocha"],`Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`);
letfailing=awaitcheckPrep()&&(quiet||error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`));
failing=(awaitcheckCompiled()&&(quiet||error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`)))||failing;
failing=(awaitcheckBinaries()&&(quiet||error(`The native binary files are not present. You should either build or install the native binaries\n\n.`)))||failing;
if(failing){
process.exit(1);
}
}
exportasyncfunctioncompiled() {
letfailing=false;
failing=(awaitcheckCompiled()&&(quiet||error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`)))||failing;
if(failing){
process.exit(1);
}
}
exportasyncfunctionbinaries() {
letfailing=false;
failing=(awaitcheckBinaries()&&(quiet||error(`The native binary files are not present. You should either build or install the native binaries\n\n.`)))||failing;
if(failing){
process.exit(1);
}
}
exportasyncfunctionprep() {
letfailing=false;
failing=(awaitcheckPrep()&&(quiet||error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`)))||failing;
if(failing){
process.exit(1);
}
}
exportasyncfunctiondts() {
letfailing=false;
failing=(awaitcheckDTS()&&(quiet||error(`VSCode import files are not present. Run ${green('yarn prep')} to fix it.`)))||failing;
These license terms are an agreement between Microsoft Corporation (or
based on where you live, one of its affiliates) and you. They apply to
the pre-release software named above. The terms also apply to any
Microsoft services or updates for the software, except to the extent
those have additional terms.
IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW.
1. INSTALLATION AND USE RIGHTS. You may only use the C/C++ Extension
for Visual Studio Code with Visual Studio Code, Visual Studio or
Xamarin Studio software to help you develop and test your
applications.
2. TERMS FOR SPECIFIC COMPONENTS
a. Third Party Components. The software may include third party
components with separate legal notices or governed by other
agreements, as may be described in the ThirdPartyNotices file(s)
accompanying the software.
b. Package Managers. The software may include package managers, like
Nuget, that give you the option to download other Microsoft and third
party software packages to use with your application. Those packages
are under their own licenses, and not this agreement. Microsoft does
not distribute, license or provide any warranties for any of the third
party packages.
3. DATA.
a. Data Collection. The software may collect information about you and
your use of the software, and send that to Microsoft. Microsoft may
use this information to provide services and improve our products and
services. You may opt-out of many of these scenarios, but not all, as
described in the product documentation. There are also some features
in the software that may enable you and Microsoft to collect data from
users of your applications. If you use these features, you must comply
with applicable law, including providing appropriate notices to users
of your applications together with a copy of Microsoft’s privacy
statement. Our privacy statement is located at
https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more
about data collection and use in the help documentation and our
privacy statement. Your use of the software operates as your consent
to these practices.
b. Processing of Personal Data. To the extent Microsoft is a processor
or subprocessor of personal data in connection with the software,
Microsoft makes the commitments in the European Union General Data
Protection Regulation Terms of the Online Services Terms to all
customers effective May 25, 2018, at
http://go.microsoft.com/?linkid=9840733.
4. PRE-RELEASE SOFTWARE. This software is a pre-release version. It
may not work the way a final version of the software will. We may
change it for the final, commercial version. We also may not release a
commercial version.
5. FEEDBACK. If you give feedback about the software to Microsoft, you
give to Microsoft, without charge, the right to use, share and
commercialize your feedback in any way and for any purpose. You will
not give feedback that is subject to a license that requires Microsoft
to license its software or documentation to third parties because we
include your feedback in them. These rights survive this agreement.
6. SCOPE OF LICENSE. The software is licensed, not sold. This
agreement only gives you some rights to use the software. Microsoft
reserves all other rights. Unless applicable law gives you more rights
despite this limitation, you may use the software only as expressly
permitted in this agreement. In doing so, you must comply with any
technical limitations in the software that only allow you to use it in
certain ways. You may not
* work around any technical limitations in the software;
* reverse engineer, decompile or disassemble the software, or attempt
to derive the source code for the software, except and to the extent
required by third party licensing terms governing use of certain open
source components that may be included with the software;
* remove, minimize, block or modify any notices of Microsoft or its
suppliers in the software;
* use the software in any way that is against the law; or
* share, publish, rent, or lease the software, or provide the software
as a stand-alone hosted solution for others to use.
7. EXPORT RESTRICTIONS. You must comply with all domestic and
international export laws and regulations that apply to the software,
which include restrictions on destinations, end users and end use.
For further information on export restrictions, visit
(aka.ms/exporting).
8. SUPPORT SERVICES. Because this software is “as is,” we may not
provide support services for it.
9. ENTIRE AGREEMENT. This agreement, and the terms for supplements,
updates, Internet-based services and support services that you use,
are the entire agreement for the software and support services.
10. APPLICABLE LAW. If you acquired the software in the United
States, Washington law applies to interpretation of and claims for
breach of this agreement, and the laws of the state where you live
apply to all other claims. If you acquired the software in any other
country, its laws apply.
11. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes
certain legal rights. You may have other rights, including consumer
rights, under the laws of your state or country. Separate and apart
from your relationship with Microsoft, you may also have rights with
respect to the party from which you acquired the software. This
agreement does not change those other rights if the laws of your state
or country do not permit it to do so. For example, if you acquired the
software in one of the below regions, or mandatory country law
applies, then the following provisions apply to you:
a. Australia. You have statutory guarantees under the Australian
Consumer Law and nothing in this agreement is intended to affect those
rights.
b. Canada. If you acquired this software in Canada, you may stop
receiving updates by turning off the automatic update feature,
disconnecting your device from the Internet (if and when you re-
connect to the Internet, however, the software will resume checking
for and installing updates), or uninstalling the software. The product
documentation, if any, may also specify how to turn off updates for
your specific device or software.
c. Germany and Austria.
(i) Warranty. The properly licensed software will perform
substantially as described in any Microsoft materials that accompany
the software. However, Microsoft gives no contractual guarantee in
relation to the licensed software.
(ii) Limitation of Liability. In case of intentional conduct, gross
negligence, claims based on the Product Liability Act, as well as, in
case of death or personal or physical injury, Microsoft is liable
according to the statutory law.
Subject to the foregoing clause (ii), Microsoft will only be liable
for slight negligence if Microsoft is in breach of such material
contractual obligations, the fulfillment of which facilitate the due
performance of this agreement, the breach of which would endanger the
purpose of this agreement and the compliance with which a party may
constantly trust in (so-called "cardinal obligations"). In other cases
of slight negligence, Microsoft will not be liable for slight
negligence.
12. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU
BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES,
GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL
LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
13. LIMITATION ON AND EXCLUSION OF DAMAGES. YOU CAN RECOVER FROM
MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU
CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST
PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
This limitation applies to (a) anything related to the software,
services, content (including code) on third party Internet sites, or
third party applications; and (b) claims for breach of contract,
breach of warranty, guarantee or condition, strict liability,
negligence, or other tort to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the
possibility of the damages. The above limitation or exclusion may not
apply to you because your country may not allow the exclusion or
limitation of incidental, consequential or other damages.
Please note: As this software is distributed in Quebec, Canada, some
of the clauses in this agreement are provided below in French.
Remarque : Ce logiciel étant distribué au Québec, Canada, certaines
des clauses dans ce contrat sont fournies ci-dessous en français.
EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert
« tel quel ». Toute utilisation de ce logiciel est à votre seule
risque et péril. Microsoft n’accorde aucune autre garantie
expresse. Vous pouvez bénéficier de droits additionnels en vertu du
droit local sur la protection des consommateurs, que ce contrat ne
peut modifier. La ou elles sont permises par le droit locale, les
garanties implicites de qualité marchande, d’adéquation à un
usage particulier et d’absence de contrefaçon sont exclues.
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ
POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses
fournisseurs une indemnisation en cas de dommages directs uniquement
à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune
indemnisation pour les autres dommages, y compris les dommages
spéciaux, indirects ou accessoires et pertes de bénéfices.
Cette limitation concerne:
* tout ce qui est relié au logiciel, aux services ou au contenu (y
compris le code) figurant sur des sites Internet tiers ou dans des
programmes tiers ; et
* les réclamations au titre de violation de contrat ou de garantie,
ou au titre de responsabilité stricte, de négligence ou d’une
autre faute dans la limite autorisée par la loi en vigueur.
Elle s’applique également, même si Microsoft connaissait ou
devrait connaître l’éventualité d’un tel dommage. Si votre pays
n’autorise pas l’exclusion ou la limitation de responsabilité
pour les dommages indirects, accessoires ou de quelque nature que ce
soit, il se peut que la limitation ou l’exclusion ci-dessus ne
s’appliquera pas à votre égard.
EFFET JURIDIQUE. Le présent contrat décrit certains droits
juridiques. Vous pourriez avoir d’autres droits prévus par les lois
de votre pays. Le présent contrat ne modifie pas les droits que vous
confèrent les lois de votre pays si celles-ci ne le permettent pas.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.