Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8315ae6096 | ||
|
|
7821797aae | ||
|
|
3a5a00bab4 | ||
|
|
a6df7eeaba | ||
|
|
1942a701bf | ||
|
|
1f1b2b0236 | ||
|
|
0dea2e48c2 | ||
|
|
f3c44319b3 | ||
|
|
86a81392de | ||
|
|
34457f222c | ||
|
|
e3db8a5bf4 | ||
|
|
b7488e61b0 | ||
|
|
5210e23479 | ||
|
|
64ecdb78ad | ||
|
|
8c3e10cb5e | ||
|
|
2737f46885 | ||
|
|
dfca58c539 | ||
|
|
8a2e6738eb | ||
|
|
d036a413c5 | ||
|
|
d2f9113397 | ||
|
|
881836c0e8 | ||
|
|
25022e93d3 | ||
|
|
17ddec484a | ||
|
|
a4535a9feb | ||
|
|
7b2eb67be9 | ||
|
|
1fbbd6be51 | ||
|
|
7ab06da098 | ||
|
|
c71c100efb | ||
|
|
1d4371268c | ||
|
|
66a62b36a7 | ||
|
|
c74908f4ae | ||
|
|
fde1427e44 | ||
|
|
d6a9927435 | ||
|
|
39af7295d5 | ||
|
|
7906500259 | ||
|
|
a62cb72ca6 | ||
|
|
48f90bd944 | ||
|
|
61fca7feeb | ||
|
|
af92309090 | ||
|
|
c295ad8a64 | ||
|
|
55aaeccc36 | ||
|
|
9e3eecc9af | ||
|
|
5fe62db314 | ||
|
|
40ac9fd074 | ||
|
|
8168a12737 | ||
|
|
ef120e8313 | ||
|
|
fd200daff1 | ||
|
|
552c86c98b | ||
|
|
9b2c34b7b9 | ||
|
|
bc5002041c | ||
|
|
5767a5e19d | ||
|
|
dbc0d90158 | ||
|
|
4ce4631167 | ||
|
|
fc57be8d9d | ||
|
|
8292868a86 | ||
|
|
1b38713e30 | ||
|
|
b31e464d95 | ||
|
|
ba4825c00e | ||
|
|
50a82baaff | ||
|
|
53970a6351 | ||
|
|
4216aa4605 | ||
|
|
118bed15b6 | ||
|
|
c9f46cc19f | ||
|
|
3efc997fcc | ||
|
|
6b0ab5ef37 | ||
|
|
3b1284196a | ||
|
|
58c50dc38b | ||
|
|
4980ff732a | ||
|
|
abc19f357c | ||
|
|
c6017ef418 | ||
|
|
820a82293c | ||
|
|
ddbf7a3dd7 | ||
|
|
c5946e2f08 | ||
|
|
eb9da46a83 | ||
|
|
0d0e0042de | ||
|
|
7a0d5feefc | ||
|
|
2a8a60b9ad | ||
|
|
c5463c6c20 | ||
|
|
26911f91b4 | ||
|
|
418e1fc177 | ||
|
|
0b4a761875 | ||
|
|
fdfc1b7ca6 | ||
|
|
4c7ddbcf62 | ||
|
|
07bb7dd411 | ||
|
|
38d49bf23a | ||
|
|
a037a70449 | ||
|
|
c268e8a2a7 | ||
|
|
e420f54746 | ||
|
|
ac2398d987 | ||
|
|
82d462fef7 | ||
|
|
289562e442 | ||
|
|
873775aafe | ||
|
|
941d31ce91 | ||
|
|
dd174e241d | ||
|
|
03bed1c17c | ||
|
|
e2e1868270 | ||
|
|
a8ade55826 | ||
|
|
913ddf4785 | ||
|
|
eba352eb07 | ||
|
|
05014a36c3 | ||
|
|
276e095d2c | ||
|
|
208f28bfd6 | ||
|
|
3f09f608a9 | ||
|
|
b5fc4cc9b2 | ||
|
|
4062d86dff | ||
|
|
b7c0624369 | ||
|
|
9697ee65f0 | ||
|
|
155ed2b669 | ||
|
|
9b2c568db5 | ||
|
|
5986aee6da | ||
|
|
2ffd9210d2 | ||
|
|
de6ddc2440 | ||
|
|
70944b6352 | ||
|
|
0c9e000a4f | ||
|
|
2091cc2614 | ||
|
|
927d2bb9e6 | ||
|
|
502eb84116 | ||
|
|
1c8b8f4d6d | ||
|
|
399e8ad1db | ||
|
|
5b68300c02 | ||
|
|
5ef1d8db35 | ||
|
|
98ba6828cc | ||
|
|
f1328840d2 | ||
|
|
f2eb925120 | ||
|
|
80a293b83d | ||
|
|
831f29c963 | ||
|
|
c648c1f56b | ||
|
|
6cd03fc81b | ||
|
|
6ece751d81 | ||
|
|
7ca75be2ac | ||
|
|
d3020a39e9 | ||
|
|
46335eb722 | ||
|
|
bab6eff42f | ||
|
|
f1bec1e564 | ||
|
|
33a6b6699e | ||
|
|
fc21920a65 | ||
|
|
d4910cc370 | ||
|
|
62222e592e | ||
|
|
e52fdd51da | ||
|
|
dfe7ff348f | ||
|
|
8f79cfae66 | ||
|
|
e0253a5f15 | ||
|
|
8dbb12554c | ||
|
|
8e7c8357ac | ||
|
|
5567e3abd8 | ||
|
|
8aac4eccb1 | ||
|
|
cfd09cf9e6 | ||
|
|
cda9491ffa | ||
|
|
ffa9ca3249 | ||
|
|
b83519cdd2 | ||
|
|
51f7d1e5e1 | ||
|
|
0f089261af | ||
|
|
1041278dca | ||
|
|
b77eee9197 | ||
|
|
e5bf202d4f | ||
|
|
0e45efcfc1 | ||
|
|
af8cf554a5 | ||
|
|
3c6438c12f | ||
|
|
a8285cbc0e | ||
|
|
8fa7cbbde2 | ||
|
|
548d6a82d4 | ||
|
|
764b1d143a | ||
|
|
d59bad705f | ||
|
|
28b567ca8e | ||
|
|
cd73fb3755 | ||
|
|
772b7f948e | ||
|
|
0225a566e9 | ||
|
|
da17ded7fa | ||
|
|
823b5879eb | ||
|
|
60847b3962 | ||
|
|
0d91db0e06 | ||
|
|
3fa056f4d5 | ||
|
|
05f2b24011 | ||
|
|
2f0c3fddd3 | ||
|
|
21c8d54373 | ||
|
|
2aeb48d722 | ||
|
|
bf2802e4e4 | ||
|
|
e01071a625 | ||
|
|
4a8802a38d | ||
|
|
631ecff716 | ||
|
|
997161f862 | ||
|
|
3cbc918860 | ||
|
|
4f24cafb45 | ||
|
|
0122819f26 | ||
|
|
2b1054bf41 | ||
|
|
53d65fd430 | ||
|
|
79e0d487d0 | ||
|
|
13f740ed99 | ||
|
|
3c9c1f1622 | ||
|
|
cc1998c1d6 | ||
|
|
223f63036c | ||
|
|
2ece201c00 | ||
|
|
fe8245fbab | ||
|
|
419d5c1316 | ||
|
|
e61c360bab | ||
|
|
d479d79c36 | ||
|
|
1bddf02180 | ||
|
|
acdd5ca9d2 | ||
|
|
09ba872c38 | ||
|
|
d790c6fd4d | ||
|
|
2b58af166a | ||
|
|
6e043a77bc | ||
|
|
aa8e0ce62e | ||
|
|
36e4b13232 | ||
|
|
63bfb423b4 | ||
|
|
cb31a0d840 | ||
|
|
ac7d437d33 | ||
|
|
d41698455e | ||
|
|
91f4dbb10a | ||
|
|
adc9892578 | ||
|
|
9ece80f6d8 | ||
|
|
78b09612e9 | ||
|
|
501df6ea8c | ||
|
|
26a83985f4 | ||
|
|
8f137f9842 | ||
|
|
c2eabf1274 | ||
|
|
5059a45aab | ||
|
|
fb1ca8ffa8 | ||
|
|
c5e6699421 | ||
|
|
297bada947 | ||
|
|
336c529fe8 | ||
|
|
de14a285a4 | ||
|
|
b428ff154f | ||
|
|
8cd858f5f5 | ||
|
|
3f66cb5c59 | ||
|
|
b18f561724 | ||
|
|
d651a3b898 | ||
|
|
d66482a115 | ||
|
|
59f25f8636 | ||
|
|
11a2c04008 | ||
|
|
d3dd19e26f | ||
|
|
4edd43062c | ||
|
|
1523516673 | ||
|
|
8e1006d78d | ||
|
|
922ac06e2d | ||
|
|
33f2d606e7 | ||
|
|
2300e38645 | ||
|
|
d362ef9814 | ||
|
|
f3b5c507d8 | ||
|
|
f6a2a65474 | ||
|
|
e2213568f3 | ||
|
|
e18d53e7ba | ||
|
|
6f76898110 | ||
|
|
95f8f11dc4 | ||
|
|
fcf2090ffd | ||
|
|
59c90611c4 | ||
|
|
7b4288c6f4 | ||
|
|
d3263a187e | ||
|
|
f0c961aa73 | ||
|
|
2c436f94b0 | ||
|
|
2fd3214300 | ||
|
|
b33b1b3cc2 | ||
|
|
a9000a4c9d | ||
|
|
a11b2aeb4d | ||
|
|
f31d641a13 | ||
|
|
1a7e9b9fd8 | ||
|
|
2a8556df50 | ||
|
|
acf53d02a8 | ||
|
|
0e43057f0f | ||
|
|
d2d20971a2 | ||
|
|
edf99c77a2 | ||
|
|
b88ca99a47 | ||
|
|
23f214973f | ||
|
|
7b1f093012 | ||
|
|
f83f82db8a | ||
|
|
2da22041b5 | ||
|
|
2fe3961b23 | ||
|
|
b82a86e5e4 | ||
|
|
10224c1294 | ||
|
|
7e3ff84d3b | ||
|
|
4795a5e9bb | ||
|
|
83092d7c00 | ||
|
|
69fcb1b1b4 | ||
|
|
3d3763fbc6 | ||
|
|
febccce8e3 | ||
|
|
1443b4f3fc | ||
|
|
5c1f592c17 | ||
|
|
d91a217559 | ||
|
|
565dc06c56 | ||
|
|
bf5435d5b6 | ||
|
|
70560ece68 | ||
|
|
62050c2060 | ||
|
|
241bb9f6fe | ||
|
|
0274e2d527 | ||
|
|
b24be86710 | ||
|
|
ed6b46ee9a | ||
|
|
4777a7de8f | ||
|
|
e043c13019 | ||
|
|
a8537c4fa0 | ||
|
|
72163c935b | ||
|
|
0b2a32ba81 | ||
|
|
bc94dae1e4 | ||
|
|
cd8aa87f82 | ||
|
|
d1f345437b | ||
|
|
200b9e2ca6 | ||
|
|
8cd4b6f520 | ||
|
|
07148cbeb9 | ||
|
|
66b12b8809 | ||
|
|
346ee37472 | ||
|
|
db7b8e7bab | ||
|
|
b6a46ab078 | ||
|
|
6c0eaea632 | ||
|
|
c44c50b50c | ||
|
|
e2fabf924f | ||
|
|
01340bb4e9 | ||
|
|
1b91354125 | ||
|
|
105f08f7a1 | ||
|
|
c267efb76d | ||
|
|
47676ca893 | ||
|
|
3b0fb6a268 | ||
|
|
8fe1f37342 | ||
|
|
95e47d19ef | ||
|
|
7907870362 | ||
|
|
3dd0aa4806 | ||
|
|
6a0d08e09a | ||
|
|
46c9e53676 | ||
|
|
b520073176 | ||
|
|
81576fa30f | ||
|
|
c458f20adb | ||
|
|
130b832378 | ||
|
|
a48e9db30c | ||
|
|
88ecb46bce | ||
|
|
8734c62ece | ||
|
|
0f37d2f097 | ||
|
|
1f22ea7e24 | ||
|
|
8fe05b3a8c | ||
|
|
46fbe89bd4 | ||
|
|
72c8572b1e | ||
|
|
a64bbc14da | ||
|
|
e97b3e1570 | ||
|
|
6e879df2ba | ||
|
|
fedb8ec7c6 | ||
|
|
92a16965a1 | ||
|
|
958dfd9e5b | ||
|
|
b924f8de3e | ||
|
|
17f2bcc343 | ||
|
|
0d9ecd04f1 | ||
|
|
034de98202 | ||
|
|
3267ef003c | ||
|
|
5f957090fd | ||
|
|
400c848a7b | ||
|
|
b04021930f | ||
|
|
b906bc8189 | ||
|
|
1895ff855c | ||
|
|
54e443035c | ||
|
|
09b69a9423 | ||
|
|
e53bc01aa2 | ||
|
|
1513b95136 | ||
|
|
fb611c79bc | ||
|
|
6b3cdce94d | ||
|
|
6cc70dfe7b | ||
|
|
41933fa969 | ||
|
|
c03fea0f1a | ||
|
|
8aac573589 | ||
|
|
7b1677e120 | ||
|
|
adead7f983 | ||
|
|
7ff83d5e61 | ||
|
|
d51ae12747 | ||
|
|
a17cb4220a | ||
|
|
3251ee599b | ||
|
|
d7520eacf3 | ||
|
|
e17de19810 | ||
|
|
4be65505a4 | ||
|
|
918faeae44 | ||
|
|
423a727fcf | ||
|
|
1ad20e18a2 | ||
|
|
bb43c500c2 | ||
|
|
4ae01b6d4b | ||
|
|
59af571d61 | ||
|
|
355711c24c | ||
|
|
c7b6f3c554 | ||
|
|
c31528b716 | ||
|
|
655c320c3c | ||
|
|
5e915a5a3a | ||
|
|
27607493d8 | ||
|
|
b80404df5a | ||
|
|
f2d9aff338 | ||
|
|
6bc6d4931d | ||
|
|
b7bd343019 | ||
|
|
1a71059316 | ||
|
|
d9ca558f74 | ||
|
|
c9a114b38f | ||
|
|
44298673fc | ||
|
|
c9869894de | ||
|
|
41893b049d | ||
|
|
e9659f2c6e | ||
|
|
7f9e5758bc | ||
|
|
03fa10fbd1 | ||
|
|
d3d9655534 | ||
|
|
586068e874 | ||
|
|
8e69cde774 | ||
|
|
ba2da8d98c | ||
|
|
007292cbda | ||
|
|
b608921b9d | ||
|
|
8e31eb99d9 | ||
|
|
ceac5cb95a | ||
|
|
14f2c9f030 | ||
|
|
3d40ac231a | ||
|
|
baf6f50be3 | ||
|
|
d9de95ca15 | ||
|
|
2b3d2ac541 | ||
|
|
4b4c93cd94 | ||
|
|
2cde4d6f1a | ||
|
|
066c8f1247 | ||
|
|
4495d0b26d | ||
|
|
b1d50e4336 | ||
|
|
cb035dd1f2 | ||
|
|
3faaca14c0 | ||
|
|
53107bc57c | ||
|
|
d38740c098 | ||
|
|
ccc18a6f66 | ||
|
|
e26cae6838 | ||
|
|
9ea53681a5 | ||
|
|
6bc49d595e | ||
|
|
6b3c0f1b10 | ||
|
|
35501431f8 | ||
|
|
27a3c9958d | ||
|
|
5b3d4ebf44 | ||
|
|
cfc064efcd | ||
|
|
4f7a64a1a2 | ||
|
|
c84cb36004 | ||
|
|
0502351002 | ||
|
|
5de420ee70 | ||
|
|
6a73275924 | ||
|
|
d12591062e | ||
|
|
3926110b33 | ||
|
|
f5975e6534 | ||
|
|
b55e2c7ac5 | ||
|
|
73fda38d71 | ||
|
|
9211292b60 | ||
|
|
f63a8da581 | ||
|
|
fd314b1b04 | ||
|
|
ea52c76595 | ||
|
|
7659e2826b | ||
|
|
8e898151f6 | ||
|
|
b2b0ad37af | ||
|
|
cee6ebe1d9 | ||
|
|
566e657fad | ||
|
|
db1f631396 | ||
|
|
426c08293d | ||
|
|
631a4452d0 | ||
|
|
9b29698b0e | ||
|
|
b5c94e9e1f | ||
|
|
384cd35d6b | ||
|
|
2d4df9149f | ||
|
|
d3c2ccbb93 | ||
|
|
c637221b92 | ||
|
|
814f01b263 | ||
|
|
b763aa57d3 | ||
|
|
54b1e69975 | ||
|
|
dacfe08033 | ||
|
|
f5aa7dc33e | ||
|
|
90c6e9876a | ||
|
|
9fa950db6a | ||
|
|
8ea627e085 | ||
|
|
536d38e3bf | ||
|
|
c10c626869 | ||
|
|
24d37bc233 | ||
|
|
158719cf46 | ||
|
|
b6327ed6c3 | ||
|
|
c60a2c6752 | ||
|
|
1f7c27d7f9 | ||
|
|
1d82458a3a | ||
|
|
25d122c3f7 | ||
|
|
627acc535e | ||
|
|
515d858b4d | ||
|
|
7ec15af47c | ||
|
|
cac58e9f88 | ||
|
|
0c28725628 | ||
|
|
ae564c8428 | ||
|
|
5241ce28e0 | ||
|
|
febb880e32 | ||
|
|
d1c344b944 | ||
|
|
a19d1c325e | ||
|
|
82225338c4 | ||
|
|
fa72ab582d | ||
|
|
0b3e43c93f | ||
|
|
8b332a7795 |
@@ -2,13 +2,21 @@
|
||||
name: Debugger
|
||||
about: Issues pertaining to debugging such as call stack, breakpoints, watch window,
|
||||
launching or attaching to a debuggee.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Type: Debugger
|
||||
**Input information below**
|
||||
<!----- Input information below ----->
|
||||
|
||||
**Please review existing issues and our documentation at https://github.com/Microsoft/vscode-cpptools/tree/master/Documentation prior to filing an issue.**
|
||||
<!--
|
||||
**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:
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
---
|
||||
name: General Extension
|
||||
about: Issues pertaining to downloading, installing, or building the extension.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Type: General
|
||||
**Input information below**
|
||||
<!----- Input information below ----->
|
||||
|
||||
**Please review existing issues and our documentation at https://github.com/Microsoft/vscode-cpptools/tree/master/Documentation prior to filing an issue.**
|
||||
<!--
|
||||
**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:
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
---
|
||||
name: Language Service
|
||||
about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
@@ -8,7 +11,10 @@ about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
|
||||
<!----- Input information below ----->
|
||||
|
||||
<!--
|
||||
**Please review existing issues and our documentation at https://github.com/Microsoft/vscode-cpptools/tree/master/Documentation prior to filing an issue.**
|
||||
**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**
|
||||
@@ -16,10 +22,11 @@ about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
|
||||
- VS Code Version:
|
||||
- C/C++ Extension Version:
|
||||
- Other extensions you installed (and if the issue persists after disabling them):
|
||||
- A clear and concise description of what the bug is.
|
||||
- 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).
|
||||
|
||||
**To Reproduce**
|
||||
<!-- Steps to reproduce the behavior: -->
|
||||
**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 '....'
|
||||
@@ -29,11 +36,23 @@ about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
|
||||
**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".
|
||||
* Add any other context about the problem here including log messages in your Output window ("C_Cpp.loggingLevel": "Debug" in settings.json).
|
||||
-->
|
||||
|
||||
@@ -4,4 +4,10 @@ browse*.db*
|
||||
*.obj
|
||||
*.pdb
|
||||
*.exe
|
||||
*.ilk
|
||||
*.ilk
|
||||
|
||||
# ignore exported localization xlf directory
|
||||
vscode-extensions-localization-export
|
||||
|
||||
# ignore imported localization xlf directory
|
||||
vscode-translations-import
|
||||
|
||||
@@ -0,0 +1,299 @@
|
||||
NOTICES AND INFORMATION
|
||||
Do Not Translate or Localize
|
||||
|
||||
This software incorporates material from third parties. Microsoft makes certain
|
||||
open source code available at https://3rdpartysource.microsoft.com, or you may
|
||||
send a check or money order for US $5.00, including the product name, the open
|
||||
source component name, and version number, to:
|
||||
|
||||
Source Code Compliance Team
|
||||
Microsoft Corporation
|
||||
One Microsoft Way
|
||||
Redmond, WA 98052
|
||||
USA
|
||||
|
||||
Notwithstanding any other terms, you may reverse engineer this software to the
|
||||
extent required to debug changes to any libraries licensed under the GNU Lesser
|
||||
General Public License.
|
||||
|
||||
---
|
||||
|
||||
LLDB-MI
|
||||
|
||||
==============================================================================
|
||||
The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
|
||||
==============================================================================
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
|
||||
---- LLVM Exceptions to the Apache 2.0 License ----
|
||||
|
||||
As an exception, if, as a result of your compiling your source code, portions
|
||||
of this Software are embedded into an Object form of such source code, you
|
||||
may redistribute such embedded portions in such Object form without complying
|
||||
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
|
||||
|
||||
In addition, if you combine or link compiled forms of this Software with
|
||||
software that is licensed under the GPLv2 ("Combined Software") and if a
|
||||
court of competent jurisdiction determines that the patent provision (Section
|
||||
3), the indemnity provision (Section 9) or other Section of the License
|
||||
conflicts with the conditions of the GPLv2, you may retroactively and
|
||||
prospectively choose to deem waived or otherwise exclude such Section(s) of
|
||||
the License, but only in their entirety and only with respect to the Combined
|
||||
Software.
|
||||
|
||||
==============================================================================
|
||||
Software from third parties included in the LLVM Project:
|
||||
==============================================================================
|
||||
The LLVM Project contains third party software which is under different license
|
||||
terms. All such code will be identified clearly using at least one of two
|
||||
mechanisms:
|
||||
1) It will be in a separate directory tree with its own `LICENSE.txt` or
|
||||
`LICENSE` file at the top containing the specific license and restrictions
|
||||
which apply to that software, or
|
||||
2) It will contain specific license and restriction terms at the top of every
|
||||
file.
|
||||
|
||||
==============================================================================
|
||||
Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
|
||||
==============================================================================
|
||||
University of Illinois/NCSA
|
||||
Open Source License
|
||||
|
||||
Copyright (c) 2010 Apple Inc.
|
||||
All rights reserved.
|
||||
|
||||
Developed by:
|
||||
|
||||
LLDB Team
|
||||
|
||||
http://lldb.llvm.org/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal with
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimers.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimers in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the names of the LLDB Team, copyright holders, nor the names of
|
||||
its contributors may be used to endorse or promote products derived from
|
||||
this Software without specific prior written permission.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
|
||||
SOFTWARE.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,112 @@
|
||||
variables:
|
||||
llvm_repo: https://github.com/llvm/llvm-project.git
|
||||
llvm_branch: release/10.x
|
||||
llvm_build_type: Release
|
||||
llvm_arch: x86_64
|
||||
llvm_additional_parameters: "-DLLVM_BUILD_LLVM_DYLIB=On -DLLDB_ENABLE_CURSES=Off -DLLDB_ENABLE_PYTHON=Off -DLLDB_INCLUDE_TESTS=OFF"
|
||||
# TODO: fix lldb_mi_repo and lldb_mi_branch (https://github.com/lldb-tools/lldb-mi/pull/37 and https://github.com/lldb-tools/lldb-mi/pull/39)
|
||||
lldb_mi_repo: https://github.com/WardenGnaw/lldb-mi # TODO: Change to lldb-tools
|
||||
lldb_mi_branch: release/cpptools # TODO: Change to master
|
||||
lldb_mi_additional_parameters: ""
|
||||
|
||||
jobs:
|
||||
- job: LLDB_MI
|
||||
timeoutInMinutes: 360
|
||||
pool:
|
||||
vmImage: 'ubuntu-18.04'
|
||||
steps:
|
||||
- task: CmdLine@2
|
||||
displayName: 'Install Dependencies'
|
||||
inputs:
|
||||
script: sudo apt-get install cmake ninja-build swig
|
||||
continueOnError: true
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'Build LLVM Project'
|
||||
inputs:
|
||||
script: |
|
||||
log_and_exec_cmd() {
|
||||
echo "##[command] $1"
|
||||
$1
|
||||
}
|
||||
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)"
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace"
|
||||
|
||||
log_and_exec_cmd "git clone $(llvm_repo) llvm-project"
|
||||
log_and_exec_cmd "cd llvm-project"
|
||||
log_and_exec_cmd "git checkout $(llvm_branch)"
|
||||
|
||||
log_and_exec_cmd "cd .."
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-inst"
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-build"
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace/llvm-build"
|
||||
|
||||
log_and_exec_cmd "cmake -DLLVM_ENABLE_PROJECTS=clang;lldb -DCMAKE_BUILD_TYPE=$(llvm_build_type) -DCMAKE_INSTALL_PREFIX=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=$(llvm_arch) $(llvm_additional_parameters) -GNinja $(Build.StagingDirectory)/llvm-project/llvm"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] cmake llvm failed"
|
||||
cat $(Build.SourcesDirectory)/buildspace/llvm-build/CMakeFiles/CMakeError.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_and_exec_cmd ninja
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
### Workaround for https://github.com/llvm/llvm-project/issues/108
|
||||
log_and_exec_cmd "ninja install"
|
||||
|
||||
# Remove conflicting LLDB.framework file.
|
||||
log_and_exec_cmd "rm -rf $(Build.StagingDirectory)/buildspace/llvm-inst/Library/Frameworks/LLDB.framework"
|
||||
|
||||
# Build lldb/sources/API first
|
||||
log_and_exec_cmd "cmake -P $(Build.StagingDirectory)/buildspace/llvm-build/tools/lldb/source/API/cmake_install.cmake"
|
||||
### End of Workaround
|
||||
|
||||
log_and_exec_cmd "ninja install"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja install failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "##[section] Build LLDB-MI"
|
||||
# Download lldb-mi and build it against our custom installation.
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace"
|
||||
log_and_exec_cmd "git clone $(lldb_mi_repo) lldb-mi"
|
||||
log_and_exec_cmd "cd lldb-mi"
|
||||
log_and_exec_cmd "git checkout $(lldb_mi_branch)"
|
||||
|
||||
# Create a separate build directory for building lldb-mi.
|
||||
log_and_exec_cmd "mkdir build"
|
||||
log_and_exec_cmd "cd build"
|
||||
log_and_exec_cmd "cmake -DCMAKE_PREFIX_PATH=$(Build.StagingDirectory)/buildspace/llvm-inst/ $(lldb_mi_additional_parameters) -GNinja .."
|
||||
log_and_exec_cmd "ninja"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/publish"
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/publish"
|
||||
|
||||
log_and_exec_cmd "mkdir -p ./debugAdapters/lldb-mi/bin"
|
||||
|
||||
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/lldb-mi/build/src/lldb-mi ./debugAdapters/lldb-mi/bin/."
|
||||
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/llvm-inst/lib/liblldb.so* ./debugAdapters/lldb-mi/bin/."
|
||||
|
||||
# Grab NOTICE.TXT
|
||||
cp $(Build.SourcesDirectory)/Build/lldb-mi/NOTICE.TXT ./debugAdapters/lldb-mi/.
|
||||
|
||||
# Build can be found at https://dev.azure.com/ms/vscode-cpptools/_build?definitionId=313
|
||||
# Click on the build and select 'Artifacts'
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: 'Publish LLDB-MI'
|
||||
inputs:
|
||||
targetPath: '$(Build.StagingDirectory)/publish'
|
||||
artifactName: 'lldb-mi'
|
||||
@@ -0,0 +1,125 @@
|
||||
variables:
|
||||
llvm_repo: https://github.com/llvm/llvm-project.git
|
||||
llvm_branch: release/10.x
|
||||
llvm_build_type: Release
|
||||
llvm_arch: x86_64
|
||||
llvm_additional_parameters: "-DLLDB_RELOCATABLE_PYTHON=1 -DLLDB_INCLUDE_TESTS=OFF -DLLDB_BUILD_FRAMEWORK=1"
|
||||
# TODO: fix lldb_mi_repo and lldb_mi_branch (https://github.com/lldb-tools/lldb-mi/pull/37 and https://github.com/lldb-tools/lldb-mi/pull/39)
|
||||
lldb_mi_repo: https://github.com/WardenGnaw/lldb-mi # TODO: Change to lldb-tools
|
||||
lldb_mi_branch: release/cpptools # TODO: Change to master
|
||||
lldb_mi_additional_parameters: "-DUSE_LLDB_FRAMEWORK=1"
|
||||
|
||||
jobs:
|
||||
- job: LLDB_MI
|
||||
timeoutInMinutes: 360
|
||||
pool:
|
||||
vmImage: 'macOS-latest'
|
||||
steps:
|
||||
- task: CmdLine@2
|
||||
displayName: 'Install Dependencies'
|
||||
inputs:
|
||||
script: brew install cmake ninja swig
|
||||
continueOnError: true
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'Build LLVM Project'
|
||||
inputs:
|
||||
script: |
|
||||
log_and_exec_cmd() {
|
||||
echo "##[command] $1"
|
||||
$1
|
||||
}
|
||||
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)"
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace"
|
||||
|
||||
log_and_exec_cmd "git clone $(llvm_repo) llvm-project"
|
||||
log_and_exec_cmd "cd llvm-project"
|
||||
log_and_exec_cmd "git checkout $(llvm_branch)"
|
||||
|
||||
log_and_exec_cmd "./lldb/scripts/macos-setup-codesign.sh"
|
||||
|
||||
log_and_exec_cmd "cd .."
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-inst"
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-build"
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace/llvm-build"
|
||||
|
||||
log_and_exec_cmd "cmake -DLLVM_ENABLE_PROJECTS=clang;lldb -DCMAKE_BUILD_TYPE=$(llvm_build_type) -DCMAKE_INSTALL_PREFIX=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=$(llvm_arch) $(llvm_additional_parameters) -GNinja $(Build.StagingDirectory)/llvm-project/llvm"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] cmake llvm failed"
|
||||
cat $(Build.SourcesDirectory)/buildspace/llvm-build/CMakeFiles/CMakeError.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_and_exec_cmd ninja
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
### Workaround for https://github.com/llvm/llvm-project/issues/108
|
||||
log_and_exec_cmd "ninja install"
|
||||
|
||||
# Remove conflicting LLDB.framework file.
|
||||
log_and_exec_cmd "rm -rf $(Build.StagingDirectory)/buildspace/llvm-inst/Library/Frameworks/LLDB.framework"
|
||||
|
||||
# Build lldb/sources/API first
|
||||
log_and_exec_cmd "cmake -P $(Build.StagingDirectory)/buildspace/llvm-build/tools/lldb/source/API/cmake_install.cmake"
|
||||
### End of Workaround
|
||||
|
||||
log_and_exec_cmd "ninja install"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja install failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "##[section] Build LLDB-MI"
|
||||
# Download lldb-mi and build it against our custom installation.
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace"
|
||||
log_and_exec_cmd "git clone $(lldb_mi_repo) lldb-mi"
|
||||
log_and_exec_cmd "cd lldb-mi"
|
||||
log_and_exec_cmd "git checkout $(lldb_mi_branch)"
|
||||
|
||||
# Create a separate build directory for building lldb-mi.
|
||||
log_and_exec_cmd "mkdir build"
|
||||
log_and_exec_cmd "cd build"
|
||||
log_and_exec_cmd "cmake -DCMAKE_PREFIX_PATH=$(Build.StagingDirectory)/buildspace/llvm-inst/ $(lldb_mi_additional_parameters) -GNinja .."
|
||||
log_and_exec_cmd "ninja"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "##[error] ninja failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/publish"
|
||||
log_and_exec_cmd "cd $(Build.StagingDirectory)/publish"
|
||||
|
||||
log_and_exec_cmd "mkdir -p ./debugAdapters/lldb-mi/bin"
|
||||
|
||||
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/lldb-mi/build/src/lldb-mi ./debugAdapters/lldb-mi/bin/."
|
||||
|
||||
# Set rpath for finding LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath @rpath/LLDB.framework/Versions/A/LLDB ./debugAdapters/lldb-mi/bin/lldb-mi"
|
||||
|
||||
# Set rpath for App Store XCode LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath /Applications/Xcode.app/Contents/SharedFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
|
||||
|
||||
# Set rpath for XCode CLI LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath /Library/Developer/CommandLineTools/Library/PrivateFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
|
||||
|
||||
# Set rpath next to the lldb-mi executable LLDB.Framework
|
||||
log_and_exec_cmd "install_name_tool -add_rpath @executable_path/. ./debugAdapters/lldb-mi/bin/lldb-mi"
|
||||
|
||||
# Grab NOTICE.TXT
|
||||
cp $(Build.SourcesDirectory)/Build/lldb-mi/NOTICE.TXT ./debugAdapters/lldb-mi/.
|
||||
|
||||
# Build can be found at https://dev.azure.com/ms/vscode-cpptools/_build?definitionId=313
|
||||
# Click on the build and select 'Artifacts'
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: 'Publish LLDB-MI'
|
||||
inputs:
|
||||
targetPath: '$(Build.StagingDirectory)/publish'
|
||||
artifactName: 'lldb-mi'
|
||||
@@ -18,3 +18,18 @@
|
||||
* [**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`.
|
||||
* The Tag Parser (symbol database) doesn't automatically expand macros, so the [**cpp.hint**](Extension/cpp.hint) file contains definitions of macros that should be expanded in order for symbols to be parsed correctly.
|
||||
|
||||
## String Localization
|
||||
|
||||
* [vscode-nls](https://github.com/microsoft/vscode-nls) is used to localize strings in TypeScript code. To use [vscode-nls](https://github.com/microsoft/vscode-nls), the source file must contain:
|
||||
```typescript
|
||||
import * as nls from 'vscode-nls';
|
||||
|
||||
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
|
||||
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
|
||||
```
|
||||
* For each user-facing string, wrap the string in a call to localize:
|
||||
```typescript
|
||||
const readmeMessage: string = localize("refer.read.me", "Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues");
|
||||
```
|
||||
* The first parameter to localize should be a unique key for that string, not used by any other call to localize() in the file unless representing the same string. The second parameter is the string to localize. Both of these parameters must be string literals. Tokens such as {0} and {1} are supported in the localizable string, with replacement values passed as additional parameters to localize().
|
||||
|
||||
@@ -5,10 +5,11 @@ These steps will allow you to debug the TypeScript code that is part of the Micr
|
||||
Prerequisite steps:
|
||||
* Clone the release branch of [this](https://github.com/Microsoft/vscode-cpptools) repository.
|
||||
* git clone -b release https://github.com/Microsoft/vscode-cpptools
|
||||
* Install [npm](https://nodejs.org).
|
||||
* Install [node](https://nodejs.org).
|
||||
* Install [yarn](https://yarnpkg.com).
|
||||
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
|
||||
* `npm install` will install the dependencies needed to build the extension.
|
||||
* **(optional)** `npm install -g vsce` will install `vsce` globally to create a VSIX package that you can install.
|
||||
* `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.
|
||||
|
||||
@@ -1,54 +1 @@
|
||||
# Pipe Transport
|
||||
|
||||
Pipe Transport allows communication through a pipe program to a remote shell. An example on Linux would be `ssh`.
|
||||
|
||||
## How-To
|
||||
|
||||
We have added `"pipeTransport"` as an option within the **launch.json** file. The structure looks as follows:
|
||||
```json
|
||||
"pipeTransport": {
|
||||
"pipeCwd": "/usr/bin",
|
||||
"pipeProgram": "/usr/bin/ssh",
|
||||
"pipeArgs": [
|
||||
"-pw",
|
||||
"<password>",
|
||||
"[email protected]"
|
||||
],
|
||||
"debuggerPath": "/usr/bin/gdb"
|
||||
},
|
||||
```
|
||||
The `pipeArgs` can be any set of arguments necessary to setup and authenticate the pipe connection. In the example, a password is used but you can also use an ssh key.
|
||||
|
||||
You may also need to add a `sourceFileMap` to map the path of where the code exists on the remote shell to where it is locally:
|
||||
```json
|
||||
"sourceFileMap": {
|
||||
// "remote": "local"
|
||||
"/home/user/src": "/src/projectA/src"
|
||||
}
|
||||
```
|
||||
|
||||
## Attach
|
||||
|
||||
You can also use the above `pipeTransport` block to attach to a remote process. In the attach case, you will need to specify a `processId`. We have added the ability to query processes from the remote machine. To do this, change `"processId": "${command.pickProcess}"` to `"processId": "${command.pickRemoteProcess}"`. The `pipeTransport` settings will be used to query the processes on the remote machine. Then select the process from the drop down list. As with `launch`, you may need to configure `sourceFileMap`.
|
||||
|
||||
## Docker example
|
||||
|
||||
The `pipeTransport` can also be used to debug a process in a Docker container. For an attach, **launch.json** will include:
|
||||
|
||||
```json
|
||||
"pipeTransport": {
|
||||
"pipeCwd": "${workspaceRoot}",
|
||||
"pipeProgram": "docker",
|
||||
"pipeArgs": [
|
||||
"exec",
|
||||
"-i",
|
||||
"hello_gdb",
|
||||
"sh",
|
||||
"-c"
|
||||
],
|
||||
"debuggerPath": "/usr/bin/gdb"
|
||||
},
|
||||
```
|
||||
Where `hello_gdb` is the name of your container.
|
||||
|
||||
Launching a process is accomplished by starting a container and then using the same `pipeTransport` launch additional processes in the container. See this [**launch.json**](https://github.com/andyneff/hello-world-gdb/blob/master/.vscode/launch.json) for a [full example](https://github.com/andyneff/hello-world-gdb/).
|
||||
The documentation for pipe transport has moved to https://code.visualstudio.com/docs/cpp/pipe-transport.
|
||||
@@ -1,91 +1 @@
|
||||
# Windows 10's Windows Subsystem for Linux
|
||||
|
||||
With the release of Windows 10 Creators Update (Build 15063), you will now be able to use Visual Studio Code and the Microsoft C/C++ extension to debug your [Windows Subsystem for Linux (WSL)](https://msdn.microsoft.com/en-us/commandline/wsl/about) projects.
|
||||
|
||||
Code can be written on Windows itself using VSCode and debugged through `bash.exe` to the Bash on Windows layer.
|
||||
|
||||
As of the Fall Creator's Update, you can have multiple distros installed, but `bash.exe` and `wsl.exe` use the default distro. Use [WSL Config](https://msdn.microsoft.com/en-us/commandline/wsl/wsl-config) to set your default distro.
|
||||
|
||||
**NOTE: Creator's Update (Build 15063 or later) is required due to bug-fixes within the subsystem that we rely on to provide debugging. Debugging using a previous version of WSL is unsupported and likely will not work. To check your Windows version, enter `winver` in a command prompt.**
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* [Windows 10 Creators Update or later with Windows Subsystem for Linux](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide) installed.
|
||||
* Install g++/gcc and gdb within `WSL` to allow compiling and debugging. You can use the package manager to do this. For example, to install g++, you can run `sudo apt install g++` in the Bash window.
|
||||
* [Visual Studio Code](https://code.visualstudio.com) + Microsoft C/C++ extension for VSCode.
|
||||
|
||||
## How-To
|
||||
|
||||
To debug, commands will be routed from Windows through `bash.exe` to set up debugging. Because our extension runs as a 32-bit process, it will need to use the `C:\Windows\SysNative` folder to access the `bash.exe` executable that is normally in `C:\Windows\System32`. We will be using the `"pipeTransport"` ability within the extension to do debugging and `"sourceFileMap"` to map the source from the subsystem's paths back to Windows path.
|
||||
|
||||
**NOTE: Applications will need to be compiled in the `Windows Subsystem for Linux (WSL)` prior to debugging.**
|
||||
|
||||
### Example `launch.json` for Launching
|
||||
|
||||
In the following example, I have a local drive, `Z:\` that has my source code within windows for an app called _kitchensink_. I have set up the `"program"` and `"cwd"` paths to point to the directory within `WSL`. I have set up the `"pipeTransport"` to use `bash.exe`. I have also set up a `"sourceFileMap"` to have everything that is returned by `gdb` that starts with `/mnt/z` to point to `Z:\\` in Windows.
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "C++ Launch",
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"program": "/mnt/z/Bash/kitchensink/a.out",
|
||||
"args": ["-fThreading"],
|
||||
"stopAtEntry": false,
|
||||
"cwd": "/mnt/z/Bash/kitchensink",
|
||||
"environment": [],
|
||||
"externalConsole": true,
|
||||
"windows": {
|
||||
"MIMode": "gdb",
|
||||
"setupCommands": [
|
||||
{
|
||||
"description": "Enable pretty-printing for gdb",
|
||||
"text": "-enable-pretty-printing",
|
||||
"ignoreFailures": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"pipeTransport": {
|
||||
"pipeCwd": "",
|
||||
"pipeProgram": "c:\\windows\\sysnative\\bash.exe",
|
||||
"pipeArgs": ["-c"],
|
||||
"debuggerPath": "/usr/bin/gdb"
|
||||
},
|
||||
"sourceFileMap": {
|
||||
"/mnt/z": "z:\\"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Example `launch.json` for Attaching to an Existing Process
|
||||
|
||||
This configuration similar to the launch process above. I have chosen to start the same application above from the Bash command line and now I want to attach to it for debugging. I have changed the `"processID"` to use the remote process picker by specifying the command `"${command:pickRemoteProcess}"` and set up the same `"sourceFileMap"`. When I press <kbd>F5</kbd> to attach, I get a picker drop down showing the running processes within `WSL`. I can scroll or search for the process I want to attach to and start debugging.
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "C++ Attach",
|
||||
"type": "cppdbg",
|
||||
"request": "attach",
|
||||
"program": "/mnt/z/Bash/kitchensink/a.out",
|
||||
"processId": "${command:pickRemoteProcess}",
|
||||
"windows": {
|
||||
"MIMode": "gdb",
|
||||
"setupCommands": [
|
||||
{
|
||||
"description": "Enable pretty-printing for gdb",
|
||||
"text": "-enable-pretty-printing",
|
||||
"ignoreFailures": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"pipeTransport": {
|
||||
"pipeCwd": "",
|
||||
"pipeProgram": "c:\\windows\\sysnative\\bash.exe",
|
||||
"pipeArgs": ["-c"],
|
||||
"debuggerPath": "/usr/bin/gdb"
|
||||
},
|
||||
"sourceFileMap": {
|
||||
"/mnt/z": "z:\\"
|
||||
}
|
||||
}
|
||||
```
|
||||
The documentation for GCC on Windows Subsystem for Linux (WSL) has moved to https://code.visualstudio.com/docs/cpp/config-wsl.
|
||||
@@ -1,15 +1 @@
|
||||
# Natvis - Custom views for native objects
|
||||
|
||||
The Natvis framework allows developers to write custom schemas to help visualize native objects.
|
||||
|
||||
For gdb/lldb debugging (`"type": "cppdbg"`), a subset of the Natvis framework has been ported to the C/C++ extension and the code resides in the [MIEngine](https://github.com/Microsoft/MIEngine) shared component. If additional features that are not implemented are requested, please file an [issue](https://github.com/Microsoft/MIEngine/issues) on the MIEngine GitHub page with details of what is missing.
|
||||
|
||||
For Visual C++ debugging (`"type": "cppvsdbg"`), the debugger contains the full implementation of the Natvis framework as Visual Studio.
|
||||
|
||||
## Documentation
|
||||
|
||||
The official documentation can be found [here](https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects).
|
||||
|
||||
## Schema
|
||||
|
||||
The Natvis schema can be found [here](natvis.xsd).
|
||||
The documentation for Natvis has moved to https://code.visualstudio.com/docs/cpp/natvis.
|
||||
@@ -1,102 +1 @@
|
||||
# FAQs
|
||||
|
||||
## Table of Contents
|
||||
* Setup: [Debugging Setup](#debugging-setup)
|
||||
* Setup: [What is the .vscode/ipch folder?](#what-is-the-vscodeipch-folder)
|
||||
* Setup: [How do I disable the IntelliSense cache (ipch)?](#how-do-i-disable-the-intellisense-cache-ipch)
|
||||
* Debugger: [Why is debugging not working?](#why-is-debugging-not-working)
|
||||
* 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:
|
||||
|
||||
Click menu item: `Debug` -> `Add Configuration...`
|
||||
|
||||
The file **launch.json** will now be open for editing with a new configuration. The default settings will *probably* work except that you need to specify the **program** setting.
|
||||
|
||||
See the [**Documentation/Debugger**](https://github.com/Microsoft/vscode-cpptools/tree/master/Documentation/Debugger) folder in this repository for more in-depth documentation on how to configure the debugger.
|
||||
|
||||
## What is the .vscode/ipch folder?
|
||||
|
||||
The language server caches information about included header files to improve the performance of IntelliSense. When you edit C/C++ files in your workspace folder, the language server will store cache files in the `.vscode/ipch` folder by default. VS Code per-workspace storage folders were not selected for the following reasons:
|
||||
* The workspace storage location provided by VS Code is somewhat obscure and we had reservations about writing GB's worth of files in this location where users may not see them or know where to find them.
|
||||
* Parity with Visual Studio. This is how Visual Studio works and they receive little to no feedback/complaints on the location.
|
||||
|
||||
With this in mind we knew that we wouldn't be able to please everyone, so we provided settings to allow you to customize this the way that works best for your situation. We also figured that putting the files in the workspace folder would bring the issue to your attention quickly so that you can take action if you don't like the default behavior.
|
||||
|
||||
#### `"C_Cpp.intelliSenseCachePath": <string>`
|
||||
This setting allows you to set workspace or global overrides for the cache path. For example, if you want to share a single cache location for all workspace folders, you just open the VS Code settings, and add a "User" setting for "IntelliSense Cache Path".
|
||||
|
||||
#### `"C_Cpp.intelliSenseCacheSize": <number>`
|
||||
This setting allows you to set a limit on the amount of caching the extension does. This is an approximation, but the extension will make a best effort to keep the cache size as close to the limit you set as possible. If you are sharing the cache location across workspaces as explained above, you can still increase/decrease the limit, but you should make sure that you add a "User" setting for "IntelliSense Cache Size".
|
||||
|
||||
## How do I disable the IntelliSense cache (ipch)?
|
||||
|
||||
If you do not want to use the IntelliSense caching feature to improve the performance of IntelliSense, you can disable the feature by setting the "IntelliSense Cache Size" setting to 0. (or `"C_Cpp.intelliSenseCacheSize": 0"` in the JSON settings editor)
|
||||
|
||||
## Why is debugging not working?
|
||||
|
||||
### My breakpoints aren't being hit
|
||||
|
||||
When you start debugging, if it is showing that your breakpoints aren't bound (solid red circle) or they are not being hit, you may need to enable [debug symbols](#how-to-enable-debug-symbols) during compilation.
|
||||
|
||||
### Debugging starts but all the lines in my stack trace are grey
|
||||
|
||||
If your debugger is showing a grey stacktrace or won't stop at a breakpoint, or the symbols in the call stack are grey then your executable was compiled without [debug symbols](#how-to-enable-debug-symbols).
|
||||
|
||||
## How to enable debug symbols?
|
||||
|
||||
Enabling debug symbols are dependent on the type of compiler you are using. Below are some of the compilers and the compiler options necessary to enable debug symbols.
|
||||
|
||||
When in doubt, please check your compiler's documentation for the options necessary to include debug symbols in the output. This may be some variant of `-g` or `--debug`.
|
||||
|
||||
* #### Clang (C++)
|
||||
* If you invoke the compiler manually then add the `--debug` option.
|
||||
* If you're using a script then make sure the `CXXFLAGS` environment variable is set; e.g. `export CXXFLAGS="${CXXFLAGS} --debug"`
|
||||
* If you're using CMake then set make sure the `CMAKE_CXX_FLAGS` is set; e.g. `export CMAKE_CXX_FLAGS=${CXXFLAGS}`
|
||||
|
||||
* #### Clang (C)
|
||||
See Clang C++ but use `CFLAGS` instead of `CXXFLAGS`.
|
||||
|
||||
* #### gcc or g++
|
||||
If you invoke the compiler manually, add the `-g` option.
|
||||
|
||||
* #### 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.
|
||||
The FAQs for the C/C++ extension has moved to https://code.visualstudio.com/docs/cpp/faq-cpp.
|
||||
@@ -1,56 +1,3 @@
|
||||
This file is deprecated.
|
||||
|
||||
# Configuring includePath for better IntelliSense results
|
||||
|
||||
This page describes how to configure include paths for folders containing C or C++ files to get the full IntelliSense experience. If you're seeing the following message when opening a folder in VS Code, it means the C++ IntelliSense engine needs additional information about the paths in which your include files are located.
|
||||
|
||||

|
||||
|
||||
## Where are the include paths defined?
|
||||
|
||||
The include paths are defined in the `"includePath"` setting in a file called **c_cpp_properties.json** located in the **.vscode** directory in the opened folder.
|
||||
|
||||
You can create or open this file by either using the `"C/Cpp: Edit Configurations"` command in the command palette or by selecting `"Edit "includePath" setting"` in the lightbulb menu (see the screenshot below). The quickest way to locate a lightbulb is to scroll to the top of the source file and click on any green squiggle that shows up under a #include statement.
|
||||
|
||||

|
||||
|
||||
When a folder is opened, the extension attempts to locate your system headers based on your operating system, but it does not know about any other libraries that your project depends on. You can hover over the green squiggles or open the Problems window to understand which headers the IntelliSense engine is unable to open - sometimes it's the dependent headers that can't be located.
|
||||
|
||||

|
||||
|
||||
## How to specify the include paths?
|
||||
|
||||
You can specify the remaining paths using one of the techniques described below.
|
||||
|
||||
#### 1. Use `compile_commands.json` file to supply includePaths and defines information
|
||||
|
||||
The extension can get the information for `"includePath"` and `"defines"` from a **compile_commands.json** file, which can be auto-generated by many build systems such as CMake and Ninja. Look for the section where your current configuration is defined (by default there's one configuration per OS, such as "Win32 or "Mac"), and set the `"compileCommands"` property in **c_cpp_properties.json** to the full path to your **compile_commands.json** file and the extension will use that instead of the `"includes"` and `"defines"` properties for IntelliSense.
|
||||
|
||||

|
||||
|
||||
#### 2. Use the lightbulb suggestions to auto-resolve includePath
|
||||
|
||||
The first thing to try is to leverage the lightbulb path suggestions to auto-resolve the include paths. When you open a folder, the extension will **recursively** search for potential include paths that match the header files your code is using based on the paths set by the `"browse.path"` setting in **c_cpp_properties.json**. Click on the green squiggles under #include statements and you'll see a lightbulb offering suggestions of paths that will allow IntelliSense to resolve the included file.
|
||||
|
||||

|
||||
|
||||
If you don't see path suggestions in the lightbulb, try adding the root folder where the headers are likely located in to the `"browse.path"` setting in **c_cpp_properties.json**. This allows the extension to **recursively** search in these folders and offer more suggestions in the lightbulb as the search process goes on.
|
||||
|
||||
#### 3. Manually add include paths
|
||||
If none of the above fully resolves the paths, you could manually specify the paths to the headers that your project depends on in the **c_cpp_properties.json** file. Look for the section where your current configuration is defined (by default there's one configuration per OS, such as "Win32 or "Mac"), and add your paths in the `"includePath"` setting and defines in the `"defines"` setting. For example, the following screenshot shows a snippet of the file specifying path for the Mac configuration.
|
||||
|
||||

|
||||
|
||||
## Verify the include paths are correctly resolved
|
||||
|
||||
There are two ways to verify that the include paths are correctly resolved:
|
||||
|
||||
1. The green squiggles in the source file are no longer showing
|
||||
2. Error messages are cleared in the Problems window
|
||||
|
||||
This indicates that the IntelliSense engine has got the include paths resolved so you can start enjoying the full IntelliSense for your C or C++ code for the current translation unit. Note that you may still see errors on other files if they belong to a different translation unit that requires additional include paths to be configured.
|
||||
|
||||
## See Also
|
||||
|
||||
[IntelliSense engines](https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/IntelliSense%20engine.md)
|
||||
|
||||
[**c_cpp_properties.json** reference guide](https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/c_cpp_properties.json.md)
|
||||
Please find documentation for the C/C++ extension at https://code.visualstudio.com/docs/languages/cpp.
|
||||
@@ -1,99 +1 @@
|
||||
# Customizing Default Settings
|
||||
|
||||
In version 0.17.0 we introduced new settings that allow you to override the extension's default values for properties set in **c_cpp_properties.json**.
|
||||
|
||||
## New VS Code settings
|
||||
|
||||
The following `C_Cpp.default.*` settings map to each of the properties in a configuration block of **c_cpp_properties.json**. Namely:
|
||||
|
||||
```
|
||||
C_Cpp.default.includePath : string[]
|
||||
C_Cpp.default.defines : string[]
|
||||
C_Cpp.default.compileCommands : string
|
||||
C_Cpp.default.macFrameworkPath : string[]
|
||||
C_Cpp.default.forcedIncludes : string[]
|
||||
C_Cpp.default.intelliSenseMode : string
|
||||
C_Cpp.default.compilerPath : string
|
||||
C_Cpp.default.cStandard : c89 | c99 | c11
|
||||
C_Cpp.default.cppStandard : c++98 | c++03 | c++11 | c++14 | c++17
|
||||
C_Cpp.default.browse.path : string[]
|
||||
C_Cpp.default.browse.databaseFilename : string
|
||||
C_Cpp.default.browse.limitSymbolsToIncludedHeaders : boolean
|
||||
```
|
||||
|
||||
These settings have all of the benefits of VS Code settings, meaning that they can have default, "User", "Workspace", and "Folder" values. So you can set a global value for `C_Cpp.default.cppStandard` in your "User" settings and have it apply to all of the folders you open. If any one folder needs a different value, you can override the value by adding a "Folder" or "Workspace" value.
|
||||
|
||||
This property of VS Code settings allows you to configure each of your workspaces independently - making the **c_cpp_properties.json** file optional.
|
||||
|
||||
## Updated **c_cpp_properties.json** syntax
|
||||
|
||||
A special variable has been added to the accepted syntax of **c_cpp_properties.json** that will instruct the extension to insert the value from the VS Code settings mentioned above. If you set the value of any setting in **c_cpp_properties.json** to "${default}" it will instruct the extension to read the VS Code default setting for that property and insert it. For example:
|
||||
|
||||
```
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Win32",
|
||||
"includePath": [
|
||||
"additional/paths",
|
||||
"${default}"
|
||||
],
|
||||
"defines": [
|
||||
"${default}",
|
||||
],
|
||||
"macFrameworkPath": [
|
||||
"${default}",
|
||||
"additional/paths"
|
||||
],
|
||||
"forceInclude": [
|
||||
"${default}",
|
||||
"additional/paths"
|
||||
],
|
||||
"compileCommands": "${default}",
|
||||
"browse": {
|
||||
"limitSymbolsToIncludedHeaders": true,
|
||||
"databaseFilename": "${default}",
|
||||
"path": [
|
||||
"${default}",
|
||||
"additional/paths"
|
||||
]
|
||||
},
|
||||
"intelliSenseMode": "${default}",
|
||||
"cStandard": "${default}",
|
||||
"cppStandard": "${default}",
|
||||
"compilerPath": "${default}"
|
||||
}
|
||||
],
|
||||
```
|
||||
|
||||
Take note that for the properties that accept string[], the syntax proposed above allows you to augment the VS Code setting with additional values, thus allowing you to have common paths listed in the VS Code settings and configuration-specific settings in **c_cpp_properties.json**.
|
||||
|
||||
If a property is missing from **c_cpp_properties.json**, the extension will use the value in the VS Code setting. If a developer assigns values to all of the settings that apply for a given folder, then **c_cpp_properties.json** could be removed from the .vscode folder as it will no longer be needed.
|
||||
|
||||
### System includes
|
||||
|
||||
A new setting will be added that allows you specify the system include path separate from the folder's include path. If this setting has a value, then the system include path the extension gets from the compiler specified in the `compilerPath` setting will not be added to the path array that the extension uses for IntelliSense. We may want to provide a VS Code command to populate this value from the compiler's default for users who are interested in using it in case they want to make some modifications to the defaults.
|
||||
|
||||
```
|
||||
C_Cpp.default.systemIncludePath : string[]
|
||||
```
|
||||
|
||||
### System Include Path/Defines Resolution Strategies
|
||||
|
||||
The extension determines the system includePath and defines to send to the IntelliSense engine in the following manner:
|
||||
|
||||
1. If `compileCommands` has a valid value and the file open in the editor is in the database, use the compile command in the database entry to determine the include path and defines.
|
||||
* The system include path and defines are determined using the following logic (in order):
|
||||
1. If `systemIncludePath` has a value, use it (continue to the next step to search for system defines).
|
||||
2. If `compilerPath` is valid, query it.
|
||||
3. Interpret the first argument in the command as the compiler and attempt to query it.
|
||||
4. If `compilerPath` is `""`, use an empty array for system include path and defines.
|
||||
5. If `compilerPath` is undefined, look for a compiler on the system and query it.
|
||||
|
||||
2. If `compileCommands` is invalid or the current file is not listed in the database, use the `includePath` and `defines` properties in the configuration for IntelliSense.
|
||||
* The system include path and defines are determined using the following logic (in order):
|
||||
1. If `systemIncludePath` has a value, use it (continue to the next step to search for system defines).
|
||||
2. If `compilerPath` is valid, query it.
|
||||
3. If `compilerPath` is `""`, use an empty array for system include path and defines (they are assumed to be in the `includePath` and `defines` for the current config already).
|
||||
4. If `compilerPath` is undefined, look for a compiler on the system and query it.
|
||||
|
||||
System includes should no longer be added to the `"includePath"` or `"browse.path"` variables. If the extension detects any system include paths in the `"includePath"` property it will silently remove them so that it can ensure system include paths are added last and in the correct order (this is especially important for GCC/Clang). In a future update we may add a notification message to the extension to remind developers to remove system include paths from their `"includePath"` and `'browse.path"` as they will be ignored.
|
||||
The documentation for customizing default settings has moved to https://code.visualstudio.com/docs/cpp/customize-default-settings-cpp.
|
||||
@@ -1,12 +1 @@
|
||||
# How to enable logging in the extension
|
||||
|
||||
If you are experiencing a problem that we are unable to diagnose based on information in your issue report, we might ask you to enable logging and send us your logs.
|
||||
|
||||
As of version 0.14.0 of the extension, logging information is now delivered directly to the Output window in VSCode. To turn on full logging for an issue report, add `"C_Cpp.loggingLevel": "Information"` or `"C_Cpp.loggingLevel": "Debug"` to your **settings.json**.
|
||||
|
||||

|
||||
|
||||
VS Code organizes the logging from different extensions to improve readability so you must select the "C/C++" option in the log filter selector to see logging from the C/C++ extension:
|
||||
|
||||

|
||||
|
||||
The documentation for logging has moved to https://code.visualstudio.com/docs/cpp/enable-logging-cpp.
|
||||
@@ -1,66 +1 @@
|
||||
# Frequently asked questions
|
||||
|
||||
* [How do I get IntelliSense to work correctly?](#how-do-i-get-intellisense-to-work-correctly)
|
||||
* [Why do I see red squiggles under Standard Library types?](#why-do-i-see-red-squiggles-under-standard-library-types)
|
||||
* [How do I get the new IntelliSense to work with MinGW on Windows?](#how-do-i-get-the-new-intellisense-to-work-with-mingw-on-windows)
|
||||
* [How do I get the new IntelliSense to work with the Windows Subsystem for Linux?](#how-do-i-get-the-new-intellisense-to-work-with-the-windows-subsystem-for-linux)
|
||||
* [What is the difference between `"includePath"` and `"browse.path"` in **c_cpp_properties.json**?](#what-is-the-difference-between-includepath-and-browsepath-in-c_cpp_propertiesjson)
|
||||
* [How do I re-create the IntelliSense database?](#how-do-i-re-create-the-intellisense-database)
|
||||
|
||||
## How do I get IntelliSense to work correctly?
|
||||
|
||||
There are two IntelliSense engines present in the extension: the "fuzzy" engine (or Tag Parser), and the new "Default" engine. If you are using version 0.11.0 or higher of the cpptools extension, then you can preview our new IntelliSense engine which has more accurate auto-complete suggestions and tooltips. To use the new engine, you need to ensure that `"C_Cpp.intelliSenseEngine"` is set to `"Default"` in your settings. Since the engine is still in preview it is not on by default for everyone yet.
|
||||
|
||||
After selecting the IntelliSense engine that you prefer, take a look at the Problems window in VS Code to see if you need to do any further configuration for your folder. For example, the Default engine will not provide squiggles and auto-complete suggestions for a translation unit (read: a source file and its dependencies) if the include path is not configured properly. You can select any of the problems in the window to navigate to the line when the problem was detected and a lightbulb will appear in the editor with some options (code actions) to help you resolve the problem:
|
||||
|
||||
1. Update your `includePath` (and preprocessor defines)
|
||||
2. Force semantic IntelliSense
|
||||
|
||||
#### Update your `includePath` (and preprocessor defines)
|
||||
|
||||
Selecting this option will open a file called **c_cpp_properties.json**. If you haven't created this file already, it will be created for you in the **.vscode** folder of your workspace.
|
||||
|
||||
Add the necessary paths to your include files to the `"includePath"` array. The `${workspaceRoot}` variable is available to use to get a relative path to the folder you have opened. Also add any required symbols that need to be defined to the `"defines"` array. Both "\<var\>" and "\<var\>=\<value\>" syntax is accepted. When you edit and save this file, the IntelliSense engine will reset and reparse source your source files and headers with the new settings.
|
||||
|
||||
#### Force semantic IntelliSense
|
||||
|
||||
If you want IntelliSense to operate on your files even when all #include directives do not resolve, then you can choose the `Force semantic IntelliSense` code action to always use the new IntelliSense engine. You can also set the `C_Cpp.intelliSenseEngineFallback` setting to `"Disabled"`.
|
||||
|
||||
## Why do I see red squiggles under Standard Library types?
|
||||
|
||||
The most common reason for this is missing include paths and defines. The easiest way to fix this on each platform is as follows:
|
||||
|
||||
**Linux/Mac**
|
||||
* Set `"intelliSenseMode": "clang-x64"` or `"intelliSenseMode": "gcc-x64"` and `"compilerPath"` in **c_cpp_properties.json** to the path to your compiler.
|
||||
|
||||
**Windows**
|
||||
* If you are using a Microsoft compiler from Visual Studio, set `"intelliSenseMode": "msvc-x64"`, but don't add the `"compilerPath"` property to **c_cpp_properties.json**.
|
||||
* If you are using Clang for Windows, set `"intelliSenseMode": "msvc-x64"`, and `"compilerPath"` in **c_cpp_properties.json** to the path to your compiler.
|
||||
|
||||
## How do I get the new IntelliSense to work with MinGW on Windows?
|
||||
|
||||
The page discussing configuration with MinGW is [here](https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/MinGW.md).
|
||||
|
||||
## How do I get the new IntelliSense to work with the Windows Subsystem for Linux?
|
||||
|
||||
The page discussing configuration with WSL is [here](https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/Windows%20Subsystem%20for%20Linux.md).
|
||||
|
||||
## What is the difference between `"includePath"` and `"browse.path"` in **c_cpp_properties.json**?
|
||||
|
||||
Starting with version 0.11.0 of the cpptools extension, there are now two settings in the **c_cpp_properties.json** file. They are used by the different IntelliSense engines that we support and have slightly different meanings for the components that use them.
|
||||
|
||||
The active IntelliSense engine is controlled via the `"C_Cpp.intelliSenseEngine"` setting in your **settings.json** file. The valid values for this setting are `"Default"` and `"Tag Parser"`.
|
||||
|
||||
* #### `"includePath"`
|
||||
This array of path strings is used by the new "Default" IntelliSense engine that was introduced in version 0.11.0 of the extension. This new engine provides semantic-aware IntelliSense features and will be the eventual replacement for the Tag Parser that has been powering the extension since it was first released. It currently provides tooltips and error squiggles in the editor. The remaining features (e.g. code completion, signature help, go to definition, ...) are implemented using the Tag Parser's database, so it is still important to ensure that the browse.path setting is properly set.
|
||||
|
||||
The paths that you specify for this setting are the same paths that you would send to your compiler via the `-I` switch. When your source files are parsed, the IntelliSense engine will prepend these paths to the files specified by your #include directives while attempting to resolve them. These paths are **not** searched recursively.
|
||||
|
||||
* #### `"browse.path"`
|
||||
This array of path strings is used by the "Tag Parser" (a.k.a. "browse engine"). This engine will _recursively_ enumerate all files under the paths specified and track them as potential includes while tag parsing your project folder. To disable recursive enumeration of a path, you can append a `/*` to the path string.
|
||||
|
||||
When you open a workspace for the first time, the extension adds `${workspaceRoot}` to both arrays. If this is undesirable, you can open your **c_cpp_properties.json** file and remove it.
|
||||
|
||||
## How do I re-create the IntelliSense database?
|
||||
|
||||
Starting in version 0.12.3 of the extension, we added a command that will reset your IntelliSense database. Open the command palette and choose the "C/Cpp: Reset IntelliSense Database" command.
|
||||
The FAQs for the C/C++ extension has moved to https://code.visualstudio.com/docs/cpp/faq-cpp.
|
||||
@@ -1,44 +0,0 @@
|
||||
# IntelliSense engines
|
||||
|
||||
There are two IntelliSense engines used to power the C/C++ IntelliSense experience in VS Code.
|
||||
|
||||
* `"Default"` - Visual Studio's IntelliSense engine, which is the default engine that provides semantic-aware IntelliSense features
|
||||
* `"Tag Parser"` - the "fuzzy" IntelliSense engine that provides quick but "fuzzy" results, is used to provide the fallback experience if the default engine is unable to fully resolve include paths
|
||||
|
||||
Ultimately all the IntelliSense and code browsing features will be powered by the "Default" engine. The following features have been implemented so far:
|
||||
|
||||
* Auto-complete suggestions for class/struct/namespace members
|
||||
* Parameter hints
|
||||
* Quick info (hover over tooltip)
|
||||
* Error squiggles
|
||||
* Reference highlighting
|
||||
|
||||
The other IntelliSense features, such as global auto-complete, and code browsing features, such as Go to definition/declaration, are currently powered by the "Tag Parser" based engine.
|
||||
|
||||
### `includePath` and `browse.path`
|
||||
The two IntelliSense engines use two different settings in the **c_cpp_properties.json** file for specifying include paths. This file is located in the **.vscode** directory in the opened folder. You can create or open this file by either using the "C/Cpp: Edit Configurations" command in the command palette or by selecting "Edit "includePath" setting" in the lightbulb menu. Look for the following settings in the section where your current configuration is defined (by default there's one configuration per OS, such as "Win32 or "Mac").
|
||||
|
||||
* #### `"includePath"`
|
||||
This array of path strings is used by the "Default" IntelliSense engine. The paths that you specify for this setting are the same paths that you would send to your compiler via the -I switch. When your source files are parsed, the IntelliSense engine will prepend these paths to the files specified by your #include directives while attempting to resolve them. These paths are searched **non-recursively**.
|
||||
|
||||
* #### `"browse.path"`
|
||||
This array of path strings is used by the "Tag Parser" (a.k.a. "browse engine"). This engine will **recursively** enumerate all files under the paths specified and track them as potential includes while tag parsing your project folder. To disable recursive enumeration of a path, you can append a `/*` to the path string.
|
||||
|
||||
### How fallback works and how to control the behavior
|
||||
|
||||
The extension first tries to fully parse any opened file using the "Default" IntelliSense engine. If it discovers that it cannot find a header file or a dependency, it will fall back to the tag parser and provide the fuzzy IntelliSense behavior. The fallback affects a full translation unit (TU), not just a single open file. The Problems panel provides details about unresolved headers and dependencies. Other opened TUs will continue to use the "Default" IntelliSense engine provided that all #include dependencies are resolved.
|
||||
|
||||
We recognize that resolving all #includes may not be necessary for all projects and you may still want to experience the productivity benefits of using the "Default" semantic engine without customizing the default include path. For that, the “Force semantic IntelliSense” action can be chosen. When invoked, all unresolved #include squiggles will turn red and semantic member list and linting will be enabled in all files regardless of whether or not #include statements can be resolved.
|
||||
|
||||
### IntelliSense engine setting
|
||||
|
||||
We recommend using the "Default" engine for the best IntelliSense experience. However, it is possible to explicitly choose the IntelliSense engine by editing your [user or workspace settings](https://code.visualstudio.com/docs/getstarted/settings). The setting you should modify is `"C_Cpp.intelliSenseEngine"`. There are two values for this setting:
|
||||
|
||||
* `"Default"` - use Visual Studio's IntelliSense engine
|
||||
* `"Tag Parser"` - use the "fuzzy" IntelliSense engine
|
||||
|
||||
### See Also
|
||||
|
||||
[Configuring includePath for better IntelliSense results](https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/Getting%20started%20with%20IntelliSense%20configuration.md)
|
||||
|
||||
[**c_cpp_properties.json** reference guide](https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/c_cpp_properties.json.md)
|
||||
@@ -1,31 +1,2 @@
|
||||
# MinGW
|
||||
|
||||
To use MinGW on Windows, we recommend you add the following configuration to your **c_cpp_properties.json** file. Select "C/Cpp: Edit Configurations" from the command palette to create this file if you haven't already.
|
||||
|
||||
## Extension version 0.17.0 and higher:
|
||||
|
||||
When you set the `compilerPath` property and change `intelliSenseMode` to `clang-x64` (or `gcc-x64` in version 0.18.0 and higher), you no longer need to copy the system include path or defines to `includePath`, `browse.path`, or `defines` to enable IntelliSense to work properly. For example:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "MinGW",
|
||||
"intelliSenseMode": "gcc-x64",
|
||||
"compilerPath": "C:/mingw64/bin/gcc.exe",
|
||||
"includePath": [
|
||||
"${workspaceFolder}"
|
||||
],
|
||||
"defines": [],
|
||||
"cStandard": "c11",
|
||||
"cppStandard": "c++17"
|
||||
}
|
||||
```
|
||||
|
||||
Replace "gcc.exe" with whatever compiler you're using, e.g. "g++.exe", "clang-5.0.exe", etc. -- just make sure the file is a valid Windows executable (not a 0 size symlink).
|
||||
|
||||
For Cygwin, set the `compilerPath` to the appropriate Cygwin path, e.g. "C:/cygwin64/bin/g++.exe".
|
||||
|
||||
If it seems like the `compilerPath` is not getting used, you can debug the issue via [enabling logging](Enabling%20logging.md).
|
||||
|
||||
## Extension version 0.16.1 and earlier:
|
||||
|
||||
If you have an older version of the C/C++ extension installed, use [these instructions](Archive/MinGW.md) instead.
|
||||
The documentation for Mingw-w64 has moved to https://code.visualstudio.com/docs/cpp/config-mingw.
|
||||
@@ -1,33 +1 @@
|
||||
# Windows Subsystem for Linux
|
||||
|
||||
> **Note:** If you are on **build 17110 of Windows or higher**, you must use extension version 0.17.0 or higher for IntelliSense to work. The Windows team turned on case-sensitive folders for the WSL environment and the C/C++ extension doesn't support case-sensitive folders until version 0.17.0.
|
||||
|
||||
To use the Windows Subsystem for Linux with this extension you need to add a configuration to your **c_cpp_properties.json** file which adds the necessary header paths from within the WSL filesystem to the `includePath`.
|
||||
|
||||
Select "C/Cpp: Edit Configurations" from the command palette to create the **c_cpp_properties.json** file if you haven't already.
|
||||
|
||||
## With extension version 0.17.0 and higher:
|
||||
|
||||
In **c_cpp_properties.json** you can directly address your WSL compiler and include paths by using *nix-style paths and we will do the conversion to Windows paths for you. If you have multiple distros installed, we disambiguate the `compilerPath` by picking the one marked as Default when you run `wslconfig.exe /l` in a CMD or PowerShell window. We continue to support Windows-style paths for these properties as outlined in the [archived instructions](Archive/Windows%20Subsystem%20for%20Linux.md) if you prefer to use those.
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "WSL",
|
||||
"intelliSenseMode": "gcc-x64",
|
||||
"compilerPath": "/usr/bin/gcc",
|
||||
"includePath": [
|
||||
"${workspaceFolder}/**"
|
||||
],
|
||||
"defines": [],
|
||||
"cStandard": "c11",
|
||||
"cppStandard": "c++17"
|
||||
}
|
||||
```
|
||||
|
||||
## Earlier versions of the extension:
|
||||
|
||||
If you are on a build of Windows prior to 17110 and you have an older version of the C/C++ extension installed, use [these instructions](Archive/Windows%20Subsystem%20for%20Linux.md) instead.
|
||||
|
||||
---
|
||||
|
||||
Remember to [heed the warnings of the Windows team about not creating or editing Linux files from a Windows app](https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/)!
|
||||
The documentation for GCC on Windows Subsystem for Linux (WSL) has moved to https://code.visualstudio.com/docs/cpp/config-wsl.
|
||||
@@ -1,100 +1 @@
|
||||
# `c_cpp_properties.json` Reference Guide
|
||||
|
||||
> See also: [Customizing Default Settings](Customizing%20Default%20Settings.md)
|
||||
|
||||
### Example
|
||||
|
||||
```json
|
||||
{
|
||||
"env" : {
|
||||
"myDefaultIncludePath": [
|
||||
"${workspaceFolder}",
|
||||
"${workspaceFolder}/include"
|
||||
],
|
||||
"myCompilerPath": "/usr/local/bin/gcc-7"
|
||||
},
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Mac",
|
||||
"intelliSenseMode": "clang-x64",
|
||||
"includePath": [ "${myDefaultIncludePath}", "/another/path" ],
|
||||
"macFrameworkPath": [ "/System/Library/Frameworks" ],
|
||||
"defines": [ "FOO", "BAR=100" ],
|
||||
"forcedInclude": [ "${workspaceFolder}/include/config.h" ],
|
||||
"compilerPath": "/usr/bin/clang",
|
||||
"cStandard": "c11",
|
||||
"cppStandard": "c++17",
|
||||
"compileCommands": "/path/to/compile_commands.json",
|
||||
"browse": {
|
||||
"path": [ "${workspaceFolder}" ],
|
||||
"limitSymbolsToIncludedHeaders": true,
|
||||
"databaseFilename": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
||||
```
|
||||
|
||||
## Top-level properties
|
||||
|
||||
* #### `env`
|
||||
An array of user-defined variables that will be available for substitution in the configurations via the standard environment variable syntax: `${<var>}` or `${env:<var>}`. Strings and arrays of strings are accepted.
|
||||
|
||||
* #### `configurations`
|
||||
An array of configuration objects that provide the IntelliSense engine with information about your project and your preferences. By default, the extension creates a configuration for you based on your operating system. You may also add additional configurations.
|
||||
|
||||
* #### `version`
|
||||
We recommend you don't edit this field. It tracks the current version of the **c_cpp_properties.json** file so that the extension knows what properties and settings should be present and how to upgrade this file to the latest version.
|
||||
|
||||
## Configuration properties
|
||||
|
||||
* #### `name`
|
||||
A friendly name for the configuration. "Linux", "Mac", and "Win32" are special names that instruct the extension to load that configuration by default on the associated operating system unless additional configurations have been created. The status bar in VS Code will show you which configuration is active. You can also click on the label in the status bar to change the active configuration.
|
||||
|
||||
* #### `intelliSenseMode`
|
||||
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this property determines which mode the IntelliSense engine will run in. `"msvc-x64"` maps to Visual Studio mode with 64-bit pointer sizes. `"clang-x64"` maps to CLang mode with 64-bit pointer sizes. `"gcc-x64"` maps to GCC mode with 64-bit pointer sizes. Windows uses `"msvc-x64"` by default, macOS uses `"clang-x64"` by default, and Linux uses `"gcc-x64"` by default.
|
||||
|
||||
* #### `includePath`
|
||||
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this list of paths will be used by IntelliSense to search for headers included by your source files. This is basically the same as the list of paths you pass to your compiler with the `-I` switch. If a path ends with `/**` the IntelliSense engine will do a recursive search for includes starting from that directory. If on Windows with Visual Studio installed, or if a compiler is specified in the `compilerPath` setting, it is not necessary to list the system include paths in this list.
|
||||
|
||||
* #### `macFrameworkPath`
|
||||
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this list of paths will be used by IntelliSense to search for framework headers included by your source files. This is basically the same as the list of paths you pass to your compiler with the `-F` switch; the IntelliSense engine will not do a recursive search in these paths for includes.
|
||||
|
||||
* #### `defines`
|
||||
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, this list of preprocessor symbols will be used by IntelliSense during the compilation of your source files. This is basically the same as the list of symbols you pass to your compiler with the `-D` switch. If on Windows with Visual Studio installed, or if a compiler is specified in the `compilerPath` setting, it is not necessary to list the system include paths in this list.
|
||||
|
||||
* #### `forcedInclude` (optional)
|
||||
A list of files that should be included before any other characters in the source file are processed. Files are included in the order listed.
|
||||
|
||||
* #### `compilerPath` (optional)
|
||||
The absolute path to the compiler you use to build your project. The extension will query the compiler to determine the system include paths and default defines to use for IntelliSense.
|
||||
|
||||
Args can be added to modify the includes/defines used, e.g. `-nostdinc++`, `-m32`, `-fno-ms-extensions`, etc., but paths with spaces must be surrounded by double quotes (`"`) if args are used.
|
||||
|
||||
If you want to disable automatic querying of system include paths and defines, set this value to the emptry string `""`. This is generally not recommended, but there are some cases where automatic querying of system includes and defines is undesirable.
|
||||
|
||||
* #### `cStandard`
|
||||
The C standard revision to use for IntelliSense in your project.
|
||||
|
||||
* #### `cppStandard`
|
||||
The C++ standard revision to use for IntelliSense in your project.
|
||||
|
||||
* #### `compileCommands` (optional)
|
||||
If `"C_Cpp.intelliSenseEngine"` is set to "Default" in your settings file, the includes and defines discovered in this file will be used instead of the values set for `includePath` and `defines`. If the compile commands database does not contain an entry for the translation unit that corresponds to the file you opened in the editor, then a warning message will appear and the extension will use the `includePath` and `defines` settings instead.
|
||||
|
||||
>For more information about the file format, see the [Clang documentation](https://clang.llvm.org/docs/JSONCompilationDatabase.html). Some build systems, such as CMake, [simplify generating this file](https://cmake.org/cmake/help/v3.5/variable/CMAKE_EXPORT_COMPILE_COMMANDS.html).
|
||||
|
||||
* #### `browse`
|
||||
The set of properties used when `"C_Cpp.intelliSenseEngine"` is set to `"Tag Parser"` (also referred to as "fuzzy" IntelliSense, or the "browse" engine). These properties are also used by the Go To Definition/Declaration features, or when the "Default" IntelliSense engine is unable to resolve the #includes in your source files.
|
||||
|
||||
### Browse properties
|
||||
|
||||
* #### `path`
|
||||
This list of paths will be used by the Tag Parser to search for headers included by your source files. If omitted, `includePath` will be used as the `path`. The Tag Parser will automatically search all subfolders in these paths unless the path ends with a `/*` or `\*`. For example, `/usr/include` directs the Tag Parser to search the `include` folder and its subfolders for headers while `/usr/include/*` directs the Tag Parser not to look in any subfolders of `/usr/include`.
|
||||
|
||||
* #### `limitSymbolsToIncludedHeaders`
|
||||
When true, the Tag Parser will only parse code files that have been directly or indirectly included by a source file in `${workspaceFolder}`. When false, the Tag Parser will parse all code files found in the paths specified in the **path** list.
|
||||
|
||||
* #### `databaseFilename`
|
||||
When set, this instructs the extension to save the Tag Parser's symbol database somewhere other than the workspace's default storage location. If a relative path is specified, it will be made relative to the workspace's default storage location, not the workspace folder itself. The `${workspaceFolder}` variable can be used to specify a path relative to the workspace folder (e.g. `${workspaceFolder}/.vscode/browse.vc.db`)
|
||||
The documentation for c_cpp_properties.json has moved to https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference.
|
||||
@@ -0,0 +1 @@
|
||||
The documentation for enhanced colorization has moved to https://code.visualstudio.com/docs/cpp/colorization-cpp.
|
||||
@@ -0,0 +1,4 @@
|
||||
gulpfile.js
|
||||
test/**/index.ts
|
||||
test/**/runTest.ts
|
||||
tools/prepublish.js
|
||||
@@ -0,0 +1,147 @@
|
||||
module.exports = {
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es6": true,
|
||||
"node": true
|
||||
},
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"project": "tsconfig.json",
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
"@typescript-eslint/tslint",
|
||||
"eslint-plugin-jsdoc",
|
||||
"@typescript-eslint/eslint-plugin-tslint",
|
||||
"eslint-plugin-import",
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/adjacent-overload-signatures": "error",
|
||||
"@typescript-eslint/array-type": "error",
|
||||
"@typescript-eslint/class-name-casing": "error",
|
||||
"@typescript-eslint/indent": "error",
|
||||
"@typescript-eslint/member-delimiter-style": [
|
||||
"error",
|
||||
{
|
||||
"multiline": {
|
||||
"delimiter": "semi",
|
||||
"requireLast": true
|
||||
},
|
||||
"singleline": {
|
||||
"delimiter": "semi",
|
||||
"requireLast": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-misused-new": "error",
|
||||
"@typescript-eslint/no-namespace": "error",
|
||||
"@typescript-eslint/no-non-null-assertion": "error",
|
||||
"@typescript-eslint/no-extra-non-null-assertion": "error",
|
||||
"@typescript-eslint/no-this-alias": "error",
|
||||
"@typescript-eslint/no-unnecessary-qualifier": "error",
|
||||
"@typescript-eslint/no-unnecessary-type-arguments": "error",
|
||||
"@typescript-eslint/no-var-requires": "error",
|
||||
"@typescript-eslint/prefer-function-type": "error",
|
||||
"@typescript-eslint/prefer-namespace-keyword": "error",
|
||||
"@typescript-eslint/semi": "error",
|
||||
"@typescript-eslint/triple-slash-reference": "error",
|
||||
"@typescript-eslint/type-annotation-spacing": "error",
|
||||
"@typescript-eslint/unified-signatures": "error",
|
||||
"arrow-body-style": "error",
|
||||
"comma-dangle": "error",
|
||||
"constructor-super": "error",
|
||||
"curly": "error",
|
||||
"eol-last": "error",
|
||||
"eqeqeq": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"import/no-default-export": "error",
|
||||
"import/no-unassigned-import": "error",
|
||||
"jsdoc/no-types": "error",
|
||||
"new-parens": "error",
|
||||
"no-bitwise": "error",
|
||||
"no-caller": "error",
|
||||
"no-cond-assign": "error",
|
||||
"no-debugger": "error",
|
||||
"no-duplicate-case": "error",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-eval": "error",
|
||||
"no-fallthrough": "error",
|
||||
"no-invalid-this": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"no-new-wrappers": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"no-sequences": "error",
|
||||
"no-sparse-arrays": "error",
|
||||
"no-trailing-spaces": "error",
|
||||
"no-undef-init": "error",
|
||||
"no-unsafe-finally": "error",
|
||||
"no-unused-expressions": "error",
|
||||
"no-unused-labels": "error",
|
||||
"no-var": "error",
|
||||
"one-var": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"prefer-const": "error",
|
||||
"prefer-object-spread": "error",
|
||||
"space-in-parens": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"spaced-comment": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"use-isnan": "error",
|
||||
"valid-typeof": "error",
|
||||
"yoda": "error",
|
||||
"@typescript-eslint/tslint/config": [
|
||||
"error",
|
||||
{
|
||||
"rules": {
|
||||
"encoding": true,
|
||||
"file-header": [
|
||||
true,
|
||||
".*"
|
||||
],
|
||||
"import-spacing": true,
|
||||
"match-default-export-name": true,
|
||||
"no-boolean-literal-compare": true,
|
||||
"no-mergeable-namespace": true,
|
||||
"no-reference-import": true,
|
||||
"no-unnecessary-callback-wrapper": true,
|
||||
"number-literal-format": true,
|
||||
"one-line": [
|
||||
true,
|
||||
"check-catch",
|
||||
"check-finally",
|
||||
"check-else",
|
||||
"check-open-brace",
|
||||
"check-whitespace"
|
||||
],
|
||||
"prefer-method-signature": true,
|
||||
"prefer-while": true,
|
||||
"typedef": [
|
||||
true,
|
||||
"variable-declaration",
|
||||
"call-signature",
|
||||
"variable-declaration-ignore-function"
|
||||
],
|
||||
"whitespace": [
|
||||
true,
|
||||
"check-branch",
|
||||
"check-operator",
|
||||
"check-separator",
|
||||
"check-preblock",
|
||||
"check-type"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
@@ -9,7 +9,8 @@ dist
|
||||
server
|
||||
debugAdapters
|
||||
LLVM
|
||||
bin/Microsoft.VSCode.CPP.*
|
||||
bin/cpptools*
|
||||
bin/vcmeta.dll
|
||||
|
||||
# ignore lock files
|
||||
install.lock
|
||||
@@ -19,3 +20,14 @@ install.lock
|
||||
|
||||
# ignore vscode test
|
||||
.vscode-test/
|
||||
|
||||
# ignore generated localization file
|
||||
**/nls.*.json
|
||||
**/*.nls.json
|
||||
**/*.nls.*.json
|
||||
|
||||
# ignore generate native header
|
||||
localized_string_ids.h
|
||||
|
||||
# ignore generate files. It will be generated when building
|
||||
src/nativeStrings.ts
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"version": "0.1.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Launch Extension",
|
||||
"name": "Launch Extension (development)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
@@ -18,26 +18,79 @@
|
||||
"preLaunchTask": "Compile Dev",
|
||||
},
|
||||
{
|
||||
"name": "Launch Tests",
|
||||
"name": "Launch Extension (production)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "TypeScript Compile",
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (do not build)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (watch, development)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Compile Dev Watch",
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (watch, production)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "TypeScript Compile Watch",
|
||||
},
|
||||
{
|
||||
"name": "Launch Unit Tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests"
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests/index"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "TypeScript Compile"
|
||||
},
|
||||
{
|
||||
"name": "Node Attach",
|
||||
"type": "node",
|
||||
"request": "attach",
|
||||
"port": 5858
|
||||
"preLaunchTask": "Pretest"
|
||||
},
|
||||
{
|
||||
"name": "Launch Integration Tests",
|
||||
@@ -47,7 +100,24 @@
|
||||
"args": [
|
||||
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer"
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Pretest",
|
||||
},
|
||||
{
|
||||
"name": "Launch E2E IntelliSense features tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"C:/git/Vcls-vscode-test/SingleRootProject",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/IntelliSenseFeatures/index"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
@@ -56,5 +126,11 @@
|
||||
],
|
||||
"preLaunchTask": "Pretest"
|
||||
},
|
||||
{
|
||||
"name": "Node Attach",
|
||||
"type": "node",
|
||||
"request": "attach",
|
||||
"port": 5858
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"isBackground": true,
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
@@ -17,28 +17,27 @@
|
||||
"focus": false,
|
||||
"panel": "shared"
|
||||
},
|
||||
"command": "npm",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile",
|
||||
"--loglevel",
|
||||
"silent"
|
||||
],
|
||||
"problemMatcher": "$tsc-watch"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "TypeScript Lint",
|
||||
"group": "build",
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"tslint"
|
||||
"lint"
|
||||
],
|
||||
"problemMatcher": {
|
||||
"fileLocation": "absolute",
|
||||
"source": "tslint",
|
||||
"source": "lint",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "(ERROR:) ([a-zA-Z/:\\-\\.]*)\\[(\\d+), (\\d+)\\]: (.*)",
|
||||
@@ -51,7 +50,7 @@
|
||||
]
|
||||
},
|
||||
"dependsOn": [
|
||||
"TypeScript Compile"
|
||||
"Compile Dev"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -59,30 +58,118 @@
|
||||
"group": "build",
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compileDev"
|
||||
],
|
||||
"dependsOn": [
|
||||
"TypeScript Compile"
|
||||
],
|
||||
"problemMatcher": "$tsc-watch"
|
||||
"compile-dev"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Pretest",
|
||||
"group": "build",
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"pretest"
|
||||
],
|
||||
"dependsOn": [
|
||||
"TypeScript Compile"
|
||||
"Compile Dev"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "TypeScript Compile Watch",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"isBackground": true,
|
||||
"type": "shell",
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "silent",
|
||||
"focus": false,
|
||||
"panel": "shared"
|
||||
},
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile-watch",
|
||||
"--loglevel",
|
||||
"silent"
|
||||
],
|
||||
"problemMatcher": "$tsc-watch"
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "typescript",
|
||||
"source": "ts",
|
||||
"applyTo": "closedDocuments",
|
||||
"fileLocation": "absolute",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "\\[tsl\\] ERROR in (.*)?\\((\\d+),(\\d+)\\)",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3
|
||||
},
|
||||
{
|
||||
"regexp": "\\s*TS\\d+:\\s*(.*)",
|
||||
"message": 1
|
||||
}
|
||||
],
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": {
|
||||
"regexp": "Compilation (.*?)starting…"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "Compilation (.*?)finished"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Compile Dev Watch",
|
||||
"group": "build",
|
||||
"isBackground": true,
|
||||
"type": "shell",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile-dev-watch"
|
||||
],
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "typescript",
|
||||
"source": "ts",
|
||||
"applyTo": "closedDocuments",
|
||||
"fileLocation": "absolute",
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "\\[tsl\\] ERROR in (.*)?\\((\\d+),(\\d+)\\)",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3
|
||||
},
|
||||
{
|
||||
"regexp": "\\s*TS\\d+:\\s*(.*)",
|
||||
"message": 1
|
||||
}
|
||||
],
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": {
|
||||
"regexp": "Compilation (.*?)starting…"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "Compilation (.*?)finished"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -23,13 +23,21 @@ jobs/**
|
||||
|
||||
# ignore development files
|
||||
tsconfig.json
|
||||
test.tsconfig.json
|
||||
tslint.json
|
||||
.eslintrc.js
|
||||
webpack.config.js
|
||||
README.md
|
||||
tscCompileList.txt
|
||||
gulpfile.js
|
||||
.gitattributes
|
||||
.gitignore
|
||||
CMakeLists.txt
|
||||
debugAdapters/install.lock*
|
||||
typings/**
|
||||
**/*.map
|
||||
**/*.map
|
||||
import_edge_strings.js
|
||||
localized_string_ids.h
|
||||
translations_auto_pr.js
|
||||
|
||||
# ignore i18n language files
|
||||
i18n/**
|
||||
|
||||
@@ -1,5 +1,316 @@
|
||||
# C/C++ for Visual Studio Code Change Log
|
||||
|
||||
## Version 0.28.2: June 1, 2020
|
||||
### Regression Bug Fixes
|
||||
* Fix string arrays in `env` not being joined properly. [#5509](https://github.com/microsoft/vscode-cpptools/issues/5509)
|
||||
* Krishna Ersson (@kersson) [PR #5510](https://github.com/microsoft/vscode-cpptools/pull/5510)
|
||||
* Fix `shell` being used as the C/C++ build task source instead of `C/C++`. [vscode-docs#3724](https://github.com/microsoft/vscode-docs/issues/3724)
|
||||
|
||||
### Other Bug Fixes
|
||||
* Fix `problemMatcher` not being added to C/C++ build tasks. [#3295](https://github.com/microsoft/vscode-cpptools/issues/3295)
|
||||
* Fix `/usr/bin` being used as the default `cwd` (instead of `${workspaceFolder}`) for C/C++ build tasks. [#4761](https://github.com/microsoft/vscode-cpptools/issues/4761)
|
||||
* Fix processing of quoted arguments with spaces in `compilerPath`. [PR #5513](https://github.com/microsoft/vscode-cpptools/pull/5513)
|
||||
* Fix inconsistent task `label` and `preLaunchTask` being used for C/C++ build tasks. [#5561](https://github.com/microsoft/vscode-cpptools/issues/5561)
|
||||
|
||||
## Version 0.28.1: May 20, 2020
|
||||
### Bug Fixes
|
||||
* Fix errors not appearing after switching between a WSL and non-WSL config on Windows. [#5474](https://github.com/microsoft/vscode-cpptools/issues/5474)
|
||||
* Fix cpptools crash when gcc is not in $PATH in a Docker container. [#5484](https://github.com/microsoft/vscode-cpptools/issues/5484)
|
||||
* Fix top IntelliSense crash regression. [#5486](https://github.com/microsoft/vscode-cpptools/issues/5486)
|
||||
* Fix squiggles appearing too soon (while typing). [#5531](https://github.com/microsoft/vscode-cpptools/issues/5531)
|
||||
|
||||
## Version 0.28.0: May 12, 2020
|
||||
### New Features
|
||||
* Add C/C++ language-aware code folding. [#407](https://github.com/microsoft/vscode-cpptools/issues/407)
|
||||
* Add GNU (and C18) language standard options. [#2782](https://github.com/microsoft/vscode-cpptools/issues/2782)
|
||||
* Add ARM and ARM64 IntelliSense modes. [#4271](https://github.com/microsoft/vscode-cpptools/issues/4271), [PR #5250](https://github.com/microsoft/vscode-cpptools/pull/5250)
|
||||
|
||||
### Enhancements
|
||||
* Change the `gcc` problem matcher to use `autoDetect` for `fileLocation` . [#1915](https://github.com/microsoft/vscode-cpptools/issues/1915)
|
||||
* Add support for IntelliSense-based `Go to Definition` on `#include` statements. [#2564](https://github.com/microsoft/vscode-cpptools/issues/2564)
|
||||
* Support relative paths with `forcedInclude`. [#2780](https://github.com/microsoft/vscode-cpptools/issues/2780)
|
||||
* Make the `Visual Studio` formatting style respect the C++ standard (e.g. `> >` for C++03 or earlier). [#3578](https://github.com/microsoft/vscode-cpptools/issues/3578)
|
||||
* Add support for more C++20 features, such as concepts (not 100% complete yet). [#4195](https://github.com/microsoft/vscode-cpptools/issues/4195)
|
||||
* Process the "std" and bitness (-m64/-m32) compiler args. [#4726](https://github.com/microsoft/vscode-cpptools/issues/4726)
|
||||
* Switch from our custom Rename UI to VS Code's Refactor Preview. [#4990](https://github.com/microsoft/vscode-cpptools/issues/4990)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix `browse.path` not getting set correctly when `compileCommands` is used. [#1163](https://github.com/microsoft/vscode-cpptools/issues/1163)
|
||||
* Fix an issue with squiggle updates not occurring when a dependent file is created, deleted, or renamed. [#3670](https://github.com/microsoft/vscode-cpptools/issues/3670)
|
||||
* Fix temporary VSIX files not getting deleted after installation [#3923](https://github.com/microsoft/vscode-cpptools/issues/3923)
|
||||
* Process "$CPATH" on non-Windows OS's. [#3940](https://github.com/microsoft/vscode-cpptools/issues/3940)
|
||||
* Fix missing include message when a configuration provider is used. [#3971](https://github.com/microsoft/vscode-cpptools/issues/3971)
|
||||
* Change machine-dependent settings to use remote settings instead of user settings. [#4121](https://github.com/microsoft/vscode-cpptools/issues/4121)
|
||||
* Fix compiler querying for compilers that output non-English strings. [#4542](https://github.com/microsoft/vscode-cpptools/issues/4542)
|
||||
* Fix compiler querying when the '-include' argument is used. [#4655](https://github.com/microsoft/vscode-cpptools/issues/4655)
|
||||
* Fix the "Unable to load schema" error for `c_cpp_properties.json`. [#4841](https://github.com/microsoft/vscode-cpptools/issues/4841)
|
||||
* Change "Visual Studio" `clang_format_fallback_style` setting to use NamespaceIndentation All. [#5124](https://github.com/microsoft/vscode-cpptools/issues/5124)
|
||||
* Fix "C++98" and "C++0x" modes. [#5157](https://github.com/microsoft/vscode-cpptools/issues/5157), [#5225](https://github.com/microsoft/vscode-cpptools/issues/5225)
|
||||
* Improve the error message for multiroot projects using `compile_commands.json`. [#5160](https://github.com/microsoft/vscode-cpptools/issues/5160)
|
||||
* Fix some cpptools process crashes. [#5280](https://github.com/microsoft/vscode-cpptools/issues/5280)
|
||||
* Avoid `<…>` truncation on hover. [#5291](https://github.com/microsoft/vscode-cpptools/issues/5291)
|
||||
* Fix incorrect translations. [PR #5300](https://github.com/microsoft/vscode-cpptools/pull/5300)
|
||||
* Fix cpptools auto-restarting after a crash. [#5303](https://github.com/microsoft/vscode-cpptools/issues/5303)
|
||||
* Fix incorrect `c_cpp_properties.json` squiggles. [#5314](https://github.com/microsoft/vscode-cpptools/issues/5314), [#5322](https://github.com/microsoft/vscode-cpptools/issues/5322)
|
||||
* Fix error `The task provider for "C/C++" tasks unexpectedly provided a task of type "shell".` [#5388](https://github.com/microsoft/vscode-cpptools/issues/5388)
|
||||
* Fix `compilerPath` set to `""` not working. [#5392](https://github.com/microsoft/vscode-cpptools/issues/5392)
|
||||
* Fix IntelliSense sometimes not working on a header file (or giving "Cannot Confirm Reference") if an existing TU is chosen that doesn't actually contain the header file.
|
||||
* Fix random crashes after a settings change.
|
||||
* Fix redundant squiggle updates.
|
||||
|
||||
## Version 0.27.1: April 28, 2020
|
||||
### Bug Fix
|
||||
* Disable Insiders `updateChannel` for 32-bit Linux and VS Code older than 1.43.0.
|
||||
|
||||
## Version 0.27.0: March 30, 2020
|
||||
### Enhancements
|
||||
* Improved multi-root implementation with a single language server process and database for the entire workspace (shared between workspace folders). Fixes most [multi-root bugs](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature%3A+Multiroot%22+label%3A%22fixed+%28release+pending%29%22+milestone%3A0.27.0).
|
||||
* Update to clang-format 9.0.1 (and without shared library dependencies). [#2887](https://github.com/microsoft/vscode-cpptools/issues/2887), [#3174](https://github.com/microsoft/vscode-cpptools/issues/3174)
|
||||
* Add new setting `C_Cpp.debugger.useBacktickCommandSubstitution` to fix debugging when CShell is the remote default shell. [#4015](https://github.com/microsoft/vscode-cpptools/issues/4015)
|
||||
* @Helloimbob [PR #5053](https://github.com/microsoft/vscode-cpptools/pull/5053)
|
||||
* Rename language server processes to `cpptools` and `cpptools-srv` (IntelliSense process). [#4364](https://github.com/microsoft/vscode-cpptools/issues/4364)
|
||||
* Add support for `-iframework` in `compile_commands.json`. [#4819](https://github.com/microsoft/vscode-cpptools/issues/4819)
|
||||
* Add `cpptools.setActiveConfigName` command. [#4870](https://github.com/microsoft/vscode-cpptools/issues/4870)
|
||||
* @aleksey-sergey [PR #4893](https://github.com/microsoft/vscode-cpptools/pull/4893)
|
||||
* Default to the bundled `clang-format` if its version is newer. [#4963](https://github.com/microsoft/vscode-cpptools/issues/4963)
|
||||
* Add URI's to the debug logging for messages (e.g. `fileChanged`). [#5062](https://github.com/microsoft/vscode-cpptools/issues/5062)
|
||||
* Use `lldb-mi` for macOS Mojave or newer.
|
||||
* Fix visualization of standard library types in lldb. [#1768](https://github.com/microsoft/vscode-cpptools/issues/1768)
|
||||
* Enable debugging support on macOS Catalina. [#3829](https://github.com/microsoft/vscode-cpptools/issues/3829)
|
||||
* Support '`' in addition to '-exec' for sending gdb commands [PR MIEngine#967](https://github.com/microsoft/MIEngine/pull/976)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix issue in which the user is not again prompted to use a custom configuration provider if settings files have been deleted. [#2346](https://github.com/microsoft/vscode-cpptools/issues/2346)
|
||||
* Fix "Unrecognized format of field "msg" in result" on macOS. [#2492](https://github.com/microsoft/vscode-cpptools/issues/2492)
|
||||
* Fix IntelliSense using too much CPU when switching branches. [#2806](https://github.com/microsoft/vscode-cpptools/issues/2806)
|
||||
* Fix for timeout on slow terminals while debugging. [#2889](https://github.com/microsoft/vscode-cpptools/issues/2889)
|
||||
* @Epikem [PR MIEngine#965](https://github.com/microsoft/MIEngine/pull/965)
|
||||
* Fix non-localized text. [#4481](https://github.com/microsoft/vscode-cpptools/issues/4481), [#4879](https://github.com/microsoft/vscode-cpptools/issues/4879)
|
||||
* Fix issues with paths containing certain Unicode sequences on Mac. [#4712](https://github.com/microsoft/vscode-cpptools/issues/4712)
|
||||
* Fix IntelliSense parsing bugs and crashes. [#4717](https://github.com/microsoft/vscode-cpptools/issues/4717), [#4798](https://github.com/microsoft/vscode-cpptools/issues/4798)
|
||||
* Fix configuration UI disabling `compilerPath` if no default compiler is found. [#4727](https://github.com/microsoft/vscode-cpptools/issues/4727)
|
||||
* Fix issue with providing custom configurations for files specified using URIs schemes we do not recognize. [#4889](https://github.com/microsoft/vscode-cpptools/issues/4889)
|
||||
* Fix Outline view not updating fast enough after switching branches. [#4894](https://github.com/microsoft/vscode-cpptools/issues/4894)
|
||||
* Fix failure to detect CL.exe if VS Installer files are stored on a drive other than the system drive. [#4929](https://github.com/microsoft/vscode-cpptools/issues/4929)
|
||||
* Fix extension randomly getting stuck while communicating with the IntelliSense process on Mac. [#4989](https://github.com/microsoft/vscode-cpptools/issues/4989)
|
||||
* Fix completion results appearing after numeric literals. [#5019](https://github.com/microsoft/vscode-cpptools/issues/5019)
|
||||
* Fix issue with cancellation of a `Rename` operation causing subsequent `Find All References` and `Rename` operations to fail. [#5022](https://github.com/microsoft/vscode-cpptools/issues/5022)
|
||||
* Fix some settings not being editable in the UI. [PR #5126](https://github.com/microsoft/vscode-cpptools/pull/5126)
|
||||
* Fix `cpp_properties.json` error squiggles not appearing. [#5131](https://github.com/microsoft/vscode-cpptools/issues/5131)
|
||||
* Fix `search.exclude` not applying if there are > 1 symbols matching in the excluded file. [#5152](https://github.com/microsoft/vscode-cpptools/issues/5152)
|
||||
* Fix tag parsing not working on Windows 7 without SP1. [#5155](https://github.com/microsoft/vscode-cpptools/issues/5155)
|
||||
* Fix `updateChannel` being settable per-workspace. [PR #5185](https://github.com/microsoft/vscode-cpptools/pull/5185)
|
||||
* Fix opened files external to the workspace folder being removed from the database during loading. [#5190](https://github.com/microsoft/vscode-cpptools/issues/5190)
|
||||
* Fix invalid `c_cpp_properties.json` and configuration UI warning `Compiler path with spaces and arguments is missing double quotes`. [#5215](https://github.com/microsoft/vscode-cpptools/issues/5215)
|
||||
* Fix environment variables used for the RunInTerminal Request. [MIEngine#979](https://github.com/microsoft/MIEngine/issues/979)
|
||||
* Fix a race condition that could cause the Outline, `Find All References`, etc. to stop working.
|
||||
|
||||
## Version 0.26.3: January 22, 2020
|
||||
### Bug Fixes
|
||||
* IntelliSense bug fixes. [#2774](https://github.com/microsoft/vscode-cpptools/issues/2774)
|
||||
* Improve memory usage in projects with a large number of files. [#3326](https://github.com/microsoft/vscode-cpptools/issues/3326)
|
||||
* Fix a crash when failing to launch external executables on Linux and Mac. [#3607](https://github.com/microsoft/vscode-cpptools/issues/3607)
|
||||
* Update output of `C/C++: Log Diagnostics` to include the correct set of defines when custom configurations or compile commands are used. [#3631](https://github.com/microsoft/vscode-cpptools/issues/3631) [#4270](https://github.com/microsoft/vscode-cpptools/issues/4270)
|
||||
* Fix Insiders channel not working on remote targets. [#3874](https://github.com/microsoft/vscode-cpptools/issues/3874)
|
||||
* Fix `compile_commands.json` prompt appearing when a configuration provider is used. [#3972](https://github.com/microsoft/vscode-cpptools/issues/3972)
|
||||
* Improve IntelliSense performance with range-v3. [#4414](https://github.com/microsoft/vscode-cpptools/issues/4414)
|
||||
* Fix template members not being nested under the template type in the Outline view. [#4466](https://github.com/microsoft/vscode-cpptools/issues/4466)
|
||||
* Fix an issue in which failure to invoke a compiler could result in a hang on Linux and Mac. [#4627](https://github.com/microsoft/vscode-cpptools/issues/4627)
|
||||
* Fix custom configurations sometimes not being applied to headers. [#4649](https://github.com/microsoft/vscode-cpptools/issues/4649)
|
||||
* Fix headers opening into header-only TU's instead of TU's for candidate source files. [#4696](https://github.com/microsoft/vscode-cpptools/issues/4696)
|
||||
* Fix the missing description of `C_Cpp.clang_format_style`.
|
||||
* @Enna1 [PR #4734](https://github.com/microsoft/vscode-cpptools/pull/4734)
|
||||
* Fix Insiders channel not auto-downgrading after an Insiders vsix is unpublished. [#4760](https://github.com/microsoft/vscode-cpptools/issues/4760)
|
||||
* Fix compiler querying with more than 40 `compilerArgs`. [#4791](https://github.com/microsoft/vscode-cpptools/issues/4791)
|
||||
* Fix an issue in which files may be unnecessarily removed from the tag parser database on startup, if using a custom configuration provider, resulting in a large number of files being reparsed. [#4802](https://github.com/microsoft/vscode-cpptools/issues/4802)
|
||||
* Fix an issue in which `Build and Debug Active File` would fail to detect a compiler, without a compiler present in `compilerPath`. [#4834](https://github.com/microsoft/vscode-cpptools/issues/4834)
|
||||
* Add a version check for `-break-insert` so later versions of `lldb-mi` can be used as a `midebugger`. [MIEngine#946](https://github.com/microsoft/MIEngine/issues/946)
|
||||
* Fix clang-cl detection for system includes and defines.
|
||||
* Fix a bug that could cause the browse database threads to get stuck.
|
||||
|
||||
### Enhancements
|
||||
* If clang-format is found in the environment path, that version will take precedence over the copy of clang-format bundled with the extension. [#3569](https://github.com/microsoft/vscode-cpptools/issues/3569)
|
||||
* When tag parsing is complete, and includer/includee relationships become available, header-only TU's will be replaced with TU's for candidate source files, if available.
|
||||
|
||||
## Version 0.26.2: December 2, 2019
|
||||
### Enhancements
|
||||
* Reworked how a source file is selected for TU creation when opening a header file. [#2856](https://github.com/microsoft/vscode-cpptools/issues/2856)
|
||||
* Updated the default value of the `C_Cpp.intelliSenseCachePath` setting to a path under `XDG_CACHE_HOME` on Linux, or `~/Library/Cache` on MacOS. [#3979](https://github.com/microsoft/vscode-cpptools/issues/3979)
|
||||
* Reset memory usage of the IntelliSense process if it grows beyond a threshold. [#4119](https://github.com/microsoft/vscode-cpptools/issues/4119)
|
||||
* Add validation that the new symbol name provided to 'Rename Symbol' is a valid identifier. Add the setting `C_Cpp.renameRequiresIdentifier` to allow that verification to be disabled. [#4409](https://github.com/microsoft/vscode-cpptools/issues/4409)
|
||||
* Enable setting of breakpoints in CUDA sources.
|
||||
* Paul Taylor (@trxcllnt) [PR #4585](https://github.com/microsoft/vscode-cpptools/pull/4585)
|
||||
* Deferred TU creation until the file is visible in the editor. This avoids the overhead of TU creation when the file is opened by VS Code internally for IntelliSense operations. [#4458](https://github.com/microsoft/vscode-cpptools/issues/4458)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix child process creation when the Windows code page is set to a language with non-ASCII characters and there are non-ASCII characters in the extension's install path. [#1560](https://github.com/microsoft/vscode-cpptools/issues/1560)
|
||||
* Fix path canonicalization of UNC paths to avoid duplicate files opening with different casing. [#2528](https://github.com/microsoft/vscode-cpptools/issues/2528), [#3980](https://github.com/microsoft/vscode-cpptools/issues/3980)
|
||||
* Fix header opening without IntelliSense due to creation of a TU from a source file that includes the header in an inactive region. [#4320](https://github.com/microsoft/vscode-cpptools/issues/4320)
|
||||
* Fix a hang in the extension process that can occur when using a scope named 'interface'. [#4470](https://github.com/microsoft/vscode-cpptools/issues/4470)
|
||||
* Fix an issue with the Rename UI that could cause the rename to not be applied. [#4504](https://github.com/microsoft/vscode-cpptools/issues/4504)
|
||||
* Show an error message when a Rename fails due to the symbol not being found. [#4510](https://github.com/microsoft/vscode-cpptools/issues/4510)
|
||||
* Fix `launch.json` creation due to localized strings containing quotes. [#4526](https://github.com/microsoft/vscode-cpptools/issues/4526)
|
||||
* Fix configuration error squiggles not being applied unless the setting was set in both `c_cpp_properties.json` and `settings.json`. [PR #4538](https://github.com/microsoft/vscode-cpptools/pull/4538)
|
||||
* Fix document symbol for Outline view and breadcrumbs on Windows 7. [#4536](https://github.com/microsoft/vscode-cpptools/issues/4536).
|
||||
* Add support for `"ms-vscode.cmake-tools"` `configurationProvider` id. [#4586](https://github.com/microsoft/vscode-cpptools/issues/4586).
|
||||
* Fix cancellation of Find All References sometimes resulting in an exception. [#2710](https://github.com/microsoft/vscode-cpptools/issues/2710)
|
||||
* Fix the sort order of files in the Find All References and Rename UI's. [#4615](https://github.com/microsoft/vscode-cpptools/issues/4615)
|
||||
* Fix localized Chinese strings not displaying on systems with case-sensitive file systems. [#4619](https://github.com/microsoft/vscode-cpptools/issues/4619)
|
||||
* Fix files with an extention of `.H` not correctly associating with C++. [#4632](https://github.com/microsoft/vscode-cpptools/issues/4632)
|
||||
* Fix -m64 or -m32 not being passed to gcc, causing the reported system includes and system defines to not match the requested `intelliSenseMode`. [#4635](https://github.com/microsoft/vscode-cpptools/issues/4635)
|
||||
|
||||
## Version 0.26.1: October 28, 2019
|
||||
### Bug Fixes
|
||||
* Fix `launch.json` creation when using non-English display languages. [#4464](https://github.com/microsoft/vscode-cpptools/issues/4464)
|
||||
* Fix CHS translation. [#4422](https://github.com/microsoft/vscode-cpptools/issues/4422)
|
||||
* Fix debugging hang when Windows 10 Beta Unicode (UTF-8) support is enabled. [#1527](https://github.com/microsoft/vscode-cpptools/issues/1527)
|
||||
|
||||
## Version 0.26.0: October 15, 2019
|
||||
### New Features
|
||||
* Add localization support (translated text) via `Configure Display Language`. [#7](https://github.com/microsoft/vscode-cpptools/issues/7)
|
||||
* Add `Rename Symbol` with a pending rename UI. [#296](https://github.com/microsoft/vscode-cpptools/issues/296), [PR #4277](https://github.com/microsoft/vscode-cpptools/pull/4277)
|
||||
* Add support for navigation breadcrumbs and nested symbols in the Outline view (and removed the Navigation status bar item). [#2230](https://github.com/microsoft/vscode-cpptools/issues/2230)
|
||||
* Add support for C++/CX (`/ZW`, `/ZW:nostdlib`, `/FI`, `/FU`, and `/AI` compiler arguments). [#3039](https://github.com/microsoft/vscode-cpptools/issues/3039)
|
||||
* Add a tree view UI for the other C++ references results. [#4079](https://github.com/microsoft/vscode-cpptools/issues/4079)
|
||||
|
||||
### Enhancements
|
||||
* App support for .rsp files in `compile_commands.json`. [#1718](https://github.com/microsoft/vscode-cpptools/issues/1718)
|
||||
* Add support for `SymbolLoadInfo` to `launch.json`. [#3324](https://github.com/microsoft/vscode-cpptools/issues/3324)
|
||||
* Enable `${workspaceFolder}` in `compilerPath` and `compilerArgs`. [#3440](https://github.com/microsoft/vscode-cpptools/issues/3440)
|
||||
* Add support for parsing more file types by default. [#3567](https://github.com/microsoft/vscode-cpptools/issues/3567)
|
||||
* Move status icons to the left to minimize shifting and change the red flame to use the foreground color. [#4198](https://github.com/microsoft/vscode-cpptools/issues/4198)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix querying of non-ENU compilers. [#2874](https://github.com/microsoft/vscode-cpptools/issues/2874)
|
||||
* Fix IntelliSense error with `constexpr const char* s[] = { "" }`. [#2939](https://github.com/microsoft/vscode-cpptools/issues/2939)
|
||||
* Add support for C++20 designated initializers for cl and gcc. [#3491](https://github.com/Microsoft/vscode-cpptools/issues/3491)
|
||||
* Fix `Find All References` not confirming references of method overrides in an inheritance hierarchy. [#4078](https://github.com/microsoft/vscode-cpptools/issues/4078)
|
||||
* Fix missing references on the last line. [#4150](https://github.com/microsoft/vscode-cpptools/issues/4150)
|
||||
* Fix `Go to Definition` on implicit default constructors. [#4162](https://github.com/microsoft/vscode-cpptools/issues/4162)
|
||||
* Fix configuration prompts from appearing if a configuration provider is set. [#4168](https://github.com/microsoft/vscode-cpptools/issues/4168)
|
||||
* Fix vcpkg code action for missing includes with more than one forward slash. [PR #4172](https://github.com/microsoft/vscode-cpptools/pull/4172)
|
||||
* Fix parsing of `__has_include` (and other system macros) with gcc. [#4193](https://github.com/microsoft/vscode-cpptools/issues/4193)
|
||||
* Fix tag parse database not getting updated after changes occur to unopened files in the workspace. [#4211](https://github.com/microsoft/vscode-cpptools/issues/4211)
|
||||
* Fix `files.exclude` ending with `/` being treated like a per-file exclude (which aren't enabled by default). [#4262](https://github.com/microsoft/vscode-cpptools/issues/4262)
|
||||
* Fix `Find All References` incorrect results for string and comment references. [#4279](https://github.com/microsoft/vscode-cpptools/issues/4279)
|
||||
* Fix bug with forced includes in `compile_commands.json`. [#4293](https://github.com/microsoft/vscode-cpptools/issues/4293)
|
||||
* Fix `Find All References` giving `Not a Reference` for constructors of templated classes. [#4345](https://github.com/microsoft/vscode-cpptools/issues/4345)
|
||||
* Fix squiggles appearing after a multi-edit replace or rename. [#4351](https://github.com/microsoft/vscode-cpptools/issues/4351)
|
||||
* Fix `gcc-x86` and `clang-x86` modes. [#4353](https://github.com/microsoft/vscode-cpptools/issues/4353)
|
||||
* Fix crashes if the database can't be created. [#4359](https://github.com/microsoft/vscode-cpptools/issues/4359)
|
||||
* Fix bugs with comment references. [#4371](https://github.com/microsoft/vscode-cpptools/issues/4371), [#4372](https://github.com/microsoft/vscode-cpptools/issues/4372)
|
||||
|
||||
## Version 0.25.1: August 28, 2019
|
||||
### Bug Fixes
|
||||
* Fix `Switch Header/Source` for `.H` and `.C` targets. [#3048](https://github.com/microsoft/vscode-cpptools/issues/3048)
|
||||
* Fix `C_Cpp.updateChannel` not respecting `extensions.autoUpdate`. [#3632](https://github.com/microsoft/vscode-cpptools/issues/3632)
|
||||
* Fix duplicate content appearing after formatting of a new file (2nd fix). [#4091](https://github.com/microsoft/vscode-cpptools/issues/4091)
|
||||
* Fix links in `Log Diagnostics` output. [#4122](https://github.com/microsoft/vscode-cpptools/issues/4122)
|
||||
* Fix `NullReferenceException` when debugging if `"description"` is missing. [#4125](https://github.com/microsoft/vscode-cpptools/issues/4125)
|
||||
* Fix `files.exclude` processing when using `\\`. [#4127](https://github.com/microsoft/vscode-cpptools/issues/4127)
|
||||
* Fix bug when attaching to an elevated process on Linux. [#4133](https://github.com/microsoft/vscode-cpptools/issues/4133)
|
||||
* Fix IntelliSense-based `Go to Definition` failing for a nested class in a template class. [#4135](https://github.com/microsoft/vscode-cpptools/issues/4135)
|
||||
* Fix incorrect configuration squiggles with `compilerPath` when variables are used. [#4141](https://github.com/microsoft/vscode-cpptools/issues/4141)
|
||||
* @mistersandman [PR #4142](https://github.com/microsoft/vscode-cpptools/pull/4142)
|
||||
* Fix `executeReferenceProvider` when code is selected. [#4147](https://github.com/microsoft/vscode-cpptools/issues/4147)
|
||||
* Fix code action for resolving missing includes via the `vcpkg` dependency manager. [PR #4156](https://github.com/microsoft/vscode-cpptools/pull/4156)
|
||||
|
||||
## Version 0.25.0: August 21, 2019
|
||||
### New Features
|
||||
* Add `Find All References`. [#15](https://github.com/microsoft/vscode-cpptools/issues/15)
|
||||
* Add `-x86` options for `intelliSenseMode`. [#2275](https://github.com/microsoft/vscode-cpptools/issues/2275), [#2312](https://github.com/microsoft/vscode-cpptools/issues/2312)
|
||||
* Add `c++20` option to `cppStandard`. [#3448](https://github.com/microsoft/vscode-cpptools/issues/3448)
|
||||
* Add a code action for resolving missing includes via the `vcpkg` dependency manager. [PR #3791](https://github.com/microsoft/vscode-cpptools/pull/3791)
|
||||
|
||||
### Enhancements
|
||||
* Added support for compile commands:
|
||||
* `-iquote`. [#2088](https://github.com/microsoft/vscode-cpptools/issues/2088)
|
||||
* `-imacros`. [#2417](https://github.com/microsoft/vscode-cpptools/issues/2417)
|
||||
* `-idirafter`(`--include-directory-after` & `--include-directory-after=`). [#3713](https://github.com/microsoft/vscode-cpptools/issues/3713)
|
||||
* `-imsvc`. [#4032](https://github.com/microsoft/vscode-cpptools/issues/4032)
|
||||
* Switch to using VS Code's `Go to Declaration`. [#2959](https://github.com/microsoft/vscode-cpptools/issues/2959)
|
||||
* Added `compilerArgs` property setting. [PR #3950](https://github.com/microsoft/vscode-cpptools/pull/3950)
|
||||
* Added support for V3 API. [PR #3987](https://github.com/microsoft/vscode-cpptools/pull/3987)
|
||||
* Add `not supported` messages for ARM and Alpine containers. [PR #4027](https://github.com/microsoft/vscode-cpptools/pull/4027)
|
||||
* Add validation for paths from `env` variables. [#3912](https://github.com/microsoft/vscode-cpptools/issues/3912)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix wrong type of `this` pointer. [#2303](https://github.com/microsoft/vscode-cpptools/issues/2303)
|
||||
* Fix previous cache path not deleted when new cache path is specified. Note that the VS Code bug [Microsoft/vscode#59391](https://github.com/microsoft/vscode/issues/59391) still occurs on the settings UI, but this fix should delete any incomplete path names as the extension receives changes from the cache path setting. [#3644](https://github.com/microsoft/vscode-cpptools/issues/3644).
|
||||
* Fix broken shell script when launch/attaching as root. [#3711](https://github.com/microsoft/vscode-cpptools/issues/3711)
|
||||
* Christian A. Jacobsen (@ChristianJacobsen) [PR MIEngine#906](https://github.com/microsoft/MIEngine/pull/906)
|
||||
* Fix ".H" files not appearing in include completion results on Linux/macOS. [#3744](https://github.com/microsoft/vscode-cpptools/issues/3744)
|
||||
* Fix `compile_commands.json` file changes not updated. [#3864](https://github.com/microsoft/vscode-cpptools/issues/3864).
|
||||
* Fix `Failed to parse` error message in the open file scenario. [#3888](https://github.com/microsoft/vscode-cpptools/issues/3888)
|
||||
* Fix loading the wrong symbols when creating or copying a file. [#3897](https://github.com/microsoft/vscode-cpptools/issues/3897)
|
||||
* Fix IntelliSense process crash in clang mode. [#3898](https://github.com/microsoft/vscode-cpptools/issues/3898)
|
||||
* Fix IntelliSense-based `Go to Definition` failing with `using namespace`. [#3902](https://github.com/microsoft/vscode-cpptools/issues/3902), [#4018](https://github.com/microsoft/vscode-cpptools/issues/4018)
|
||||
* Fix completion not showing results for smart pointers. [#3926](https://github.com/microsoft/vscode-cpptools/issues/3926), [#3930](https://github.com/microsoft/vscode-cpptools/issues/3930)
|
||||
* Fix `clang_format_path` cannot be set in workspace settings. [#3937](https://github.com/microsoft/vscode-cpptools/issues/3937)
|
||||
* Fix typos and grammar in documentation.
|
||||
* @pi1024e [PR #4014](https://github.com/microsoft/vscode-cpptools/pull/4014)
|
||||
* Fix NullReferenceException when unable to launch and an unresolved parameter exists in the string. This was causing a useless error message. [#4024](https://github.com/microsoft/vscode-cpptools/issues/4024), [#4090](https://github.com/microsoft/vscode-cpptools/issues/4090)
|
||||
* Fix debugger can't debug file whose folder path includes a parenthesis. [#4030](https://github.com/microsoft/vscode-cpptools/issues/4030)
|
||||
* Fix duplicate content appearing after formatting of a new file. [#4091](https://github.com/microsoft/vscode-cpptools/issues/4091)
|
||||
* Fix `files.exclude` bug on Windows. [#4095](https://github.com/microsoft/vscode-cpptools/issues/4095)
|
||||
* Fix NullReferenceException when `cwd` is null. [MIEngine#911](https://github.com/microsoft/MIEngine/issues/911)
|
||||
* Fix wrong IntelliSense for C++ types after editing within a function and after a lambda.
|
||||
|
||||
## Version 0.24.1: July 22, 2019
|
||||
### Bug Fixes
|
||||
* Fix an issue with the Outline not being populated when a file is opened. [#3877](https://github.com/microsoft/vscode-cpptools/issues/3877)
|
||||
* Update scopes used by semantic colorization. [PR# 3896](https://github.com/microsoft/vscode-cpptools/pull/3896)
|
||||
|
||||
## Version 0.24.0: July 3, 2019
|
||||
### New Features
|
||||
* Semantic colorization [Documentation](https://github.com/microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/colorization.md) [#230](https://github.com/microsoft/vscode-cpptools/issues/230)
|
||||
* Add `Rescan Workspace` command. [microsoft/vscode-cpptools-api#11](https://github.com/microsoft/vscode-cpptools-api/issues/11)
|
||||
|
||||
### Enhancements
|
||||
* Configuration UI editor improvements:
|
||||
* Add list of detected compiler paths. [PR #3708](https://github.com/microsoft/vscode-cpptools/pull/3708)
|
||||
* Enable selecting/editing of other configurations and add "Advanced Settings" section. [PR #3732](https://github.com/microsoft/vscode-cpptools/pull/3732)
|
||||
* Enable `envFile` for `cppdbg`. [PR #3723](https://github.com/microsoft/vscode-cpptools/pull/3723)
|
||||
* Change the default path value of `C_Cpp.intelliSenseCachePath`. [#3347](https://github.com/microsoft/vscode-cpptools/issues/3347) [#3664](https://github.com/microsoft/vscode-cpptools/issues/3664)
|
||||
* Change `C_Cpp.clang_format_path` to `machine` scope. [#3774](https://github.com/microsoft/vscode-cpptools/issues/3774)
|
||||
* Add validation to the advanced configuration UI settings. [PR #3838](https://github.com/microsoft/vscode-cpptools/pull/3838)
|
||||
* Add `Current Configuration` to `C/C++: Log Diagnostics`. [PR #3866](https://github.com/microsoft/vscode-cpptools/pull/3866)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix for gdb `follow-fork-mode` `child` not working. [#2738](https://github.com/microsoft/vscode-cpptools/issues/2738)
|
||||
* Fix IntelliSense process crash on hover with certain arrays. [#3081](https://github.com/Microsoft/vscode-cpptools/issues/3081)
|
||||
* Fix IntelliSense-based `Go to Definition` for goto labels. [#3111](https://github.com/microsoft/vscode-cpptools/issues/3111)
|
||||
* Fix IntelliSense behaving incorrectly when files are opened with different casing on Windows. [#3229](https://github.com/microsoft/vscode-cpptools/issues/3229)
|
||||
* Fix user defined literals crashing IntelliSense in clang/gcc mode. [#3481](https://github.com/microsoft/vscode-cpptools/issues/3481)
|
||||
* Improve `sourceFileMap` to be more dynamic. [#3504](https://github.com/microsoft/vscode-cpptools/issues/3504)
|
||||
* Fix IntelliSense-based hover document comments being shown for invalid declarations not used by the current translation unit. [#3596](https://github.com/microsoft/vscode-cpptools/issues/3596)
|
||||
* Fix `Go to Definition` when is `void` missing in the parameter list of a function definition a .c file. [#3609](https://github.com/microsoft/vscode-cpptools/issues/3609)
|
||||
* Fix configuration validation of compiler path and IntelliSense mode compatibility for `clang-cl.exe` compiler. [#3637](https://github.com/microsoft/vscode-cpptools/issues/3637)
|
||||
* Fix resolving `${workspaceFolderBasename}` and add `${workspaceStorage}`. [#3642](https://github.com/microsoft/vscode-cpptools/issues/3642)
|
||||
* Fix IntelliSense-based `Go to Definition` performance issue due to extra database iteration. [#3655](https://github.com/microsoft/vscode-cpptools/issues/3655)
|
||||
* Fix `SourceRequest` causing debugging to stop with `NotImplementedException`. [#3662](https://github.com/microsoft/vscode-cpptools/issues/3662)
|
||||
* Fix typo in `intelliSenseMode` description.
|
||||
* Karsten Thoms (@kthoms) [PR #3682](https://github.com/microsoft/vscode-cpptools/pull/3682)
|
||||
* Fix invalid warning with typedef enums in .c files. [#3685](https://github.com/microsoft/vscode-cpptools/issues/3685)
|
||||
* Fix incorrect `keyword` completion occurring for pragma `#keyword`. [#3690](https://github.com/microsoft/vscode-cpptools/issues/3690)
|
||||
* Fix problem matcher to show fatal errors from GCC [#3712](https://github.com/microsoft/vscode-cpptools/issues/3712)
|
||||
* Fix multi-root folders with the same name sharing the same browse database. [PR #3715](https://github.com/microsoft/vscode-cpptools/pull/3715)
|
||||
* Fix `remoteProcessPicker` on Windows. [#3758](https://github.com/microsoft/vscode-cpptools/issues/3758)
|
||||
* Fix crash when tag parsing Objective-C code. [#3776](https://github.com/microsoft/vscode-cpptools/issues/3776)
|
||||
* Fix duplicate slashes getting added to `c_cpp_properties.json`. [PR #3778](https://github.com/microsoft/vscode-cpptools/pull/3778)
|
||||
* Fix `envFile` variable substitution. [#3836](https://github.com/microsoft/vscode-cpptools/issues/3836)
|
||||
* Fix missing headers popup. [PR #3840](https://github.com/microsoft/vscode-cpptools/pull/3840)
|
||||
* Fix multiple anonymous unions not showing correctly in Locals while debugging. [MIEngine#820](https://github.com/microsoft/MIEngine/issues/820)
|
||||
* Fix pause not working when using `DebugServer`/`MIDebuggerServerAddress` on Linux and macOS. [MIEngine#844](https://github.com/microsoft/MIEngine/issues/844)
|
||||
* Improvements to CPU and memory usage when editing.
|
||||
|
||||
## Version 0.23.1: May 13, 2019
|
||||
### Bug Fixes
|
||||
* Fix `launch.json` creation when `intelliSenseEngine` is `"Disabled"`. [#3583](https://github.com/microsoft/vscode-cpptools/issues/3583)
|
||||
* Fix C/C++ commands not working if the language service isn't activated. [#3615](https://github.com/microsoft/vscode-cpptools/issues/3615)
|
||||
* Fix missing extension `"Details"` page. [#3621](https://github.com/microsoft/vscode-cpptools/issues/3621)
|
||||
* Fix some random crashes related to IntelliSense inactive region processing.
|
||||
|
||||
## Version 0.23.0: May 6, 2019
|
||||
### New Features
|
||||
* Add a configuration UI editor to edit IntelliSense settings defined in the underlying `c_cpp_properties.json` file. [PR #3479](https://github.com/Microsoft/vscode-cpptools/pull/3479), [PR #3487](https://github.com/Microsoft/vscode-cpptools/pull/3487), [PR #3519](https://github.com/Microsoft/vscode-cpptools/pull/3519), [#3524](https://github.com/Microsoft/vscode-cpptools/issues/3524), [PR #3563](https://github.com/Microsoft/vscode-cpptools/pull/3563), [#3526](https://github.com/Microsoft/vscode-cpptools/issues/3526)
|
||||
@@ -28,6 +339,7 @@
|
||||
|
||||
### Bug Fixes
|
||||
* Fix browsing for functions with BOOST_FOREACH. [#953](https://github.com/Microsoft/vscode-cpptools/issues/953)
|
||||
* Fix code action sometimes not appearing over a squiggled identifier. [#1436](https://github.com/microsoft/vscode-cpptools/issues/1436)
|
||||
* Work around issue with VS Code not treating `.C` files as C++ files [Microsoft/vscode#59369](https://github.com/Microsoft/vscode/issues/59369) -- `.C` files become associated by name in `files.associations`. [#2558](https://github.com/Microsoft/vscode-cpptools/issues/2558)
|
||||
* Fix various IntelliSense parsing bugs. [#2824](https://github.com/Microsoft/vscode-cpptools/issues/2824), [#3110](https://github.com/Microsoft/vscode-cpptools/issues/3110), [#3168](https://github.com/Microsoft/vscode-cpptools/issues/3168)
|
||||
* Preserve newlines in documentation comments. [#2937](https://github.com/Microsoft/vscode-cpptools/issues/2937)
|
||||
@@ -54,7 +366,6 @@
|
||||
* Fix `includePath` code actions, configuration prompts, and the `C/C++: Change configuration provider...` command. [PR #3576](https://github.com/Microsoft/vscode-cpptools/pull/3576)
|
||||
* Fix randomly occurring crash (that could occur when opening files while IntelliSense squiggles are pending).
|
||||
* Fix crash on hover (that could occur when document comments have blank lines).
|
||||
* Fix code action sometimes not appearing over a squiggled identifier.
|
||||
* Fix icon of parameters in completion results.
|
||||
|
||||
## Version 0.22.1: March 21, 2019
|
||||
@@ -226,7 +537,7 @@
|
||||
* 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 `C_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)
|
||||
* Filter out incorrect 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)
|
||||
|
||||
@@ -1,34 +1,69 @@
|
||||
# C/C++ for Visual Studio Code
|
||||
This preview release of the extension adds language support for C/C++ to Visual Studio Code including:
|
||||
* Language service
|
||||
* Code Formatting (clang-format)
|
||||
* Auto-Completion
|
||||
* Symbol Searching
|
||||
* Go to Definition/Declaration
|
||||
* Peek Definition/Declaration
|
||||
* Class/Method Navigation
|
||||
* Signature Help
|
||||
* Quick Info (Hover)
|
||||
* Error Squiggles
|
||||
* Debugging
|
||||
* Support for debugging Windows (PDB, MinGW/Cygwin), Linux and macOS applications
|
||||
* Line by line code stepping
|
||||
* Breakpoints (including conditional and function breakpoints)
|
||||
* Variable inspection
|
||||
* Multi-threaded debugging support
|
||||
* Core dump debugging support
|
||||
* Executing GDB or MI commands directly when using 'C++ (GDB/LLDB)' debugging environment
|
||||
* For help configuring the debugger see [Configuring launch.json for C/C++ debugging](https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md)
|
||||
on our [GitHub page](https://github.com/Microsoft/vscode-cpptools).
|
||||
|
||||
You can find more detailed information about C/C++ support for Visual Studio Code at our [GitHub page](https://github.com/Microsoft/vscode-cpptools/tree/master/Documentation) and our [VS Code documentation page](https://code.visualstudio.com/docs/languages/cpp).
|
||||
#### [Repository](https://github.com/microsoft/vscode-cpptools) | [Issues](https://github.com/microsoft/vscode-cpptools/issues) | [Documentation](https://code.visualstudio.com/docs/languages/cpp) | [Code Samples](https://github.com/microsoft/vscode-cpptools/tree/master/Code%20Samples) | [Offline Installers](https://github.com/microsoft/vscode-cpptools/releases)
|
||||
|
||||
## Installation
|
||||
The extension has OS-specific binary dependencies, so installation via the Marketplace requires an Internet connection so that these additional dependencies can be downloaded. If you are working on a computer that does not have access to the Internet or is behind a strict firewall, you may need to use our OS-specific packages and install them by invoking VS Code's `"Install from VSIX..."` command. These "offline' packages are available at: https://github.com/Microsoft/vscode-cpptools/releases.
|
||||
* `cpptools-linux.vsix` - for 64-bit Linux
|
||||
* `cpptools-linux32.vsix` - for 32-bit Linux
|
||||
* `cpptools-osx.vsix` - for macOS
|
||||
* `cpptools-win32.vsix` - for 64-bit & 32-bit Windows
|
||||
[](https://aka.ms/vsls)
|
||||
|
||||
## Contact Us
|
||||
If you run into any issues or have suggestions for us, please file [issues and suggestions on GitHub](https://github.com/Microsoft/vscode-cpptools/issues). If you haven’t already provided us feedback, please take this [quick survey](https://www.research.net/r/VBVV6C6) and let us know what you think!
|
||||
This preview release of the C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.
|
||||
|
||||
## Overview and tutorials
|
||||
* [C/C++ extension overview](https://code.visualstudio.com/docs/languages/cpp)
|
||||
|
||||
C/C++ extension tutorials per compiler and platform
|
||||
* [Microsoft C++ compiler (MSVC) on Windows](https://code.visualstudio.com/docs/cpp/config-msvc)
|
||||
* [GCC and Mingw-w64 on Windows](https://code.visualstudio.com/docs/cpp/config-mingw)
|
||||
* [GCC on Windows Subsystem for Linux (WSL)](https://code.visualstudio.com/docs/cpp/config-wsl)
|
||||
* [GCC on Linux](https://code.visualstudio.com/docs/cpp/config-linux)
|
||||
* [Clang on macOS](https://code.visualstudio.com/docs/cpp/config-clang-mac)
|
||||
|
||||
## Quick links
|
||||
* [Editing features (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide)
|
||||
* [IntelliSense configuration](https://code.visualstudio.com/docs/cpp/customize-default-settings-cpp)
|
||||
* [Enhanced colorization](https://code.visualstudio.com/docs/cpp/colorization-cpp)
|
||||
* [Debugging](https://code.visualstudio.com/docs/cpp/cpp-debug)
|
||||
* [Debug configuration](https://code.visualstudio.com/docs/cpp/launch-json-reference)
|
||||
* [Enable logging for IntelliSense or debugging](https://code.visualstudio.com/docs/cpp/enable-logging-cpp)
|
||||
|
||||
## Questions and feedback
|
||||
|
||||
**[FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp)**
|
||||
<br>
|
||||
Check out the FAQs before filing a question.
|
||||
<br>
|
||||
|
||||
**[Provide feedback](https://github.com/microsoft/vscode-cpptools/issues/new/choose)**
|
||||
<br>
|
||||
File questions, issues, or feature requests for the extension.
|
||||
<br>
|
||||
|
||||
**[Known issues](https://github.com/Microsoft/vscode-cpptools/issues)**
|
||||
<br>
|
||||
If someone has already filed an issue that encompasses your feedback, please leave a 👍 or 👎 reaction on the issue to upvote or downvote it to help us prioritize the issue.
|
||||
<br>
|
||||
|
||||
**[Quick survey](https://www.research.net/r/VBVV6C6)**
|
||||
<br>
|
||||
Let us know what you think of the extension by taking the quick survey.
|
||||
|
||||
## Offline installation
|
||||
|
||||
The extension has platform-specific binary dependencies, therefore installation via the Marketplace requires an Internet connection in order to download additional dependencies. If you are working on a computer that does not have access to the Internet or is behind a strict firewall, you may need to use our platform-specific packages and install them by running VS Code's `"Install from VSIX..."` command. These "offline' packages are available at: https://github.com/Microsoft/vscode-cpptools/releases.
|
||||
|
||||
Package | Platform
|
||||
:--- | :---
|
||||
`cpptools-linux.vsix` | Linux 64-bit
|
||||
`cpptools-linux32.vsix` | Linux 32-bit ([available up to version 0.27.0](https://github.com/microsoft/vscode-cpptools/issues/5346))
|
||||
`cpptools-osx.vsix` | macOS
|
||||
`cpptools-win32.vsix` | Windows 64-bit & 32-bit
|
||||
|
||||
## Contribution
|
||||
|
||||
Contributions are always welcome. Please see our [contributing guide](CONTRIBUTING.md) for more details.
|
||||
|
||||
## Microsoft Open Source Code of Conduct
|
||||
|
||||
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.
|
||||
|
||||
## Data and telemetry
|
||||
|
||||
This extension collects usage data and sends it to Microsoft to help improve our products and services. Collection of telemetry is controlled via the same setting provided by Visual Studio Code: `"telemetry.enableTelemetry"`. Read our [privacy statement](https://privacy.microsoft.com/en-us/privacystatement) to learn more.
|
||||
@@ -1,270 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<STYLE type="text/css">
|
||||
body {
|
||||
padding: 10px 20px;
|
||||
line-height: 22px
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
max-height: 100%
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
a:focus,
|
||||
input:focus,
|
||||
select:focus,
|
||||
textarea:focus {
|
||||
outline: 1px solid -webkit-focus-ring-color;
|
||||
outline-offset: -1px
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 0;
|
||||
height: 2px;
|
||||
border-bottom: 2px solid
|
||||
}
|
||||
|
||||
h1 {
|
||||
padding-bottom: .3em;
|
||||
line-height: 1.2;
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-style: solid
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
font-weight: 400
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse
|
||||
}
|
||||
|
||||
table > thead > tr > th {
|
||||
text-align: left
|
||||
}
|
||||
|
||||
table > thead > tr > th,
|
||||
table > thead > tr > td,
|
||||
table > tbody > tr > th,
|
||||
table > tbody > tr > td {
|
||||
padding: 5px 10px
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 7px 0 5px;
|
||||
padding: 0 16px 0 10px;
|
||||
border-left: 5px solid
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, "Droid Sans Mono", "Courier New", monospace, "Droid Sans Fallback";
|
||||
font-size: 14px;
|
||||
line-height: 19px
|
||||
}
|
||||
|
||||
.mac code {
|
||||
font-size: 12px;
|
||||
line-height: 18px
|
||||
}
|
||||
|
||||
code > div {
|
||||
padding: 16px;
|
||||
border-radius: 3px;
|
||||
overflow: auto
|
||||
}
|
||||
|
||||
.monaco-tokenized-source {
|
||||
white-space: pre
|
||||
}
|
||||
|
||||
/** Theming */
|
||||
|
||||
.vscode-light {
|
||||
color: #1e1e1e
|
||||
}
|
||||
|
||||
.vscode-dark {
|
||||
color: #ddd
|
||||
}
|
||||
|
||||
.vscode-high-contrast {
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.vscode-light code {
|
||||
color: #a31515
|
||||
}
|
||||
|
||||
.vscode-dark code {
|
||||
color: #d7ba7d
|
||||
}
|
||||
|
||||
.vscode-light code > div {
|
||||
background-color: rgba(220, 220, 220, .4)
|
||||
}
|
||||
|
||||
.vscode-dark code > div {
|
||||
background-color: rgba(10, 10, 10, .4)
|
||||
}
|
||||
|
||||
.vscode-high-contrast code > div {
|
||||
background-color: #000
|
||||
}
|
||||
|
||||
.vscode-high-contrast h1 {
|
||||
border-color: #000
|
||||
}
|
||||
|
||||
.vscode-light table > thead > tr > th {
|
||||
border-color: rgba(0, 0, 0, .69)
|
||||
}
|
||||
|
||||
.vscode-dark table > thead > tr > th {
|
||||
border-color: rgba(255, 255, 255, .69)
|
||||
}
|
||||
|
||||
.vscode-light h1,
|
||||
.vscode-light hr,
|
||||
.vscode-light table > tbody > tr + tr > td {
|
||||
border-color: rgba(0, 0, 0, .18)
|
||||
}
|
||||
|
||||
.vscode-dark h1,
|
||||
.vscode-dark hr,
|
||||
.vscode-dark table > tbody > tr + tr > td {
|
||||
border-color: rgba(255, 255, 255, 0.18)
|
||||
}
|
||||
|
||||
.vscode-light blockquote,
|
||||
.vscode-dark blockquote {
|
||||
background: rgba(127, 127, 127, .1);
|
||||
border-color: rgba(0, 122, 204, .5)
|
||||
}
|
||||
|
||||
.vscode-high-contrast blockquote {
|
||||
background: transparent;
|
||||
border-color: #fff
|
||||
}
|
||||
|
||||
.main-content {
|
||||
width: 65%;
|
||||
vertical-align: top
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
vertical-align: top
|
||||
}
|
||||
|
||||
.footer {
|
||||
padding: 25px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.vscode-light table > tbody > tr > td.sidebar {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.vscode-dark table > tbody > tr > td.sidebar {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.vscode-light a {
|
||||
color: #4080D0
|
||||
}
|
||||
|
||||
.vscode-dark a {
|
||||
color: #a2c1e8
|
||||
}
|
||||
</STYLE>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div>
|
||||
<div>
|
||||
<h1>Microsoft C/C++ Extension for VS Code</h1>
|
||||
</div>
|
||||
<table>
|
||||
<tr>
|
||||
<td class="main-content">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<h2 class="caption">May 2019 Update</h2>
|
||||
<div>Thank you for installing the C/C++ extension! We're excited to announce the following features in the May update:<br/>
|
||||
<h3 style="font-weight: 600">IntelliSense configuration settings editor UI</h3>
|
||||
The extension now has a UI editor to edit basic IntelliSense configuration settings defined in the underlying <code>c_cpp_properties.json</code> file.<br/>
|
||||
<br/>
|
||||
You can get to the IntelliSense configuration settings editor UI through the command palette (Ctrl+Shift+P) and running the <code>C/C++: Edit configurations (UI)</code> command.
|
||||
The <code>c_cpp_properties.json</code> file can be opened by running the <code>C/C++: Edit configurations (JSON)</code> command.
|
||||
<br/>
|
||||
<br/>
|
||||
<em style="font-weight: 600">Please Note:</em> When configuring IntelliSense for the first time, VS Code will open the UI editor or JSON file based on your <code>workbench.settings.editor</code> setting.
|
||||
If <code>workbench.settings.editor</code> is set to “ui”, then the UI editor will open by default, and if it is set to “json”, then the JSON file will open by default. You can view that setting under VS Code preferences → settings → “Workbench Settings Editor”.<br/>
|
||||
|
||||
<h3 style="font-weight: 600">Log diagnostics command</h3>
|
||||
We added the command <code>C/C++: Log Diagnostics</code> to help diagnose IntelliSense issues. Running the command shows IntelliSense information of the current translation unit that is associated with the active file.<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
Additional features and bug fixes are detailed in the <a href="https://github.com/Microsoft/vscode-cpptools/releases">full release notes</a>.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="sidebar">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<h3 class="caption">Getting Started</h3>
|
||||
<div><a href="https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/Getting%20started%20with%20IntelliSense%20configuration.md">Configuring IntelliSense</a></div>
|
||||
<div><a href="https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md">Configuring Debugging</a></div>
|
||||
<div><a href="https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/MinGW.md">IntelliSense for MinGW projects</a></div>
|
||||
<div><a href="https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/Windows%20Subsystem%20for%20Linux.md">IntelliSense for Windows Subsystem for Linux projects</a></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<h3 class="caption">Blog Posts</h3>
|
||||
<div><a href="https://devblogs.microsoft.com/cppblog/vscode-cpp-may-2019-update/">May 2019 Update</a></div>
|
||||
<div><a href="https://devblogs.microsoft.com/cppblog/visual-studio-code-c-c-extension-march-2019-update/">March 2019 Update</a></div>
|
||||
<div><a href="https://devblogs.microsoft.com/cppblog/vs-code-cpp-extension-january-2019-update/">January 2019 Update</a></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="footer">
|
||||
<div>
|
||||
Having trouble with the extension? -
|
||||
<a href="https://github.com/Microsoft/vscode-cpptools/tree/master/Documentation">Browse the documentation</a> -
|
||||
<a href="https://www.github.com/Microsoft/vscode-cpptools/issues">Report an issue</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.00001 8.70708L11.6465 12.3535L12.3536 11.6464L8.70711 7.99998L12.3536 4.35353L11.6465 3.64642L8.00001 7.29287L4.35356 3.64642L3.64645 4.35353L7.2929 7.99998L3.64645 11.6464L4.35356 12.3535L8.00001 8.70708Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 380 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.99998 8.70708L11.6464 12.3535L12.3535 11.6464L8.70708 7.99998L12.3535 4.35353L11.6464 3.64642L7.99998 7.29287L4.35353 3.64642L3.64642 4.35353L7.29287 7.99998L3.64642 11.6464L4.35353 12.3535L7.99998 8.70708Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 381 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.4315 3.32316L5.96154 13.3232L5.17083 13.2874L1.82083 8.51736L2.63918 7.94264L5.617 12.1827L13.6685 2.67684L14.4315 3.32316Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 299 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.4315 3.32316L5.96151 13.3232L5.1708 13.2874L1.8208 8.51736L2.63915 7.94264L5.61697 12.1827L13.6684 2.67684L14.4315 3.32316Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 299 B |
@@ -0,0 +1,6 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12 12.23V3.77L13.13 3H14V2H13L12.69 2.09L11.5 2.9L10.28 2.08L10 2H9V3H9.85L11 3.77V12.23L9.87 13H9V14H10L10.31 13.91L11.5 13.1L12.72 13.92L13 14H14V13H13.15L12 12.23Z" fill="#C5C5C5"/>
|
||||
<path d="M1 10.5V5.5L1.5 5H10V6H2V10H10V11H1.5L1 10.5Z" fill="#C5C5C5"/>
|
||||
<path d="M13 5H14.5L15 5.5V10.5L14.5 11H13V10H14V6H13V5Z" fill="#C5C5C5"/>
|
||||
<path d="M3 7.5V8.5L3.5 9H7.5L8 8.5V7.5L7.5 7H3.5L3 7.5Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 520 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15 8H1V7H15V8Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 147 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15 8H1V7H15V8Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 147 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 7V8H8V14H7V8H1V7H7V1H8V7H14Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 164 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 7V8H8V14H7V8H1V7H7V1H8V7H14Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 164 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.6 0.999985C10.2 1.09999 11.7 1.89999 12.8 2.99999C14.1 4.39999 14.8 6.09999 14.8 8.09999C14.8 9.69999 14.2 11.2 13.2 12.5C12.2 13.7 10.8 14.6 9.2 14.9C7.6 15.2 6 15 4.6 14.2C3.2 13.4 2.1 12.2 1.5 10.7C0.899997 9.19999 0.799997 7.49999 1.3 5.99999C1.8 4.39999 2.7 3.09999 4.1 2.19999C5.4 1.29999 7 0.899985 8.6 0.999985ZM9.1 13.9C10.4 13.6 11.6 12.9 12.5 11.8C13.3 10.7 13.8 9.39999 13.7 7.99999C13.7 6.39999 13.1 4.79999 12 3.69999C11 2.69999 9.8 2.09999 8.4 1.99999C7.1 1.89999 5.7 2.19999 4.6 2.99999C3.5 3.79999 2.7 4.89999 2.3 6.29999C1.9 7.59999 1.9 8.99999 2.5 10.3C3.1 11.6 4 12.6 5.2 13.3C6.4 14 7.8 14.2 9.1 13.9ZM7.89999 7.5L10.3 5L11 5.7L8.59999 8.2L11 10.7L10.3 11.4L7.89999 8.9L5.49999 11.4L4.79999 10.7L7.19999 8.2L4.79999 5.7L5.49999 5L7.89999 7.5Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 938 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.6 0.999985C10.2 1.09999 11.7 1.89999 12.8 2.99999C14.1 4.39999 14.8 6.09999 14.8 8.09999C14.8 9.69999 14.2 11.2 13.2 12.5C12.2 13.7 10.8 14.6 9.2 14.9C7.6 15.2 6 15 4.6 14.2C3.2 13.4 2.1 12.2 1.5 10.7C0.899997 9.19999 0.799997 7.49999 1.3 5.99999C1.8 4.39999 2.7 3.09999 4.1 2.19999C5.4 1.29999 7 0.899985 8.6 0.999985ZM9.1 13.9C10.4 13.6 11.6 12.9 12.5 11.8C13.3 10.7 13.8 9.39999 13.7 7.99999C13.7 6.39999 13.1 4.79999 12 3.69999C11 2.69999 9.8 2.09999 8.4 1.99999C7.1 1.89999 5.7 2.19999 4.6 2.99999C3.5 3.79999 2.7 4.89999 2.3 6.29999C1.9 7.59999 1.9 8.99999 2.5 10.3C3.1 11.6 4 12.6 5.2 13.3C6.4 14 7.8 14.2 9.1 13.9ZM7.89999 7.5L10.3 5L11 5.7L8.59999 8.2L11 10.7L10.3 11.4L7.89999 8.9L5.49999 11.4L4.79999 10.7L7.19999 8.2L4.79999 5.7L5.49999 5L7.89999 7.5Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 938 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.88999 2.10001C4.64422 1.60008 5.49452 1.26313 6.38647 1.11073C7.27842 0.958334 8.19236 0.993849 9.0698 1.215C9.94723 1.43616 10.7688 1.83808 11.482 2.39503C12.1951 2.95199 12.7842 3.65172 13.2113 4.44942C13.6385 5.24712 13.8944 6.12523 13.9627 7.02752C14.0309 7.92982 13.91 8.83643 13.6078 9.68932C13.3055 10.5422 12.8284 11.3226 12.2072 11.9805C11.5859 12.6384 10.8342 13.1594 9.99999 13.51C8.50784 14.1372 6.83537 14.1852 5.30975 13.6445C3.78413 13.1037 2.51514 12.0132 1.75104 10.5863C0.98694 9.15944 0.782709 7.49879 1.1783 5.92927C1.57389 4.35974 2.54084 2.99428 3.88999 2.10001V2.10001ZM4.43999 12.1C5.07945 12.5048 5.79556 12.7732 6.54353 12.8886C7.29149 13.0039 8.05522 12.9636 8.7869 12.7703C9.51859 12.5769 10.2025 12.2346 10.7958 11.7648C11.3892 11.2951 11.8792 10.7079 12.2352 10.04C12.5912 9.37217 12.8055 8.63804 12.8648 7.88355C12.9241 7.12907 12.827 6.37048 12.5796 5.65523C12.3323 4.93999 11.94 4.28349 11.4273 3.72681C10.9146 3.17013 10.2925 2.72525 9.59999 2.42001C8.59883 1.99909 7.49372 1.89102 6.42999 2.11001C5.36185 2.31864 4.38023 2.84114 3.61067 3.6107C2.84111 4.38026 2.31861 5.36188 2.10999 6.43001C1.89817 7.49512 2.00641 8.5991 2.42105 9.60279C2.8357 10.6065 3.53819 11.465 4.43999 12.07V12.1ZM8.40999 4.00001C8.14028 3.88903 7.85163 3.8313 7.55999 3.83001C7.26789 3.82666 6.97833 3.88457 6.70999 4.00001C6.45001 4.11281 6.2128 4.27208 6.00999 4.47001C5.81313 4.66782 5.65686 4.90222 5.54999 5.16001C5.43108 5.42373 5.37298 5.71081 5.37999 6.00001H6.24999C6.248 5.74166 6.32304 5.48858 6.46553 5.27306C6.60802 5.05755 6.8115 4.88938 7.04999 4.79001C7.21081 4.71926 7.3843 4.68184 7.55999 4.68001C7.7389 4.68186 7.91565 4.71925 8.07999 4.79001C8.3947 4.92458 8.64542 5.1753 8.77999 5.49001C8.84376 5.6526 8.87764 5.82538 8.87999 6.00001C8.87711 6.18102 8.83263 6.35895 8.74999 6.52001C8.65701 6.67565 8.54627 6.81995 8.41999 6.95001L7.99999 7.32001C7.84981 7.46018 7.70948 7.61054 7.57999 7.77001C7.44651 7.93638 7.33865 8.12176 7.25999 8.32001C7.16659 8.53418 7.12218 8.7665 7.12999 9.00001V9.44001H7.99999V9.00001C7.99806 8.81841 8.04282 8.63935 8.12999 8.48001C8.22217 8.32385 8.33299 8.17946 8.45999 8.05001C8.59275 7.90928 8.73295 7.77576 8.87999 7.65001C9.03016 7.50984 9.17049 7.35949 9.29999 7.20001C9.43347 7.03365 9.54132 6.84827 9.61999 6.65001C9.70505 6.44383 9.74921 6.22306 9.74999 6.00001C9.7487 5.70837 9.69097 5.41972 9.57999 5.15001C9.3446 4.63589 8.92809 4.2265 8.40999 4.00001ZM7.99999 11.22V10.34H7.12999V11.22H7.99999Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.89002 2.10001C4.64425 1.60008 5.49455 1.26313 6.3865 1.11073C7.27845 0.958334 8.19239 0.993849 9.06983 1.215C9.94726 1.43616 10.7689 1.83808 11.482 2.39503C12.1952 2.95199 12.7842 3.65172 13.2114 4.44942C13.6385 5.24712 13.8944 6.12523 13.9627 7.02752C14.031 7.92982 13.9101 8.83643 13.6078 9.68932C13.3055 10.5422 12.8285 11.3226 12.2072 11.9805C11.586 12.6384 10.8342 13.1594 10 13.51C8.50787 14.1372 6.8354 14.1852 5.30978 13.6445C3.78416 13.1037 2.51517 12.0132 1.75107 10.5863C0.986971 9.15944 0.78274 7.49879 1.17833 5.92927C1.57392 4.35974 2.54088 2.99428 3.89002 2.10001V2.10001ZM4.44002 12.1C5.07948 12.5048 5.79559 12.7732 6.54356 12.8886C7.29153 13.0039 8.05525 12.9636 8.78693 12.7703C9.51862 12.5769 10.2025 12.2346 10.7959 11.7648C11.3892 11.2951 11.8792 10.7079 12.2352 10.04C12.5912 9.37217 12.8056 8.63804 12.8648 7.88355C12.9241 7.12907 12.827 6.37048 12.5797 5.65523C12.3323 4.93999 11.94 4.28349 11.4273 3.72681C10.9146 3.17013 10.2925 2.72525 9.60002 2.42001C8.59886 1.99909 7.49375 1.89102 6.43002 2.11001C5.36188 2.31864 4.38026 2.84114 3.6107 3.6107C2.84114 4.38026 2.31864 5.36188 2.11002 6.43001C1.8982 7.49512 2.00644 8.5991 2.42108 9.60279C2.83573 10.6065 3.53822 11.465 4.44002 12.07V12.1ZM8.41002 4.00001C8.14031 3.88903 7.85166 3.8313 7.56002 3.83001C7.26792 3.82666 6.97836 3.88457 6.71002 4.00001C6.45004 4.11281 6.21283 4.27208 6.01002 4.47001C5.81316 4.66782 5.65689 4.90222 5.55002 5.16001C5.43111 5.42373 5.37301 5.71081 5.38002 6.00001H6.25002C6.24803 5.74166 6.32307 5.48858 6.46556 5.27306C6.60805 5.05755 6.81153 4.88938 7.05002 4.79001C7.21084 4.71926 7.38433 4.68184 7.56002 4.68001C7.73893 4.68186 7.91568 4.71925 8.08002 4.79001C8.39473 4.92458 8.64545 5.1753 8.78002 5.49001C8.84379 5.6526 8.87767 5.82538 8.88002 6.00001C8.87715 6.18102 8.83266 6.35895 8.75002 6.52001C8.65704 6.67565 8.5463 6.81995 8.42002 6.95001L8.00002 7.32001C7.84984 7.46018 7.70951 7.61054 7.58002 7.77001C7.44654 7.93638 7.33868 8.12176 7.26002 8.32001C7.16662 8.53418 7.12221 8.7665 7.13002 9.00001V9.44001H8.00002V9.00001C7.99809 8.81841 8.04285 8.63935 8.13002 8.48001C8.22221 8.32385 8.33302 8.17946 8.46002 8.05001C8.59278 7.90928 8.73298 7.77576 8.88002 7.65001C9.03019 7.50984 9.17052 7.35949 9.30002 7.20001C9.4335 7.03365 9.54135 6.84827 9.62002 6.65001C9.70509 6.44383 9.74924 6.22306 9.75002 6.00001C9.74873 5.70837 9.691 5.41972 9.58002 5.15001C9.34464 4.63589 8.92812 4.2265 8.41002 4.00001ZM8.00002 11.22V10.34H7.13002V11.22H8.00002Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 1H14.5L15 1.5V11.5L14.5 12H7.71L4.85 14.85L4 14.5V12H1.5L1 11.5V1.5L1.5 1ZM7.5 11H14V2H2V11H4.5L5 11.5V13.29L7.15 11.15L7.5 11ZM13 4H3V5H13V4ZM3 6H13V7H3V6ZM10 8H3V9H10V8Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 348 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 1H14.5L15 1.5V11.5L14.5 12H7.71L4.85 14.85L4 14.5V12H1.5L1 11.5V1.5L1.5 1ZM7.5 11H14V2H2V11H4.5L5 11.5V13.29L7.15 11.15L7.5 11ZM13 4H3V5H13V4ZM3 6H13V7H3V6ZM10 8H3V9H10V8Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 348 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8 0.75C8.17188 0.75 8.33333 0.783854 8.48438 0.851562C8.63542 0.914062 8.76823 1.0026 8.88281 1.11719C8.9974 1.23177 9.08594 1.36458 9.14844 1.51562C9.21615 1.66667 9.25 1.82812 9.25 2C9.25 2.17188 9.21615 2.33333 9.14844 2.48438C9.08594 2.63542 8.9974 2.76823 8.88281 2.88281C8.76823 2.9974 8.63542 3.08854 8.48438 3.15625C8.33333 3.21875 8.17188 3.25 8 3.25C7.82812 3.25 7.66667 3.21875 7.51562 3.15625C7.36458 3.08854 7.23177 2.9974 7.11719 2.88281C7.0026 2.76823 6.91146 2.63542 6.84375 2.48438C6.78125 2.33333 6.75 2.17188 6.75 2C6.75 1.82812 6.78125 1.66667 6.84375 1.51562C6.91146 1.36458 7.0026 1.23177 7.11719 1.11719C7.23177 1.0026 7.36458 0.914062 7.51562 0.851562C7.66667 0.783854 7.82812 0.75 8 0.75ZM2.63281 3.75781C2.63281 3.60156 2.66146 3.45573 2.71875 3.32031C2.77604 3.1849 2.85417 3.06771 2.95312 2.96875C3.05729 2.86458 3.17708 2.78385 3.3125 2.72656C3.45312 2.66406 3.60156 2.63281 3.75781 2.63281C3.91406 2.63281 4.0599 2.66406 4.19531 2.72656C4.33073 2.78385 4.44792 2.86458 4.54688 2.96875C4.65104 3.06771 4.73177 3.1849 4.78906 3.32031C4.85156 3.45573 4.88281 3.60156 4.88281 3.75781C4.88281 3.91406 4.85156 4.0625 4.78906 4.20312C4.73177 4.33854 4.65104 4.45833 4.54688 4.5625C4.44792 4.66146 4.33073 4.73958 4.19531 4.79688C4.0599 4.85417 3.91406 4.88281 3.75781 4.88281C3.60156 4.88281 3.45312 4.85417 3.3125 4.79688C3.17708 4.73958 3.05729 4.66146 2.95312 4.5625C2.85417 4.45833 2.77604 4.33854 2.71875 4.20312C2.66146 4.0625 2.63281 3.91406 2.63281 3.75781ZM2 7C2.14062 7 2.27083 7.02604 2.39062 7.07812C2.51042 7.13021 2.61458 7.20312 2.70312 7.29688C2.79688 7.38542 2.86979 7.48958 2.92188 7.60938C2.97396 7.72917 3 7.85938 3 8C3 8.14062 2.97396 8.27083 2.92188 8.39062C2.86979 8.51042 2.79688 8.61719 2.70312 8.71094C2.61458 8.79948 2.51042 8.86979 2.39062 8.92188C2.27083 8.97396 2.14062 9 2 9C1.85938 9 1.72917 8.97396 1.60938 8.92188C1.48958 8.86979 1.38281 8.79948 1.28906 8.71094C1.20052 8.61719 1.13021 8.51042 1.07812 8.39062C1.02604 8.27083 1 8.14062 1 8C1 7.85938 1.02604 7.72917 1.07812 7.60938C1.13021 7.48958 1.20052 7.38542 1.28906 7.29688C1.38281 7.20312 1.48958 7.13021 1.60938 7.07812C1.72917 7.02604 1.85938 7 2 7ZM2.88281 12.2422C2.88281 12.1224 2.90625 12.0104 2.95312 11.9062C3 11.7969 3.0625 11.7031 3.14062 11.625C3.21875 11.5469 3.3099 11.4844 3.41406 11.4375C3.52344 11.3906 3.63802 11.3672 3.75781 11.3672C3.8776 11.3672 3.98958 11.3906 4.09375 11.4375C4.20312 11.4844 4.29688 11.5469 4.375 11.625C4.45312 11.7031 4.51562 11.7969 4.5625 11.9062C4.60938 12.0104 4.63281 12.1224 4.63281 12.2422C4.63281 12.362 4.60938 12.4766 4.5625 12.5859C4.51562 12.6901 4.45312 12.7812 4.375 12.8594C4.29688 12.9375 4.20312 13 4.09375 13.0469C3.98958 13.0938 3.8776 13.1172 3.75781 13.1172C3.63802 13.1172 3.52344 13.0938 3.41406 13.0469C3.3099 13 3.21875 12.9375 3.14062 12.8594C3.0625 12.7812 3 12.6901 2.95312 12.5859C2.90625 12.4766 2.88281 12.362 2.88281 12.2422ZM8 13.25C8.20833 13.25 8.38542 13.3229 8.53125 13.4688C8.67708 13.6146 8.75 13.7917 8.75 14C8.75 14.2083 8.67708 14.3854 8.53125 14.5312C8.38542 14.6771 8.20833 14.75 8 14.75C7.79167 14.75 7.61458 14.6771 7.46875 14.5312C7.32292 14.3854 7.25 14.2083 7.25 14C7.25 13.7917 7.32292 13.6146 7.46875 13.4688C7.61458 13.3229 7.79167 13.25 8 13.25ZM11.6172 12.2422C11.6172 12.0651 11.6771 11.9167 11.7969 11.7969C11.9167 11.6771 12.0651 11.6172 12.2422 11.6172C12.4193 11.6172 12.5677 11.6771 12.6875 11.7969C12.8073 11.9167 12.8672 12.0651 12.8672 12.2422C12.8672 12.4193 12.8073 12.5677 12.6875 12.6875C12.5677 12.8073 12.4193 12.8672 12.2422 12.8672C12.0651 12.8672 11.9167 12.8073 11.7969 12.6875C11.6771 12.5677 11.6172 12.4193 11.6172 12.2422ZM14 7.5C14.1354 7.5 14.2526 7.54948 14.3516 7.64844C14.4505 7.7474 14.5 7.86458 14.5 8C14.5 8.13542 14.4505 8.2526 14.3516 8.35156C14.2526 8.45052 14.1354 8.5 14 8.5C13.8646 8.5 13.7474 8.45052 13.6484 8.35156C13.5495 8.2526 13.5 8.13542 13.5 8C13.5 7.86458 13.5495 7.7474 13.6484 7.64844C13.7474 7.54948 13.8646 7.5 14 7.5ZM12.2422 2.38281C12.4297 2.38281 12.6068 2.41927 12.7734 2.49219C12.9401 2.5651 13.0859 2.66406 13.2109 2.78906C13.3359 2.91406 13.4349 3.0599 13.5078 3.22656C13.5807 3.39323 13.6172 3.57031 13.6172 3.75781C13.6172 3.94531 13.5807 4.1224 13.5078 4.28906C13.4349 4.45573 13.3359 4.60156 13.2109 4.72656C13.0859 4.85156 12.9401 4.95052 12.7734 5.02344C12.6068 5.09635 12.4297 5.13281 12.2422 5.13281C12.0547 5.13281 11.8776 5.09635 11.7109 5.02344C11.5443 4.95052 11.3984 4.85156 11.2734 4.72656C11.1484 4.60156 11.0495 4.45573 10.9766 4.28906C10.9036 4.1224 10.8672 3.94531 10.8672 3.75781C10.8672 3.57031 10.9036 3.39323 10.9766 3.22656C11.0495 3.0599 11.1484 2.91406 11.2734 2.78906C11.3984 2.66406 11.5443 2.5651 11.7109 2.49219C11.8776 2.41927 12.0547 2.38281 12.2422 2.38281Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.8 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8 0.75C8.17188 0.75 8.33333 0.783854 8.48438 0.851562C8.63542 0.914062 8.76823 1.0026 8.88281 1.11719C8.9974 1.23177 9.08594 1.36458 9.14844 1.51562C9.21615 1.66667 9.25 1.82812 9.25 2C9.25 2.17188 9.21615 2.33333 9.14844 2.48438C9.08594 2.63542 8.9974 2.76823 8.88281 2.88281C8.76823 2.9974 8.63542 3.08854 8.48438 3.15625C8.33333 3.21875 8.17188 3.25 8 3.25C7.82812 3.25 7.66667 3.21875 7.51562 3.15625C7.36458 3.08854 7.23177 2.9974 7.11719 2.88281C7.0026 2.76823 6.91146 2.63542 6.84375 2.48438C6.78125 2.33333 6.75 2.17188 6.75 2C6.75 1.82812 6.78125 1.66667 6.84375 1.51562C6.91146 1.36458 7.0026 1.23177 7.11719 1.11719C7.23177 1.0026 7.36458 0.914062 7.51562 0.851562C7.66667 0.783854 7.82812 0.75 8 0.75ZM2.63281 3.75781C2.63281 3.60156 2.66146 3.45573 2.71875 3.32031C2.77604 3.1849 2.85417 3.06771 2.95312 2.96875C3.05729 2.86458 3.17708 2.78385 3.3125 2.72656C3.45312 2.66406 3.60156 2.63281 3.75781 2.63281C3.91406 2.63281 4.0599 2.66406 4.19531 2.72656C4.33073 2.78385 4.44792 2.86458 4.54688 2.96875C4.65104 3.06771 4.73177 3.1849 4.78906 3.32031C4.85156 3.45573 4.88281 3.60156 4.88281 3.75781C4.88281 3.91406 4.85156 4.0625 4.78906 4.20312C4.73177 4.33854 4.65104 4.45833 4.54688 4.5625C4.44792 4.66146 4.33073 4.73958 4.19531 4.79688C4.0599 4.85417 3.91406 4.88281 3.75781 4.88281C3.60156 4.88281 3.45312 4.85417 3.3125 4.79688C3.17708 4.73958 3.05729 4.66146 2.95312 4.5625C2.85417 4.45833 2.77604 4.33854 2.71875 4.20312C2.66146 4.0625 2.63281 3.91406 2.63281 3.75781ZM2 7C2.14062 7 2.27083 7.02604 2.39062 7.07812C2.51042 7.13021 2.61458 7.20312 2.70312 7.29688C2.79688 7.38542 2.86979 7.48958 2.92188 7.60938C2.97396 7.72917 3 7.85938 3 8C3 8.14062 2.97396 8.27083 2.92188 8.39062C2.86979 8.51042 2.79688 8.61719 2.70312 8.71094C2.61458 8.79948 2.51042 8.86979 2.39062 8.92188C2.27083 8.97396 2.14062 9 2 9C1.85938 9 1.72917 8.97396 1.60938 8.92188C1.48958 8.86979 1.38281 8.79948 1.28906 8.71094C1.20052 8.61719 1.13021 8.51042 1.07812 8.39062C1.02604 8.27083 1 8.14062 1 8C1 7.85938 1.02604 7.72917 1.07812 7.60938C1.13021 7.48958 1.20052 7.38542 1.28906 7.29688C1.38281 7.20312 1.48958 7.13021 1.60938 7.07812C1.72917 7.02604 1.85938 7 2 7ZM2.88281 12.2422C2.88281 12.1224 2.90625 12.0104 2.95312 11.9062C3 11.7969 3.0625 11.7031 3.14062 11.625C3.21875 11.5469 3.3099 11.4844 3.41406 11.4375C3.52344 11.3906 3.63802 11.3672 3.75781 11.3672C3.8776 11.3672 3.98958 11.3906 4.09375 11.4375C4.20312 11.4844 4.29688 11.5469 4.375 11.625C4.45312 11.7031 4.51562 11.7969 4.5625 11.9062C4.60938 12.0104 4.63281 12.1224 4.63281 12.2422C4.63281 12.362 4.60938 12.4766 4.5625 12.5859C4.51562 12.6901 4.45312 12.7812 4.375 12.8594C4.29688 12.9375 4.20312 13 4.09375 13.0469C3.98958 13.0938 3.8776 13.1172 3.75781 13.1172C3.63802 13.1172 3.52344 13.0938 3.41406 13.0469C3.3099 13 3.21875 12.9375 3.14062 12.8594C3.0625 12.7812 3 12.6901 2.95312 12.5859C2.90625 12.4766 2.88281 12.362 2.88281 12.2422ZM8 13.25C8.20833 13.25 8.38542 13.3229 8.53125 13.4688C8.67708 13.6146 8.75 13.7917 8.75 14C8.75 14.2083 8.67708 14.3854 8.53125 14.5312C8.38542 14.6771 8.20833 14.75 8 14.75C7.79167 14.75 7.61458 14.6771 7.46875 14.5312C7.32292 14.3854 7.25 14.2083 7.25 14C7.25 13.7917 7.32292 13.6146 7.46875 13.4688C7.61458 13.3229 7.79167 13.25 8 13.25ZM11.6172 12.2422C11.6172 12.0651 11.6771 11.9167 11.7969 11.7969C11.9167 11.6771 12.0651 11.6172 12.2422 11.6172C12.4193 11.6172 12.5677 11.6771 12.6875 11.7969C12.8073 11.9167 12.8672 12.0651 12.8672 12.2422C12.8672 12.4193 12.8073 12.5677 12.6875 12.6875C12.5677 12.8073 12.4193 12.8672 12.2422 12.8672C12.0651 12.8672 11.9167 12.8073 11.7969 12.6875C11.6771 12.5677 11.6172 12.4193 11.6172 12.2422ZM14 7.5C14.1354 7.5 14.2526 7.54948 14.3516 7.64844C14.4505 7.7474 14.5 7.86458 14.5 8C14.5 8.13542 14.4505 8.2526 14.3516 8.35156C14.2526 8.45052 14.1354 8.5 14 8.5C13.8646 8.5 13.7474 8.45052 13.6484 8.35156C13.5495 8.2526 13.5 8.13542 13.5 8C13.5 7.86458 13.5495 7.7474 13.6484 7.64844C13.7474 7.54948 13.8646 7.5 14 7.5ZM12.2422 2.38281C12.4297 2.38281 12.6068 2.41927 12.7734 2.49219C12.9401 2.5651 13.0859 2.66406 13.2109 2.78906C13.3359 2.91406 13.4349 3.0599 13.5078 3.22656C13.5807 3.39323 13.6172 3.57031 13.6172 3.75781C13.6172 3.94531 13.5807 4.1224 13.5078 4.28906C13.4349 4.45573 13.3359 4.60156 13.2109 4.72656C13.0859 4.85156 12.9401 4.95052 12.7734 5.02344C12.6068 5.09635 12.4297 5.13281 12.2422 5.13281C12.0547 5.13281 11.8776 5.09635 11.7109 5.02344C11.5443 4.95052 11.3984 4.85156 11.2734 4.72656C11.1484 4.60156 11.0495 4.45573 10.9766 4.28906C10.9036 4.1224 10.8672 3.94531 10.8672 3.75781C10.8672 3.57031 10.9036 3.39323 10.9766 3.22656C11.0495 3.0599 11.1484 2.91406 11.2734 2.78906C11.3984 2.66406 11.5443 2.5651 11.7109 2.49219C11.8776 2.41927 12.0547 2.38281 12.2422 2.38281Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.8 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.1052 4.5613L7.67505 7.98827L6.54072 6.86834L8.61098 4.78848H3.81131C3.17483 4.78848 2.56442 5.04132 2.11436 5.49138C1.6643 5.94144 1.41147 6.55184 1.41147 7.18832C1.41147 7.8248 1.6643 8.43521 2.11436 8.88527C2.56442 9.33532 3.17483 9.58816 3.81131 9.58816H4.70085V11.1881H3.8209C2.7921 11.142 1.8207 10.7009 1.10896 9.95661C0.397222 9.21231 0 8.22216 0 7.19232C0 6.16249 0.397222 5.17234 1.10896 4.42803C1.8207 3.68373 2.7921 3.24263 3.8209 3.19659H8.62058L6.54072 1.13112L7.67505 0L11.1052 3.43177V4.5613ZM16.6201 24H7.0207L6.22075 23.2V10.4121L7.0207 9.61215H16.6201L17.42 10.4121V23.2L16.6201 24ZM7.82064 22.4001H15.8201V11.212H7.82064V22.4001ZM13.4203 1.6015H23.0196L23.8196 2.40145V15.1878L23.0196 15.9877H19.0199V14.3878H22.2197V3.20139H14.2202V7.98828H12.6203V2.40145L13.4203 1.6015ZM14.2202 12.7879H9.42053V14.3878H14.2202V12.7879ZM9.42053 15.9877H14.2202V17.5876H9.42053V15.9877ZM14.2202 19.1875H9.42053V20.7874H14.2202V19.1875ZM15.8201 4.78848H20.6198V6.38838H15.8201V4.78848ZM20.6198 11.188H19.0199V12.7879H20.6198V11.188ZM17.2824 8.01228V7.98828H20.6198V9.58817H18.8583L17.2824 8.01228Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.1052 4.5613L7.67505 7.98827L6.54072 6.86834L8.61098 4.78848H3.81131C3.17483 4.78848 2.56442 5.04132 2.11436 5.49138C1.6643 5.94144 1.41147 6.55184 1.41147 7.18832C1.41147 7.8248 1.6643 8.43521 2.11436 8.88527C2.56442 9.33532 3.17483 9.58816 3.81131 9.58816H4.70085V11.1881H3.8209C2.7921 11.142 1.8207 10.7009 1.10896 9.95661C0.397222 9.21231 0 8.22216 0 7.19232C0 6.16249 0.397222 5.17234 1.10896 4.42803C1.8207 3.68373 2.7921 3.24263 3.8209 3.19659H8.62058L6.54072 1.13112L7.67505 0L11.1052 3.43177V4.5613ZM16.6201 24H7.0207L6.22075 23.2V10.4121L7.0207 9.61215H16.6201L17.42 10.4121V23.2L16.6201 24ZM7.82064 22.4001H15.8201V11.212H7.82064V22.4001ZM13.4203 1.6015H23.0196L23.8196 2.40145V15.1878L23.0196 15.9877H19.0199V14.3878H22.2197V3.20139H14.2202V7.98828H12.6203V2.40145L13.4203 1.6015ZM14.2202 12.7879H9.42053V14.3878H14.2202V12.7879ZM9.42053 15.9877H14.2202V17.5876H9.42053V15.9877ZM14.2202 19.1875H9.42053V20.7874H14.2202V19.1875ZM15.8201 4.78848H20.6198V6.38838H15.8201V4.78848ZM20.6198 11.188H19.0199V12.7879H20.6198V11.188ZM17.2824 8.01228V7.98828H20.6198V9.58817H18.8583L17.2824 8.01228Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><defs><style>.canvas{fill:none;opacity:0;}.dark-default{fill:#c5c5c5;fill-rule:evenodd;}</style></defs><title>group-by-ref-type_16x</title><g id="canvas"><path class="canvas" d="M16,16H0V0H16Z"/></g><g id="Layer_1" data-name="Layer 1"><path class="dark-default" d="M1.5,1h2V2H2V14H3.5v1h-2L1,14.5V1.5ZM14,3V7H10V6H8V7H5V4H8V5h2V3ZM7,5H6V6H7Zm6-1H11V6h2ZM10,9h4v4H10V11H8v1H5V9H8v1h2ZM7,10H6v1H7Zm4,2h2V10H11Z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 481 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><defs><style>.canvas{fill:none;opacity:0;}.dark-default{fill:#424242;fill-rule:evenodd;}</style></defs><title>group-by-ref-type_16x</title><g id="canvas"><path class="canvas" d="M16,16H0V0H16Z"/></g><g id="Layer_1" data-name="Layer 1"><path class="dark-default" d="M1.5,1h2V2H2V14H3.5v1h-2L1,14.5V1.5ZM14,3V7H10V6H8V7H5V4H8V5h2V3ZM7,5H6V6H7Zm6-1H11V6h2ZM10,9h4v4H10V11H8v1H5V9H8v1h2ZM7,10H6v1H7Zm4,2h2V10H11Z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 481 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 1V5H15V6H11L11 10H15V11H11V15H10V11H6V15H5L5 11H1V10H5L5 6H1V5H5L5 1H6V5H10V1H11ZM6 6L6 10H10L10 6H6Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 277 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 1V5H15V6H11L11 10H15V11H11V15H10V11H6V15H5L5 11H1V10H5L5 6H1V5H5L5 1H6V5H10V1H11ZM6 6L6 10H10L10 6H6Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 277 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 1C9.61948 1.00012 11.1888 1.56176 12.4406 2.58924C13.6924 3.61671 14.5492 5.04644 14.8651 6.63483C15.1809 8.22321 14.9362 9.87197 14.1727 11.3002C13.4092 12.7284 12.1741 13.8477 10.6779 14.4673C9.18163 15.087 7.51682 15.1687 5.9671 14.6985C4.41739 14.2283 3.07865 13.2353 2.17899 11.8887C1.27933 10.5421 0.874413 8.92518 1.03324 7.31351C1.19206 5.70183 1.90479 4.19509 3.05 3.05C3.70006 2.40001 4.47178 1.88442 5.32111 1.53268C6.17043 1.18094 7.08072 0.999934 8 1V1ZM2 8C2.00142 9.41722 2.50446 10.7882 3.42 11.87L11.87 3.42C10.9981 2.68012 9.93297 2.20479 8.8 2.05C7.95183 1.93589 7.08907 2.00455 6.26963 2.25136C5.45019 2.49817 4.69303 2.91742 4.04897 3.48097C3.40491 4.04452 2.88886 4.73933 2.53546 5.51876C2.18206 6.29818 1.99949 7.1442 2 8V8ZM14 8C13.9986 6.58278 13.4955 5.21181 12.58 4.13L4.13 12.58C4.99597 13.338 6.06166 13.8309 7.2 14C8.05235 14.1147 8.91941 14.0448 9.7424 13.7951C10.5654 13.5454 11.3251 13.1217 11.97 12.5526C12.6149 11.9836 13.1299 11.2826 13.4801 10.4971C13.8304 9.71162 14.0077 8.86001 14 8V8Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.00003 1C9.61951 1.00012 11.1888 1.56176 12.4407 2.58924C13.6925 3.61671 14.5493 5.04644 14.8651 6.63483C15.1809 8.22321 14.9363 9.87197 14.1728 11.3002C13.4092 12.7284 12.1742 13.8477 10.6779 14.4673C9.18166 15.087 7.51685 15.1687 5.96713 14.6985C4.41742 14.2283 3.07868 13.2353 2.17902 11.8887C1.27936 10.5421 0.874443 8.92518 1.03327 7.31351C1.19209 5.70183 1.90482 4.19509 3.05003 3.05C3.70009 2.40001 4.47181 1.88442 5.32114 1.53268C6.17046 1.18094 7.08075 0.999934 8.00003 1V1ZM2.00003 8C2.00145 9.41722 2.5045 10.7882 3.42003 11.87L11.87 3.42C10.9982 2.68012 9.933 2.20479 8.80003 2.05C7.95187 1.93589 7.08911 2.00455 6.26966 2.25136C5.45022 2.49817 4.69306 2.91742 4.049 3.48097C3.40494 4.04452 2.88889 4.73933 2.53549 5.51876C2.18209 6.29818 1.99952 7.1442 2.00003 8V8ZM14 8C13.9986 6.58278 13.4956 5.21181 12.58 4.13L4.13003 12.58C4.996 13.338 6.06169 13.8309 7.20003 14C8.05239 14.1147 8.91944 14.0448 9.74243 13.7951C10.5654 13.5454 11.3251 13.1217 11.97 12.5526C12.6149 11.9836 13.1299 11.2826 13.4802 10.4971C13.8304 9.71162 14.0077 8.86001 14 8V8Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.25001 6.93C2.23588 6.31838 2.39205 5.71488 2.70108 5.18688C3.0101 4.65889 3.45982 4.22719 4.00001 3.94L3.46001 3C2.69257 3.41672 2.0561 4.0386 1.62169 4.79617C1.18728 5.55374 0.972035 6.41717 1.00001 7.29C1.00001 8.69 1.53001 9.46 2.47001 9.46C2.64083 9.46386 2.8105 9.43119 2.96768 9.36419C3.12486 9.29719 3.26591 9.19739 3.38141 9.07148C3.49691 8.94556 3.58419 8.79644 3.63741 8.63407C3.69063 8.47171 3.70856 8.29985 3.69001 8.13C3.69551 7.96784 3.6678 7.80626 3.60857 7.6552C3.54934 7.50414 3.45984 7.36679 3.34558 7.25159C3.23131 7.13639 3.0947 7.04577 2.94413 6.98531C2.79355 6.92485 2.63221 6.89582 2.47001 6.9V6.9C2.39543 6.89574 2.32072 6.90593 2.25001 6.93ZM5.69001 6.93C5.67355 6.31419 5.83084 5.7062 6.14387 5.17563C6.45691 4.64506 6.91303 4.21338 7.46001 3.93V3.93L6.90001 3C6.13257 3.41672 5.4961 4.0386 5.06169 4.79617C4.62728 5.55374 4.41204 6.41717 4.44001 7.29C4.44001 8.69 4.97001 9.46 5.90001 9.46C6.0712 9.46368 6.24123 9.43098 6.39884 9.36407C6.55646 9.29715 6.69808 9.19754 6.81434 9.07183C6.9306 8.94612 7.01886 8.79716 7.07328 8.6348C7.12769 8.47244 7.14703 8.30039 7.13001 8.13C7.13413 7.96735 7.10513 7.80556 7.04477 7.65447C6.98442 7.50338 6.89397 7.36613 6.77892 7.25109C6.66387 7.13604 6.52663 7.04559 6.37554 6.98523C6.22444 6.92488 6.06266 6.89588 5.90001 6.9V6.9C5.82868 6.89517 5.75713 6.90539 5.69001 6.93V6.93ZM13.75 8.77C13.7665 9.38581 13.6092 9.9938 13.2961 10.5244C12.9831 11.0549 12.527 11.4866 11.98 11.77L12.54 12.71C13.3113 12.2926 13.9505 11.6678 14.3852 10.9061C14.82 10.1445 15.0329 9.27638 15 8.4C15 7.01 14.47 6.23 13.53 6.23C13.3592 6.22614 13.1895 6.25881 13.0323 6.32581C12.8752 6.39281 12.7341 6.49261 12.6186 6.61852C12.5031 6.74444 12.4158 6.89356 12.3626 7.05593C12.3094 7.21829 12.2915 7.39015 12.31 7.56C12.3045 7.72216 12.3322 7.88374 12.3914 8.0348C12.4507 8.18586 12.5402 8.32321 12.6544 8.43841C12.7687 8.55361 12.9053 8.64423 13.0559 8.70469C13.2065 8.76515 13.3678 8.79418 13.53 8.79C13.6039 8.79282 13.6778 8.7861 13.75 8.77ZM10.31 8.77C10.3289 9.38625 10.1726 9.99521 9.85927 10.5262C9.54598 11.0572 9.08853 11.4885 8.54001 11.77L9.10001 12.71C9.87133 12.2926 10.5105 11.6678 10.9452 10.9061C11.38 10.1445 11.5929 9.27638 11.56 8.4C11.56 7 11 6.23 10.1 6.23C9.92881 6.22632 9.75879 6.25902 9.60117 6.32593C9.44355 6.39285 9.30193 6.49246 9.18567 6.61817C9.06941 6.74388 8.98115 6.89284 8.92674 7.0552C8.87232 7.21756 8.85298 7.38961 8.87001 7.56C8.86589 7.72265 8.89489 7.88444 8.95524 8.03553C9.0156 8.18662 9.10605 8.32387 9.22109 8.43891C9.33614 8.55396 9.47338 8.64441 9.62448 8.70477C9.77557 8.76512 9.93736 8.79412 10.1 8.79C10.1706 8.79326 10.2413 8.78653 10.31 8.77Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.24998 6.93C2.23585 6.31838 2.39202 5.71488 2.70105 5.18688C3.01007 4.65889 3.45979 4.22719 3.99998 3.94L3.45998 3C2.69254 3.41672 2.05607 4.0386 1.62166 4.79617C1.18725 5.55374 0.972005 6.41717 0.999976 7.29C0.999976 8.69 1.52998 9.46 2.46998 9.46C2.6408 9.46386 2.81047 9.43119 2.96765 9.36419C3.12482 9.29719 3.26588 9.19739 3.38138 9.07148C3.49688 8.94556 3.58416 8.79644 3.63738 8.63407C3.6906 8.47171 3.70853 8.29985 3.68998 8.13C3.69548 7.96784 3.66777 7.80626 3.60854 7.6552C3.54931 7.50414 3.45981 7.36679 3.34555 7.25159C3.23128 7.13639 3.09467 7.04577 2.9441 6.98531C2.79352 6.92485 2.63218 6.89582 2.46998 6.9V6.9C2.39539 6.89574 2.32069 6.90593 2.24998 6.93ZM5.68998 6.93C5.67352 6.31419 5.83081 5.7062 6.14384 5.17563C6.45687 4.64506 6.913 4.21338 7.45998 3.93V3.93L6.89998 3C6.13254 3.41672 5.49606 4.0386 5.06166 4.79617C4.62725 5.55374 4.412 6.41717 4.43998 7.29C4.43998 8.69 4.96998 9.46 5.89998 9.46C6.07117 9.46368 6.24119 9.43098 6.39881 9.36407C6.55643 9.29715 6.69805 9.19754 6.81431 9.07183C6.93057 8.94612 7.01883 8.79716 7.07325 8.6348C7.12766 8.47244 7.147 8.30039 7.12998 8.13C7.1341 7.96735 7.1051 7.80556 7.04474 7.65447C6.98439 7.50338 6.89394 7.36613 6.77889 7.25109C6.66384 7.13604 6.5266 7.04559 6.37551 6.98523C6.22441 6.92488 6.06263 6.89588 5.89998 6.9V6.9C5.82865 6.89517 5.7571 6.90539 5.68998 6.93V6.93ZM13.75 8.77C13.7664 9.38581 13.6091 9.9938 13.2961 10.5244C12.9831 11.0549 12.527 11.4866 11.98 11.77L12.54 12.71C13.3113 12.2926 13.9505 11.6678 14.3852 10.9061C14.8199 10.1445 15.0329 9.27638 15 8.4C15 7.01 14.47 6.23 13.53 6.23C13.3592 6.22614 13.1895 6.25881 13.0323 6.32581C12.8751 6.39281 12.7341 6.49261 12.6186 6.61852C12.5031 6.74444 12.4158 6.89356 12.3626 7.05593C12.3094 7.21829 12.2914 7.39015 12.31 7.56C12.3045 7.72216 12.3322 7.88374 12.3914 8.0348C12.4506 8.18586 12.5401 8.32321 12.6544 8.43841C12.7687 8.55361 12.9053 8.64423 13.0559 8.70469C13.2064 8.76515 13.3678 8.79418 13.53 8.79C13.6039 8.79282 13.6778 8.7861 13.75 8.77ZM10.31 8.77C10.3288 9.38625 10.1725 9.99521 9.85924 10.5262C9.54594 11.0572 9.0885 11.4885 8.53998 11.77L9.09998 12.71C9.8713 12.2926 10.5105 11.6678 10.9452 10.9061C11.3799 10.1445 11.5929 9.27638 11.56 8.4C11.56 7 11 6.23 10.1 6.23C9.92878 6.22632 9.75876 6.25902 9.60114 6.32593C9.44352 6.39285 9.3019 6.49246 9.18564 6.61817C9.06938 6.74388 8.98112 6.89284 8.92671 7.0552C8.87229 7.21756 8.85295 7.38961 8.86998 7.56C8.86586 7.72265 8.89486 7.88444 8.95521 8.03553C9.01557 8.18662 9.10602 8.32387 9.22106 8.43891C9.33611 8.55396 9.47335 8.64441 9.62444 8.70477C9.77554 8.76512 9.93733 8.79412 10.1 8.79C10.1706 8.79326 10.2413 8.78653 10.31 8.77Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><defs><style>.canvas{fill:none;opacity:0;}.dark-default{fill:#c5c5c5;fill-rule:evenodd;}</style></defs><title>ungroup-by-ref-type_16x</title><g id="canvas"><path class="canvas" d="M16,16H0V0H16Z"/></g><g id="Layer_1" data-name="Layer 1"><path class="dark-default" d="M2.86,1,4.93,3.08l-.7.7L3,2.56V7H2V2.55L.79,3.78.08,3.07,2.15,1ZM15,3V7H11V6H9V7H6V4H9V5h2V3ZM8,5H7V6H8Zm6-1H12V6h2ZM11,9h4v4H11V11H9v1H6V9H9v1h2ZM8,10H7v1H8Zm4,2h2V10H12ZM3,13.45V9H2v4.44L.78,12.22l-.71.7L2.15,15h.7l2.07-2.07-.7-.71Z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 574 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><defs><style>.canvas{fill:none;opacity:0;}.dark-default{fill:#424242;fill-rule:evenodd;}</style></defs><title>ungroup-by-ref-type_16x</title><g id="canvas"><path class="canvas" d="M16,16H0V0H16Z"/></g><g id="Layer_1" data-name="Layer 1"><path class="dark-default" d="M2.86,1,4.93,3.08l-.7.7L3,2.56V7H2V2.55L.79,3.78.08,3.07,2.15,1ZM15,3V7H11V6H9V7H6V4H9V5h2V3ZM8,5H7V6H8Zm6-1H12V6h2ZM11,9h4v4H11V11H9v1H6V9H9v1h2ZM8,10H7v1H8Zm4,2h2V10H12ZM3,13.45V9H2v4.44L.78,12.22l-.71.7L2.15,15h.7l2.07-2.07-.7-.71Z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 574 B |
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1914",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1914",
|
||||
"-D_MSC_FULL_VER=191426428",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_X64=100",
|
||||
"-D_M_AMD64=100"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1914",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1914",
|
||||
"-D_MSC_FULL_VER=191426428",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_X64=100",
|
||||
"-D_M_AMD64=100"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1926",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1926",
|
||||
"-D_MSC_FULL_VER=192628619",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM=7"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1926",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1926",
|
||||
"-D_MSC_FULL_VER=192628619",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM64=1"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -1,33 +1,33 @@
|
||||
{
|
||||
"defaults": [
|
||||
"cpfe",
|
||||
"--wchar_t_keyword",
|
||||
"--no_warnings",
|
||||
"--rtti",
|
||||
"--edge",
|
||||
"--exceptions",
|
||||
"--error_limit",
|
||||
"25000",
|
||||
"-D_EDG_COMPILER",
|
||||
"-D_USE_DECLSPECS_FOR_SAL=1"
|
||||
],
|
||||
"source_file_format": "-f %s",
|
||||
"expressions": [
|
||||
{
|
||||
"match": "^/I(.*)",
|
||||
"replace": "-I\n$1"
|
||||
},
|
||||
{
|
||||
"match": "^/D(.*)",
|
||||
"replace": "-D$1"
|
||||
},
|
||||
{
|
||||
"match": "^/AI(.*)",
|
||||
"replace": "--using_directory\n$1"
|
||||
},
|
||||
{
|
||||
"match": "^/dE--header_only_fallback",
|
||||
"replace": "--header_only_fallback"
|
||||
}
|
||||
]
|
||||
}
|
||||
{
|
||||
"defaults": [
|
||||
"cpfe",
|
||||
"--wchar_t_keyword",
|
||||
"--no_warnings",
|
||||
"--rtti",
|
||||
"--edge",
|
||||
"--exceptions",
|
||||
"--error_limit",
|
||||
"25000",
|
||||
"-D_EDG_COMPILER",
|
||||
"-D_USE_DECLSPECS_FOR_SAL=1"
|
||||
],
|
||||
"source_file_format": "-f %s",
|
||||
"expressions": [
|
||||
{
|
||||
"match": "^/I(.*)",
|
||||
"replace": "-I\n$1"
|
||||
},
|
||||
{
|
||||
"match": "^/D(.*)",
|
||||
"replace": "-D$1"
|
||||
},
|
||||
{
|
||||
"match": "^/AI(.*)",
|
||||
"replace": "--using_directory\n$1"
|
||||
},
|
||||
{
|
||||
"match": "^/dE--header_only_fallback",
|
||||
"replace": "--header_only_fallback"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1914",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1914",
|
||||
"-D_MSC_FULL_VER=191426428",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_X64=100",
|
||||
"-D_M_AMD64=100"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1926",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1926",
|
||||
"-D_MSC_FULL_VER=192628619",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_X64=100",
|
||||
"-D_M_AMD64=100"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1914",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1914",
|
||||
"-D_MSC_FULL_VER=191426428",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_IX86=600",
|
||||
"-D_M_IX86_FP=2"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1926",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1926",
|
||||
"-D_MSC_FULL_VER=192628619",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_IX86=600",
|
||||
"-D_M_IX86_FP=2"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -15,21 +15,33 @@
|
||||
"type": "string"
|
||||
},
|
||||
"compilerPath": {
|
||||
"description": "Full path of the compiler being used, e.g. /usr/bin/gcc, to enable more accurate IntelliSense. Args can be added to modify the includes/defines used, e.g. -nostdinc++, -m32, etc., but paths with spaces must be surrounded with \\\" if args are used.",
|
||||
"description": "Full path of the compiler being used, e.g. /usr/bin/gcc, to enable more accurate IntelliSense.",
|
||||
"type": "string"
|
||||
},
|
||||
"compilerArgs": {
|
||||
"description": "Compiler arguments to modify the includes or defines used, e.g. -nostdinc++, -m32, etc.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"cStandard": {
|
||||
"description": "Version of the C language standard to use for IntelliSense.",
|
||||
"description": "Version of the C language standard to use for IntelliSense. Note: GNU standards are only used to query the set compiler to get GNU defines, and IntelliSense will emulate the equivalent C standard version.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"c89",
|
||||
"c99",
|
||||
"c11",
|
||||
"c18",
|
||||
"gnu89",
|
||||
"gnu99",
|
||||
"gnu11",
|
||||
"gnu18",
|
||||
"${default}"
|
||||
]
|
||||
},
|
||||
"cppStandard": {
|
||||
"description": "Version of the C++ language standard to use for IntelliSense.",
|
||||
"description": "Version of the C++ language standard to use for IntelliSense. Note: GNU standards are only used to query the set compiler to get GNU defines, and IntelliSense will emulate the equivalent C++ standard version.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"c++98",
|
||||
@@ -37,6 +49,13 @@
|
||||
"c++11",
|
||||
"c++14",
|
||||
"c++17",
|
||||
"c++20",
|
||||
"gnu++98",
|
||||
"gnu++03",
|
||||
"gnu++11",
|
||||
"gnu++14",
|
||||
"gnu++17",
|
||||
"gnu++20",
|
||||
"${default}"
|
||||
]
|
||||
},
|
||||
@@ -71,12 +90,21 @@
|
||||
}
|
||||
},
|
||||
"intelliSenseMode": {
|
||||
"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.",
|
||||
"description": "The IntelliSense mode to use that maps to an architecture-specific variant of MSVC, gcc, or Clang. If not set or if set to ${default}, the extension will choose the default for that platform. Windows defaults to msvc-x64, Linux defaults to gcc-x64, and macOS defaults to clang-x64.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"msvc-x64",
|
||||
"gcc-x64",
|
||||
"clang-x86",
|
||||
"clang-x64",
|
||||
"clang-arm",
|
||||
"clang-arm64",
|
||||
"gcc-x86",
|
||||
"gcc-x64",
|
||||
"gcc-arm",
|
||||
"gcc-arm64",
|
||||
"msvc-x86",
|
||||
"msvc-x64",
|
||||
"msvc-arm",
|
||||
"msvc-arm64",
|
||||
"${default}"
|
||||
]
|
||||
},
|
||||
@@ -114,6 +142,16 @@
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"customConfigurationVariables": {
|
||||
"type": "object",
|
||||
"description": "Custom variables that can be queried through the command ${cpptools:activeConfigCustomVariable} to use for the input variables in launch.json or tasks.json.",
|
||||
"patternProperties": {
|
||||
"(^.+$)": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
|
||||
@@ -2,5 +2,6 @@
|
||||
"intelliSenseEngine_default_percentage": 100,
|
||||
"defaultIntelliSenseEngine": 100,
|
||||
"recursiveIncludes": 100,
|
||||
"gotoDefIntelliSense": 100
|
||||
"gotoDefIntelliSense": 100,
|
||||
"enhancedColorization": 100
|
||||
}
|
||||
@@ -6,28 +6,49 @@
|
||||
'use strict';
|
||||
|
||||
const gulp = require('gulp');
|
||||
const env = require('gulp-env')
|
||||
const tslint = require('gulp-tslint');
|
||||
const mocha = require('gulp-mocha');
|
||||
const eslint = require('gulp-eslint');
|
||||
const fs = require('fs');
|
||||
const optionsSchemaGenerator = require('./out/tools/GenerateOptionsSchema');
|
||||
const nls = require('vscode-nls-dev');
|
||||
const path = require('path');
|
||||
const minimist = require('minimist');
|
||||
const es = require('event-stream');
|
||||
const sourcemaps = require('gulp-sourcemaps');
|
||||
const ts = require('gulp-typescript');
|
||||
const typescript = require('typescript');
|
||||
const tsProject = ts.createProject('./tsconfig.json', { typescript });
|
||||
const filter = require('gulp-filter');
|
||||
const vinyl = require('vinyl');
|
||||
const parse5 = require('parse5');
|
||||
const traverse = require('parse5-traverse');
|
||||
const jsonc = require('jsonc-parser'); // Used to allow comments in nativeStrings.json
|
||||
|
||||
gulp.task('unitTests', (done) => {
|
||||
env.set({
|
||||
CODE_TESTS_PATH: "./out/test/unitTests",
|
||||
});
|
||||
|
||||
return gulp.src('./test/runVsCodeTestsWithAbsolutePaths.js', {read: false})
|
||||
.pipe(mocha({ ui: "tdd" }))
|
||||
.once('error', err => {
|
||||
done();
|
||||
process.exit(1);
|
||||
})
|
||||
.once('end', () => {
|
||||
done();
|
||||
process.exit();
|
||||
});
|
||||
});
|
||||
// Patterns to find HTML files
|
||||
const htmlFilesPatterns = [
|
||||
"ui/**/*.html"
|
||||
];
|
||||
|
||||
const jsonSchemaFilesPatterns = [
|
||||
"*.schema.json"
|
||||
];
|
||||
|
||||
const languages = [
|
||||
{ id: "zh-tw", folderName: "cht", transifexId: "zh-hant" },
|
||||
{ id: "zh-cn", folderName: "chs", transifexId: "zh-hans" },
|
||||
{ id: "fr", folderName: "fra" },
|
||||
{ id: "de", folderName: "deu" },
|
||||
{ id: "it", folderName: "ita" },
|
||||
{ id: "es", folderName: "esn" },
|
||||
{ id: "ja", folderName: "jpn" },
|
||||
{ id: "ko", folderName: "kor" },
|
||||
{ id: "ru", folderName: "rus" },
|
||||
//{ id: "bg", folderName: "bul" }, // VS Code supports Bulgarian, but VS is not currently localized for it
|
||||
//{ id: "hu", folderName: "hun" }, // VS Code supports Hungarian, but VS is not currently localized for it
|
||||
{ id: "pt-br", folderName: "ptb", transifexId: "pt-BR" },
|
||||
{ id: "tr", folderName: "trk" },
|
||||
{ id: "cs", folderName: "csy" },
|
||||
{ id: "pl", folderName: "plk" }
|
||||
];
|
||||
|
||||
/// Misc Tasks
|
||||
const allTypeScript = [
|
||||
@@ -36,25 +57,11 @@ const allTypeScript = [
|
||||
'!**/typings**'
|
||||
];
|
||||
|
||||
const lintReporter = (output, file, options) => {
|
||||
//emits: src/helloWorld.c:5:3: warning: implicit declaration of function ‘prinft’
|
||||
var relativeBase = file.base.substring(file.cwd.length + 1).replace('\\', '/');
|
||||
output.forEach(e => {
|
||||
var message = relativeBase + e.name + ':' + (e.startPosition.line + 1) + ':' + (e.startPosition.character + 1) + ': ' + e.failure;
|
||||
console.log('[tslint] ' + message);
|
||||
});
|
||||
};
|
||||
|
||||
gulp.task('tslint', () => {
|
||||
gulp.task('lint', function () {
|
||||
return gulp.src(allTypeScript)
|
||||
.pipe(tslint({
|
||||
program: require('tslint').Linter.createProgram("./tsconfig.json"),
|
||||
configuration: "./tslint.json"
|
||||
}))
|
||||
.pipe(tslint.report(lintReporter, {
|
||||
summarizeFailureOutput: false,
|
||||
emitError: false
|
||||
}))
|
||||
.pipe(eslint({ configFile: ".eslintrc.js" }))
|
||||
.pipe(eslint.format())
|
||||
.pipe(eslint.failAfterError());
|
||||
});
|
||||
|
||||
gulp.task('pr-check', (done) => {
|
||||
@@ -68,8 +75,460 @@ gulp.task('pr-check', (done) => {
|
||||
done();
|
||||
});
|
||||
|
||||
gulp.task('generateOptionsSchema', (done) => {
|
||||
optionsSchemaGenerator.generateOptionsSchema();
|
||||
|
||||
// ****************************
|
||||
// Command: translations-export
|
||||
// The following is used to export and XLF file containing english strings for translations.
|
||||
// The result will be written to: ../vscode-extensions-localization-export/ms-vscode/
|
||||
// ****************************
|
||||
|
||||
const translationProjectName = "vscode-extensions";
|
||||
const translationExtensionName = "vscode-cpptools";
|
||||
|
||||
function removePathPrefix(path, prefix) {
|
||||
if (!prefix) {
|
||||
return path;
|
||||
}
|
||||
if (!path.startsWith(prefix)) {
|
||||
return path;
|
||||
}
|
||||
if (path === prefix) {
|
||||
return "";
|
||||
}
|
||||
let ch = prefix.charAt(prefix.length - 1);
|
||||
if (ch === '/' || ch === '\\') {
|
||||
return path.substr(prefix.length);
|
||||
}
|
||||
ch = path.charAt(prefix.length);
|
||||
if (ch === '/' || ch === '\\') {
|
||||
return path.substr(prefix.length + 1);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
// Helper to traverse HTML tree
|
||||
// nodeCallback(locId, node) is invoked for nodes
|
||||
// attributeCallback(locId, attribute) is invoked for attribtues
|
||||
const traverseHtml = (contents, nodeCallback, attributeCallback) => {
|
||||
const htmlTree = parse5.parse(contents);
|
||||
traverse(htmlTree, {
|
||||
pre(node, parent) {
|
||||
if (node.attrs) {
|
||||
// Check if content text should be localized based on presense of data-loc-id attribute
|
||||
let locId = node.attrs.find(attribute => attribute.name.toLowerCase() == "data-loc-id");
|
||||
if (locId) {
|
||||
nodeCallback(locId.value, node);
|
||||
}
|
||||
// Check if an attribute should be localized based on presense of data-loc-id-<attribute_name> attribute
|
||||
node.attrs.forEach(attribute => {
|
||||
const dataLocIdAttributePrefix = "data-loc-id-";
|
||||
if (attribute.name.startsWith(dataLocIdAttributePrefix))
|
||||
{
|
||||
let targetAttributeName = attribute.name.substring(dataLocIdAttributePrefix.length);
|
||||
let targetAttribute = node.attrs.find(a => a.name == targetAttributeName);
|
||||
if (targetAttribute) {
|
||||
attributeCallback(attribute.value, targetAttribute);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
return htmlTree;
|
||||
};
|
||||
|
||||
// Traverses the HTML document looking for node and attributes containing data-loc-id, to localize
|
||||
// Outputs *.nls.json files containing strings to localize.
|
||||
const processHtmlFiles = () => {
|
||||
return es.through(function (file) {
|
||||
let localizationJsonContents = {};
|
||||
let localizationMetadataContents = {
|
||||
messages: [],
|
||||
keys: [],
|
||||
filePath: removePathPrefix(file.path, file.cwd)
|
||||
};
|
||||
let nodeCallback = (locId, node) => {
|
||||
let subNodeCount = 0;
|
||||
let text = "";
|
||||
node.childNodes.forEach((childNode) => {
|
||||
if (childNode.nodeName == "#text") {
|
||||
text += childNode.value;
|
||||
} else {
|
||||
text += `{${subNodeCount++}}`;
|
||||
}
|
||||
});
|
||||
localizationJsonContents[locId.value] = text;
|
||||
localizationMetadataContents.keys.push(locId);
|
||||
localizationMetadataContents.messages.push(text);
|
||||
};
|
||||
let attributeCallback = (locId, attribute) => {
|
||||
localizationJsonContents[locId] = attribute.value;
|
||||
localizationMetadataContents.keys.push(locId);
|
||||
localizationMetadataContents.messages.push(attribute.value);
|
||||
};
|
||||
traverseHtml(file.contents.toString(), nodeCallback, attributeCallback);
|
||||
this.queue(new vinyl({
|
||||
path: path.join(file.path + '.nls.json'),
|
||||
contents: Buffer.from(JSON.stringify(localizationJsonContents, null, '\t'), 'utf8')
|
||||
}));
|
||||
this.queue(new vinyl({
|
||||
path: path.join(file.path + '.nls.metadata.json'),
|
||||
contents: Buffer.from(JSON.stringify(localizationMetadataContents, null, '\t'), 'utf8')
|
||||
}));
|
||||
});
|
||||
};
|
||||
|
||||
// descriptionCallback(path, value, parent) is invoked for attribtues
|
||||
const traverseJson = (jsonTree, descriptionCallback, prefixPath) => {
|
||||
for (let fieldName in jsonTree) {
|
||||
if (jsonTree[fieldName] !== null) {
|
||||
if (typeof(jsonTree[fieldName]) == "string" && fieldName === "description") {
|
||||
descriptionCallback(prefixPath, jsonTree[fieldName], jsonTree);
|
||||
} else if (typeof(jsonTree[fieldName]) == "object") {
|
||||
let path = prefixPath;
|
||||
if (path !== "")
|
||||
path = path + ".";
|
||||
path = path + fieldName;
|
||||
traverseJson(jsonTree[fieldName], descriptionCallback, path);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Traverses schema json files looking for "description" fields to localized.
|
||||
// The path to the "description" field is used to create a localization key.
|
||||
const processJsonSchemaFiles = () => {
|
||||
return es.through(function (file) {
|
||||
let jsonTree = JSON.parse(file.contents.toString());
|
||||
let localizationJsonContents = {};
|
||||
let filePath = removePathPrefix(file.path, file.cwd);
|
||||
let localizationMetadataContents = {
|
||||
messages: [],
|
||||
keys: [],
|
||||
filePath: filePath
|
||||
};
|
||||
let descriptionCallback = (path, value, parent) => {
|
||||
let locId = filePath + "." + path;
|
||||
localizationJsonContents[locId] = value;
|
||||
localizationMetadataContents.keys.push(locId);
|
||||
localizationMetadataContents.messages.push(value);
|
||||
};
|
||||
traverseJson(jsonTree, descriptionCallback, "");
|
||||
this.queue(new vinyl({
|
||||
path: path.join(file.path + '.nls.json'),
|
||||
contents: Buffer.from(JSON.stringify(localizationJsonContents, null, '\t'), 'utf8')
|
||||
}));
|
||||
this.queue(new vinyl({
|
||||
path: path.join(file.path + '.nls.metadata.json'),
|
||||
contents: Buffer.from(JSON.stringify(localizationMetadataContents, null, '\t'), 'utf8')
|
||||
}));
|
||||
});
|
||||
};
|
||||
|
||||
gulp.task("translations-export", (done) => {
|
||||
|
||||
// Transpile the TS to JS, and let vscode-nls-dev scan the files for calls to localize.
|
||||
let jsStream = tsProject.src()
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(tsProject()).js
|
||||
.pipe(nls.createMetaDataFiles());
|
||||
|
||||
// Scan html files for tags with the data-loc-id attribute
|
||||
let htmlStream = gulp.src(htmlFilesPatterns)
|
||||
.pipe(processHtmlFiles());
|
||||
|
||||
let jsonSchemaStream = gulp.src(jsonSchemaFilesPatterns)
|
||||
.pipe(processJsonSchemaFiles());
|
||||
|
||||
// Merge files from all source streams
|
||||
es.merge(jsStream, htmlStream, jsonSchemaStream)
|
||||
|
||||
// Filter down to only the files we need
|
||||
.pipe(filter(['**/*.nls.json', '**/*.nls.metadata.json']))
|
||||
|
||||
// Consoldate them into nls.metadata.json, which the xlf is built from.
|
||||
.pipe(nls.bundleMetaDataFiles('ms-vscode.cpptools', '.'))
|
||||
|
||||
// filter down to just the resulting metadata files
|
||||
.pipe(filter(['**/nls.metadata.header.json', '**/nls.metadata.json']))
|
||||
|
||||
// Add package.nls.json, used to localized package.json
|
||||
.pipe(gulp.src(["package.nls.json"]))
|
||||
|
||||
// package.nls.json and nls.metadata.json are used to generate the xlf file
|
||||
// Does not re-queue any files to the stream. Outputs only the XLF file
|
||||
.pipe(nls.createXlfFiles(translationProjectName, translationExtensionName))
|
||||
.pipe(gulp.dest(path.join("..", `${translationProjectName}-localization-export`)))
|
||||
.pipe(es.wait(() => {
|
||||
done();
|
||||
}));
|
||||
});
|
||||
|
||||
|
||||
// ****************************
|
||||
// Command: translations-import
|
||||
// The following is used to import an XLF file containing all language strings.
|
||||
// This results in a i18n directory, which should be checked in.
|
||||
// ****************************
|
||||
|
||||
// Imports translations from raw localized MLCP strings to VS Code .i18n.json files
|
||||
gulp.task("translations-import", (done) => {
|
||||
let options = minimist(process.argv.slice(2), {
|
||||
string: "location",
|
||||
default: {
|
||||
location: "../vscode-translations-import"
|
||||
}
|
||||
});
|
||||
es.merge(languages.map((language) => {
|
||||
let id = language.transifexId || language.id;
|
||||
return gulp.src(path.join(options.location, id, translationProjectName, `${translationExtensionName}.xlf`))
|
||||
.pipe(nls.prepareJsonFiles())
|
||||
.pipe(gulp.dest(path.join("./i18n", language.folderName)));
|
||||
}))
|
||||
.pipe(es.wait(() => {
|
||||
done();
|
||||
}));
|
||||
});
|
||||
|
||||
|
||||
// ****************************
|
||||
// Command: translations-generate
|
||||
// The following is used to import an i18n directory structure and generate files used at runtime.
|
||||
// ****************************
|
||||
|
||||
// Generate package.nls.*.json files from: ./i18n/*/package.i18n.json
|
||||
// Outputs to root path, as these nls files need to be along side package.json
|
||||
const generateAdditionalLocFiles = () => {
|
||||
return gulp.src(['package.nls.json'])
|
||||
.pipe(nls.createAdditionalLanguageFiles(languages, 'i18n'))
|
||||
.pipe(gulp.dest('.'));
|
||||
};
|
||||
|
||||
// Generates ./dist/nls.bundle.<language_id>.json from files in ./i18n/** *//<src_path>/<filename>.i18n.json
|
||||
// Localized strings are read from these files at runtime.
|
||||
const generateSrcLocBundle = () => {
|
||||
// Transpile the TS to JS, and let vscode-nls-dev scan the files for calls to localize.
|
||||
return tsProject.src()
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(tsProject()).js
|
||||
.pipe(nls.createMetaDataFiles())
|
||||
.pipe(nls.createAdditionalLanguageFiles(languages, "i18n"))
|
||||
.pipe(nls.bundleMetaDataFiles('ms-vscode.cpptools', 'dist'))
|
||||
.pipe(nls.bundleLanguageFiles())
|
||||
.pipe(filter(['**/nls.bundle.*.json', '**/nls.metadata.header.json', '**/nls.metadata.json']))
|
||||
.pipe(gulp.dest('dist'));
|
||||
};
|
||||
|
||||
const generateLocalizedHtmlFiles = () => {
|
||||
return es.through(function (file) {
|
||||
let relativePath = removePathPrefix(file.path, file.cwd);
|
||||
languages.map((language) => {
|
||||
let stringTable = {};
|
||||
// Try to open i18n file for this file
|
||||
let relativePath = removePathPrefix(file.path, file.cwd);
|
||||
let locFile = path.join("./i18n", language.folderName, relativePath + ".i18n.json");
|
||||
if (fs.existsSync(locFile)) {
|
||||
stringTable = jsonc.parse(fs.readFileSync(locFile).toString());
|
||||
}
|
||||
// Entire file is scanned and modified, then serialized for that language.
|
||||
// Even if no translations are available, we still write new files to dist/html/...
|
||||
|
||||
// Rewrite child nodes to fill in {0}, {1}, etc., in localized string.
|
||||
let nodeCallback = (locId, node) => {
|
||||
let locString = stringTable[locId];
|
||||
if (locString) {
|
||||
let nonTextChildNodes = node.childNodes.filter(childNode => childNode.nodeName != "#text");
|
||||
let textParts = locString.split(/\{[0-9]+\}/);
|
||||
let matchParts = locString.match(/\{[0-9]+\}/g);
|
||||
let newChildNodes = [];
|
||||
let i = 0;
|
||||
for (; i < textParts.length - 1; i ++) {
|
||||
if (textParts[i] != "") {
|
||||
newChildNodes.push({ nodeName: "#text", value: textParts[i]});
|
||||
}
|
||||
let childIndex = matchParts[i].match(/[0-9]+/);
|
||||
newChildNodes.push(nonTextChildNodes[childIndex]);
|
||||
}
|
||||
if (textParts[i] != "") {
|
||||
newChildNodes.push({ nodeName: "#text", value: textParts[i]});
|
||||
}
|
||||
node.childNodes = newChildNodes;
|
||||
}
|
||||
};
|
||||
let attributeCallback = (locId, attribute) => {
|
||||
let value = stringTable[locId];
|
||||
if (value) {
|
||||
attribute.value = value;
|
||||
}
|
||||
};
|
||||
let htmlTree = traverseHtml(file.contents.toString(), nodeCallback, attributeCallback);
|
||||
let newContent = parse5.serialize(htmlTree);
|
||||
this.queue(new vinyl({
|
||||
path: path.join("html", language.id, relativePath),
|
||||
contents: Buffer.from(newContent, 'utf8')
|
||||
}));
|
||||
});
|
||||
|
||||
// Special case - put the original in an 'en' directory to simplify referring code
|
||||
this.queue(new vinyl({
|
||||
path: path.join("html/en/", relativePath),
|
||||
contents: file.contents
|
||||
}));
|
||||
});
|
||||
};
|
||||
|
||||
// Generate localized versions of HTML files
|
||||
// Check for cooresponding localized json file in i18n
|
||||
// Generate new version of the HTML file in dist/html/<language_id>/<path>
|
||||
const generateHtmlLoc = () => {
|
||||
return gulp.src(htmlFilesPatterns)
|
||||
.pipe(generateLocalizedHtmlFiles())
|
||||
.pipe(gulp.dest('dist'));
|
||||
};
|
||||
|
||||
const generateLocalizedJsonSchemaFiles = () => {
|
||||
return es.through(function (file) {
|
||||
let jsonTree = JSON.parse(file.contents.toString());
|
||||
languages.map((language) => {
|
||||
let stringTable = {};
|
||||
// Try to open i18n file for this file
|
||||
let relativePath = removePathPrefix(file.path, file.cwd);
|
||||
let locFile = path.join("./i18n", language.folderName, relativePath + ".i18n.json");
|
||||
if (fs.existsSync(locFile)) {
|
||||
stringTable = jsonc.parse(fs.readFileSync(locFile).toString());
|
||||
}
|
||||
// Entire file is scanned and modified, then serialized for that language.
|
||||
// Even if no translations are available, we still write new files to dist/schema/...
|
||||
let keyPrefix = relativePath + ".";
|
||||
keyPrefix = keyPrefix.replace(/\\/g, "/");
|
||||
let descriptionCallback = (path, value, parent) => {
|
||||
if (stringTable[keyPrefix + path]) {
|
||||
parent.description = stringTable[keyPrefix + path];
|
||||
}
|
||||
};
|
||||
traverseJson(jsonTree, descriptionCallback, "");
|
||||
let newContent = JSON.stringify(jsonTree, null, '\t');
|
||||
this.queue(new vinyl({
|
||||
path: path.join("schema", language.id, relativePath),
|
||||
contents: Buffer.from(newContent, 'utf8')
|
||||
}));
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// Generate localized versions of JSON schema files
|
||||
// Check for cooresponding localized json file in i18n
|
||||
// Generate new version of the JSON schema file in dist/schema/<language_id>/<path>
|
||||
const generateJsonSchemaLoc = () => {
|
||||
return gulp.src(jsonSchemaFilesPatterns)
|
||||
.pipe(generateLocalizedJsonSchemaFiles())
|
||||
.pipe(gulp.dest('dist'));
|
||||
};
|
||||
|
||||
gulp.task('translations-generate', gulp.series(generateSrcLocBundle, generateAdditionalLocFiles, generateHtmlLoc, generateJsonSchemaLoc));
|
||||
|
||||
|
||||
// ****************************
|
||||
// Command: generate-native-strings
|
||||
// The following is used to generate nativeStrings.ts and localized_string_ids.h from ./src/nativeStrings.json
|
||||
// If adding localized strings to the native side, start by adding it to nativeStrings.json and use this to generate the others.
|
||||
// ****************************
|
||||
|
||||
// A gulp task to parse ./src/nativeStrings.json and generate nativeStrings.ts, and localized_string_ids.h
|
||||
gulp.task("generate-native-strings", (done) => {
|
||||
const stringTable = jsonc.parse(fs.readFileSync('./src/nativeStrings.json').toString());
|
||||
|
||||
let nativeEnumContent = ""
|
||||
let nativeStringTableContent = "";
|
||||
let typeScriptSwitchContent = "";
|
||||
|
||||
let stringIndex = 1;
|
||||
for (let property in stringTable) {
|
||||
let stringName = property;
|
||||
let stringValue = stringTable[property];
|
||||
|
||||
// Add to native enum
|
||||
nativeEnumContent += ` ${property} = ${stringIndex},\n`;
|
||||
|
||||
// Add to native string table
|
||||
nativeStringTableContent += ` ${JSON.stringify(stringTable[property])},\n`;
|
||||
|
||||
// Add to TypeScript switch
|
||||
// Skip empty strings, which can be used to prevent enum/index reordering
|
||||
if (stringTable[property] != "") {
|
||||
// It's possible that a translation may skip "{#}" entries, so check for up to 20 of them.
|
||||
let numArgs = 0;
|
||||
for (let i = 0; i < 20; i++) {
|
||||
if (stringValue.includes(`{${i}}`)) {
|
||||
numArgs = i + 1;
|
||||
}
|
||||
}
|
||||
typeScriptSwitchContent += ` case ${stringIndex}:\n`;
|
||||
if (numArgs != 0) {
|
||||
typeScriptSwitchContent += ` if (!stringArgs) {\n`;
|
||||
typeScriptSwitchContent += ` break;\n`;
|
||||
typeScriptSwitchContent += ` }\n`;
|
||||
}
|
||||
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringTable[property])}`;
|
||||
for (let i = 0; i < numArgs; i++) {
|
||||
typeScriptSwitchContent += `, stringArgs[${i}]`;
|
||||
}
|
||||
typeScriptSwitchContent += ");\n break;\n";
|
||||
}
|
||||
++stringIndex;
|
||||
};
|
||||
|
||||
let typeScriptContent = `/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as nls from 'vscode-nls';
|
||||
|
||||
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
|
||||
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
|
||||
|
||||
export function lookupString(stringId: number, stringArgs?: string[]): string {
|
||||
let message: string = "";
|
||||
switch (stringId) {
|
||||
case 0:
|
||||
// Special case for blank string
|
||||
break;
|
||||
${typeScriptSwitchContent}
|
||||
default:
|
||||
console.assert(\"Unrecognized string ID\");
|
||||
break;
|
||||
}
|
||||
return message;
|
||||
}
|
||||
`;
|
||||
console.log("Writing file: ./src/nativeStrings.ts");
|
||||
fs.writeFileSync("./src/nativeStrings.ts", typeScriptContent, 'utf8');
|
||||
|
||||
let nativeContents = `/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
|
||||
|
||||
#pragma once
|
||||
|
||||
enum class localized_string_id
|
||||
{
|
||||
blank = 0,
|
||||
${nativeEnumContent}};
|
||||
|
||||
inline static const char *localizable_strings[] = {
|
||||
"",
|
||||
${nativeStringTableContent}};
|
||||
`;
|
||||
|
||||
console.log("Writing file: localized_string_ids.h -- If changed, copy to VS repo: src/vc/designtime/vscode/Common/generated/");
|
||||
fs.writeFileSync("localized_string_ids.h", nativeContents, 'utf8');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.name": "配置标识符。Mac、Linux 和 Win32 是将在这些平台上自动选定的特殊配置标识符,但标识符可为任何内容。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerPath": "正在使用以便启用更准确的 IntelliSense 的编译器的完整路径,例如 /usr/bin/gcc。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用于修改所使用的包含或定义的编译器参数,例如 -nostdinc++、-m32 等。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "用于 IntelliSense 的 C 语言标准的版本。注意: GNU 标准仅用于查询设置用来获取 GNU 定义的编译器,并且 IntelliSense 将模拟等效的 C 标准版本。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "用于 IntelliSense 的 C++ 语言标准的版本。注意: GNU 标准仅用于查询设置用来获取 GNU 定义的编译器,并且 IntelliSense 将模拟等效的 C++ 标准版本。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "工作区的 compile_commands.json 文件的完整路径。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "IntelliSense 在搜索包含的标头时要使用的路径列表。不按递归方式搜索这些路径。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Intellisense 引擎在 Mac 框架中搜索包含的标头时要使用的路径的列表。仅在 Mac 配置中受支持。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "要在 Windows 上使用的 Windows SDK 包含路径的版本,例如 \"10.0.17134.0\"。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "分析文件时 IntelliSense 引擎要使用的预处理器定义的列表。(可选)使用 = 设置值,例如 VERSION=1。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.intelliSenseMode": "要使用的 IntelliSense 模式,该模式映射到 MSVC、gcc 或 Clang 的体系结构专属变体。如果未设置或设置为 ${default},则扩展将选择该平台的默认值。Windows 默认为 msvc-x64,Linux 默认为 gcc-x64,macOS 默认为 clang-x64。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.forcedInclude": "应在翻译单元中包括在任何包含文件之前的文件的列表。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "可为源文件提供 IntelliSense 配置信息的 VS Code 扩展的 ID。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "如果为 true,则仅处理以标头形式直接或间接包含的文件;如果为 false,则处理指定的包含路径下的所有文件。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "所生成的符号数据库的路径。如果指定了相对路径,则它将相对于工作区的默认存储位置。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "标记分析器在搜索包含的标头时要使用的路径列表。默认情况下,按递归方式搜索这些路径。指定 \"*\" 可指示非递归搜索。例如: \"/usr/include\" 将搜索所有子目录,而 \"/usr/include/*\" 将不搜索所有子目录。",
|
||||
"c_cpp_properties.schema.json.definitions.env": "可通过 ${变量} 或 ${env:变量} 语法在此文件中的任意位置重用的自定义变量。",
|
||||
"c_cpp_properties.schema.json.definitions.version": "配置文件的版本。此属性由扩展托管。请勿更改它。",
|
||||
"c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "控制扩展是否报告在 c_cpp_properties.json 中检测到的错误。"
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c_cpp.command.configurationSelect.title": "选择配置...",
|
||||
"c_cpp.command.configurationProviderSelect.title": "更改配置提供程序...",
|
||||
"c_cpp.command.configurationEditJSON.title": "编辑配置(JSON)",
|
||||
"c_cpp.command.configurationEditUI.title": "编辑配置(UI)",
|
||||
"c_cpp.command.switchHeaderSource.title": "切换标头/源",
|
||||
"c_cpp.command.enableErrorSquiggles.title": "启用错误波形曲线",
|
||||
"c_cpp.command.disableErrorSquiggles.title": "禁用错误波形曲线",
|
||||
"c_cpp.command.toggleIncludeFallback.title": "在包含错误上切换 IntelliSense 引擎回退",
|
||||
"c_cpp.command.toggleDimInactiveRegions.title": "切换非活动区域着色",
|
||||
"c_cpp.command.resetDatabase.title": "重置 IntelliSense 数据库",
|
||||
"c_cpp.command.takeSurvey.title": "参加调查",
|
||||
"c_cpp.command.buildAndDebugActiveFile.title": "生成和调试活动文件",
|
||||
"c_cpp.command.logDiagnostics.title": "日志诊断",
|
||||
"c_cpp.command.referencesViewGroupByType.title": "按引用类型分组",
|
||||
"c_cpp.command.referencesViewUngroupByType.title": "取消按引用类型分组",
|
||||
"c_cpp.command.rescanWorkspace.title": "重新扫描工作区",
|
||||
"c_cpp.command.vcpkgClipboardInstallSuggested.title": "将 vcpkg 安装命令复制到剪贴板",
|
||||
"c_cpp.command.vcpkgOnlineHelpSuggested.title": "访问 vcpkg 帮助页",
|
||||
"c_cpp.configuration.clang_format_path.description": "clang-format 可执行文件的完整路径。如果未指定,并且 Clang 格式在环境路径中可用,则使用 Clang 格式。如果在环境路径中找不到 Clang 格式,则将使用与该扩展绑定的 clang-format 的副本。",
|
||||
"c_cpp.configuration.clang_format_style.description": "编码样式,当前支持: Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit。使用 \"file\" 从当前目录或父目录中的 .clang 格式文件中加载样式。使用 {键: 值, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All }",
|
||||
"c_cpp.configuration.clang_format_fallbackStyle.description": "如果使用样式 \"file\" 调用 clang 格式但是找不到 .clang-format 文件,则使用预定义的样式的名称作为回退。可能的值为 Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit、none,或使用 {键: 值, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }",
|
||||
"c_cpp.configuration.clang_format_sortIncludes.description": "如果已设置,则重写由 SortIncludes 参数确定的包含排序行为。",
|
||||
"c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供程序。“标记分析器”提供非上下文感知的“模糊”结果。“默认”提供上下文感知结果。“已禁用”将关闭 C/C++ 语言服务功能。",
|
||||
"c_cpp.configuration.intelliSenseEngineFallback.description": "控制 IntelliSense 引擎是否自动切换到包含 #include 错误的翻译单元的标记分析器。",
|
||||
"c_cpp.configuration.autocomplete.description": "控制自动完成提供程序。“默认”使用活动 IntelliSense 引擎。“已禁用”使用由 Visual Studio Code 提供的基于单词的完成。",
|
||||
"c_cpp.configuration.errorSquiggles.description": "控制是否向编辑器回传 IntelliSense 引擎检测到的可疑编译错误。标记分析器引擎会忽略此设置。",
|
||||
"c_cpp.configuration.dimInactiveRegions.description": "控制非活动预处理程序块的颜色是否与活动代码不同。如果禁用了 IntelliSense 或使用“默认高对比度”主题,则此设置不起任何作用。",
|
||||
"c_cpp.configuration.inactiveRegionOpacity.description": "控制非活动预处理程序块的不透明度。介于 0.1 和 1.0 之间。此设置仅在启用了非活动区域变暗时适用。",
|
||||
"c_cpp.configuration.inactiveRegionForegroundColor.description": "控制非活动预处理程序块的字体颜色。输入的格式为十六进制颜色代码或有效的主题颜色。如果未设置,则默认为编辑器的语法颜色方案。此设置仅在启用非活动区域变暗时适用。",
|
||||
"c_cpp.configuration.inactiveRegionBackgroundColor.description": "控制非活动预处理程序块的背景颜色。输入的格式为十六进制颜色代码或有效的主题颜色。如果未设置,则默认为透明。此设置仅在启用了非活动区域变暗时适用。",
|
||||
"c_cpp.configuration.formatting.description": "“默认”启用代码格式设置。“已禁用”禁用代码格式设置。",
|
||||
"c_cpp.configuration.loggingLevel.description": "输出面板中日志记录的详细程度。从最低详细程度到最高详细程度的顺序为: None < Error < Warning < Information < Debug.",
|
||||
"c_cpp.configuration.autoAddFileAssociations.description": "控制当文件是来自 C/C++ 文件的导航操作的目标时,是否将文件自动添加到 files.associations。",
|
||||
"c_cpp.configuration.workspaceParsingPriority.description": "控制在分析非活动工作区文件时是否使用休眠以避免 CPU 使用率达到 100%。最高/高/中等/低的值约对应于 100/75/50/25% 的 CPU 使用率。",
|
||||
"c_cpp.configuration.workspaceSymbols.description": "调用“转到工作区中的符号”时要包含在查询结果中的符号",
|
||||
"c_cpp.configuration.exclusionPolicy.description": "在遍历 \"browse.path\" 数组中的路径并确定应将哪些文件添加到代码导航数据库中时,指示扩展何时使用 \"files.exclude\" 设置。\"checkFolders\" 表示仅为每个文件夹评估一次排除筛选器(不检查单个文件)。\"checkFilesAndFolders\" 表示将对遇到的每个文件和文件夹评估排除筛选器。如果 \"files.exclude\" 设置仅包含文件夹,则 \"checkFolders\" 是最佳选择,可提高扩展对代码导航数据库执行初始化的速度。",
|
||||
"c_cpp.configuration.preferredPathSeparator.description": "要作为 #include 自动完成结果的路径分隔符使用的字符。",
|
||||
"c_cpp.configuration.commentContinuationPatterns.items.anyof.string.description": "开启一个多行或单行注释块的模式。多行注释块的延续模式默认为 \"*\",单行注释块的延续模式默认为此字符串。",
|
||||
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.begin.description": "开启一个多行或单行注释块的模式。",
|
||||
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.continue.description": "在多行或单行注释块内按下 Enter 键时要插入到下一行的文本。",
|
||||
"c_cpp.configuration.commentContinuationPatterns.description": "定义在多行或单行注释块内按下 Enter 键时的编辑器行为。",
|
||||
"c_cpp.configuration.configurationWarnings.description": "确定在配置提供程序扩展无法提供源文件配置时是否显示弹出通知。",
|
||||
"c_cpp.configuration.intelliSenseCachePath.description": "为 IntelliSense 使用的缓存预编译标头定义文件夹路径。Windows 上的默认缓存路径为 \"%LocalAppData%/Microsoft/vscode-cpptools\",Linux 上为 \"$XDG_CACHE_HOME/vscode-cpptools/\" (若未定义 XDG_CACHE_HOME,则为 \"$HOME/.cache/vscode-cpptools/\"),Mac 上为 \"$HOME/Library/Caches/vscode-cpptools/\"。如果未指定路径或指定的路径无效,则使用默认路径。",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "缓存的预编译标头的每个工作区硬盘驱动器空间的最大大小(MB);实际使用量可能在此值上下波动。默认大小为 5120 MB。当大小为 0 时,预编译的标头缓存将被禁用。",
|
||||
"c_cpp.configuration.default.includePath.description": "未指定 \"includePath\" 时要在配置中使用的值,或 \"includePath\" 中存在 \"${default}\" 时要插入的值。",
|
||||
"c_cpp.configuration.default.defines.description": "未指定 \"defines\" 时要在配置中使用的值,或 \"defines\" 中存在 \"${default}\" 时要插入的值。",
|
||||
"c_cpp.configuration.default.macFrameworkPath.description": "未指定 \"macFrameworkPath\" 时要在配置中使用的值,或 \"macFrameworkPath\" 中存在 \"${default}\" 时要插入的值。",
|
||||
"c_cpp.configuration.default.windowsSdkVersion.description": "要在 Windows 上使用的 Windows SDK 包含路径的版本,例如 \"10.0.17134.0\"。",
|
||||
"c_cpp.configuration.default.compileCommands.description": "未指定 \"compileCommands\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
|
||||
"c_cpp.configuration.default.forcedInclude.description": "未指定 \"forcedInclude\" 时要在配置中使用的值,或 \"forcedInclude\" 中存在 \"${default}\" 时要插入的值。",
|
||||
"c_cpp.configuration.default.intelliSenseMode.description": "未指定 \"intelliSenseMode\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
|
||||
"c_cpp.configuration.default.compilerPath.description": "未指定 \"compilerPath\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
|
||||
"c_cpp.configuration.default.compilerArgs.description": "未指定 \"compilerArgs\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
|
||||
"c_cpp.configuration.default.cStandard.description": "未指定 \"cStandard\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
|
||||
"c_cpp.configuration.default.cppStandard.description": "未指定 \"cppStandard\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
|
||||
"c_cpp.configuration.default.configurationProvider.description": "未指定 \"configurationProvider\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
|
||||
"c_cpp.configuration.default.browse.path.description": "未指定 \"browse. path\" 时要在配置中使用的值,或 \"browse.path\" 中存在 \"${default}\" 时要插入的值。",
|
||||
"c_cpp.configuration.default.browse.databaseFilename.description": "未指定 \"browse.databaseFilename\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
|
||||
"c_cpp.configuration.default.browse.limitSymbolsToIncludedHeaders.description": "未指定 \"browse.limitSymbolsToIncludedHeaders\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
|
||||
"c_cpp.configuration.default.systemIncludePath.description": "要用于系统包含路径的值。如果已设置,它会覆盖通过 \"compilerPath\" 和 \"compileCommands\" 设置获取的系统包含路径。",
|
||||
"c_cpp.configuration.default.enableConfigurationSquiggles.description": "控制扩展是否报告在 c_cpp_properties.json 中检测到的错误。",
|
||||
"c_cpp.configuration.updateChannel.description": "设置为“预览体验”以自动下载并安装扩展的最新预览体验版本,其中包括即将推出的功能和 bug 修复。",
|
||||
"c_cpp.configuration.experimentalFeatures.description": "控制“实验性”功能是否可用。",
|
||||
"c_cpp.configuration.suggestSnippets.description": "如果为 true,则由语言服务器提供片段。",
|
||||
"c_cpp.configuration.enhancedColorization.description": "如果启用了 IntelliSense,则基于 IntelliSense 对代码进行着色。如果禁用了 IntelliSense 或使用默认高对比度主题,则此设置不起任何作用。",
|
||||
"c_cpp.configuration.codeFolding.description": "如果启用,则由语言服务器提供代码折叠范围。",
|
||||
"c_cpp.configuration.vcpkg.enabled.markdownDescription": "为 [vcpkg 依赖关系管理器] 启用集成服务(https://aka.ms/vcpkg/)。",
|
||||
"c_cpp.configuration.renameRequiresIdentifier.description": "如果为 true,则“重命名符号”将需要有效的 C/C++ 标识符。",
|
||||
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "如果为 true,调试程序 shell 命令替换将使用过时的反引号(`)",
|
||||
"c_cpp.contributes.views.cppReferencesView.title": "C/C++: 其他引用结果",
|
||||
"c_cpp.debuggers.pipeTransport.description": "如果存在,这会指示调试程序使用其他可执行文件作为管道来连接到远程计算机,此管道将在 VS Code 和已启用 MI 的调试程序后端可执行文件(如 gdb)之间中继标准输入/输入。",
|
||||
"c_cpp.debuggers.pipeTransport.default.pipeProgram": "输入管道程序名称的完全限定路径,例如 \"/usr/bin/ssh\"",
|
||||
"c_cpp.debuggers.pipeTransport.default.debuggerPath": "目标计算机上调试程序的完整路径,例如 /usr/bin/gdb。",
|
||||
"c_cpp.debuggers.pipeTransport.debuggerPath.description": "目标计算机上调试程序的完整路径,例如 /usr/bin/gdb。",
|
||||
"c_cpp.debuggers.pipeTransport.pipeCwd.description": "管道程序工作目录的完全限定的路径。",
|
||||
"c_cpp.debuggers.pipeTransport.pipeProgram.description": "要执行的完全限定的管道命令。",
|
||||
"c_cpp.debuggers.pipeTransport.pipeArgs.description": "传递给管道程序配置连接的命令行参数。",
|
||||
"c_cpp.debuggers.pipeTransport.pipeEnv.description": "传递给程序的环境变量。",
|
||||
"c_cpp.debuggers.logging.description": "用于确定应将哪些类型的消息记录到调试控制台的可选标志。",
|
||||
"c_cpp.debuggers.logging.exceptions.description": "用于确定是否应将异常消息记录到调试控制台的可选标志。默认为 true。",
|
||||
"c_cpp.debuggers.logging.moduleLoad.description": "用于确定是否应将模块加载事件记录到调试控制台的可选标志。默认为 true。",
|
||||
"c_cpp.debuggers.logging.programOutput.description": "用于确定是否应将程序输出记录到调试控制台的可选标志。默认为 true。",
|
||||
"c_cpp.debuggers.logging.engineLogging.description": "用于确定是否应将诊断调试引擎消息记录到调试控制台的可选标志。默认为 false。",
|
||||
"c_cpp.debuggers.logging.trace.description": "用于确定是否应将诊断适配器命令跟踪记录到调试控制台的可选标志。默认为 false。",
|
||||
"c_cpp.debuggers.logging.traceResponse.description": "用于确定是否应将诊断适配器命令和响应跟踪记录到调试控制台的可选标志。默认为 false。",
|
||||
"c_cpp.debuggers.text.description": "要执行的调试命令。",
|
||||
"c_cpp.debuggers.description.description": "此命令的可选说明。",
|
||||
"c_cpp.debuggers.ignoreFailures.description": "如果为 true,应忽略此命令的失败。默认值为 false。",
|
||||
"c_cpp.debuggers.program.description": "程序可执行文件的完整路径。",
|
||||
"c_cpp.debuggers.args.description": "传递给程序的命令行参数。",
|
||||
"c_cpp.debuggers.cppdbg.type.description": "引擎的类型。必须为 \"cppdbg\"。",
|
||||
"c_cpp.debuggers.cppvsdbg.type.description": "引擎的类型。必须为 \"cppvsdbg\"。",
|
||||
"c_cpp.debuggers.targetArchitecture.description": "调试对象的体系结构。如果未设置此参数,将进行自动检测。允许的值有 x86、arm、arm64、mips、x64、amd64、x86_64。",
|
||||
"c_cpp.debuggers.cwd.description": "目标的工作目录",
|
||||
"c_cpp.debuggers.setupCommands.description": "为了安装基础调试程序而执行的一个或多个 GDB/LLDB 命令。示例: \"setupCommands\": [ { \"text\": \"-enable-pretty-printing\", \"description\": \"Enable GDB pretty printing\", \"ignoreFailures\": true }]。",
|
||||
"c_cpp.debuggers.customLaunchSetupCommands.description": "如果已提供,将使用其他命令替换用于启动目标的默认命令。例如,附加到目标进程的命令可以为 \"-target-attach\"。如果是空命令列表,将不会用任何内容替换启动命令。此功能可在向调试程序提供启动选项作为命令行选项时很有用。示例: \"customLaunchSetupCommands\": [ { \"text\": \"target-run\", \"description\": \"run target\", \"ignoreFailures\": false }]。",
|
||||
"c_cpp.debuggers.launchCompleteCommand.description": "调试程序完全安装后,为了使目标进程运行而执行的命令。允许的值为 \"exec-run\"、\"exec-continue\"、\"None\"。默认值为 \"exec-run\"。",
|
||||
"c_cpp.debuggers.cppdbg.visualizerFile.description": "调试此进程时要使用的 .natvis 文件。此选项与 GDB 整齐打印不兼容。如果使用此设置,请同时查看 \"showDisplayString\"。",
|
||||
"c_cpp.debuggers.cppvsdbg.visualizerFile.description": "调试此进程时要使用的 .natvis 文件。",
|
||||
"c_cpp.debuggers.showDisplayString.description": "指定了 visualizerFile 时,showDisplayString 将启用显示字符串。启用此选项可能会导致调试期间的性能下降。",
|
||||
"c_cpp.debuggers.environment.description": "要添加到程序环境的环境变量。示例: [ { \"name\": \"squid\", \"value\": \"clam\" } ]。",
|
||||
"c_cpp.debuggers.envFile.description": "包含环境变量定义的文件的绝对路径。此文件具有每行由等号分隔的键值对。例如: 键=值",
|
||||
"c_cpp.debuggers.additionalSOLibSearchPath.description": "要用于搜索 .so 文件的目录列表(以分号分隔)。示例: \"c:\\dir1;c:\\dir2\"。",
|
||||
"c_cpp.debuggers.MIMode.description": "指示 MIDebugEngine 要连接到的控制台调试程序。允许的值为 \"gdb\"、\"lldb\"。",
|
||||
"c_cpp.debuggers.miDebuggerPath.description": "MI 调试程序(如 gdb)的路径。如果未指定,将首先在路径中搜索调试程序。",
|
||||
"c_cpp.debuggers.miDebuggerArgs.description": "MI 调试程序(如 gdb)的其他参数。",
|
||||
"c_cpp.debuggers.miDebuggerServerAddress.description": "要连接到的 MI 调试程序服务器的网络地址(示例: localhost:1234)。",
|
||||
"c_cpp.debuggers.stopAtEntry.description": "可选参数。如果为 true,则调试程序应在目标的入口点处停止。如果传递了 processId,则不起任何作用。",
|
||||
"c_cpp.debuggers.debugServerPath.description": "要启动的调试服务器的可选完整路径。默认为 null。",
|
||||
"c_cpp.debuggers.debugServerArgs.description": "可选调试服务器参数。默认为 null。",
|
||||
"c_cpp.debuggers.serverStarted.description": "要在调试服务器输出中查找的可选服务器启动模式。默认为 null。",
|
||||
"c_cpp.debuggers.filterStdout.description": "在 stdout 流中搜索服务器启动模式,并将 stdout 记录到默认输出。默认为 true。",
|
||||
"c_cpp.debuggers.filterStderr.description": "在 stderr 流中搜索服务器启动模式,并将 stderr 记录到调试输出。默认为 false。",
|
||||
"c_cpp.debuggers.serverLaunchTimeout.description": "调试程序等待 debugServer 启动的可选时间(毫秒)。默认为 10000。",
|
||||
"c_cpp.debuggers.coreDumpPath.description": "指定程序的核心转储文件的可选完整路径。默认为 null。",
|
||||
"c_cpp.debuggers.cppdbg.externalConsole.description": "如果为 true,则为调试对象启动控制台。如果为 false,它在 Linux 和 Windows 上会显示在集成控制台中。",
|
||||
"c_cpp.debuggers.cppvsdbg.externalConsole.description": "如果为 true,将为调试对象启动控制台。如果为 false,将不启动任何控制台。",
|
||||
"c_cpp.debuggers.avoidWindowsConsoleRedirection.description": "如果为 true,则禁用集成终端支持所需的调试对象控制台重定向。",
|
||||
"c_cpp.debuggers.sourceFileMap.description": "传递到调试引擎的可选源文件映射。示例: \"{ \"/original/source/path\":\"/current/source/path\" }\"",
|
||||
"c_cpp.debuggers.processId.anyOf.description": "要将调试程序附加到的可选进程 ID。使用 \"${command:pickProcess}\" 获取要附加到的本地运行进程的列表。请注意,一些平台需要管理员权限才能附加到进程。",
|
||||
"c_cpp.debuggers.symbolSearchPath.description": "用于搜索符号(即 pdb)文件的目录列表(以分号分隔)。示例: \"c:\\dir1;c:\\dir2\"。",
|
||||
"c_cpp.debuggers.dumpPath.description": "指定程序的转储文件的可选完整路径。例如: \"c:\\temp\\app.dmp\"。默认为 null。",
|
||||
"c_cpp.debuggers.enableDebugHeap.description": "如果为 false,将在禁用调试堆的情况下启动该进程。这会将环境变量 \"_NO_DEBUG_HEAP\" 设置为 \"1\"。",
|
||||
"c_cpp.debuggers.symbolLoadInfo.description": "对符号加载的显式控制。",
|
||||
"c_cpp.debuggers.symbolLoadInfo.loadAll.description": "如果为 true,则将加载所有 lib 的符号;否则不加载任何 solib 符号。默认值为 true。",
|
||||
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "以分号 \";\" 分隔的文件名列表(允许使用通配符)。修改 LoadAll 的行为。如果 LoadAll 为 true,则不加载与列表中任何名称匹配的 lib 的符号。否则,仅为匹配的 lib 加载符号。示例: \"foo.so;bar.so\"",
|
||||
"c_cpp.debuggers.requireExactSource.description": "可选标志,用于要求当前源代码与 pdb 匹配。"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"ignoring.lines.in.envfile": "忽略 {0} {1} 中不可分析的行:"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"refresh.process.list.tooltip": "刷新进程列表",
|
||||
"attach.to.process": "附加到进程",
|
||||
"select.process.attach": "选择要附加到的进程",
|
||||
"process.not.selected": "未选择进程。"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"no.pipetransport": "所选的调试配置不包含 {0}",
|
||||
"select.process.attach": "选择要附加到的进程",
|
||||
"process.not.selected": "未选择进程。",
|
||||
"pipe.failed": "管道传输未能获取 OS 和进程。",
|
||||
"no.process.list": "传输附加无法获取进程列表。"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"default.configuration.menuitem": "默认配置",
|
||||
"select.configuration": "选择配置",
|
||||
"cl.exe.not.available": "仅当从 VS 开发人员命令提示符处运行 VS Code 时,{0} 生成和调试才可用。",
|
||||
"debugger.not.available": "类型为“{0}”的调试程序仅在 Windows 上可用。在当前 OS 平台上使用类型“{1}”。",
|
||||
"lldb.framework.install.xcode": "详细信息",
|
||||
"lldb.framework.not.found": "找不到用于 lldb-mi 的 \"LLDB.framework\"。请安装 XCode 或 XCode 命令行工具。",
|
||||
"lldb.find.failed": "缺少 lldb-mi 可执行文件的依赖项“{0}”。",
|
||||
"lldb.search.paths": "搜索范围:",
|
||||
"lldb.install.help": "要解决此问题,请通过 Apple App Store 安装 XCode,或通过在终端窗口运行“{0}”来安装 XCode 命令行工具。",
|
||||
"envfale.failed": "未能使用 {0}。原因: {1}",
|
||||
"replacing.sourcepath": "正在将 {0}“{1}”替换为“{2}”。",
|
||||
"replacing.targetpath": "正在将 {0}“{1}”替换为“{2}”。",
|
||||
"resolving.variables.in.sourcefilemap": "正在解析 {0} 中的变量...",
|
||||
"open.envfile": "打开 {0}",
|
||||
"unexpected.os": "意外的 OS 类型",
|
||||
"path.to.pipe.program": "管道程序的完整路径,如 {0}",
|
||||
"enable.pretty.printing": "为 {0} 启用整齐打印"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"enter.program.name": "输入程序名称,例如 {0}",
|
||||
"launch.string": "启动",
|
||||
"launch.with": "使用 {0} 启动。",
|
||||
"attach.string": "附加",
|
||||
"attach.with": "使用 {0} 附加。",
|
||||
"pipe.launch": "管道启动",
|
||||
"pipe.launch.with": "使用 {0} 进行管道启动。",
|
||||
"pipe.attach": "管道附加",
|
||||
"pipe.attach.with": "使用 {0} 进行管道附加。",
|
||||
"launch.with.vs.debugger": "使用 Visual Studio C/C++ 调试程序启动。",
|
||||
"attach.with.vs.debugger": "使用 Visual Studio C/C++ 调试程序附加到进程。",
|
||||
"bash.on.windows.launch": "Windows 上的 Bash 启动",
|
||||
"launch.bash.windows": "使用 {0} 在 Windows 上的 Bash 中启动。",
|
||||
"bash.on.windows.attach": "Windows 上的 Bash 附加",
|
||||
"remote.attach.bash.windows": "使用 {0} 附加到在 Windows 上的 Bash 中运行的远程进程。"
|
||||
}
|
||||