Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3b41771c6 | ||
|
|
7d051394e6 | ||
|
|
3f7f3090f6 | ||
|
|
468149a9ad | ||
|
|
6ec1d81ef0 | ||
|
|
6b5d3ee985 | ||
|
|
5b3c4c70b5 | ||
|
|
6d5e4c4114 | ||
|
|
4149493f2c | ||
|
|
c26054a1a6 | ||
|
|
a20a3f2781 | ||
|
|
e7f5d1731d | ||
|
|
16f6cf91c7 | ||
|
|
45addfddb3 | ||
|
|
6f80226e88 | ||
|
|
8fbc56a688 | ||
|
|
fecfc08451 | ||
|
|
43aad3f65c | ||
|
|
62a03c2b21 | ||
|
|
bedcacb0a1 | ||
|
|
7273d6112b | ||
|
|
74bddb82e5 | ||
|
|
4af6ca9db0 | ||
|
|
7e4ee25c48 | ||
|
|
6da9a49652 | ||
|
|
51d88dbb24 | ||
|
|
cd8ecf9060 | ||
|
|
847ea0b73c | ||
|
|
68c7be9d9e | ||
|
|
1bde544458 | ||
|
|
f62cad6a2f | ||
|
|
eec372a186 | ||
|
|
b98bb40a89 | ||
|
|
4d1a2a0e90 | ||
|
|
dec50598bc | ||
|
|
c5c64ad831 | ||
|
|
27153190e2 | ||
|
|
2cc55ea6eb | ||
|
|
121a657acb | ||
|
|
6a54986b3f | ||
|
|
b4a70dfc0a | ||
|
|
efa5c2244b | ||
|
|
4199155228 | ||
|
|
d949d93924 | ||
|
|
44e2a0ec4c | ||
|
|
0cd369c603 | ||
|
|
76fce67276 | ||
|
|
f3e0f0bb05 | ||
|
|
628301be37 | ||
|
|
6efaafef60 | ||
|
|
f387815749 | ||
|
|
c873aa18bd | ||
|
|
78a8ff3bb3 | ||
|
|
3033657a19 | ||
|
|
ac118f453b | ||
|
|
9e10a71ffb | ||
|
|
4525bd0ed5 | ||
|
|
89d0a7a01f | ||
|
|
27cd52a1b9 | ||
|
|
e020a75bb7 | ||
|
|
c8a7776222 | ||
|
|
3934ef89ea | ||
|
|
d60499f793 | ||
|
|
9b359ff73b | ||
|
|
fc9c45c34f | ||
|
|
212fff2828 | ||
|
|
a5f8f84b43 | ||
|
|
44e3bbe773 | ||
|
|
90f922d651 | ||
|
|
408051429d | ||
|
|
ae904ec330 | ||
|
|
3bde088a06 | ||
|
|
9d28ba1e06 | ||
|
|
514e60863d | ||
|
|
98af6a4888 | ||
|
|
b740f603ec | ||
|
|
6b2099471d | ||
|
|
c76105e28e | ||
|
|
70ff2a296a | ||
|
|
c3e3bd306f | ||
|
|
e53b190380 | ||
|
|
4f805c4263 | ||
|
|
a7870fc1b2 | ||
|
|
1846fd4001 | ||
|
|
d48fd4343b | ||
|
|
62e09945e3 | ||
|
|
9ce7b5a87c | ||
|
|
460aee5971 | ||
|
|
0e309a7e7f | ||
|
|
27f9fafc73 | ||
|
|
c9b0db02fd | ||
|
|
72ea4d5eb9 | ||
|
|
3c63457e38 | ||
|
|
477eb06f2b | ||
|
|
62b27eadce | ||
|
|
668499169e | ||
|
|
2133b871be | ||
|
|
d6370f3dcf | ||
|
|
4589c6a731 | ||
|
|
c4ea718dd5 | ||
|
|
f26308c09f | ||
|
|
420b479896 | ||
|
|
2dfbeb16b2 | ||
|
|
f293e59478 | ||
|
|
b747b98cde | ||
|
|
094596961a | ||
|
|
503f95b085 | ||
|
|
3612c02d07 | ||
|
|
93cc277311 | ||
|
|
9d84cad54b | ||
|
|
ddbc92a990 | ||
|
|
ce587c6f06 | ||
|
|
82671ea293 | ||
|
|
605015c8af | ||
|
|
baa93534f0 | ||
|
|
e5f74bc638 | ||
|
|
68777f9873 | ||
|
|
4037db9783 | ||
|
|
67565fe0a7 | ||
|
|
a67c6610a7 | ||
|
|
4f5ec73173 | ||
|
|
79f4e8ded0 | ||
|
|
51da619eec | ||
|
|
7544de0b47 | ||
|
|
491456e8de | ||
|
|
5b51db1999 | ||
|
|
46eaddc411 | ||
|
|
71c6cb6c6c | ||
|
|
0452f0aad9 | ||
|
|
478ccb6abd | ||
|
|
7504532e58 | ||
|
|
9621430533 | ||
|
|
3ef10f294e | ||
|
|
e394edb630 | ||
|
|
3eb50568e9 | ||
|
|
e65e602bab | ||
|
|
866b145645 | ||
|
|
65ec5abb72 | ||
|
|
fc909f88ba | ||
|
|
c22d13af30 | ||
|
|
290a53e934 | ||
|
|
4b20f32c39 | ||
|
|
5ce976f322 | ||
|
|
352e0bf2ff | ||
|
|
684404f29c | ||
|
|
478fb3c245 | ||
|
|
c3cfd55762 | ||
|
|
b2d989f85f | ||
|
|
bb3d290d6b | ||
|
|
33bdb7f425 | ||
|
|
0c9d89787c | ||
|
|
94c12812e0 | ||
|
|
3144d82fb4 | ||
|
|
dc7651af75 | ||
|
|
9215fbe9b0 | ||
|
|
5a56dfc749 | ||
|
|
bddb1ba342 | ||
|
|
cafce7c050 | ||
|
|
324cd1bd59 | ||
|
|
ad5fe867c5 | ||
|
|
cc862b039e | ||
|
|
446eb16e7a | ||
|
|
e09702e5dc | ||
|
|
48000bdbda | ||
|
|
f8b8e094f9 | ||
|
|
9762fe5397 | ||
|
|
5780e18487 | ||
|
|
3c6f603aea | ||
|
|
35ab3eb26d | ||
|
|
302f4226cf | ||
|
|
377896c30a | ||
|
|
13893fbfb2 | ||
|
|
d603786a13 | ||
|
|
407342f482 | ||
|
|
5c8b812075 | ||
|
|
2a2d928075 | ||
|
|
e160229500 | ||
|
|
60cfb9998d | ||
|
|
6ec8c14a98 | ||
|
|
a395b8492a | ||
|
|
17e337c874 | ||
|
|
98f13a6f11 | ||
|
|
7b3ac0a22e | ||
|
|
0d85aea687 | ||
|
|
04b0be0452 | ||
|
|
25d2b76514 | ||
|
|
b0e7500bcb | ||
|
|
296bee8000 | ||
|
|
ec4977971e | ||
|
|
71684e0f90 | ||
|
|
7a99678e6f | ||
|
|
8bf5d6e9aa | ||
|
|
6fbf4df21d | ||
|
|
5cc9930813 | ||
|
|
5aa8b56cb7 | ||
|
|
4dfb2a39a6 | ||
|
|
cc11b68e20 | ||
|
|
5e327771ef | ||
|
|
0ec40d9000 | ||
|
|
dbfa0c5ed5 | ||
|
|
9b20549cef | ||
|
|
ce2fcf0c62 | ||
|
|
605c8032f8 | ||
|
|
bfdcba4449 | ||
|
|
fc9209f55a | ||
|
|
5a337901a6 | ||
|
|
6cabb390fd | ||
|
|
4efc47f955 | ||
|
|
8334b15f4e | ||
|
|
84343d04d3 | ||
|
|
e2c0f014dd | ||
|
|
e2bddc1901 | ||
|
|
c417da6ed4 | ||
|
|
2ad0a95bd4 | ||
|
|
e5b80da312 | ||
|
|
42dfef3f6b | ||
|
|
10125dfb08 | ||
|
|
6f4403cf05 | ||
|
|
3b7755a4d2 | ||
|
|
f0bef8dca6 | ||
|
|
1ce1e9cd71 | ||
|
|
fec8a4e07f | ||
|
|
65163966d5 | ||
|
|
e201d7905e | ||
|
|
32b9947b57 | ||
|
|
7b03e025a7 | ||
|
|
a81c4645c0 | ||
|
|
675720d466 | ||
|
|
646d9cfd6a | ||
|
|
d1e7326f4d | ||
|
|
0fd0adad84 | ||
|
|
aef2fa974e | ||
|
|
001b3a5721 | ||
|
|
350c1c3890 | ||
|
|
64c1327716 | ||
|
|
ec47886d72 | ||
|
|
40fe35c8e2 | ||
|
|
532eee96fe | ||
|
|
febcf11215 | ||
|
|
7a76ee1ec5 | ||
|
|
81a026435d | ||
|
|
9f2d17d40c | ||
|
|
2e66dc794b | ||
|
|
3644b94ee9 | ||
|
|
cf2a1112f4 | ||
|
|
bcc7d61266 | ||
|
|
3c5e7e260e | ||
|
|
b137b7c3ed | ||
|
|
67118593b8 | ||
|
|
85514f21bc | ||
|
|
fa774544ea | ||
|
|
a45c8f8670 | ||
|
|
a014fe80bd | ||
|
|
b9bd78e64e | ||
|
|
21bc17ac6e | ||
|
|
d03f2d48fa | ||
|
|
edf8e0a155 | ||
|
|
82b8f261a8 | ||
|
|
1e779a5a3c | ||
|
|
4083075476 | ||
|
|
e4696c5dec | ||
|
|
9bf1c1d5a5 | ||
|
|
34745e0b10 | ||
|
|
5e96765467 | ||
|
|
9b49182355 | ||
|
|
88f419fc11 | ||
|
|
fc4fc00803 | ||
|
|
4b9ca430ba | ||
|
|
885b4c0a61 | ||
|
|
79a78ba994 | ||
|
|
982c4fb9cf | ||
|
|
9b7f7deb4d | ||
|
|
a6f535fd54 | ||
|
|
edb810aa3d | ||
|
|
42b3c28ab1 | ||
|
|
b745ebc218 | ||
|
|
6b6c16e378 | ||
|
|
8f55a2e8d2 | ||
|
|
5f68e6a868 | ||
|
|
93dc3737fb | ||
|
|
6f2714bfbb | ||
|
|
fafca55335 | ||
|
|
2605cac2a9 | ||
|
|
98a9b0cabe | ||
|
|
dc0a7af0aa | ||
|
|
3adcec81a4 | ||
|
|
b96737a919 | ||
|
|
c4d68fd859 | ||
|
|
2d3cac0dea | ||
|
|
0fcc415231 | ||
|
|
8431b37201 | ||
|
|
23f3b47e6f | ||
|
|
7d73a3124d | ||
|
|
b69d17a0f5 | ||
|
|
be8b6fb693 | ||
|
|
2041315910 | ||
|
|
04f822ab92 | ||
|
|
5a486fc8cd | ||
|
|
62fb757bb3 | ||
|
|
b79a965613 | ||
|
|
148a709e0e | ||
|
|
4916b2f361 | ||
|
|
f7c2cc869a | ||
|
|
79c8d1d64a | ||
|
|
54c73eaade | ||
|
|
4dfea3b68c | ||
|
|
384b33386b | ||
|
|
a2a0297ae9 | ||
|
|
8cf332baba | ||
|
|
77af87e92e | ||
|
|
edaf6dce78 | ||
|
|
58e184fdc0 | ||
|
|
399daf9b27 | ||
|
|
b3a337aad0 | ||
|
|
ed1a1ca57e | ||
|
|
cae6c42928 | ||
|
|
20e220354d | ||
|
|
bc6bfac71a | ||
|
|
f40e9bc569 | ||
|
|
fa3e927011 | ||
|
|
9f9bfddd47 | ||
|
|
bbf2832356 | ||
|
|
e2e6662bae | ||
|
|
da3a4382dd | ||
|
|
eca31aa8a1 | ||
|
|
186ace28e0 |
+15
-22
@@ -1,5 +1,5 @@
|
||||
name: Bug Report - Language Service
|
||||
description: Create a bug report for IntelliSense, autocomplete, code editing, code navigation, etc.
|
||||
description: Create a bug report for IntelliSense, code editing, code navigation, code completion, code formatting, semantic colorization, etc.
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
@@ -16,25 +16,21 @@ body:
|
||||
- OS and Version
|
||||
- VS Code Version
|
||||
- C/C++ Extension Version
|
||||
- Other extensions you installed (and if the issue persists after disabling them)
|
||||
- If using SSH remote, specify OS of 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).
|
||||
value: |
|
||||
- OS and Version:
|
||||
- VS Code Version:
|
||||
- C/C++ Extension Version:
|
||||
- Other extensions you installed (and if the issue persists after disabling them):
|
||||
- If using SSH remote, specify OS of 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).
|
||||
- OS and Version:
|
||||
- VS Code Version:
|
||||
- C/C++ Extension Version:
|
||||
- If using SSH remote, specify OS of remote machine:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Bug Summary and Steps to Reproduce
|
||||
description: |
|
||||
Please describe the language service issue or language service feature that is not working as expected.
|
||||
Please describe the language service issue or language service feature that is not working as expected. Include information about the actual workspace project (for example, is the workspace a single project or multiple projects, size of the project, etc).
|
||||
|
||||
Include clear steps on how to reproduce the issue.
|
||||
Include clear steps on how to reproduce the issue and a description of what you expected to happen.
|
||||
value: |
|
||||
Bug Summary:
|
||||
|
||||
@@ -44,20 +40,15 @@ body:
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
Expected behavior:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: A clear and concise description of what you expected to happen.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Code sample and Logs
|
||||
label: Configuration and Logs
|
||||
description: |
|
||||
Please provide code sample, your c_cpp_properties.json and logs:
|
||||
- Code sample
|
||||
Please provide your c_cpp_properties.json and logs:
|
||||
- Configurations in `c_cpp_properties.json`
|
||||
- Logs from running `C/C++: Log Diagnostics` from the VS Code command palette
|
||||
- Logs from [the language server logging](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
|
||||
@@ -66,14 +57,16 @@ body:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: If applicable, add screenshots to help explain your problem.
|
||||
label: Other Extensions
|
||||
description: If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: |
|
||||
Optionally provide other information that will give us more context about the issue you are encountering, such as code sample, screenshots, screen recording of the issue, call stacks, etc.
|
||||
|
||||
Providing call stacks:
|
||||
For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
name: Bug Report - General Extension
|
||||
description: Create a bug report for downloading, installing, or building the extension.
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
### Is there an existing issue for this?
|
||||
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
|
||||
|
||||
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Environment
|
||||
description: |
|
||||
Please provide the information for the following:
|
||||
- OS and version
|
||||
- VS Code version
|
||||
- C/C++ extension version
|
||||
- OS and version of remote machine (if applicable)
|
||||
value: |
|
||||
- OS and version:
|
||||
- VS Code:
|
||||
- C/C++ extension:
|
||||
- OS and version of remote machine (if applicable):
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Bug Summary and Steps to Reproduce
|
||||
description: |
|
||||
Please give a description of the issue you are encountering and what you expected to happen.
|
||||
|
||||
Include clear steps on how to reproduce the issue.
|
||||
value: |
|
||||
Bug Summary:
|
||||
|
||||
|
||||
Steps to reproduce:
|
||||
1. In this environment...
|
||||
2. With this config...
|
||||
3. Do '...'
|
||||
4. See error...
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Other Extensions
|
||||
description: If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional Information
|
||||
description: |
|
||||
Optionally provide other information that will give us more context about the issue you are encountering.
|
||||
|
||||
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
|
||||
validations:
|
||||
required: false
|
||||
Generated
+3918
-303
File diff suppressed because it is too large
Load Diff
@@ -14,12 +14,12 @@
|
||||
"@actions/github": "^5.0.3",
|
||||
"@octokit/rest": "^19.0.3",
|
||||
"@slack/web-api": "^6.7.2",
|
||||
"applicationinsights": "^2.3.1",
|
||||
"applicationinsights": "^2.5.1",
|
||||
"axios": "^0.27.2",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@azure/storage-blob": "^12.11.0",
|
||||
"@azure/storage-blob": "^12.13.0",
|
||||
"@types/chai": "^4.3.3",
|
||||
"@types/mocha": "^9.1.1",
|
||||
"@types/uuid": "^8.3.4",
|
||||
@@ -32,7 +32,7 @@
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"husky": "^8.0.1",
|
||||
"mocha": "^10.0.0",
|
||||
"mongodb": "^4.8.1",
|
||||
"mongodb": "^4.17.0",
|
||||
"nock": "^13.2.9",
|
||||
"prettier": "2.7.1",
|
||||
"ts-node": "^10.9.1",
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
|
||||
@@ -1,47 +1,14 @@
|
||||
name: CI (Linux)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 14.16.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run Linter
|
||||
run: yarn run lint
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Test Sources
|
||||
run: yarn run pretest
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run unit tests
|
||||
uses: GabrielBB/[email protected]
|
||||
with:
|
||||
run: yarn run unitTests
|
||||
working-directory: Extension
|
||||
|
||||
# - name: Run languageServer integration tests
|
||||
# uses: GabrielBB/[email protected]
|
||||
# with:
|
||||
# run: yarn run integrationTests
|
||||
# working-directory: Extension
|
||||
name: CI (Linux)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
job:
|
||||
uses: ./.github/workflows/job-compile-and-test.yml
|
||||
with:
|
||||
runner-env: ubuntu-22.04
|
||||
platform: linux
|
||||
@@ -1,47 +1,15 @@
|
||||
name: CI (Mac)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 14.16.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install --network-timeout 100000
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run Linter
|
||||
run: yarn run lint
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Test Sources
|
||||
run: yarn run pretest
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run unit tests
|
||||
uses: GabrielBB/[email protected]
|
||||
with:
|
||||
run: yarn run unitTests
|
||||
working-directory: Extension
|
||||
|
||||
# - name: Run languageServer integration tests
|
||||
# uses: GabrielBB/[email protected]
|
||||
# with:
|
||||
# run: yarn run integrationTests
|
||||
# working-directory: Extension
|
||||
name: CI (Mac)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
job:
|
||||
uses: ./.github/workflows/job-compile-and-test.yml
|
||||
with:
|
||||
runner-env: macos-12
|
||||
platform: mac
|
||||
yarn-args: --network-timeout 100000
|
||||
@@ -1,43 +1,14 @@
|
||||
name: CI (Windows)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 14.16.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run Linter
|
||||
run: yarn run lint
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Test Sources
|
||||
run: yarn run pretest
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run unit tests
|
||||
run: yarn run unitTests
|
||||
working-directory: Extension
|
||||
|
||||
# - name: Run languageServer integration tests
|
||||
# run: yarn run integrationTests
|
||||
# working-directory: Extension
|
||||
name: CI (Windows)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
job:
|
||||
uses: ./.github/workflows/job-compile-and-test.yml
|
||||
with:
|
||||
runner-env: windows-2022
|
||||
platform: windows
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
# Reuable workflow for compiling and testing extension.
|
||||
name: Compile and test extension
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
runner-env:
|
||||
required: true
|
||||
type: string
|
||||
platform:
|
||||
# Expects 'mac', 'linux', or 'windows'
|
||||
required: true
|
||||
type: string
|
||||
yarn-args:
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ inputs.runner-env }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Node.js 16
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install ${{ inputs.yarn-args }}
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run Linter
|
||||
run: yarn run lint
|
||||
working-directory: Extension
|
||||
|
||||
- name: Run unit tests
|
||||
run: yarn test
|
||||
working-directory: Extension
|
||||
|
||||
# NOTE : We can't run the test that require the native binary files
|
||||
# yet -- there will be an update soon that allows the tester to
|
||||
# acquire them on-the-fly
|
||||
# - name: Run languageServer integration tests
|
||||
# if: ${{ inputs.platform == 'windows' }}
|
||||
# run: yarn test --scenario=SingleRootProject
|
||||
# working-directory: Extension
|
||||
|
||||
# - name: Run E2E IntelliSense features tests
|
||||
# if: ${{ inputs.platform == 'windows' }}
|
||||
# run: yarn test --scenario=MultirootDeadlockTest
|
||||
# working-directory: Extension
|
||||
|
||||
# NOTE: For mac/linux run the tests with xvfb-action for UI support.
|
||||
# Another way to start xvfb https://github.com/microsoft/vscode-test/blob/master/sample/azure-pipelines.yml
|
||||
|
||||
# - name: Run languageServer integration tests (xvfb)
|
||||
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
|
||||
# uses: coactions/setup-xvfb@v1
|
||||
# with:
|
||||
# run: yarn test --scenario=SingleRootProject
|
||||
# working-directory: Extension
|
||||
|
||||
# - name: Run E2E IntelliSense features tests (xvfb)
|
||||
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
|
||||
# uses: coactions/setup-xvfb@v1
|
||||
# with:
|
||||
# run: yarn test --scenario=MultirootDeadlockTest
|
||||
# working-directory: Extension
|
||||
@@ -24,6 +24,11 @@ pool:
|
||||
- ImageOverride -equals AzurePipelinesWindows2022compliant
|
||||
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '16.x'
|
||||
displayName: 'Install Node.js'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd Extension && yarn install'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*.js
|
||||
test/**/index.ts
|
||||
test/**/runTest.ts
|
||||
tools/prepublish.js
|
||||
|
||||
dist/
|
||||
vscode*.d.ts
|
||||
|
||||
+62
-51
@@ -1,4 +1,9 @@
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/eslint-recommended",
|
||||
"plugin:@typescript-eslint/strict",
|
||||
],
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es6": true,
|
||||
@@ -6,19 +11,33 @@ module.exports = {
|
||||
},
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"project": "tsconfig.json",
|
||||
"sourceType": "module"
|
||||
"project": ["tsconfig.json", ".scripts/tsconfig.json"],
|
||||
"ecmaVersion": 2022,
|
||||
"sourceType": "module",
|
||||
"warnOnUnsupportedTypeScriptVersion": false,
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
"@typescript-eslint/tslint",
|
||||
"eslint-plugin-jsdoc",
|
||||
"@typescript-eslint/eslint-plugin-tslint",
|
||||
"@typescript-eslint/eslint-plugin",
|
||||
"eslint-plugin-import",
|
||||
"eslint-plugin-header"
|
||||
],
|
||||
"rules": {
|
||||
"indent": [
|
||||
"warn",
|
||||
4,
|
||||
{
|
||||
"SwitchCase": 1,
|
||||
"ObjectExpression": "first"
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/indent": [
|
||||
"error", 4
|
||||
],
|
||||
"@typescript-eslint/adjacent-overload-signatures": "error",
|
||||
"@typescript-eslint/array-type": "error",
|
||||
"@typescript-eslint/await-thenable": "error",
|
||||
"camelcase": "off",
|
||||
"@typescript-eslint/naming-convention": [
|
||||
"error",
|
||||
@@ -27,7 +46,6 @@ module.exports = {
|
||||
"format": ["PascalCase"]
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/indent": "error",
|
||||
"@typescript-eslint/member-delimiter-style": [
|
||||
"error",
|
||||
{
|
||||
@@ -41,8 +59,20 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/no-extraneous-class": "off",
|
||||
"no-case-declarations": "off",
|
||||
"no-useless-escape": "off",
|
||||
"no-floating-decimal": "error",
|
||||
"keyword-spacing": ["error", { "before": true, "overrides": { "this": { "before": false } } }],
|
||||
"arrow-spacing": ["error", { "before": true, "after": true }],
|
||||
"semi-spacing": ["error", { "before": false, "after": true }],
|
||||
"no-extra-parens": ["error", "all", { "nestedBinaryExpressions": false, "ternaryOperandBinaryExpressions": false }],
|
||||
"@typescript-eslint/no-array-constructor": "error",
|
||||
"@typescript-eslint/no-useless-constructor": "error",
|
||||
"@typescript-eslint/no-for-in-array": "error",
|
||||
"@typescript-eslint/no-misused-new": "error",
|
||||
"@typescript-eslint/no-misused-promises": "error",
|
||||
"@typescript-eslint/no-namespace": "error",
|
||||
"@typescript-eslint/no-non-null-assertion": "error",
|
||||
"@typescript-eslint/no-extra-non-null-assertion": "error",
|
||||
@@ -56,8 +86,16 @@ module.exports = {
|
||||
"@typescript-eslint/triple-slash-reference": "error",
|
||||
"@typescript-eslint/type-annotation-spacing": "error",
|
||||
"@typescript-eslint/unified-signatures": "error",
|
||||
"@typescript-eslint/no-floating-promises": "error",
|
||||
"@typescript-eslint/method-signature-style": ["error", "method"],
|
||||
"@typescript-eslint/space-infix-ops": "error",
|
||||
"no-unused-vars": "off",
|
||||
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
|
||||
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
|
||||
"arrow-body-style": "error",
|
||||
"comma-dangle": "error",
|
||||
"comma-spacing": "off",
|
||||
"@typescript-eslint/comma-spacing": "error",
|
||||
"constructor-super": "error",
|
||||
"curly": "error",
|
||||
"eol-last": "error",
|
||||
@@ -79,17 +117,19 @@ module.exports = {
|
||||
"no-fallthrough": "error",
|
||||
"no-invalid-this": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"rest-spread-spacing": ["error", "never"],
|
||||
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0 }],
|
||||
"no-new-wrappers": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"no-sequences": "error",
|
||||
"no-sparse-arrays": "error",
|
||||
"no-trailing-spaces": "error",
|
||||
"no-multi-spaces": "error",
|
||||
"no-undef-init": "error",
|
||||
"no-unsafe-finally": "error",
|
||||
"no-unused-expressions": "error",
|
||||
"no-unused-labels": "error",
|
||||
"space-before-blocks": "error",
|
||||
"no-var": "error",
|
||||
"one-var": [
|
||||
"error",
|
||||
@@ -102,54 +142,25 @@ module.exports = {
|
||||
"never"
|
||||
],
|
||||
"spaced-comment": [
|
||||
"error",
|
||||
"always"
|
||||
"off",
|
||||
"always",
|
||||
{ "line": { "exceptions": ["/"] } } // triple slash directives
|
||||
],
|
||||
"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"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
"space-infix-ops": "error",
|
||||
"header/header": [
|
||||
"warn",
|
||||
"block",
|
||||
[
|
||||
" --------------------------------------------------------------------------------------------",
|
||||
" * Copyright (c) Microsoft Corporation. All Rights Reserved.",
|
||||
" * See 'LICENSE' in the project root for license information.",
|
||||
" * ------------------------------------------------------------------------------------------ "
|
||||
|
||||
],
|
||||
],
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# ignore dependency packages
|
||||
node_modules
|
||||
|
||||
# ignore compliled typescript
|
||||
# ignore compiled typescript
|
||||
out
|
||||
dist
|
||||
|
||||
@@ -34,3 +34,4 @@ localized_string_ids.h
|
||||
src/nativeStrings.ts
|
||||
|
||||
vscode*.d.ts
|
||||
.scripts/_*
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { error } from 'node:console';
|
||||
import { resolve, sep } from 'node:path';
|
||||
import { filepath } from '../src/Utility/Filesystem/filepath';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { $root, Git, brightGreen, cyan, getModifiedIgnoredFiles, rimraf } from './common';
|
||||
|
||||
// notes:
|
||||
// list all gitignore'd files that are modified: `git clean -Xd -n`
|
||||
// list all untracked and ignored files that are modified/created: `git clean -Xd -n`
|
||||
|
||||
export async function main() {
|
||||
await rimraf(resolve($root, 'dist'));
|
||||
}
|
||||
|
||||
export async function all() {
|
||||
await rimraf(...(await getModifiedIgnoredFiles()).filter(each => !each.includes('node_modules')));
|
||||
}
|
||||
|
||||
export async function reset() {
|
||||
verbose(`Resetting all .gitignored files in extension`);
|
||||
await rimraf(...await getModifiedIgnoredFiles());
|
||||
}
|
||||
|
||||
async function details(files: string[]) {
|
||||
let all = await Promise.all(files.filter(each => each).map(async (each) => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const [filename, stats ] = await filepath.stats(each);
|
||||
return {
|
||||
filename: stats.isDirectory() ? cyan(`${each}${sep}**`) : brightGreen(`${each}`),
|
||||
date: stats.mtime.toLocaleDateString().replace(/\b(\d)\//g, '0$1\/'),
|
||||
time: stats.mtime.toLocaleTimeString().replace(/^(\d)\:/g, '0$1:'),
|
||||
modified: stats.mtime
|
||||
};
|
||||
}));
|
||||
all = all.sort((a, b) => a.modified.getTime() - b.modified.getTime());
|
||||
// print a formatted table so the date and time are aligned
|
||||
const max = all.reduce((max, each) => Math.max(max, each.filename.length), 0);
|
||||
all.forEach(each => console.log(` ${each.filename.padEnd(max)} [${each.date} ${each.time}]`));
|
||||
console.log('');
|
||||
}
|
||||
|
||||
export async function show(opt?: string) {
|
||||
switch (opt?.toLowerCase()) {
|
||||
case 'new':
|
||||
console.log(cyan('\n\nNew files:'));
|
||||
const r = await Git('ls-files', '--others', '--exclude-standard', '-z');
|
||||
return details(r.stdio.all().map(each => resolve(each.trim().replace(/\0/g, ''))));
|
||||
|
||||
case undefined:
|
||||
case '':
|
||||
case 'ignored':
|
||||
case 'untracked':
|
||||
console.log(cyan('\n\nUntracked+Ignored files:'));
|
||||
return details(await getModifiedIgnoredFiles());
|
||||
|
||||
default:
|
||||
return error(`Unknown option '${opt}'`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { spawnSync } from 'child_process';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { $args, $root, $scenario, assertAnyFile, brightGreen, gray, green, pwd } from './common';
|
||||
|
||||
import { resolve } from 'path';
|
||||
import { getTestInfo } from '../test/common/selectTests';
|
||||
import { install, options } from "./vscode";
|
||||
|
||||
export { install, reset } from './vscode';
|
||||
|
||||
export async function main() {
|
||||
let ti = await getTestInfo($scenario);
|
||||
if (!ti) {
|
||||
// try using the first arg as a scenario name or location
|
||||
ti = await getTestInfo($args[0], $args[0] ? resolve(pwd, $args[0]) : undefined);
|
||||
if (ti) {
|
||||
$args[0] = ti.workspace;
|
||||
}
|
||||
} else {
|
||||
// we found it
|
||||
$args.unshift(ti.workspace);
|
||||
}
|
||||
await assertAnyFile('dist/src/main.js', `The extension entry point '${$root}/dist/src/main.js is missing. You should run ${brightGreen("yarn compile")}\n\n`);
|
||||
|
||||
const { cli, args } = await install();
|
||||
|
||||
// example of installing an extension into code
|
||||
//verbose(`Installing release version of 'ms-vscode.cpptools'`);
|
||||
//spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' })
|
||||
verbose(green('Launch VSCode'));
|
||||
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ];
|
||||
verbose(gray(`${cli}\n ${ [...ARGS ].join('\n ')}`));
|
||||
|
||||
spawnSync(cli, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" } });
|
||||
}
|
||||
@@ -0,0 +1,343 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { Command, CommandFunction } from '../src/Utility/Process/program';
|
||||
|
||||
import { ok } from 'assert';
|
||||
import { CommentJSONValue, parse, stringify } from 'comment-json';
|
||||
import { mkdir as md, readFile, rm, writeFile } from 'fs/promises';
|
||||
import { IOptions, glob as globSync } from 'glob';
|
||||
import { dirname, resolve } from 'path';
|
||||
import { chdir, cwd, env } from 'process';
|
||||
import { setImmediate } from 'timers/promises';
|
||||
import { promisify } from 'util';
|
||||
import { filepath } from '../src/Utility/Filesystem/filepath';
|
||||
import { is } from '../src/Utility/System/guards';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
|
||||
export const $root = resolve(`${__dirname}/..`);
|
||||
export let $cmd = 'main';
|
||||
export let $scenario = '';
|
||||
|
||||
// loop through the args and pick out --scenario=... and remove it from the $args and set $scenario
|
||||
process.argv.slice(2).filter(each => !(each.startsWith('--scenario=') && ($scenario = each.substring('--scenario='.length))));
|
||||
export const $args = process.argv.slice(2).filter(each => !each.startsWith('--'));
|
||||
export const $switches = process.argv.slice(2).filter(each => each.startsWith('--'));
|
||||
|
||||
/** enqueue the call to the callback function to happen on the next available tick, and return a promise to the result */
|
||||
export function then<T>(callback: () => Promise<T> | T): Promise<T> {
|
||||
return setImmediate().then(callback);
|
||||
}
|
||||
|
||||
export const pwd = env.INIT_CWD ?? cwd();
|
||||
verbose(yellow(`pwd: ${pwd}`));
|
||||
|
||||
// ensure we're in the extension folder.
|
||||
chdir($root);
|
||||
|
||||
// dump unhandled async errors to the console and exit.
|
||||
process.on('unhandledRejection', (reason: any, _promise) => {
|
||||
error(`${reason?.stack?.split(/\r?\n/).filter(l => !l.includes('node:internal') && !l.includes('node_modules')).join('\n')}`);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
const git = new Command('git');
|
||||
export const Git = async (...args: Parameters<Awaited<CommandFunction>>) => (await git)(...args);
|
||||
export const GitClean = async (...args: Parameters<Awaited<CommandFunction>>) => (await new Command(await git, 'clean'))(...args);
|
||||
|
||||
export async function getModifiedIgnoredFiles() {
|
||||
const {code, error, stdio } = await GitClean('-Xd', '-n');
|
||||
if (code) {
|
||||
throw new Error(`\n${error.all().join('\n')}`);
|
||||
}
|
||||
|
||||
// return the full path of files that would be removed.
|
||||
return Promise.all(stdio.filter("Would remove").map((s) => filepath.exists(s.replace(/^Would remove /, ''), $root)).filter(p => p));
|
||||
}
|
||||
|
||||
export async function rimraf(...paths: string[]) {
|
||||
const all = [];
|
||||
for (const each of paths) {
|
||||
if (!each) {
|
||||
continue;
|
||||
}
|
||||
if (await filepath.isFolder(each)) {
|
||||
verbose(`Removing folder ${red(each)}`);
|
||||
all.push(rm(each, {recursive: true, force: true}));
|
||||
continue;
|
||||
}
|
||||
verbose(`Removing file ${red(each)}`);
|
||||
all.push(rm(each, {force: true}));
|
||||
}
|
||||
await Promise.all(all);
|
||||
}
|
||||
|
||||
export async function mkdir(filePath: string) {
|
||||
const [fullPath, info] = await filepath.stats(filePath, $root);
|
||||
if (info) {
|
||||
if (info.isDirectory()) {
|
||||
return fullPath;
|
||||
}
|
||||
throw new Error(`Cannot create directory '${filePath}' because there is a file there.`);
|
||||
}
|
||||
|
||||
await md(fullPath, { recursive: true });
|
||||
return fullPath;
|
||||
}
|
||||
|
||||
export const glob: (pattern: string, options?: IOptions) => Promise<string[]> = promisify(globSync);
|
||||
|
||||
export async function write(filePath: string, data: Buffer | string) {
|
||||
await mkdir(dirname(filePath));
|
||||
|
||||
if (await filepath.isFile(filePath)) {
|
||||
const content = await readFile(filePath);
|
||||
if (is.string(data)) {
|
||||
// if we're passed a text file, we should match the line endings of the existing file.
|
||||
const textContent = content.toString();
|
||||
|
||||
// normalize the line endings to the same as the current file.
|
||||
data = textContent.indexOf('\r\n') > -1 ? data.replace(/\r\n|\n/g, '\r\n') : data.replace(/\r\n|\n/g, '\n');
|
||||
|
||||
// if the text content is a match, we don't have to change anything
|
||||
if (textContent === data) {
|
||||
verbose(`Text file at '${filePath}' is up to date.`);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// if the binary content is a match, we don't have to change anything
|
||||
if (content.equals(data)) {
|
||||
verbose(`File at '${filePath}' is up to date.`);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
verbose(`Writing file '${filePath}'`);
|
||||
await writeFile(filePath, data);
|
||||
}
|
||||
|
||||
export async function updateFiles(files: string[], dest: string | Promise<string>) {
|
||||
const target = is.promise(dest) ? await dest : dest;
|
||||
await Promise.all(files.map(async (each) => {
|
||||
const sourceFile = await filepath.isFile(each, $root);
|
||||
if (sourceFile) {
|
||||
const targetFile = resolve(target, each);
|
||||
await write(targetFile, await readFile(sourceFile));
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
export async function go() {
|
||||
if (require.main) {
|
||||
// loop through the args and pick out the first non --arg and remove it from the $args and set $cmd
|
||||
for (let i = 0; i < $args.length; i++) {
|
||||
const each = $args[i];
|
||||
if (!each.startsWith('--') && require.main.exports[each]) {
|
||||
$cmd = each;
|
||||
$args.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
verbose(`${yellow("Running task:")} ${green($cmd)} ${green($args.join(' '))}`);
|
||||
require.main.exports[$cmd](...$args);
|
||||
}
|
||||
}
|
||||
void then(go);
|
||||
|
||||
export async function read(filename: string) {
|
||||
const content = await readFile(filename);
|
||||
ok(content, `File '${filename}' has no content`);
|
||||
return content.toString();
|
||||
}
|
||||
|
||||
export async function readJson(filename: string, fallback = {}): Promise<CommentJSONValue> {
|
||||
try {
|
||||
return parse(await read(filename));
|
||||
} catch {
|
||||
return fallback as CommentJSONValue;
|
||||
}
|
||||
}
|
||||
|
||||
export async function writeJson(filename: string, object: CommentJSONValue) {
|
||||
await write(filename, stringify(object, null, 4));
|
||||
}
|
||||
|
||||
export function error(text: string) {
|
||||
console.error(`\n${red('ERROR')}: ${text}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
export function warn(text: string) {
|
||||
console.error(`\n${yellow('WARNING')}: ${text}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
export function note(text: string) {
|
||||
console.error(`\n${cyan('NOTE')}: ${text}`);
|
||||
}
|
||||
|
||||
export function underline(text: string) {
|
||||
return `\u001b[4m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function bold(text: string) {
|
||||
return `\u001b[1m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function dim(text: string) {
|
||||
return `\u001b[2m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function brightGreen(text: string) {
|
||||
return `\u001b[38;2;19;161;14m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function green(text: string) {
|
||||
return `\u001b[38;2;78;154;6m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function brightWhite(text: string) {
|
||||
return `\u001b[38;2;238;238;236m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function gray(text: string) {
|
||||
return `\u001b[38;2;117;113;94m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function yellow(text: string) {
|
||||
return `\u001b[38;2;252;233;79m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function red(text: string) {
|
||||
return `\u001b[38;2;197;15;31m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export function cyan(text: string) {
|
||||
return `\u001b[38;2;0;174;239m${text}\u001b[0m`;
|
||||
}
|
||||
|
||||
export const hr = "===============================================================================";
|
||||
|
||||
export function heading(text: string, level = 1) {
|
||||
switch (level) {
|
||||
case 1:
|
||||
return `${underline(bold(text))}`;
|
||||
case 2:
|
||||
return `${brightGreen(text)}`;
|
||||
case 3:
|
||||
return `${green(text)}`;
|
||||
}
|
||||
return `${bold(text)}\n`;
|
||||
}
|
||||
|
||||
export function optional(text: string) {
|
||||
return gray(text);
|
||||
}
|
||||
|
||||
export function cmdSwitch(text: string) {
|
||||
return optional(`--${text}`);
|
||||
}
|
||||
|
||||
export function command(text: string) {
|
||||
return brightWhite(bold(text));
|
||||
}
|
||||
|
||||
export function hint(text: string) {
|
||||
return green(dim(text));
|
||||
}
|
||||
|
||||
export function count(num: number) {
|
||||
return gray(`${num}`);
|
||||
}
|
||||
|
||||
export function position(text: string) {
|
||||
return gray(`${text}`);
|
||||
}
|
||||
|
||||
export async function assertAnyFolder(oneOrMoreFolders: string | string[], errorMessage?: string): Promise<string> {
|
||||
oneOrMoreFolders = is.array(oneOrMoreFolders) ? oneOrMoreFolders : [oneOrMoreFolders];
|
||||
for (const each of oneOrMoreFolders) {
|
||||
const result = await filepath.isFolder(each, $root);
|
||||
if (result) {
|
||||
verbose(`Folder ${brightGreen(each)} exists.`);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (errorMessage) {
|
||||
if (!$switches.includes('--quiet')) {
|
||||
error(errorMessage);
|
||||
}
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function assertAnyFile(oneOrMoreFiles: string | string[], errorMessage?: string): Promise<string> {
|
||||
oneOrMoreFiles = is.array(oneOrMoreFiles) ? oneOrMoreFiles : [oneOrMoreFiles];
|
||||
for (const each of oneOrMoreFiles) {
|
||||
const result = await filepath.isFile(each, $root);
|
||||
if (result) {
|
||||
verbose(`Folder ${brightGreen(each)} exists.`);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (errorMessage) {
|
||||
if (!$switches.includes('--quiet')) {
|
||||
error(errorMessage);
|
||||
}
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
const quiet = process.argv.includes('--quiet');
|
||||
|
||||
export async function checkPrep() {
|
||||
let failing = false;
|
||||
|
||||
failing = !await assertAnyFolder('dist/test') && (quiet || warn(`The compiled test files are not in place.`)) || failing;
|
||||
failing = !await assertAnyFolder('dist/walkthrough') && (quiet || warn(`The walkthrough files are not in place.`)) || failing;
|
||||
failing = !await assertAnyFolder('dist/html') && (quiet || warn(`The html files are not in place.`)) || failing;
|
||||
failing = !await assertAnyFolder('dist/schema') && (quiet || warn(`The schema files are not in place.`)) || failing;
|
||||
failing = !await assertAnyFile('dist/nls.metadata.json') && (quiet || warn(`The extension translation file '${$root}/dist/nls.metadata.json is missing.`)) || failing;
|
||||
failing = await checkDTS() || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('Prep files appear to be in place.');
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
|
||||
export async function checkCompiled() {
|
||||
let failing = false;
|
||||
failing = await checkDTS() || failing;
|
||||
failing = !await assertAnyFile('dist/src/main.js') && (quiet || warn(`The extension entry point '${$root}/dist/src/main.js is missing.`)) || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('Compiled files appear to be in place.');
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
|
||||
export async function checkDTS() {
|
||||
let failing = false;
|
||||
failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing;
|
||||
failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('VSCode d.ts files appear to be in place.');
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
|
||||
export async function checkBinaries() {
|
||||
let failing = false;
|
||||
failing = !await assertAnyFile(['bin/cpptools.exe', 'bin/cpptools']) && (quiet || warn(`The native binary files are not present. You should either build or install the native binaries\n\n.`)) || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('Native binary files appear to be in place.');
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { watch as watchFiles } from 'fs/promises';
|
||||
import { filepath } from '../src/Utility/Filesystem/filepath';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { $root, glob, mkdir, updateFiles } from './common';
|
||||
|
||||
export async function main() {
|
||||
verbose(`Copying walkthrough media to extension/dist folder`);
|
||||
await updateFiles(await glob('walkthrough/images/**/*'), mkdir('dist'));
|
||||
}
|
||||
|
||||
export async function watch() {
|
||||
const source = await filepath.isFolder('walkthrough/images', $root);
|
||||
if (source) {
|
||||
verbose(`Watching ${source} folder for changes.`);
|
||||
console.log('Press Ctrl+C to exit.');
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
for await (const event of watchFiles(source, {recursive: true })) {
|
||||
await main();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { parse } from 'comment-json';
|
||||
import { resolve } from 'path';
|
||||
import { read, write } from './common';
|
||||
|
||||
// ****************************
|
||||
// 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.
|
||||
// ****************************
|
||||
export async function main() {
|
||||
const $root = resolve(`${__dirname}/..`);
|
||||
const stringTable = parse(await read(`${$root}/src/nativeStrings.json`)) as any;
|
||||
|
||||
let nativeEnumContent = "";
|
||||
let nativeStringTableContent = "";
|
||||
let typeScriptSwitchContent = "";
|
||||
|
||||
let stringIndex = 1;
|
||||
for (const property in stringTable) {
|
||||
let stringValue = stringTable[property];
|
||||
let hintValue;
|
||||
if (typeof stringValue !== "string") {
|
||||
hintValue = stringValue.hint;
|
||||
stringValue = stringValue.text;
|
||||
}
|
||||
|
||||
// Add to native enum
|
||||
nativeEnumContent += ` ${property} = ${stringIndex},\n`;
|
||||
|
||||
// Add to native string table
|
||||
nativeStringTableContent += ` ${JSON.stringify(stringValue)},\n`;
|
||||
|
||||
// Add to TypeScript switch
|
||||
// Skip empty strings, which can be used to prevent enum/index reordering
|
||||
if (stringValue !== "") {
|
||||
// It's possible that a translation may skip "{#}" entries, so check for up to 50 of them.
|
||||
let numArgs = 0;
|
||||
for (let i = 0; i < 50; i++) {
|
||||
if (stringValue.includes(`{${i}}`)) {
|
||||
numArgs = i + 1;
|
||||
}
|
||||
}
|
||||
typeScriptSwitchContent += ` case ${stringIndex}:\n`;
|
||||
if (numArgs !== 0) {
|
||||
typeScriptSwitchContent += ` if (stringArgs) {\n`;
|
||||
if (hintValue) {
|
||||
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
|
||||
} else {
|
||||
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
|
||||
}
|
||||
for (let i = 0; i < numArgs; i++) {
|
||||
typeScriptSwitchContent += `, stringArgs[${i}]`;
|
||||
}
|
||||
typeScriptSwitchContent += `);\n break;\n }\n`;
|
||||
}
|
||||
if (hintValue) {
|
||||
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
|
||||
} else {
|
||||
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
|
||||
}
|
||||
typeScriptSwitchContent += `);\n break;\n`;
|
||||
}
|
||||
++stringIndex;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// Generate the TypeScript file
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
const 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 const localizedStringCount: number = ${stringIndex};
|
||||
|
||||
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;
|
||||
}
|
||||
`;
|
||||
|
||||
// If the file isn't there, or the contents are different, write it out
|
||||
await write(`${$root}/src/nativeStrings.ts`, typeScriptContent);
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// Generate the native string header file
|
||||
// --------------------------------------------------------------------------------------------
|
||||
const 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
|
||||
// NOLINTBEGIN(modernize-raw-string-literal)
|
||||
enum class localized_string_id : unsigned int
|
||||
{
|
||||
blank = 0,
|
||||
${nativeEnumContent}};
|
||||
|
||||
inline static const char *localizable_strings[] = {
|
||||
"",
|
||||
${nativeStringTableContent}};
|
||||
// NOLINTEND(modernize-raw-string-literal)
|
||||
`;
|
||||
|
||||
// If the file isn't there, or the contents are different, write it out
|
||||
await write(`${$root}/localized_string_ids.h`, nativeContents);
|
||||
}
|
||||
+15
-18
@@ -1,10 +1,12 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import * as fs from 'fs';
|
||||
import * as os from 'os';
|
||||
/* eslint-disable no-prototype-builtins */
|
||||
|
||||
import { resolve } from 'path';
|
||||
import { $root, read, write } from './common';
|
||||
|
||||
function appendFieldsToObject(reference: any, obj: any): any {
|
||||
// Make sure it is an object type
|
||||
@@ -54,7 +56,7 @@ function updateDefaults(object: any, defaults: any): any {
|
||||
|
||||
function refReplace(definitions: any, ref: any): any {
|
||||
// $ref is formatted as "#/definitions/ObjectName"
|
||||
const referenceStringArray: string[] = ref['$ref'].split('/');
|
||||
const referenceStringArray: string[] = ref.$ref.split('/');
|
||||
|
||||
// Getting "ObjectName"
|
||||
const referenceName: string = referenceStringArray[referenceStringArray.length - 1];
|
||||
@@ -69,7 +71,7 @@ function refReplace(definitions: any, ref: any): any {
|
||||
ref = appendFieldsToObject(reference, ref);
|
||||
|
||||
// Remove $ref field
|
||||
delete ref['$ref'];
|
||||
delete ref.$ref;
|
||||
|
||||
return ref;
|
||||
}
|
||||
@@ -114,10 +116,10 @@ function mergeReferences(baseDefinitions: any, additionalDefinitions: any): void
|
||||
}
|
||||
}
|
||||
|
||||
function generateOptionsSchema(): void {
|
||||
const packageJSON: any = JSON.parse(fs.readFileSync('package.json').toString());
|
||||
const schemaJSON: any = JSON.parse(fs.readFileSync('tools/OptionsSchema.json').toString());
|
||||
const symbolSettingsJSON: any = JSON.parse(fs.readFileSync('tools/VSSymbolSettings.json').toString());
|
||||
export async function main() {
|
||||
const packageJSON: any = JSON.parse(await read(resolve($root, 'package.json')));
|
||||
const schemaJSON: any = JSON.parse(await read(resolve($root, 'tools/OptionsSchema.json')));
|
||||
const symbolSettingsJSON: any = JSON.parse(await read(resolve($root, 'tools/VSSymbolSettings.json')));
|
||||
|
||||
mergeReferences(schemaJSON.definitions, symbolSettingsJSON.definitions);
|
||||
|
||||
@@ -132,16 +134,11 @@ function generateOptionsSchema(): void {
|
||||
packageJSON.contributes.debuggers[1].configurationAttributes.launch = schemaJSON.definitions.CppvsdbgLaunchOptions;
|
||||
packageJSON.contributes.debuggers[1].configurationAttributes.attach = schemaJSON.definitions.CppvsdbgAttachOptions;
|
||||
|
||||
let content: string = JSON.stringify(packageJSON, null, 2);
|
||||
if (os.platform() === 'win32') {
|
||||
content = content.replace(/\n/gm, "\r\n");
|
||||
}
|
||||
let content: string = JSON.stringify(packageJSON, null, 4);
|
||||
|
||||
// We use '\u200b' (unicode zero-length space character) to break VS Code's URL detection regex for URLs that are examples. This process will
|
||||
// convert that from the readable espace sequence, to just an invisible character. Convert it back to the visible espace sequence.
|
||||
content = content.replace(/\u200b/gm, "\\u200b");
|
||||
content = content.replace(/\u200b/gm, "\\u200b") + "\n";
|
||||
|
||||
fs.writeFileSync('package.json', content);
|
||||
await write('package.json', content);
|
||||
}
|
||||
|
||||
generateOptionsSchema();
|
||||
@@ -0,0 +1,95 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
import * as fs from "fs";
|
||||
import * as path from 'path';
|
||||
import { parseString } from 'xml2js';
|
||||
import { mkdir, write } from './common';
|
||||
|
||||
export async function main() {
|
||||
|
||||
const localizeRepoPath = process.argv[2];
|
||||
const cpptoolsRepoPath = process.argv[3];
|
||||
|
||||
if (!localizeRepoPath || !cpptoolsRepoPath) {
|
||||
console.error(`ERROR: Usage: ${path.parse(process.argv[0]).base} ${path.parse(process.argv[1]).base} <Localize repo path> <vscode-cpptools repo path>`);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log("Importing EDGE strings from Localize repo: " + localizeRepoPath);
|
||||
console.log("Writing to cpptools repo: " + cpptoolsRepoPath);
|
||||
|
||||
if (!fs.existsSync(path.join(localizeRepoPath, ".git"))) {
|
||||
console.error("ERROR: Localize repo submodule is not initialized in Localize repo");
|
||||
return;
|
||||
}
|
||||
|
||||
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 those languages.
|
||||
{ id: "hu", folderName: "hun" }, // VS Code supports Hungarian, but VS is not currently localized for those languages.
|
||||
{ id: "pt-br", folderName: "ptb", transifexId: "pt-BR" },
|
||||
{ id: "tr", folderName: "trk" },
|
||||
{ id: "cs", folderName: "csy" },
|
||||
{ id: "pl", folderName: "plk" }
|
||||
];
|
||||
|
||||
const locFolderNames = fs.readdirSync(localizeRepoPath).filter(f => fs.lstatSync(path.join(localizeRepoPath, f)).isDirectory());
|
||||
for (const locFolderName of locFolderNames) {
|
||||
const lclPath = path.join(localizeRepoPath, locFolderName, "vc/vc/cpfeui.dll.lcl");
|
||||
const languageInfo = languages.find(l => l.folderName === locFolderName);
|
||||
if (!languageInfo) {
|
||||
return;
|
||||
}
|
||||
const languageId = languageInfo.id;
|
||||
const outputLanguageFolder = path.join(cpptoolsRepoPath, "Extension/bin/messages", languageId);
|
||||
const outputPath = path.join(outputLanguageFolder, "messages.json");
|
||||
const sourceContent = fs.readFileSync(lclPath, 'utf-8');
|
||||
|
||||
// Scan once, just to determine how many there are the size of the array we need
|
||||
let highestValue = 0;
|
||||
parseString(sourceContent, function (err, result) {
|
||||
result.LCX.Item.forEach((item) => {
|
||||
if (item.$.ItemId === ";String Table") {
|
||||
item.Item.forEach((subItem) => {
|
||||
const itemId = parseInt(subItem.$.ItemId, 10);
|
||||
if (subItem.Str[0].Tgt) {
|
||||
if (highestValue < itemId) {
|
||||
highestValue = itemId;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const resultArray = new Array(highestValue);
|
||||
parseString(sourceContent, function (err, result) {
|
||||
result.LCX.Item.forEach((item) => {
|
||||
if (item.$.ItemId === ";String Table") {
|
||||
item.Item.forEach((subItem) => {
|
||||
const itemId = parseInt(subItem.$.ItemId, 10);
|
||||
if (subItem.Str[0].Tgt) {
|
||||
resultArray[itemId] = subItem.Str[0].Tgt[0].Val[0].replace(/\]5D;/g, "]");
|
||||
if (highestValue < itemId) {
|
||||
highestValue = itemId;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
await mkdir(outputLanguageFolder);
|
||||
await write(outputPath, JSON.stringify(resultArray, null, 4) + "\n");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { gray, green, readJson } from './common';
|
||||
|
||||
export async function main() {
|
||||
const pkg = await readJson('package.json') as Record<string, any>;
|
||||
if (pkg.scripts) {
|
||||
console.log(green('\n\nAvailable script commands:\n'));
|
||||
for (const key of Object.keys(pkg.scripts)) {
|
||||
console.log(green(`yarn ${key} - ${gray(pkg.scripts[key])}`));
|
||||
}
|
||||
console.log('');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { runTests } from '@vscode/test-electron';
|
||||
import { spawnSync } from 'child_process';
|
||||
import { CommentArray, CommentObject } from 'comment-json';
|
||||
import { readdir } from 'fs/promises';
|
||||
import { resolve } from 'path';
|
||||
import { env } from 'process';
|
||||
import { returns } from '../src/Utility/Async/returns';
|
||||
import { filepath } from '../src/Utility/Filesystem/filepath';
|
||||
import { is } from '../src/Utility/System/guards';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { getTestInfo } from '../test/common/selectTests';
|
||||
import { $args, $root, $scenario, assertAnyFile, assertAnyFolder, brightGreen, checkBinaries, cmdSwitch, cyan, error, gray, green, readJson, red, writeJson } from './common';
|
||||
import { install, isolated, options } from './vscode';
|
||||
|
||||
export { install, reset } from './vscode';
|
||||
|
||||
const sowrite = process.stdout.write.bind(process.stdout) as (...args: unknown[]) => boolean;
|
||||
const sewrite = process.stderr.write.bind(process.stderr) as (...args: unknown[]) => boolean;
|
||||
|
||||
const filters = [
|
||||
/^\[(.*)\].*/,
|
||||
/^Unexpected token A/,
|
||||
/Cannot register 'cmake.cmakePath'/,
|
||||
/\[DEP0005\] DeprecationWarning/,
|
||||
/--trace-deprecation/,
|
||||
/Iconv-lite warning/,
|
||||
/^Extension '/,
|
||||
/^Found existing install/
|
||||
];
|
||||
|
||||
// remove unwanted messages from stdio
|
||||
function filterStdio() {
|
||||
process.stdout.write = function (...args: unknown[]) {
|
||||
if (typeof args[0] === 'string') {
|
||||
const text = args[0];
|
||||
|
||||
if (filters.some(each => text.match(each))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (args[0] instanceof Buffer) {
|
||||
const text = args[0].toString();
|
||||
if (filters.some(each => text.match(each))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return sowrite(...args);
|
||||
};
|
||||
|
||||
process.stderr.write = function (...args: unknown[]) {
|
||||
if (typeof args[0] === 'string') {
|
||||
const text = args[0];
|
||||
|
||||
if (filters.some(each => text.match(each))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (args[0] instanceof Buffer) {
|
||||
const text = args[0].toString();
|
||||
if (filters.some(each => text.match(each))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return sewrite(...args);
|
||||
};
|
||||
}
|
||||
|
||||
filterStdio();
|
||||
|
||||
async function unitTests() {
|
||||
await assertAnyFolder('dist/test/unit', `The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`);
|
||||
const mocha = await assertAnyFile(["node_modules/.bin/mocha.cmd", "node_modules/.bin/mocha"], `Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`);
|
||||
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit'});
|
||||
verbose(`\n${green("NOTE:")} If you want to run a scenario test (end-to-end) use ${cmdSwitch('scenario=<NAME>')} \n\n`);
|
||||
return result.status;
|
||||
}
|
||||
|
||||
async function scenarioTests(assets: string, name: string, workspace: string) {
|
||||
if (await checkBinaries()) {
|
||||
process.exit(1);
|
||||
}
|
||||
return runTests({
|
||||
...options,
|
||||
extensionDevelopmentPath: $root,
|
||||
extensionTestsPath: resolve($root, 'dist/test/common/selectTests'),
|
||||
launchArgs: workspace ? [...options.launchArgs, workspace] : options.launchArgs,
|
||||
extensionTestsEnv: {
|
||||
SCENARIO: assets
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export async function main() {
|
||||
await assertAnyFolder('dist/test/', `The folder '${$root}/dist/test is missing. You should run ${brightGreen("yarn compile")}\n\n`);
|
||||
const arg = $args.find(each => !each.startsWith("--"));
|
||||
const specifiedScenario = $scenario || env.SCENARIO || await getScenarioFolder(arg);
|
||||
const testInfo = await getTestInfo(specifiedScenario);
|
||||
|
||||
if (!testInfo) {
|
||||
if (arg) {
|
||||
return error(`Could not find scenario ${arg}`);
|
||||
}
|
||||
// lets just run the unit tests
|
||||
process.exit(await unitTests());
|
||||
}
|
||||
|
||||
// at this point, we're going to run some vscode tests
|
||||
if (!await filepath.isFolder(isolated)) {
|
||||
await install();
|
||||
}
|
||||
process.exit(await scenarioTests(testInfo.assets, testInfo.name, testInfo.workspace));
|
||||
}
|
||||
|
||||
export async function all() {
|
||||
if (await checkBinaries()) {
|
||||
process.exit(1);
|
||||
}
|
||||
const finished: string[] = [];
|
||||
|
||||
if (await unitTests() !== 0) {
|
||||
console.log(`${cyan(" UNIT TESTS: ")}${red("failed")}`);
|
||||
process.exit(1);
|
||||
}
|
||||
finished.push(`${cyan(" UNIT TESTS: ")}${green("success")}`);
|
||||
|
||||
// at this point, we're going to run some vscode tests
|
||||
if (!await filepath.isFolder(isolated)) {
|
||||
await install();
|
||||
}
|
||||
try {
|
||||
const scenarios = await getScenarioNames();
|
||||
for (const each of scenarios) {
|
||||
if (await filepath.isFolder(`${$root}/test/scenarios/${each}/tests`)) {
|
||||
const ti = await getTestInfo(each);
|
||||
|
||||
if (ti) {
|
||||
console.log(`\n\nRunning scenario ${each}`);
|
||||
const result = await scenarioTests(ti.assets, ti.name, ti.workspace);
|
||||
if (result) {
|
||||
console.log(finished.join('\n'));
|
||||
console.log(` ${cyan(`${ti.name} Tests:`)}${red("failed")}`);
|
||||
process.exit(result);
|
||||
}
|
||||
finished.push(` ${cyan(`${ti.name} Tests:`)}${green("success")}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
error(e);
|
||||
} finally {
|
||||
console.log(finished.join('\n'));
|
||||
}
|
||||
}
|
||||
|
||||
interface Input {
|
||||
id: string;
|
||||
type: string;
|
||||
description: string;
|
||||
options: CommentArray<{label: string; value: string}>;
|
||||
}
|
||||
|
||||
export async function getScenarioNames() {
|
||||
return (await readdir(`${$root}/test/scenarios`).catch(returns.none)).filter(each => each !== 'Debugger');
|
||||
}
|
||||
|
||||
export async function getScenarioFolder(scenarioName: string) {
|
||||
return scenarioName ? resolve(`${$root}/test/scenarios/${(await getScenarioNames()).find(each => each.toLowerCase() === scenarioName.toLowerCase())}`) : undefined;
|
||||
}
|
||||
|
||||
export async function list() {
|
||||
console.log(`\n${cyan("Scenarios: ")}\n`);
|
||||
const names = await getScenarioNames();
|
||||
const max = names.reduce((max, each) => Math.max(max, each), 0);
|
||||
for (const each of names) {
|
||||
console.log(` ${green(each.padEnd(max))}: ${gray(await getScenarioFolder(each))}`);
|
||||
}
|
||||
}
|
||||
|
||||
export async function regen() {
|
||||
// update the .vscode/launch.json file with the scenarios
|
||||
const scenarios = await getScenarioNames();
|
||||
const launch = await readJson(`${$root}/.vscode/launch.json`) as CommentObject;
|
||||
if (!is.object(launch)) {
|
||||
return error(`The file ${$root}/.vscode/launch.json is not valid json`);
|
||||
}
|
||||
if (!is.array(launch.inputs)) {
|
||||
return error(`The file ${$root}/.vscode/launch.json is missing the 'inputs' array`);
|
||||
}
|
||||
|
||||
const inputs = launch.inputs as unknown as CommentArray<Input>;
|
||||
const pickScenario = inputs.find(each => each.id === 'pickScenario');
|
||||
if (!pickScenario) {
|
||||
return error(`The file ${$root}/.vscode/launch.json is missing the 'pickScenario' input`);
|
||||
}
|
||||
const pickWorkspace = inputs.find(each => each.id === 'pickWorkspace');
|
||||
if (!pickWorkspace) {
|
||||
return error(`The file ${$root}/.vscode/launch.json is missing the 'pickWorkspace' input`);
|
||||
}
|
||||
|
||||
for (const scenarioFolder of scenarios) {
|
||||
|
||||
const prefix = $root.replace(/\\/g, '/');
|
||||
|
||||
if (await filepath.isFolder(`${$root}/test/scenarios/${scenarioFolder}/tests`)) {
|
||||
const testInfo = await getTestInfo(scenarioFolder);
|
||||
if (testInfo) {
|
||||
const label = `${scenarioFolder} `;
|
||||
const value = testInfo.workspace.replace(/\\/g, '/').replace(prefix, '${workspaceFolder}');
|
||||
|
||||
const scenario = pickScenario.options.find(s => s.label === label);
|
||||
if (!scenario) {
|
||||
console.log(`Adding scenario ${green(scenarioFolder)} to pickScenario`);
|
||||
pickScenario.options.push({ label, value });
|
||||
} else {
|
||||
verbose(`Skipping scenario ${scenarioFolder} because it already exists`);
|
||||
}
|
||||
|
||||
const wrkspace = pickWorkspace.options.find(s => s.label === label);
|
||||
if (!wrkspace) {
|
||||
console.log(`Adding workspace ${green(scenarioFolder)} to pickWorkspace`);
|
||||
pickWorkspace.options.push({ label, value });
|
||||
} else {
|
||||
verbose(`Skipping workspace ${scenarioFolder} because it already exists`);
|
||||
}
|
||||
} else {
|
||||
verbose(`Skipping scenario ${scenarioFolder} because it doesn't look like there are any tests. (maybe try and run ${brightGreen("yarn compile")})`);
|
||||
}
|
||||
}
|
||||
}
|
||||
await writeJson(`${$root}/.vscode/launch.json`, launch);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"module": "node16",
|
||||
"moduleResolution": "node16",
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"sourceMap": true,
|
||||
"esModuleInterop": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { checkBinaries, checkCompiled, checkDTS, checkPrep, error, green } from './common';
|
||||
const quiet = process.argv.includes('--quiet');
|
||||
|
||||
export async function main() {
|
||||
let failing = await checkPrep() && (quiet || error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`));
|
||||
failing = (await checkCompiled() && (quiet || error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`))) || failing;
|
||||
failing = (await checkBinaries() && (quiet || error(`The native binary files are not present. You should either build or install the native binaries\n\n.`))) || failing;
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function compiled() {
|
||||
let failing = false;
|
||||
failing = (await checkCompiled() && (quiet || error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`))) || failing;
|
||||
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function binaries() {
|
||||
let failing = false;
|
||||
failing = (await checkBinaries() && (quiet || error(`The native binary files are not present. You should either build or install the native binaries\n\n.`))) || failing;
|
||||
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function prep() {
|
||||
let failing = false;
|
||||
failing = (await checkPrep() && (quiet || error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`))) || failing;
|
||||
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function dts() {
|
||||
let failing = false;
|
||||
failing = (await checkDTS() && (quiet || error(`VSCode import files are not present. Run ${green('yarn prep')} to fix it.`))) || failing;
|
||||
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath } from '@vscode/test-electron';
|
||||
import { createHash } from 'crypto';
|
||||
import { tmpdir } from 'os';
|
||||
import { resolve } from 'path';
|
||||
import { verbose } from '../src/Utility/Text/streams';
|
||||
import { mkdir, readJson, rimraf, write } from './common';
|
||||
|
||||
export const isolated = resolve(tmpdir(), '.vscode-test', createHash('sha256').update(__dirname).digest('hex').substring(0, 6));
|
||||
export const extensionsDir = resolve(isolated, 'extensions');
|
||||
export const userDir = resolve(isolated, 'user-data');
|
||||
export const settings = resolve(userDir, "User", 'settings.json');
|
||||
|
||||
export const options = {
|
||||
cachePath: `${isolated}/cache`,
|
||||
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
|
||||
};
|
||||
|
||||
export async function install() {
|
||||
try {
|
||||
// Create a new isolated directory for VS Code instance in the test folder, and make it specific to the extension folder so we can avoid collisions.
|
||||
// keeping this out of the Extension folder means we're not worried about VS Code getting weird with locking files and such.
|
||||
|
||||
verbose(`Isolated VSCode test folder: ${isolated}`);
|
||||
await mkdir(isolated);
|
||||
|
||||
const vscodeExecutablePath = await downloadAndUnzipVSCode(options);
|
||||
const [cli, ...args] = resolveCliArgsFromVSCodeExecutablePath(vscodeExecutablePath).filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir='));
|
||||
|
||||
args.push(`--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`);
|
||||
|
||||
// install the appropriate extensions
|
||||
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' });
|
||||
// spawnSync(cli, [...args, '--install-extension', 'twxs.cmake'], { encoding: 'utf-8', stdio: 'ignore' });
|
||||
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cmake-tools'], { encoding: 'utf-8', stdio: 'ignore' });
|
||||
const settingsJson = await readJson(settings, {});
|
||||
if (!settingsJson["workbench.colorTheme"]) {
|
||||
settingsJson["workbench.colorTheme"] = "Tomorrow Night Blue";
|
||||
}
|
||||
|
||||
settingsJson["git.openRepositoryInParentFolders"] = "never";
|
||||
await write(settings, JSON.stringify(settingsJson, null, 4));
|
||||
|
||||
return {
|
||||
cli, args
|
||||
};
|
||||
|
||||
} catch (err: unknown) {
|
||||
console.log(err);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export async function reset() {
|
||||
verbose(`Removing VSCode test folder: ${isolated}`);
|
||||
await rimraf(isolated);
|
||||
}
|
||||
Vendored
+141
-126
@@ -1,128 +1,143 @@
|
||||
// A launch configuration that compiles the extension and then opens it inside a new window
|
||||
{
|
||||
"version": "0.1.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Launch Extension (development)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Compile Dev",
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (production)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "TypeScript Compile",
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (do not build)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (watch, development)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Compile Dev Watch",
|
||||
},
|
||||
{
|
||||
"name": "Launch Extension (watch, production)",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"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/index"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Pretest"
|
||||
},
|
||||
{
|
||||
"name": "Launch Integration Tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index"
|
||||
],
|
||||
"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"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Pretest"
|
||||
},
|
||||
{
|
||||
"name": "Node Attach",
|
||||
"type": "node",
|
||||
"request": "attach",
|
||||
"port": 5858
|
||||
},
|
||||
]
|
||||
}
|
||||
"version": "0.1.0",
|
||||
"configurations": [
|
||||
{
|
||||
// debugs the extension
|
||||
"name": "Run Extension",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"args": [
|
||||
"--no-sandbox",
|
||||
"--disable-updates",
|
||||
"--skip-welcome",
|
||||
"--skip-release-notes",
|
||||
"--disable-workspace-trust",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**"
|
||||
],
|
||||
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
||||
"preLaunchTask": "watch"
|
||||
},
|
||||
{
|
||||
// debugs the extension (selecting the workspace)
|
||||
"name": "Run Extension-Select Workspace",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"args": [
|
||||
"--no-sandbox",
|
||||
"--disable-updates",
|
||||
"--skip-welcome",
|
||||
"--skip-release-notes",
|
||||
"--disable-workspace-trust",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"${input:pickWorkspace}"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**"
|
||||
],
|
||||
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
||||
"preLaunchTask": "watch"
|
||||
},
|
||||
{
|
||||
// debug scenario tests (selecting the workspace)
|
||||
"name": "VSCode Tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"env": {
|
||||
"SCENARIO": "${input:pickScenario}"
|
||||
},
|
||||
"args": [
|
||||
"--no-sandbox",
|
||||
"--disable-updates",
|
||||
"--skip-welcome",
|
||||
"--skip-release-notes",
|
||||
"--disable-extensions",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/dist/test/common/selectTests",
|
||||
"--scenario=${input:pickScenario}",
|
||||
"${input:pickScenario}"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**"
|
||||
],
|
||||
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
||||
"preLaunchTask": "watch"
|
||||
},
|
||||
{
|
||||
// used for debugging unit tests
|
||||
"name": "MochaTest",
|
||||
"type": "node",
|
||||
"request": "attach",
|
||||
"port": 9229,
|
||||
"continueOnAttach": true,
|
||||
"autoAttachChildProcesses": false,
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
],
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/**",
|
||||
"!**/node_modules/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"type": "pickString",
|
||||
"id": "pickScenario",
|
||||
"description": "Select which scenario to debug VSCode tests.",
|
||||
"options": [
|
||||
{
|
||||
"label": "MultirootDeadlockTest ",
|
||||
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
|
||||
},
|
||||
{
|
||||
"label": "SimpleCppProject ",
|
||||
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
|
||||
},
|
||||
{
|
||||
"label": "SingleRootProject ",
|
||||
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
|
||||
},
|
||||
{
|
||||
"label": "CompilerDetection ",
|
||||
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "pickString",
|
||||
"id": "pickWorkspace",
|
||||
"description": "Select which workspace scenario to debug VSCode.",
|
||||
"default": "-n",
|
||||
"options": [
|
||||
{
|
||||
"label": "(Debug with new window) ",
|
||||
"value": "-n"
|
||||
},
|
||||
{
|
||||
"label": "MultirootDeadlockTest ",
|
||||
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
|
||||
},
|
||||
{
|
||||
"label": "SimpleCppProject ",
|
||||
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
|
||||
},
|
||||
{
|
||||
"label": "SingleRootProject ",
|
||||
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
|
||||
},
|
||||
{
|
||||
"label": "CompilerDetection ",
|
||||
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Vendored
+65
-8
@@ -1,10 +1,67 @@
|
||||
// Place your settings in this file to overwrite default and user settings.
|
||||
{
|
||||
"files.exclude": {
|
||||
"out": false // set this to true to hide the "out" folder with the compiled JS files
|
||||
},
|
||||
"search.exclude": {
|
||||
"out": true // set this to false to include "out" folder in search results
|
||||
},
|
||||
"typescript.tsdk": "./node_modules/typescript/lib" // we want to use the TS server from our node_modules folder to control its version
|
||||
}
|
||||
"files.exclude": {
|
||||
"out": false // set this to true to hide the "out" folder with the compiled JS files
|
||||
},
|
||||
"search.exclude": {
|
||||
"out": true // set this to false to include "out" folder in search results
|
||||
},
|
||||
"typescript.tsdk": "./node_modules/typescript/lib", // we want to use the TS server from our node_modules folder to control its version
|
||||
// if you install the mocha test explorer extension, you can run the unit tests from the test explorer UI
|
||||
"testExplorer.useNativeTesting": true,
|
||||
"mochaExplorer.files": "./**/unit/**/*.test.js",
|
||||
"mochaExplorer.watch": "./**/unit/**/*.test.js",
|
||||
"mochaExplorer.ignore": [
|
||||
"**/*skip*",
|
||||
"**/dist/test/**/*.d.ts",
|
||||
"**/node_modules/**"
|
||||
],
|
||||
"mochaExplorer.debuggerConfig": "MochaTest",
|
||||
"mochaExplorer.logpanel": true,
|
||||
"mochaExplorer.timeout": 500000,
|
||||
"mochaExplorer.require": [
|
||||
"source-map-support/register"
|
||||
],
|
||||
"mochaExplorer.monkeyPatch": true,
|
||||
"[json]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": "vscode.json-language-features",
|
||||
"editor.tabSize": 4,
|
||||
"files.insertFinalNewline": true
|
||||
},
|
||||
"[jsonc]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": "vscode.json-language-features",
|
||||
"editor.tabSize": 4,
|
||||
"files.insertFinalNewline": true
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.tabSize": 4,
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
||||
"editor.formatOnSave": true,
|
||||
"files.insertFinalNewline": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true,
|
||||
"source.organizeImports": true
|
||||
},
|
||||
},
|
||||
"eslint.format.enable": true,
|
||||
"[javascript]": {
|
||||
"editor.tabSize": 4,
|
||||
},
|
||||
"markdown.extension.list.indentationSize": "inherit",
|
||||
"markdown.extension.toc.levels": "2..6",
|
||||
"[markdown]": {
|
||||
"editor.tabSize": 4,
|
||||
},
|
||||
"eslint.workingDirectories": [
|
||||
{
|
||||
"changeProcessCWD": true,
|
||||
"directory": "./",
|
||||
},
|
||||
{
|
||||
"changeProcessCWD": true,
|
||||
"directory": "./.scripts",
|
||||
}
|
||||
],
|
||||
}
|
||||
|
||||
Vendored
+10
-153
@@ -4,168 +4,25 @@
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "TypeScript Compile",
|
||||
"label": "compile",
|
||||
"type": "npm",
|
||||
"script": "compile",
|
||||
"problemMatcher": "$tsc",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "silent",
|
||||
"focus": false,
|
||||
"panel": "shared"
|
||||
},
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "TypeScript Lint",
|
||||
"group": "build",
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"lint"
|
||||
],
|
||||
"problemMatcher": {
|
||||
"fileLocation": "absolute",
|
||||
"source": "lint",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "(ERROR:) ([a-zA-Z/:\\-\\.]*)\\[(\\d+), (\\d+)\\]: (.*)",
|
||||
"severity": 1,
|
||||
"file": 2,
|
||||
"line": 3,
|
||||
"column": 4,
|
||||
"message": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"dependsOn": [
|
||||
"Compile Dev"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Compile Dev",
|
||||
"group": "build",
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile-dev"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Pretest",
|
||||
"group": "build",
|
||||
"isBackground": false,
|
||||
"type": "shell",
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"pretest"
|
||||
],
|
||||
"dependsOn": [
|
||||
"Compile Dev"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "TypeScript Compile Watch",
|
||||
"label": "watch",
|
||||
"type": "npm",
|
||||
"script": "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"
|
||||
],
|
||||
"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": "asset"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "webpack (.*?) compiled (.*?) ms"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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": "asset"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "webpack (.*?) compiled (.*?) ms"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
"problemMatcher": "$tsc-watch",
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
+54
-47
@@ -1,47 +1,54 @@
|
||||
|
||||
# ignore vscode settings for extension development
|
||||
.vscode/**
|
||||
|
||||
# ignore binaries
|
||||
obj/**
|
||||
|
||||
# ignore source files
|
||||
tools/**
|
||||
notices/**
|
||||
test/**
|
||||
src/**
|
||||
|
||||
# ignore .js files that are webpacked or only used for development
|
||||
out/src/**
|
||||
out/tools/**
|
||||
|
||||
# ignore ts files in ui
|
||||
ui/*.ts
|
||||
|
||||
# ignore Azure-Pipelines files
|
||||
jobs/**
|
||||
cgmanifest.json
|
||||
|
||||
# ignore development files
|
||||
tsconfig.json
|
||||
test.tsconfig.json
|
||||
tslint.json
|
||||
.eslintrc.js
|
||||
webpack.config.js
|
||||
tscCompileList.txt
|
||||
gulpfile.js
|
||||
.gitattributes
|
||||
.gitignore
|
||||
CMakeLists.txt
|
||||
debugAdapters/install.lock*
|
||||
typings/**
|
||||
**/*.map
|
||||
import_edge_strings.js
|
||||
localized_string_ids.h
|
||||
translations_auto_pr.js
|
||||
|
||||
# ignore i18n language files
|
||||
i18n/**
|
||||
|
||||
# ignore node_modules
|
||||
node_modules/
|
||||
|
||||
# ignore vscode settings for extension development
|
||||
.vscode/**
|
||||
|
||||
# ignore binaries
|
||||
obj/**
|
||||
|
||||
# ignore source files
|
||||
tools/**
|
||||
notices/**
|
||||
test/**
|
||||
src/**
|
||||
|
||||
# ignore .js files that are webpacked or only used for development
|
||||
out/src/**
|
||||
out/tools/**
|
||||
|
||||
# don't include the local code and tests compiled files
|
||||
dist/test/**
|
||||
|
||||
# no project scripts
|
||||
.scripts/**
|
||||
|
||||
# ignore ts files in ui
|
||||
ui/*.ts
|
||||
|
||||
# ignore Azure-Pipelines files
|
||||
jobs/**
|
||||
cgmanifest.json
|
||||
|
||||
# ignore development files
|
||||
tsconfig.json
|
||||
test.tsconfig.json
|
||||
ui.tsconfig.json
|
||||
tslint.json
|
||||
.eslintrc.js
|
||||
webpack.config.js
|
||||
tscCompileList.txt
|
||||
gulpfile.js
|
||||
.gitattributes
|
||||
.gitignore
|
||||
CMakeLists.txt
|
||||
debugAdapters/install.lock*
|
||||
typings/**
|
||||
**/*.map
|
||||
import_edge_strings.js
|
||||
localized_string_ids.h
|
||||
translations_auto_pr.js
|
||||
|
||||
# ignore i18n language files
|
||||
i18n/**
|
||||
|
||||
# ignore node_modules
|
||||
node_modules/
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
ignore-engines true
|
||||
disable-self-update-check true
|
||||
--run.silent true
|
||||
+288
-14
@@ -1,11 +1,283 @@
|
||||
# C/C++ for Visual Studio Code Changelog
|
||||
|
||||
## Version 1.18.2: November 8, 2023
|
||||
### Enhancement
|
||||
* 'Extract to function' is enabled without `C_Cpp.experimentalFeatures` being set to `"enabled"`.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix 'Extract to function' for functions in a header file . [#11466](https://github.com/microsoft/vscode-cpptools/issues/11466)
|
||||
* Fix 'Extract to function' for functions in an anonymous namespace. [#11474](https://github.com/microsoft/vscode-cpptools/issues/11474)
|
||||
* Fix 'Extract to function' for C code with typedefs or structs. [#11475](https://github.com/microsoft/vscode-cpptools/issues/11475)
|
||||
* Fix an IntelliSense crash when hovering over an invalid array index expression. [#11510](https://github.com/microsoft/vscode-cpptools/issues/11510)
|
||||
* Fix 'Add #include' code actions not appearing for "is not a template" errors. [#11543](https://github.com/microsoft/vscode-cpptools/issues/11543)
|
||||
* Fix 'Extract to function' bugs with formatting and selection. [#11614](https://github.com/microsoft/vscode-cpptools/issues/11614), [#11619](https://github.com/microsoft/vscode-cpptools/issues/11619)
|
||||
* Fix 'Add #include' code actions being available for system headers that are already included. [#11618](https://github.com/microsoft/vscode-cpptools/issues/11618)
|
||||
* Fix an IntelliSense crash when selecting code.
|
||||
|
||||
## Version 1.18.1: November 2, 2023
|
||||
### New Feature
|
||||
* Add `#include` code action suggestions for some IntelliSense errors related to symbols not being found. [#10791](https://github.com/microsoft/vscode-cpptools/issues/10791)
|
||||
* Since C code doesn't give an error for an undefined symbol, it usually won't be available for C.
|
||||
|
||||
### Enhancements
|
||||
* Improve the walkthrough wording. [#11320](https://github.com/microsoft/vscode-cpptools/issues/11320)
|
||||
* Change 'Extract to Function' to prompt for the name instead of doing a rename afterwards. [#11531](https://github.com/microsoft/vscode-cpptools/issues/11531)
|
||||
* Add a pre-release available notification. [PR #11569](https://github.com/microsoft/vscode-cpptools/pull/11569)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix no error message getting shown if 'Extract to Function' creation fails. [#11567](https://github.com/microsoft/vscode-cpptools/issues/11567)
|
||||
* Fix an autocomplete crash bug (primarily on Mac).
|
||||
|
||||
## Version 1.18.0: October 12, 2023
|
||||
### New Features
|
||||
* Add an 'Extract to Function' (or Member Function) code action after selecting code. [#1162](https://github.com/microsoft/vscode-cpptools/issues/1162)
|
||||
* Currently, it's only enabled when `C_Cpp.experimentFeatures` is set to `enabled`. Also, 'Extract to Free Function' is disabled.
|
||||
* Compiler acquisition improvements. [#10525](https://github.com/microsoft/vscode-cpptools/issues/10525)
|
||||
|
||||
### Enhancements
|
||||
* Add setting `C_Cpp.refactoring.includeHeader` to customize whether or not to add an include header when doing a refactoring code action. [#11271](https://github.com/microsoft/vscode-cpptools/issues/11271)
|
||||
* Update clang-format and clang-tidy to 17.0.2. [PR #11491](https://github.com/microsoft/vscode-cpptools/pull/11491)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix the debugger truncating long strings when inspecting values. [#1786](https://github.com/microsoft/vscode-cpptools/issues/1786)
|
||||
* Switch to using `XDG_CACHE_HOME` on Linux for the default database path. [#10191](https://github.com/microsoft/vscode-cpptools/issues/10191)
|
||||
* Fix an IntelliSense error with std::is_trivially_copyable_v. [#10712](https://github.com/microsoft/vscode-cpptools/issues/10712)
|
||||
* Fix incorrect status and commands with the tag parsing language status UI. [#10749](https://github.com/microsoft/vscode-cpptools/issues/10749)
|
||||
* Fix an empty (`""`) `compilerPath` in a base configuration overriding the compiler specified by a custom configuration provider or a `compile_commands.json`. [#11373](https://github.com/microsoft/vscode-cpptools/issues/11373)
|
||||
* Fix a startup crash when reading values from JSON (settings) that are not the type expected. [#11375](https://github.com/microsoft/vscode-cpptools/issues/11375)
|
||||
* Fix a crash detected by crash telemetry. [#11401](https://github.com/microsoft/vscode-cpptools/issues/11401)
|
||||
* Fix handling of an undefined `env` variable on Linux and macOS. [#11447](https://github.com/microsoft/vscode-cpptools/issues/11447)
|
||||
* Fix multiple issues with querying `nvcc` (CUDA) as a compiler. [#11454](https://github.com/microsoft/vscode-cpptools/issues/11454)
|
||||
* Fix an issue that could cause a C language standard to be applied to a C++ file, or vice versa.
|
||||
* Remove `cpp` and `clang-cpp` preprocessors from the list of detectable compilers.
|
||||
|
||||
## Version 1.17.5: August 28, 2023
|
||||
### Bug Fixes
|
||||
* Fix a language server crash for platforms that don't support the IntelliSense cache (AutoPCH). [#10789](https://github.com/microsoft/vscode-cpptools/issues/10789)
|
||||
* Fix markdown in comments when inline/block code is used. [#11322](https://github.com/microsoft/vscode-cpptools/issues/11322)
|
||||
* Fix Find All References and Call Hierarchy for C files when the cursor is at the end of a symbol. [#11338](https://github.com/microsoft/vscode-cpptools/issues/11338)
|
||||
* Fix usage of the `/Zc:alignedNew-` MSVC compiler option. [#11350](https://github.com/microsoft/vscode-cpptools/issues/11350)
|
||||
|
||||
## Version 1.17.4: August 21, 2023
|
||||
### Bug Fixes
|
||||
* Fix crash recovery for the main extension process. [#11335](https://github.com/microsoft/vscode-cpptools/issues/11335)
|
||||
* Fix an IntelliSense process crash when certain error messages occur with a language pack enabled. [#11336](https://github.com/microsoft/vscode-cpptools/issues/11336)
|
||||
|
||||
## Version 1.17.3: August 16, 2023
|
||||
### Bug Fix
|
||||
* Fix a regression with attaching the debugger to processes on Linux and macOS. [#11328](https://github.com/microsoft/vscode-cpptools/issues/11328)
|
||||
|
||||
## Version 1.17.2: August 14, 2023
|
||||
### Enhancements
|
||||
* Enable a subset of markdown to render in hover by default and a `C_Cpp.markdownInComments` setting. [#6020](https://github.com/microsoft/vscode-cpptools/issues/6020), [#10461](https://github.com/microsoft/vscode-cpptools/issues/10461)
|
||||
* Add support for gcc 13 features. [#11038](https://github.com/microsoft/vscode-cpptools/issues/11038)
|
||||
* Add default compiler detection of additional compilers in MSYS environments. [#11211](https://github.com/microsoft/vscode-cpptools/issues/11211)
|
||||
* Use musl for building Linux binaries of the extension.
|
||||
* Add support for additional compiler wrappers: gomacc, distcc, buildcache, and icecc.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix a couple bugs with documentation comments. [#5241](https://github.com/microsoft/vscode-cpptools/issues/5241)
|
||||
* Added `__float128` support in gcc IntelliSense mode. [#9558](https://github.com/microsoft/vscode-cpptools/issues/9558)
|
||||
* Fix an issue where the debugger would get stuck while using cl.exe options. [#10231](https://github.com/microsoft/vscode-cpptools/issues/10231)
|
||||
* Fix C/C++ commands showing in the Command Palette with non-C/C++ files. [#10421](https://github.com/microsoft/vscode-cpptools/issues/10421)
|
||||
* Fix the 'Select IntelliSense Configuration' command to also update an existing `compilerPath` in c_cpp_properties.json. [#10808](https://github.com/microsoft/vscode-cpptools/issues/10808)
|
||||
* Update clang-format (and clang-tidy) to 16.0.6 to fix a bug. [#11027](https://github.com/microsoft/vscode-cpptools/issues/11027)
|
||||
* Fix `#include` completion leaving an extra `>`. [#11042](https://github.com/microsoft/vscode-cpptools/issues/11042)
|
||||
* Fix an issue with matching of glob patterns containing path delimiters. [#11132](https://github.com/microsoft/vscode-cpptools/issues/11132)
|
||||
* Fix Create Declaration/Definition via `Quick Fix…` from hover tooltip. [#11157](https://github.com/microsoft/vscode-cpptools/issues/11157)
|
||||
* Fix issues with compiler querying of clang-cl. [#11207](https://github.com/microsoft/vscode-cpptools/issues/11207)
|
||||
* Fix `files.encoding` setting on startup. [#11210](https://github.com/microsoft/vscode-cpptools/issues/11210)
|
||||
* Fix a crash related to directories with a very large number of files. [#11226](https://github.com/microsoft/vscode-cpptools/issues/11226)
|
||||
* Fix the parameter format of call hierarchy items. [#11247](https://github.com/microsoft/vscode-cpptools/issues/11247)
|
||||
* Remove the vcpkg code action from the missing includes code action list. [#11252](https://github.com/microsoft/vscode-cpptools/issues/11252)
|
||||
* Fix the file path info of call hierarchy items to display the relative path to a workspace folder. [#11254](https://github.com/microsoft/vscode-cpptools/issues/11254)
|
||||
* Fix colorization for macro expansions in macro arguments. [#11256](https://github.com/microsoft/vscode-cpptools/issues/11256)
|
||||
* Fix a crash for CUDA projects with '>' in the command line. [#11289](https://github.com/microsoft/vscode-cpptools/issues/11289)
|
||||
* Increase the default standard for the 'Build and Debug Active File' feature to c++14 on macOS. [#11292](https://github.com/microsoft/vscode-cpptools/issues/11292)
|
||||
* Fix an issue with the compiler currently configured for use with IntelliSense being listed last in the task creation popup. [PR #11299](https://github.com/microsoft/vscode-cpptools/pull/11299)
|
||||
* Fix an IPCH issue on Linux due to the Position Independent Executable (PIE) option not being set since 1.17.0.
|
||||
* Fix Rank > 1 Display Strings for Natvis. [PR MIEngine#1406](https://github.com/microsoft/MIEngine/pull/1406)
|
||||
* Fix some crashes identified by crash telemetry.
|
||||
* Fix an issue that could cause zombie processes on Linux/Mac.
|
||||
* Address some issues with glibc version compatibility. Native binaries for cpptools and the bundled clang-tidy/clang-format are now built with musl and fully statically linked.
|
||||
* Fix the wrong compiler being set as default when configured to use `compile_commands.json` and overriding the compiler used there with an explicit `compilerPath`.
|
||||
|
||||
### Thank You to the Contributors
|
||||
* [@gareth-rees (Gareth Rees)](https://github.com/gareth-rees): Always use `--simple-values` in newer versions of GDB. [PR MIEngine#1400](https://github.com/microsoft/MIEngine/pull/1400)
|
||||
* [@iAbadia (Iñaki)](https://github.com/iAbadia): Align use of 'sendInvalidate' request arguments. [PR MIEngine#1402](https://github.com/microsoft/MIEngine/pull/1402)
|
||||
* [@intel-rganesh (Rakesh Ganesh)](https://github.com/intel-rganesh): Introduce `--thread` and `--frame options`. [PR MIEngine#1401](https://github.com/microsoft/MIEngine/pull/1401)
|
||||
* [@michalmaka (Michał Mąka)](https://github.com/michalmaka): Add support for Toybox to the remote process picker. [PR #11175](https://github.com/microsoft/vscode-cpptools/pull/11175)
|
||||
* [@sbobko (Sergey Bobko)](https://github.com/sbobko): Add 'sendInvalidate' request. [PR MIEngine#1367](https://github.com/microsoft/MIEngine/pull/1367)
|
||||
* [@yne (Rémy F.)](https://github.com/yne): Add wildcard support for `includePath`. [PR #10388](https://github.com/microsoft/vscode-cpptools/pull/10388)
|
||||
|
||||
## Version 1.16.3: June 23, 2023
|
||||
### Bug Fix
|
||||
* Fix "cout is ambiguous" error. [#11122](https://github.com/microsoft/vscode-cpptools/issues/11122)
|
||||
|
||||
## Version 1.16.2: June 22, 2023
|
||||
### New Features
|
||||
* Add Call Hierarchy. [#16](https://github.com/microsoft/vscode-cpptools/issues/16)
|
||||
* Add "Copy Definition" and "Copy Declaration" code actions (for when the default Create placement isn't desired). [#10238](https://github.com/microsoft/vscode-cpptools/issues/10238), [#10942](https://github.com/microsoft/vscode-cpptools/issues/10942)
|
||||
|
||||
### Enhancements
|
||||
* Add support for other glob pattern syntax, such as `[]` and `^`. [#8960](https://github.com/microsoft/vscode-cpptools/issues/8960)
|
||||
* Add support for C++23 z/Z and zu/ZU suffixes in clang/gcc modes. [#10190](https://github.com/microsoft/vscode-cpptools/issues/10190)
|
||||
* Add warning logging when the database is reset due to a version change. [#10984](https://github.com/microsoft/vscode-cpptools/issues/10984)
|
||||
* Move user compilers to the beginning of the "known compilers" lists. [#10985](https://github.com/microsoft/vscode-cpptools/issues/10985)
|
||||
* Add file path to the details of a call hierarchy result. [#10997](https://github.com/microsoft/vscode-cpptools/issues/10997)
|
||||
* Add `miDebuggerArgs` to debugger attach option.
|
||||
* Thank you for the contribution @Summon528 [PR #11066](https://github.com/microsoft/vscode-cpptools/pull/11066)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix an IntelliSense parsing bug with C++20 ranges. [#8039](https://github.com/microsoft/vscode-cpptools/issues/8039)
|
||||
* Fix incorrect insertion of Create Declaration/Definition when it also adds a #include. [#10464](https://github.com/microsoft/vscode-cpptools/issues/10464)
|
||||
* Fix an IntelliSense bug with user-defined floating-point literals. [#10837](https://github.com/microsoft/vscode-cpptools/issues/10837)
|
||||
* Fix deadlock with Find All References. [#10855](https://github.com/microsoft/vscode-cpptools/issues/10855)
|
||||
* Fix performance issues on machines with > 32 threads. [#10874](https://github.com/microsoft/vscode-cpptools/issues/10874)
|
||||
* Fix localization of "C/C++ Configurations". [#10907](https://github.com/microsoft/vscode-cpptools/issues/10907)
|
||||
* Fix the workspace folder not getting added to the browse.path in some cases. [#10914](https://github.com/microsoft/vscode-cpptools/issues/10914)
|
||||
* Fix incorrect Apple clang to LLVM clang version mappings. [#10920](https://github.com/microsoft/vscode-cpptools/issues/10920)
|
||||
* Revert -fms-extensions being added for mingw compilers by default (due to bugs). [#10940](https://github.com/microsoft/vscode-cpptools/issues/10940)
|
||||
* Fix the "known compilers" list not getting updated with "user compilers". [#10943](https://github.com/microsoft/vscode-cpptools/issues/10943)
|
||||
* Fix cancelation of Find All References while confirming references. [#10947](https://github.com/microsoft/vscode-cpptools/issues/10947)
|
||||
* Fix a bug with workspace parsing status. [PR #10974](https://github.com/microsoft/vscode-cpptools/pull/10974)
|
||||
* Fix some bugs if settings were empty string or null. [#10994](https://github.com/microsoft/vscode-cpptools/issues/10994)
|
||||
* Fix cancellation for Find All References/Rename/Call Hierarchy. [#10998](https://github.com/microsoft/vscode-cpptools/issues/10998)
|
||||
* Fix two Doxygen comment generation bugs. [#10995](https://github.com/microsoft/vscode-cpptools/issues/10995), [#11016](https://github.com/microsoft/vscode-cpptools/issues/11016)
|
||||
* Fix the thread pool sometimes not increasing in size, which could lead to the cpptools process incorrectly being shut down. [#11003](https://github.com/microsoft/vscode-cpptools/issues/11003)
|
||||
* Stop using vcFormat if .editorconfig exists with only non-formatting cpp settings. [PR #11015](https://github.com/microsoft/vscode-cpptools/pull/11015)
|
||||
* Use integratedTerminal when user is running cl.exe for debugger. [#11032](https://github.com/microsoft/vscode-cpptools/issues/11032)
|
||||
* Thank you for the contribution @caiohamamura [PR #11035](https://github.com/microsoft/vscode-cpptools/pull/11035)
|
||||
* Fix the configure your IntelliSense notification to not show again when the "Don't Show Again" option is selected. [#11070](https://github.com/microsoft/vscode-cpptools/issues/11070)
|
||||
* Fix a bug that could cause incomplete reading of stdout/stderr of child processes on Windows.
|
||||
* Fix incorrect "declaration is incompatible" IntelliSense errors.
|
||||
* Fix some potential crashes.
|
||||
|
||||
## Version 1.15.4: May 1, 2023
|
||||
### Enhancements
|
||||
* Support multiple natvis files in `visualizerFile`. [#925](https://github.com/microsoft/vscode-cpptools/issues/925)
|
||||
* Enable error squiggles for single file mode if includes resolve. [#10062](https://github.com/microsoft/vscode-cpptools/issues/10062)
|
||||
* Improve the description of the `C_Cpp.codeAnalysis.clangTidy.enabled` setting. [#10454](https://github.com/microsoft/vscode-cpptools/issues/10454)
|
||||
* Add a 'Select an IntelliSense configuration' code action and error message for standard headers which can't be found. [#10531](https://github.com/microsoft/vscode-cpptools/issues/10531)
|
||||
* Change the 'Edit "includePath" setting' code action to reference "compilerPath" for missing system includes. [#10675](https://github.com/microsoft/vscode-cpptools/issues/10675)
|
||||
* Add a "Configure IntelliSense" status bar warning (currently controlled by an experiment). [#10685](https://github.com/microsoft/vscode-cpptools/issues/10685)
|
||||
* Re-enable an updated C/C++ walkthrough (currently only available for some users). [PR #10707](https://github.com/microsoft/vscode-cpptools/pull/10707)
|
||||
* Update to clang-format/tidy 16. [#10725](https://github.com/microsoft/vscode-cpptools/issues/10725)
|
||||
* Move the configuration status bar item out of the language status UI. [#10755](https://github.com/microsoft/vscode-cpptools/issues/10755)
|
||||
* Change `Select Default Compiler` to `Select IntelliSense Configuration` with configuration providers and compile commands added. [#10756](https://github.com/microsoft/vscode-cpptools/issues/10756)
|
||||
|
||||
### Bug Fixes
|
||||
* Support use of `ccache`, 'sccache', and 'clcache' in `compilerPath` and `compile_commands.json` command lines. [#7616](https://github.com/microsoft/vscode-cpptools/issues/7616)
|
||||
* Enable `-fms-extensions` by default for Cygwin and MinGW. [#8353](https://github.com/microsoft/vscode-cpptools/issues/8353)
|
||||
* Fix incorrect, excessive logging with compile commands. [#9865](https://github.com/microsoft/vscode-cpptools/issues/9865)
|
||||
* Fix IntelliSense errors with C++ 20 range and span. [#10024](https://github.com/microsoft/vscode-cpptools/issues/10024), [#10252](https://github.com/microsoft/vscode-cpptools/issues/10252)
|
||||
* Fix two vcFormat settings being inverted. [#10262](https://github.com/microsoft/vscode-cpptools/issues/10262), [#10263](https://github.com/microsoft/vscode-cpptools/issues/10263)
|
||||
* Fix 'Create Declaration / Definition' making modifications to files outside the workspace folder. [#10402](https://github.com/microsoft/vscode-cpptools/issues/10402)
|
||||
* Fix code analysis when `--use-color=true` is used. [#10407](https://github.com/microsoft/vscode-cpptools/issues/10407)
|
||||
* Fix IntelliSense errors with CUDA. [#10455](https://github.com/microsoft/vscode-cpptools/issues/10455)
|
||||
* Fix random save failures while code analysis is running on the saved file. [#10482](https://github.com/microsoft/vscode-cpptools/issues/10482)
|
||||
* Fix the compile commands prompt setting `compileCommands` to a `compile_commands.json` in a different workspace folder. [#10588](https://github.com/microsoft/vscode-cpptools/issues/10588)
|
||||
* Fix code analysis with `_Float16`. [#10610](https://github.com/microsoft/vscode-cpptools/issues/10610)
|
||||
* Fix code analysis with c23/gnu23. [#10615](https://github.com/microsoft/vscode-cpptools/issues/10615)
|
||||
* Fix 'Reset IntelliSense Database' being delayed until parsing is finished. [#10616](https://github.com/microsoft/vscode-cpptools/issues/10616)
|
||||
* Fix uncaught exception with some configuration providers. [#10634](https://github.com/microsoft/vscode-cpptools/issues/10634)
|
||||
* Fix crashes with a multi-root workspace. [#10636](https://github.com/microsoft/vscode-cpptools/issues/10636)
|
||||
* Fix bugs with the "You do not have IntelliSense configured" prompt. [#10658](https://github.com/microsoft/vscode-cpptools/issues/10658), [#10659](https://github.com/microsoft/vscode-cpptools/issues/10659)
|
||||
* Fix random failures when adding or removing workspace folders. [PR #10665](https://github.com/microsoft/vscode-cpptools/pull/10665)
|
||||
* Fix missing clang-tidy checks setting values. [#10667](https://github.com/microsoft/vscode-cpptools/issues/10667)
|
||||
* Fix 'Select IntelliSense configuration' so that it works if it's already set in the workspace or workspace folder settings. [#10674](https://github.com/microsoft/vscode-cpptools/issues/10674)
|
||||
* Fix clang-tidy 'clang-analyzer-' documentation links not working. [#10678](https://github.com/microsoft/vscode-cpptools/issues/10678)
|
||||
* Fix the browse configuration provider cache not getting cleared. [#10692](https://github.com/microsoft/vscode-cpptools/issues/10692), [#10877](https://github.com/microsoft/vscode-cpptools/issues/10877)
|
||||
* Fix a crash with recursive environment variables on Windows. [#10704](https://github.com/microsoft/vscode-cpptools/issues/10704)
|
||||
* Fix `#import` of `.tlb` files failing due to `/Fo` arguments to `cl.exe` not being processed. [#10710](https://github.com/microsoft/vscode-cpptools/issues/10710)
|
||||
* Fix `cppbuild` tasks not using the workspace folder as the `cwd` by default. [#10742](https://github.com/microsoft/vscode-cpptools/issues/10742)
|
||||
* Fix lots of IntelliSense processes getting launched after a Find/Replace operation (potentially freezing the OS). [#10743](https://github.com/microsoft/vscode-cpptools/issues/10743)
|
||||
* Fix workspace folder variable resolution with `clang_format_style`. [#10752](https://github.com/microsoft/vscode-cpptools/issues/10752)
|
||||
* For remote attach, use an absolute `/bin/sh` path on Linux. [PR #10765](https://github.com/microsoft/vscode-cpptools/pull/10765)
|
||||
* Fix the first registered configuration provider still being automatically used after a second registers. [PR #10772](https://github.com/microsoft/vscode-cpptools/pull/10772)
|
||||
* Fix `C_Cpp.default.compilerPath` in the settings UI showing a string editor when it shouldn't. [#10795](https://github.com/microsoft/vscode-cpptools/issues/10795)
|
||||
* Fix some issues due to usage of the spread operator not doing a deep copy. [PR #10803](https://github.com/microsoft/vscode-cpptools/pull/10803)
|
||||
* Fix a deadlock with Find All References. [#10855](https://github.com/microsoft/vscode-cpptools/issues/10855)
|
||||
* Fix the Code Analysis Options dropdown showing 'Resume' instead of 'Pause' after a cancel is done in a paused state. [#10879](https://github.com/microsoft/vscode-cpptools/issues/10879)
|
||||
* Fix "Code Analysis Mode" not being localized when initially shown. [#10881](https://github.com/microsoft/vscode-cpptools/issues/10881)
|
||||
* Fix the C/C++-related status bar items flickering off/on when switching documents. [PR #10888](https://github.com/microsoft/vscode-cpptools/pull/10888)
|
||||
* Fix `__GXX_RTTI` incorrectly being defined by IntelliSense with clang and `-fms-compatibility`.
|
||||
* Reduce the likelihood of an `onWillSaveWaitUntil` timeout.
|
||||
* Fix an IntelliSense crash with C++20 concepts.
|
||||
* Stop querying clang-cl.exe as C.
|
||||
|
||||
## Version 1.14.5: March 22, 2023
|
||||
### Bug Fix
|
||||
* Fix a deadlock with a multi-root workspace. [#10719](https://github.com/microsoft/vscode-cpptools/issues/10719)
|
||||
|
||||
## Version 1.14.4: February 28, 2023
|
||||
### Enhancements
|
||||
* Add `c23` and `c2x` support for clang and gcc modes. [#7471](https://github.com/microsoft/vscode-cpptools/issues/7471)
|
||||
* Filter out clang-tidy `#pragma once in main file` warnings. [#10539](https://github.com/microsoft/vscode-cpptools/issues/10539)
|
||||
* Auto-configure `configurationProvider` even if `default.compilerPath` is set. [PR #10607](https://github.com/microsoft/vscode-cpptools/pull/10607)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix `--` in args making compiler querying fail. [#10529](https://github.com/microsoft/vscode-cpptools/issues/10529)
|
||||
* Fix every .C file being opened in a compile_commands.json if it's build for C++. [#10540](https://github.com/microsoft/vscode-cpptools/issues/10540)
|
||||
* Fix `-std=c++` not being used in compile_commands.json for .C files. [#10541](https://github.com/microsoft/vscode-cpptools/issues/10541)
|
||||
* Fix a crash when an error occurs in a forced include. [#10598](https://github.com/microsoft/vscode-cpptools/issues/10598)
|
||||
* Fix the configuration provider browse cache not getting cleared. [PR #10608](https://github.com/microsoft/vscode-cpptools/pull/10608)
|
||||
* Fix a bug that could cause IntelliSense to randomly stop updating.
|
||||
* Fix some random failures that could happen during database deletion.
|
||||
* Fix some random crashes on shutdown.
|
||||
|
||||
## Version 1.14.3: February 14, 2023
|
||||
### New Features
|
||||
* Add recursive macro expansion on hover. [#3579](https://github.com/microsoft/vscode-cpptools/issues/3579)
|
||||
* Move status bar items to the language status UI. [#8405](https://github.com/microsoft/vscode-cpptools/issues/8405)
|
||||
* This may not be enabled for all users unless `C_Cpp.experimentalFeatures` is `true`.
|
||||
* Add the 'Select Default Compiler' command that lets you choose a default compiler to configure IntelliSense. [#10027](https://github.com/microsoft/vscode-cpptools/issues/10027)
|
||||
|
||||
### Enhancements
|
||||
* Exclude rename results external to the workspace. [#9235](https://github.com/microsoft/vscode-cpptools/issues/9235)
|
||||
* Add error messages for Create Declaration / Definition. [#10163](https://github.com/microsoft/vscode-cpptools/issues/10163)
|
||||
* Add support for LLVM-based Intel C/C++ compilers. [#10218](https://github.com/microsoft/vscode-cpptools/issues/10218)
|
||||
* SSH output improvements. [PR #10292](https://github.com/microsoft/vscode-cpptools/pull/10292)
|
||||
* Reorder commands in the code action context menu. [#10400](https://github.com/microsoft/vscode-cpptools/issues/10400)
|
||||
* Add Ada to supported languages for debugging. [#10475](https://github.com/microsoft/vscode-cpptools/issues/10475)
|
||||
* Anthony Leonardo Gracio (@AnthonyLeonardoGracio) [PR #10476](https://github.com/microsoft/vscode-cpptools/pull/10476)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix usage of relative paths in IntelliSense configuration settings with multi-root workspaces. [#4983](https://github.com/microsoft/vscode-cpptools/issues/4983)
|
||||
* Fix infinite recursion in scout_parser. [#8898](https://github.com/microsoft/vscode-cpptools/issues/8898)
|
||||
* Fix an IntelliSense crash with the seqan3 library. [#8956](https://github.com/microsoft/vscode-cpptools/issues/8956)
|
||||
* Fix looping between C and C++. [#9689](https://github.com/microsoft/vscode-cpptools/issues/9689)
|
||||
* Fix Doxygen comments for the function signature being autogenerated when typing inside a function. [#9742](https://github.com/microsoft/vscode-cpptools/issues/9742)
|
||||
* Show a reload prompt after `C_Cpp.hover` is changed. [#10076](https://github.com/microsoft/vscode-cpptools/issues/10076)
|
||||
* Fix function inlay hints not working with `std::string_literal` arguments. [#10078](https://github.com/microsoft/vscode-cpptools/issues/10078)
|
||||
* Fix IntelliSense completion for `std::string` with `?:` and `string()`. [#10103](https://github.com/microsoft/vscode-cpptools/issues/10103)
|
||||
* Fix semantic colorization not working in a certain case. [#10105](https://github.com/microsoft/vscode-cpptools/issues/10105)
|
||||
* Fix IntelliSense completion not working inside constructor calls that are incomplete. [#10111](https://github.com/microsoft/vscode-cpptools/issues/10111)
|
||||
* Fix changes to the enclosing type not being taken into account after "Create Declaration / Definition" is used once. [#10162](https://github.com/microsoft/vscode-cpptools/issues/10162)
|
||||
* Fix "False positive expression must have a constant value with __builtin_choose_expr in _Static_assert". [#10168](https://github.com/microsoft/vscode-cpptools/issues/10168)
|
||||
* Fix Create Declaration / Definition with an anonymous namespace. [#10189](https://github.com/microsoft/vscode-cpptools/issues/10189)
|
||||
* Fix file exclusions not being applied to the first directory found for each browse.path entry. [#10205](https://github.com/microsoft/vscode-cpptools/issues/10205)
|
||||
* Fix IntelliSense mode auto-detection for VS 2015 compiler paths. [#10207](https://github.com/microsoft/vscode-cpptools/issues/10207)
|
||||
* Fix clang-cl 15 querying with /WX. [#10221](https://github.com/microsoft/vscode-cpptools/issues/10221)
|
||||
* Fix an incorrect IntelliSense error with `std::bind`, c++17, and windows-msvc-arm64 mode. [#10304](https://github.com/microsoft/vscode-cpptools/issues/10304)
|
||||
* Fix vcFormat when using lambda functions. [#10326](https://github.com/microsoft/vscode-cpptools/issues/10326)
|
||||
* Fix IntelliSense crash in field_for_lambda_capture. [#10359](https://github.com/microsoft/vscode-cpptools/issues/10359)
|
||||
* Fix for cpptools getting shutdown after waking up from sleep. [#10362](https://github.com/microsoft/vscode-cpptools/issues/10362)
|
||||
* Fix an IntelliSense crash when using the French language pack. [#10374](https://github.com/microsoft/vscode-cpptools/issues/10374)
|
||||
* Fix the process id picker only showing part of the process on a remote machine. [#10379](https://github.com/microsoft/vscode-cpptools/issues/10379)
|
||||
* Fix temp files generating at the incorrect path. [#10386](https://github.com/microsoft/vscode-cpptools/issues/10386)
|
||||
* Fix a crash in extractArgs. [PR #10394](https://github.com/microsoft/vscode-cpptools/pull/10394)
|
||||
* Fix a bug with settings changes not being handled correctly for multi-root. [PR #10458](https://github.com/microsoft/vscode-cpptools/pull/10458)
|
||||
|
||||
## Version 1.13.9: January 4, 2023
|
||||
### Bug Fix
|
||||
* Fix clang-format and clang-tidy not working for macOS 11 arm64. [#10282](https://github.com/microsoft/vscode-cpptools/issues/10282)
|
||||
|
||||
## Version 1.13.8: December 15, 2022
|
||||
### Bug Fixes
|
||||
* Fix tag parser failure on machines with multiple extension users. [#10224](https://github.com/microsoft/vscode-cpptools/issues/10224)
|
||||
* Fix a `--using_directory` IntelliSense error if LIBPATH is defined with non-msvc IntelliSense modes. [#10249](https://github.com/microsoft/vscode-cpptools/issues/10249)
|
||||
* Fix a crash when the configuration name is missing. [#10251](https://github.com/microsoft/vscode-cpptools/issues/10251)
|
||||
* Fix clang-format and clang-tidy not working for macOS 11 arm64. [#10282](https://github.com/microsoft/vscode-cpptools/issues/10282)
|
||||
|
||||
## Version 1.13.7: December 8, 2022
|
||||
### Bug Fix
|
||||
@@ -73,6 +345,8 @@
|
||||
* Fix issue that could cause document corruption. [#10035](https://github.com/microsoft/vscode-cpptools/issues/10035)
|
||||
* Fixed crash on Linux/Mac when a full command line is specified in `compilerPath` containing invalid arguments. [PR #10070](https://github.com/microsoft/vscode-cpptools/pull/10070)
|
||||
* Fix random "Failed to spawn IntelliSense process: 65520" on Mac. [#10091](https://github.com/microsoft/vscode-cpptools/issues/10091)
|
||||
* Fix debugger throwing error "stdout maxBuffer exceeded". [10107](https://github.com/microsoft/vscode-cpptools/issues/10107)
|
||||
* Fix "Can't attach to process on Windows: Unexpected token \ in JSON". [#10108](https://github.com/microsoft/vscode-cpptools/issues/10108)
|
||||
* Fix "Don't hardcode path to kill in UnixUtilities". [#10124](https://github.com/microsoft/vscode-cpptools/issues/10124)
|
||||
* Ellie Hermaszewska (@expipiplus1) [PR #1373](https://github.com/microsoft/MIEngine/pull/1373)
|
||||
* Fix formatting when clang-format 11 or earlier is used (and another issue for version 8 or earlier). [#10178](https://github.com/microsoft/vscode-cpptools/issues/10178)
|
||||
@@ -210,7 +484,7 @@
|
||||
* Fix Go to Definition with C for identifiers that are C++ keywords. [#9081](https://github.com/microsoft/vscode-cpptools/issues/9081)
|
||||
* Fix the new Run/Debug Code button not working with a modified program location. [#9082](https://github.com/microsoft/vscode-cpptools/issues/9082)
|
||||
* Fix `__GNUC__` system defines causing clang-tidy to undefine `_Float32`. [#9091](https://github.com/microsoft/vscode-cpptools/issues/9091)
|
||||
* Fix 'breakpoints set before launch in shared objects cannot be disabled/deleted' [#9095]([https://github.com/microsoft/vscode-cpptools/issues/9095)
|
||||
* Fix 'breakpoints set before launch in shared objects cannot be disabled/deleted' [#9095](https://github.com/microsoft/vscode-cpptools/issues/9095)
|
||||
* Fix compiler querying failing for compilers that don't output system includes. [#9099](https://github.com/microsoft/vscode-cpptools/issues/9099)
|
||||
* Fix completion occurring (when it shouldn't) after the comma in a definition list. [#9101](https://github.com/microsoft/vscode-cpptools/issues/9101)
|
||||
* Fix `;` incorrectly matching for `break;` and `continue;` completion. [#9115](https://github.com/microsoft/vscode-cpptools/issues/9115)
|
||||
@@ -263,7 +537,7 @@
|
||||
* Fix a crash when visualizing local variables for Microsoft Edge (msedge.exe) [#8738](https://github.com/microsoft/vscode-cpptools/issues/8738)
|
||||
* Fix some system defines being incorrectly removed when running code analysis. [#8740](https://github.com/microsoft/vscode-cpptools/issues/8740)
|
||||
* Prevent an error from being logged due to custom configuration processing prior to the provider being ready. [#8752](https://github.com/microsoft/vscode-cpptools/issues/8752)
|
||||
* Fix incorrect crash recovery with multiroot. [#8762](https://github.com/microsoft/vscode-cpptools/issues/8762)
|
||||
* Fix incorrect crash recovery with multi-root. [#8762](https://github.com/microsoft/vscode-cpptools/issues/8762)
|
||||
* Fix random compiler query, clang-tidy, or clang-format failure on Windows. [#8764](https://github.com/microsoft/vscode-cpptools/issues/8764)
|
||||
* Fix invoking commands before cpptools is activated. [#8785](https://github.com/microsoft/vscode-cpptools/issues/8785)
|
||||
* Fix a bug on Windows with semantic tokens updating. [#8799](https://github.com/microsoft/vscode-cpptools/issues/8799)
|
||||
@@ -441,7 +715,7 @@
|
||||
* Add auto-detection of clang compilers on Windows (and different versions of cl.exe). [#6718](https://github.com/microsoft/vscode-cpptools/issues/6718)
|
||||
* Stop adding .cu files to `files.associations` (switch to using setTextDocumentLanguage). [#7359](https://github.com/microsoft/vscode-cpptools/issues/7359)
|
||||
* Add "Symbol Options" for CppVsdbg to configure symbol settings [PR #7680](https://github.com/microsoft/vscode-cpptools/pull/7680)
|
||||
* Update CppVsdbg to use newer CppEE and msdia.
|
||||
* Update CppVsdbg to use newer CppEE and msdia.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix switch header/source not checking `files.exclude`. [#4429](https://github.com/microsoft/vscode-cpptools/issues/4429)
|
||||
@@ -487,7 +761,7 @@
|
||||
* Add `private` or `protected` scope labels to class symbols. [#7120](https://github.com/microsoft/vscode-cpptools/issues/7120)
|
||||
* Fix file:line path for $FILEPOS [#7193](https://github.com/microsoft/vscode-cpptools/issues/7193)
|
||||
* [PR MIEngine#1124](https://github.com/microsoft/MIEngine/pull/1124)
|
||||
* Add `stopAtConnect` and `hardwareBreakpoints` launch options [PR #7449](https://github.com/microsoft/vscode-cpptools/pull/7449)
|
||||
* Add `stopAtConnect` and `hardwareBreakpoints` launch options [PR #7449](https://github.com/microsoft/vscode-cpptools/pull/7449)
|
||||
* `stopAtConnect` stops the debugger on connection to a remote target [PR MIEngine#1109](https://github.com/microsoft/MIEngine/pull/1109)
|
||||
* `hardwareBreakpoints` controls usage and number of remote hardware breakpoints [PR MIEngine#1128](https://github.com/microsoft/MIEngine/pull/1128)
|
||||
* Add support for loading Concord extensions to the cppvsdbg debug adapter (see [documentation](https://github.com/microsoft/ConcordExtensibilitySamples/wiki/Support-for-VS-Code-cppvsdbg-Scenarios) for more information)
|
||||
@@ -578,7 +852,7 @@
|
||||
* Fix integrity hash checking of downloaded packages for the extension. [PR #7300](https://github.com/microsoft/vscode-cpptools/pull/7300)
|
||||
* Fix a bug preventing successful validation and receipt of browse configurations from custom configuration providers. [PR# 7131](https://github.com/microsoft/vscode-cpptools/pull/7313)
|
||||
* Fix a potential crash when editing at the end of a document.
|
||||
* Fix "Configure Task" selection to show root folder names for multiroot workspace [PR #7315](https://github.com/microsoft/vscode-cpptools/pull/7315)
|
||||
* Fix "Configure Task" selection to show root folder names for multi-root workspace [PR #7315](https://github.com/microsoft/vscode-cpptools/pull/7315)
|
||||
|
||||
## Version 1.2.2: February 25, 2021
|
||||
### Bug Fixes
|
||||
@@ -720,7 +994,7 @@
|
||||
* YuTengjing (@tjx666) [PR #6344](https://github.com/microsoft/vscode-cpptools/pull/6344)
|
||||
* Enable support for specifying a compiler by only the filename if it's in the environment path. [#6179](https://github.com/microsoft/vscode-cpptools/issues/6179)
|
||||
* Restart the IntelliSense process if its memory usage exceeds the `C_Cpp.intelliSenseMemoryLimit` setting. [#6230](https://github.com/microsoft/vscode-cpptools/issues/6230)
|
||||
* [cppdbg] Stepping out of a function will display '$ReturnValue'.
|
||||
* [cppdbg] Stepping out of a function will display '$ReturnValue'.
|
||||
* @Trass3r [PR MIEngine#1036](https://github.com/microsoft/MIEngine/pull/1036)
|
||||
* [cppdbg] Support composite expressions in natvis ArrayItems
|
||||
* @Trass3r [PR MIEngine#1044](https://github.com/microsoft/MIEngine/pull/1044)
|
||||
@@ -748,7 +1022,7 @@
|
||||
* Fix `Build and Debug Active File` race condition with EngineLogs. [#6304](https://github.com/microsoft/vscode-cpptools/pull/6304)
|
||||
* Fix changes to some `c_cpp_properties.json` properties not taking effect (until a reload) if `compileCommands` is set. [#6332](https://github.com/microsoft/vscode-cpptools/issues/6332)
|
||||
* Fix issue with compiler querying not handling various clang command line options correctly. [#6356](https://github.com/microsoft/vscode-cpptools/issues/6356), [#6359](https://github.com/microsoft/vscode-cpptools/issues/6359)
|
||||
* Fix multiroot workspace tag parsing when `compileCommands` is set. [#6383](https://github.com/microsoft/vscode-cpptools/issues/6383)
|
||||
* Fix multi-root workspace tag parsing when `compileCommands` is set. [#6383](https://github.com/microsoft/vscode-cpptools/issues/6383)
|
||||
* Fix mingw32 compilers not being detected. [#6394](https://github.com/microsoft/vscode-cpptools/issues/6394)
|
||||
* Various bug fixes for vcFormat. [PR #6408](https://github.com/microsoft/vscode-cpptools/pull/6408)
|
||||
* Fix issue causing zh-cn and zh-tw language files not to be used. [PR #6418](https://github.com/microsoft/vscode-cpptools/pull/6418)
|
||||
@@ -803,7 +1077,7 @@
|
||||
* Get the default target of the compiler. If the default target is ARM/ARM64, do not use the generic "--target" option to determine bitness. [#5772](https://github.com/microsoft/vscode-cpptools/issues/5772)
|
||||
* Fix `compilerArgs` not being used if no `compilerPath` is set. [#5776](https://github.com/microsoft/vscode-cpptools/issues/5776)
|
||||
* Fix an incorrect IntelliSense error squiggle. [#5783](https://github.com/microsoft/vscode-cpptools/issues/5783)
|
||||
* Fix semantic colorization and inactive regions for multiroot workspaces. [#5812](https://github.com/microsoft/vscode-cpptools/issues/5812), [#5828](https://github.com/microsoft/vscode-cpptools/issues/5828)
|
||||
* Fix semantic colorization and inactive regions for multi-root workspaces. [#5812](https://github.com/microsoft/vscode-cpptools/issues/5812), [#5828](https://github.com/microsoft/vscode-cpptools/issues/5828)
|
||||
* Fix bug with cl.exe flags /FU and /FI not being processed. [#5819](https://github.com/microsoft/vscode-cpptools/issues/5819)
|
||||
* Fix `cStandard` being set to `c11` instead of `gnu18` with gcc. [#5834](https://github.com/microsoft/vscode-cpptools/issues/5834)
|
||||
* Fix Doxygen parameterHint comment to display for a parameter name that is followed by colon. [#5836](https://github.com/microsoft/vscode-cpptools/issues/5836)
|
||||
@@ -828,7 +1102,7 @@
|
||||
## Version 0.29.0: July 15, 2020
|
||||
### New Features
|
||||
* Add Doxygen comment support (to tooltip display of hover, completion, and signature help). [#658](https://github.com/microsoft/vscode-cpptools/issues/658)
|
||||
* The way comments are formatted is controlled by the `C_Cpp.simplifyStructuredComments` setting.
|
||||
* The way comments are formatted is controlled by the `C_Cpp.simplifyStructuredComments` setting.
|
||||
* Auto-convert `.` to `->` when the type is a pointer. [#862](https://github.com/microsoft/vscode-cpptools/issues/862)
|
||||
* Switch to using the VS Code Semantic Tokens API for semantic colorization (works with remoting). [PR #5401](https://github.com/microsoft/vscode-cpptools/pull/5401), [#3932](https://github.com/microsoft/vscode-cpptools/issues/3932), [#3933](https://github.com/microsoft/vscode-cpptools/issues/3933), [#3942](https://github.com/microsoft/vscode-cpptools/issues/3942)
|
||||
* Add support for LogMessage Breakpoints for debug type `cppdbg`. [PR MIEngine#1013](https://github.com/microsoft/MIEngine/pull/1013)
|
||||
@@ -924,7 +1198,7 @@
|
||||
* 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)
|
||||
* Improve the error message for multi-root 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)
|
||||
@@ -942,7 +1216,7 @@
|
||||
|
||||
## 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).
|
||||
* 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+Multi-root%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)
|
||||
@@ -1101,7 +1375,7 @@
|
||||
* 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:
|
||||
* 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)
|
||||
@@ -1533,7 +1807,7 @@
|
||||
## Version 0.16.1: March 30, 2018
|
||||
* Fix random deadlock caused by logging code on Linux/Mac. [#1759](https://github.com/Microsoft/vscode-cpptools/issues/1759)
|
||||
* Fix compiler from `compileCommands` not being queried for includes/defines if `compilerPath` isn't set on Windows. [#1754](https://github.com/Microsoft/vscode-cpptools/issues/1754)
|
||||
* Fix OSX `UseShellExecute` I/O bug. [#1756](https://github.com/Microsoft/vscode-cpptools/issues/1756)
|
||||
* Fix OSX `UseShellExecute` I/O bug. [#1756](https://github.com/Microsoft/vscode-cpptools/issues/1756)
|
||||
* Invalidate partially unzipped files from package manager. [#1757](https://github.com/Microsoft/vscode-cpptools/issues/1757)
|
||||
|
||||
## Version 0.16.0: March 28, 2018
|
||||
|
||||
@@ -29,4 +29,4 @@
|
||||
|
||||
<p data-loc-id="reinstall.extension.text7">Then reinstall via the marketplace UI in VS Code.</p>
|
||||
|
||||
<p data-loc-id="reinstall.extension.text8">If the correct version of the extension fails to be deployed by VS Code, the correct VSIX for your system can be <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools" data-loc-id="download.vsix.link.title">downloaded from the VS Code marketplace web site</a> and installed using the `Install from VSIX...` option under the '...' menu in the marketplace UI in VS Code.</p>
|
||||
<p data-loc-id="reinstall.extension.text8">If the correct version of the extension fails to be deployed by VS Code, the correct VSIX for your system can be <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools" data-loc-id="download.vsix.link.title">downloaded from the VS Code marketplace web site</a> and installed using the 'Install from VSIX...' option under the '...' menu in the marketplace UI in VS Code.</p>
|
||||
|
||||
+311
-281
@@ -336,7 +336,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
anymatch 3.1.2 - ISC
|
||||
anymatch 3.1.3 - ISC
|
||||
https://github.com/micromatch/anymatch
|
||||
|
||||
Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com)
|
||||
@@ -417,7 +417,7 @@ the licensed code:
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
glob 7.1.6 - ISC
|
||||
glob 7.2.3 - ISC
|
||||
https://github.com/isaacs/node-glob#readme
|
||||
|
||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
||||
@@ -606,7 +606,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
minimatch 3.0.4 - ISC
|
||||
minimatch 3.1.2 - ISC
|
||||
https://github.com/isaacs/minimatch#readme
|
||||
|
||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
||||
@@ -628,6 +628,32 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
minimatch 5.1.6 - ISC
|
||||
https://github.com/isaacs/minimatch#readme
|
||||
|
||||
Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
|
||||
|
||||
The ISC License
|
||||
|
||||
Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
@@ -710,7 +736,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
semver 5.7.1 - ISC
|
||||
semver 5.7.2 - ISC
|
||||
https://github.com/npm/node-semver#readme
|
||||
|
||||
Copyright Isaac Z.
|
||||
@@ -738,7 +764,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
semver 7.3.5 - ISC
|
||||
semver 7.5.4 - ISC
|
||||
https://github.com/npm/node-semver#readme
|
||||
|
||||
Copyright Isaac Z. Schlueter
|
||||
@@ -895,7 +921,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/1ds-core-js 3.2.3 - MIT
|
||||
@microsoft/1ds-core-js 3.2.12 - MIT
|
||||
https://github.com/microsoft/ApplicationInsights-JS#readme
|
||||
|
||||
copyright Microsoft 2018
|
||||
@@ -903,11 +929,10 @@ copyright Microsoft 2019
|
||||
Copyright (c) Microsoft Corporation
|
||||
copyright Microsoft 2019 Simplified
|
||||
Copyright (c) Microsoft and contributors
|
||||
copyright Microsoft 2018 import AppInsightsCore as InternalCore
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
The MIT License (MIT)
|
||||
|
||||
MIT License
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -919,7 +944,7 @@ furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
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
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
@@ -931,7 +956,7 @@ SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/1ds-post-js 3.2.3 - MIT
|
||||
@microsoft/1ds-post-js 3.2.12 - MIT
|
||||
https://github.com/microsoft/ApplicationInsights-JS#readme
|
||||
|
||||
copyright Microsoft 2018
|
||||
@@ -940,12 +965,11 @@ copyright Microsoft 2018-2020
|
||||
copyright Microsoft 2022 Simple
|
||||
Copyright (c) Microsoft Corporation
|
||||
Copyright (c) Microsoft and contributors
|
||||
copyright Microsoft 2018-2020 import IExtendedAppInsightsCore, SendRequestReason, EventSendType
|
||||
copyright Microsoft 2018-2020 import IPerfManagerProvider, IValueSanitizer, FieldValueSanitizerType, FieldValueSanitizerFunc, SendRequestReason, EventSendType
|
||||
copyright Microsoft 2018-2020 import EventSendType, FieldValueSanitizerFunc, FieldValueSanitizerType, IPerfManagerProvider, IValueSanitizer, SendRequestReason
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
The MIT License (MIT)
|
||||
|
||||
MIT License
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -957,7 +981,7 @@ furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
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
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
@@ -969,114 +993,99 @@ SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/applicationinsights-core-js 2.8.4 - MIT
|
||||
@microsoft/applicationinsights-core-js 2.8.14 - MIT
|
||||
https://github.com/microsoft/ApplicationInsights-JS#readme
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
Copyright (c) Microsoft and contributors
|
||||
|
||||
MIT License
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in 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:
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
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
|
||||
AUTHORS 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 IN THE
|
||||
SOFTWARE
|
||||
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
|
||||
AUTHORS 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 IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/applicationinsights-shims 2.0.1 - MIT
|
||||
@microsoft/applicationinsights-shims 2.0.2 - MIT
|
||||
https://github.com/microsoft/ApplicationInsights-JS/tree/master/tools/shims
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
Copyright (c) Microsoft and contributors.
|
||||
Copyright (c) Microsoft Corporation
|
||||
Copyright (c) Microsoft and contributors
|
||||
|
||||
MIT License
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in 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:
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
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
|
||||
AUTHORS 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 IN THE
|
||||
SOFTWARE
|
||||
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
|
||||
AUTHORS 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 IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/dynamicproto-js 1.1.6 - MIT
|
||||
@microsoft/dynamicproto-js 1.1.9 - MIT
|
||||
https://github.com/microsoft/DynamicProto-JS#readme
|
||||
|
||||
(c) James Halliday
|
||||
Copyright (c) Microsoft Corporation
|
||||
Copyright (c) 2012 Maximilian Antoni
|
||||
Copyright (c) 2013 Maximilian Antoni
|
||||
Copyright (c) 2020 Oliver Nightingale
|
||||
Copyright (c) 2020 Oliver Nightingale A
|
||||
Copyright (c) 2020 Oliver Nightingale An
|
||||
Copyright (c) Microsoft and contributors
|
||||
Copyright (c) 2010-2013 Christian Johansen
|
||||
Copyright (c) 2010-2014 Christian Johansen
|
||||
Copyright (c) 2011 Sven Fuchs, Christian Johansen
|
||||
Copyright Joyent, Inc. and other Node contributors
|
||||
Copyright jQuery Foundation and other contributors
|
||||
Copyright 2013 jQuery Foundation, Inc. and other contributors
|
||||
Copyright (c) 2010-2014, Christian Johansen, [email protected]
|
||||
Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
|
||||
Copyright 2006 Google Inc. https://code.google.com/p/google-diff-match-patch
|
||||
|
||||
MIT License
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in 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:
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
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
|
||||
AUTHORS 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 IN THE
|
||||
SOFTWARE
|
||||
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
|
||||
AUTHORS 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 IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
@@ -1113,6 +1122,26 @@ 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 IN THE
|
||||
SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@xmldom/xmldom 0.8.8 - MIT
|
||||
https://github.com/xmldom/xmldom
|
||||
|
||||
Copyright 2012 - 2017 jindw <[email protected]> and other contributors
|
||||
Copyright 2019 - present Christopher J. Brody and other contributors
|
||||
|
||||
Copyright 2019 - present Christopher J. Brody and other contributors, as listed in: https://github.com/xmldom/xmldom/graphs/contributors
|
||||
Copyright 2012 - 2017 @jindw <[email protected]> and other contributors, as listed in: https://github.com/jindw/xmldom/graphs/contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
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 AUTHORS 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 IN THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
@@ -1148,7 +1177,7 @@ THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
axios 0.22.0 - MIT
|
||||
axios 0.26.1 - MIT
|
||||
https://axios-http.com/
|
||||
|
||||
Copyright (c) 2014-present Matt Zabriskie
|
||||
@@ -1178,7 +1207,7 @@ THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
balanced-match 1.0.0 - MIT
|
||||
balanced-match 1.0.2 - MIT
|
||||
https://github.com/juliangruber/balanced-match
|
||||
|
||||
Copyright (c) 2013 Julian Gruber <[email protected]>
|
||||
@@ -1325,6 +1354,38 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
brace-expansion 2.0.1 - MIT
|
||||
https://github.com/juliangruber/brace-expansion
|
||||
|
||||
Copyright (c) 2013 Julian Gruber <[email protected]>
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013 Julian Gruber <[email protected]>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
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
|
||||
AUTHORS 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 IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
@@ -1358,36 +1419,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
buffer-crc32 0.2.13 - MIT
|
||||
https://github.com/brianloveswords/buffer-crc32
|
||||
|
||||
Copyright (c) 2013 Brian J. Brennan
|
||||
|
||||
The MIT License
|
||||
|
||||
Copyright (c) 2013 Brian J. Brennan
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal in
|
||||
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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
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 AUTHORS 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 IN THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
@@ -1458,10 +1489,10 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
comment-json 4.1.1 - MIT
|
||||
comment-json 4.2.3 - MIT
|
||||
https://github.com/kaelzhang/node-comment-json#readme
|
||||
|
||||
Copyright (c) 2013
|
||||
Copyright (c) 2013 kaelzhang
|
||||
|
||||
Copyright (c) 2013 kaelzhang <>, contributors
|
||||
http://kael.me/
|
||||
@@ -1518,7 +1549,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
core-util-is 1.0.2 - MIT
|
||||
core-util-is 1.0.3 - MIT
|
||||
https://github.com/isaacs/core-util-is#readme
|
||||
|
||||
Copyright Joyent, Inc. and other Node contributors
|
||||
@@ -1616,38 +1647,6 @@ The above copyright notice and this permission notice shall be included in all c
|
||||
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 AUTHORS 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 IN THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
fd-slicer 1.1.0 - MIT
|
||||
https://github.com/andrewrk/node-fd-slicer#readme
|
||||
|
||||
Copyright (c) 2014 Andrew Kelley
|
||||
|
||||
Copyright (c) 2014 Andrew Kelley
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation files
|
||||
(the "Software"), to deal in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
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 AUTHORS 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 IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
@@ -1685,7 +1684,7 @@ THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
follow-redirects 1.14.8 - MIT
|
||||
follow-redirects 1.15.2 - MIT
|
||||
https://github.com/follow-redirects/follow-redirects
|
||||
|
||||
Copyright 2014-present Olivier Lalonde <[email protected]> , James Talmage <[email protected]> , Ruben Verborgh
|
||||
@@ -1822,7 +1821,7 @@ THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
is-glob 4.0.1 - MIT
|
||||
is-glob 4.0.3 - MIT
|
||||
https://github.com/micromatch/is-glob
|
||||
|
||||
Copyright (c) 2014-2017, Jon Schlinkert
|
||||
@@ -1888,7 +1887,7 @@ THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
json5 2.2.0 - MIT
|
||||
json5 2.2.3 - MIT
|
||||
http://json5.org/
|
||||
|
||||
(c) 2019 Denis Pushkarev
|
||||
@@ -1924,7 +1923,7 @@ SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
loader-utils 2.0.0 - MIT
|
||||
loader-utils 2.0.4 - MIT
|
||||
https://github.com/webpack/loader-utils#readme
|
||||
|
||||
Copyright JS Foundation and other contributors
|
||||
@@ -1955,8 +1954,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
minimist 1.2.6 - MIT
|
||||
https://github.com/substack/minimist
|
||||
minimist 1.2.8 - MIT
|
||||
https://github.com/minimistjs/minimist
|
||||
|
||||
|
||||
This software is released under the MIT license:
|
||||
@@ -1983,7 +1982,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
mkdirp 0.5.5 - MIT
|
||||
mkdirp 0.5.6 - MIT
|
||||
https://github.com/substack/node-mkdirp#readme
|
||||
|
||||
Copyright 2010 James Halliday ([email protected])
|
||||
@@ -2011,6 +2010,37 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
nanoid 3.3.6 - MIT
|
||||
https://github.com/ai/nanoid#readme
|
||||
|
||||
Copyright 2017 Andrey Sitnik <[email protected]>
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright 2017 Andrey Sitnik <[email protected]>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
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 AUTHORS 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 IN THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
@@ -2041,6 +2071,63 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
node-stream-zip 1.15.0 - MIT
|
||||
https://github.com/antelle/node-stream-zip
|
||||
|
||||
Copyright (c) 2021 Antelle https://github.com/antelle
|
||||
(c) 2020 Antelle https://github.com/antelle/node-stream-zip/blob/master/LICENSE
|
||||
Copyright (c) 2012 Another-D-Mention Software and other contributors, http://www.another-d-mention.ro
|
||||
Portions copyright https://github.com/cthackers/adm-zip https://raw.githubusercontent.com/cthackers/adm-zip/master/LICENSE
|
||||
|
||||
Copyright (c) 2021 Antelle https://github.com/antelle
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
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 AUTHORS 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 IN THE SOFTWARE.
|
||||
|
||||
== dependency license: adm-zip ==
|
||||
|
||||
Copyright (c) 2012 Another-D-Mention Software and other contributors,
|
||||
http://www.another-d-mention.ro/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
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 AUTHORS 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 IN THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
@@ -2111,45 +2198,11 @@ THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
pend 1.2.0 - MIT
|
||||
|
||||
|
||||
Copyright (c) 2014 Andrew Kelley
|
||||
|
||||
The MIT License (Expat)
|
||||
|
||||
Copyright (c) 2014 Andrew Kelley
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation files
|
||||
(the "Software"), to deal in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
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 AUTHORS 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 IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
picomatch 2.2.2 - MIT
|
||||
picomatch 2.3.1 - MIT
|
||||
https://github.com/micromatch/picomatch
|
||||
|
||||
Copyright (c) 2017-present, Jon Schlinkert.
|
||||
Copyright (c) 2017-present, Jon Schlinkert (https://github.com/jonschlinkert).
|
||||
Copyright (c) 2017-present, Jon Schlinkert
|
||||
Copyright (c) 2017-present, Jon Schlinkert (https://github.com/jonschlinkert)
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
@@ -2178,7 +2231,7 @@ THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
plist 3.0.5 - MIT
|
||||
plist 3.1.0 - MIT
|
||||
https://github.com/TooTallNate/node-plist#readme
|
||||
|
||||
Copyright (c) 2010-2017 Nathan Rajlich <[email protected]>
|
||||
@@ -2310,8 +2363,8 @@ THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
shell-quote 1.7.3 - MIT
|
||||
https://github.com/substack/node-shell-quote
|
||||
shell-quote 1.8.1 - MIT
|
||||
https://github.com/ljharb/shell-quote
|
||||
|
||||
Copyright (c) 2013 James Halliday ([email protected])
|
||||
|
||||
@@ -2344,7 +2397,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
ssh-config 4.1.6 - MIT
|
||||
ssh-config 4.2.1 - MIT
|
||||
https://github.com/cyjake/ssh-config#readme
|
||||
|
||||
Copyright (c) 2017 Chen Yangjian
|
||||
@@ -2465,7 +2518,7 @@ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
vscode-jsonrpc 8.0.1 - MIT
|
||||
vscode-jsonrpc 8.1.0 - MIT
|
||||
https://github.com/Microsoft/vscode-languageserver-node#readme
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
@@ -2487,13 +2540,10 @@ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
vscode-languageclient 8.0.1 - MIT
|
||||
vscode-languageclient 8.1.0 - MIT
|
||||
https://github.com/Microsoft/vscode-languageserver-node#readme
|
||||
|
||||
Copyright (c) TypeFox and others
|
||||
Copyright (c) Microsoft Corporation
|
||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
||||
Copyright (c) 2013 Julian Gruber <[email protected]>
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
@@ -2512,7 +2562,7 @@ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
vscode-languageserver-protocol 3.17.1 - MIT
|
||||
vscode-languageserver-protocol 3.17.3 - MIT
|
||||
https://github.com/Microsoft/vscode-languageserver-node#readme
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
@@ -2535,7 +2585,7 @@ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
vscode-languageserver-types 3.17.1 - MIT
|
||||
vscode-languageserver-types 3.17.3 - MIT
|
||||
https://github.com/Microsoft/vscode-languageserver-node#readme
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
@@ -2557,10 +2607,10 @@ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
vscode-nls 5.0.0 - MIT
|
||||
vscode-nls 5.2.0 - MIT
|
||||
https://github.com/Microsoft/vscode-nls#readme
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
@@ -2585,7 +2635,7 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
xmlbuilder 9.0.7 - MIT
|
||||
xmlbuilder 15.1.1 - MIT
|
||||
http://github.com/oozcitak/xmlbuilder-js
|
||||
|
||||
Copyright (c) 2013 Ozgur Ozcitak
|
||||
@@ -2615,42 +2665,6 @@ THE SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
yauzl 2.10.0 - MIT
|
||||
https://github.com/thejoshwolfe/yauzl
|
||||
|
||||
Copyright (c) 2014 Josh Wolfe
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Josh Wolfe
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
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
|
||||
AUTHORS 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 IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
Additional Third Party Notices
|
||||
@@ -2669,9 +2683,9 @@ The notices below are from non-npm sources.
|
||||
- LLVM (http://llvm.org/)
|
||||
- MI Debug Engine (https://github.com/Microsoft/MIEngine)
|
||||
- Mono (https://github.com/mono/mono)
|
||||
- pevents (https://github.com/neosmart/pevents)
|
||||
- SQLite (https://www.sqlite.org/)
|
||||
Includes:functions (from fossil) (https://fossil-scm.org)
|
||||
- SoftFloat (http://www.jhauser.us/arithmetic/SoftFloat.html)
|
||||
|
||||
%% ANTLR NOTICES AND INFORMATION BEGIN HERE
|
||||
=========================================
|
||||
@@ -2875,7 +2889,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
---- LLVM Exceptions to the Apache 2.0 License ----
|
||||
|
||||
@@ -3114,7 +3128,7 @@ END OF gcc-9/libgcc NOTICES AND INFORMATION
|
||||
%% Guidelines Support Library NOTICES AND INFORMATION BEGIN HERE
|
||||
=========================================
|
||||
Copyright (c) 2015 Microsoft Corporation. All rights reserved.
|
||||
|
||||
|
||||
This code is licensed under the MIT License (MIT).
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
@@ -3123,10 +3137,10 @@ in 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:
|
||||
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
|
||||
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
|
||||
@@ -3295,10 +3309,10 @@ in 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:
|
||||
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
|
||||
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
|
||||
@@ -3324,10 +3338,10 @@ in 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:
|
||||
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
|
||||
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
|
||||
@@ -3544,30 +3558,6 @@ The externally maintained libraries used by libuv are:
|
||||
=========================================
|
||||
END OF libuv NOTICES AND INFORMATION
|
||||
|
||||
%% pevents NOTICES AND INFORMATION BEGIN HERE
|
||||
=========================================
|
||||
Copyright (C) 2011 - 2015 by NeoSmart Technologies <http://neosmart.net/>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in 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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
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
|
||||
AUTHORS 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 IN
|
||||
THE SOFTWARE.
|
||||
=========================================
|
||||
END OF pevents NOTICES AND INFORMATION
|
||||
|
||||
%% SQLite NOTICES AND INFORMATION BEGIN HERE
|
||||
=========================================
|
||||
SQLite is in the
|
||||
@@ -3638,3 +3628,43 @@ as representing official policies, either expressed or implied, of anybody
|
||||
else.
|
||||
=========================================
|
||||
END OF SQLite NOTICES AND INFORMATION
|
||||
|
||||
%% SoftFloat NOTICES AND INFORMATION BEGIN HERE
|
||||
=========================================
|
||||
License for Berkeley SoftFloat Release 3e
|
||||
|
||||
John R. Hauser
|
||||
2018 January 20
|
||||
|
||||
The following applies to the whole of SoftFloat Release 3e as well as to
|
||||
each source file individually.
|
||||
|
||||
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
|
||||
University of California. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions, and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions, and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
=========================================
|
||||
END OF SoftFloat NOTICES AND INFORMATION
|
||||
|
||||
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
+3559
-3478
File diff suppressed because it is too large
Load Diff
@@ -4,11 +4,11 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1932",
|
||||
"1935",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1932",
|
||||
"-D_MSC_FULL_VER=193231326",
|
||||
"-D_MSC_VER=1935",
|
||||
"-D_MSC_FULL_VER=193532215",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM=7"
|
||||
],
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1932",
|
||||
"1935",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1932",
|
||||
"-D_MSC_FULL_VER=193231326",
|
||||
"-D_MSC_VER=1935",
|
||||
"-D_MSC_FULL_VER=193532215",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM64=1"
|
||||
],
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1932",
|
||||
"1935",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1932",
|
||||
"-D_MSC_FULL_VER=193231326",
|
||||
"-D_MSC_VER=1935",
|
||||
"-D_MSC_FULL_VER=193532215",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_X64=100",
|
||||
"-D_M_AMD64=100"
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1932",
|
||||
"1935",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1932",
|
||||
"-D_MSC_FULL_VER=193231326",
|
||||
"-D_MSC_VER=1935",
|
||||
"-D_MSC_FULL_VER=193532215",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_IX86=600",
|
||||
"-D_M_IX86_FP=2"
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
"type": "string"
|
||||
},
|
||||
"compilerArgs": {
|
||||
"markdownDescription": "Compiler arguments to modify the includes or defines used, e.g. `-nostdinc++`, `-m32`, etc.",
|
||||
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
|
||||
"markdownDescription": "Compiler arguments to modify the includes or defines used, e.g. `-nostdinc++`, `-m32`, etc. Arguments that take additional space-delimited arguments should be entered as separate arguments in the array, e.g. for `--sysroot <arg>` use `\"--sysroot\", \"<arg>\"`.",
|
||||
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered, except potentially the `arg` text which is a placeholder and not literal text, i.e. an abbreviation for `argument`.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
@@ -36,10 +36,12 @@
|
||||
"c99",
|
||||
"c11",
|
||||
"c17",
|
||||
"c23",
|
||||
"gnu89",
|
||||
"gnu99",
|
||||
"gnu11",
|
||||
"gnu17",
|
||||
"gnu23",
|
||||
"${default}"
|
||||
]
|
||||
},
|
||||
@@ -78,7 +80,7 @@
|
||||
}
|
||||
},
|
||||
"macFrameworkPath": {
|
||||
"description": "A list of paths for the Intellisense engine to use while searching for included headers from Mac frameworks. Only supported on Mac configuration.",
|
||||
"description": "A list of paths for the IntelliSense engine to use while searching for included headers from Mac frameworks. Only supported on Mac configuration.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
|
||||
+19
-152
@@ -6,7 +6,7 @@
|
||||
'use strict';
|
||||
|
||||
const gulp = require('gulp');
|
||||
const eslint = require('gulp-eslint');
|
||||
|
||||
const fs = require('fs');
|
||||
const nls = require('vscode-nls-dev');
|
||||
const path = require('path');
|
||||
@@ -58,20 +58,6 @@ const languages = [
|
||||
{ id: "pl", folderName: "plk" }
|
||||
];
|
||||
|
||||
/// Misc Tasks
|
||||
const allTypeScript = [
|
||||
'src/**/*.ts',
|
||||
'!**/*.d.ts',
|
||||
'!**/typings**'
|
||||
];
|
||||
|
||||
gulp.task('lint', function () {
|
||||
return gulp.src(allTypeScript)
|
||||
.pipe(eslint({ configFile: ".eslintrc.js" }))
|
||||
.pipe(eslint.format())
|
||||
.pipe(eslint.failAfterError());
|
||||
});
|
||||
|
||||
|
||||
// ****************************
|
||||
// Command: translations-export
|
||||
@@ -244,25 +230,25 @@ gulp.task("translations-export", (done) => {
|
||||
// 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']))
|
||||
// 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', '.'))
|
||||
// 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']))
|
||||
// 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"]))
|
||||
// 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();
|
||||
}));
|
||||
// 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();
|
||||
}));
|
||||
});
|
||||
|
||||
|
||||
@@ -286,9 +272,9 @@ gulp.task("translations-import", (done) => {
|
||||
.pipe(nls.prepareJsonFiles())
|
||||
.pipe(gulp.dest(path.join("./i18n", language.folderName)));
|
||||
}))
|
||||
.pipe(es.wait(() => {
|
||||
done();
|
||||
}));
|
||||
.pipe(es.wait(() => {
|
||||
done();
|
||||
}));
|
||||
});
|
||||
|
||||
// ****************************
|
||||
@@ -458,122 +444,3 @@ const generateJsonSchemaLoc = () => {
|
||||
|
||||
gulp.task('translations-generate', gulp.series(generateSrcLocBundle, generateAdditionalLocFiles, generateHtmlLoc, generateWalkthroughHtmlLoc, 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 stringValue = stringTable[property];
|
||||
let hintValue;
|
||||
if (typeof stringValue !== "string") {
|
||||
hintValue = stringValue.hint;
|
||||
stringValue = stringValue.text;
|
||||
}
|
||||
|
||||
// Add to native enum
|
||||
nativeEnumContent += ` ${property} = ${stringIndex},\n`;
|
||||
|
||||
// Add to native string table
|
||||
nativeStringTableContent += ` ${JSON.stringify(stringValue)},\n`;
|
||||
|
||||
// Add to TypeScript switch
|
||||
// Skip empty strings, which can be used to prevent enum/index reordering
|
||||
if (stringValue != "") {
|
||||
// It's possible that a translation may skip "{#}" entries, so check for up to 50 of them.
|
||||
let numArgs = 0;
|
||||
for (let i = 0; i < 50; i++) {
|
||||
if (stringValue.includes(`{${i}}`)) {
|
||||
numArgs = i + 1;
|
||||
}
|
||||
}
|
||||
typeScriptSwitchContent += ` case ${stringIndex}:\n`;
|
||||
if (numArgs != 0) {
|
||||
typeScriptSwitchContent += ` if (stringArgs) {\n`;
|
||||
if (hintValue) {
|
||||
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
|
||||
} else {
|
||||
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
|
||||
}
|
||||
for (let i = 0; i < numArgs; i++) {
|
||||
typeScriptSwitchContent += `, stringArgs[${i}]`;
|
||||
}
|
||||
typeScriptSwitchContent += `);\n break;\n }\n`;
|
||||
}
|
||||
if (hintValue) {
|
||||
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
|
||||
} else {
|
||||
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
|
||||
}
|
||||
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 const localizedStringCount: number = ${stringIndex};
|
||||
|
||||
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
|
||||
// NOLINTBEGIN(modernize-raw-string-literal)
|
||||
enum class localized_string_id : unsigned int
|
||||
{
|
||||
blank = 0,
|
||||
${nativeEnumContent}};
|
||||
|
||||
inline static const char *localizable_strings[] = {
|
||||
"",
|
||||
${nativeStringTableContent}};
|
||||
// NOLINTEND(modernize-raw-string-literal)
|
||||
`;
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
@@ -16,6 +16,6 @@
|
||||
"reinstall.extension.text5": "在 Windows 上:",
|
||||
"reinstall.extension.text6": "在 Linux 上:",
|
||||
"reinstall.extension.text7": "然后通过 VS Code 中的市场 UI 重新安装。",
|
||||
"reinstall.extension.text8": "如果 VS Code 无法部署扩展的正确版本,则可以 {0} 并使用 VS Code 中市场 UI 内 “...” 菜单下的 `从 VSIX... 安装` 选项安装系统的正确 VSIX。",
|
||||
"reinstall.extension.text8": "如果 VS Code 无法部署扩展的正确版本,则可以 {0} 并使用 VS Code 中市场 UI 内 \"...\" 菜单下的 \"从 VSIX... 安装\" 选项安装系统的正确 VSIX。",
|
||||
"download.vsix.link.title": "已从 VS Code 市场网站下载"
|
||||
}
|
||||
@@ -6,12 +6,12 @@
|
||||
{
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.name": "配置标识符。 `Mac`、`Linux` 和 `Win32` 是将在这些平台上自动选择的配置的特殊标识符,但标识符可以为任何内容。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerPath": "正在使用的编译器的完整路径(例如 `/usr/bin/gcc`),以启用更准确的 IntelliSense。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用于修改使用的包含或定义的编译器参数,例如 `-nostdinc++`、`-m32` 等。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用于修改所使用的包含或定义的编译器参数,例如 `-nostdinc++`、`-m32` 等。采用其他空格分隔参数的参数应在数组中作为单独的参数输入,例如,对于 `--sysroot <arg>` 使用 `\"--sysroot\", \"<arg>\"`。",
|
||||
"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 引擎要使用的路径列表。在这些路径上进行搜索为非递归搜索。指定 `**` 以指示递归搜索。例如,`${workspaceFolder}/**` 将搜索所有子目录,而 `${workspaceFolder}` 则不会。通常,此操作不应包含系统包含项;请改为设置 `C_Cpp.default.compilerPath`。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Intellisense 引擎在 Mac 框架中搜索包含的标头时要使用的路径的列表。仅在 Mac 配置中受支持。",
|
||||
"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.dotConfig": "Kconfig 系统创建的 .config 文件的路径。Kconfig 系统生成包含所有定义的文件以生成项目。使用 Kconfig 系统的项目示例包括 Linux 内核和 NuttX RTOS。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "分析文件时要使用的 IntelliSense 引擎的预处理器定义列表。(可选)使用 `=` 设置值,例如 `VERSION=1`。",
|
||||
|
||||
@@ -4,11 +4,21 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c_cpp.subheaders.intelliSense.title": "IntelliSense",
|
||||
"c_cpp.subheaders.formatting.title": "格式设置",
|
||||
"c_cpp.subheaders.codeDocumentation.title": "代码文档",
|
||||
"c_cpp.subheaders.codeAnalysis.title": "代码分析",
|
||||
"c_cpp.subheaders.debugging.title": "调试",
|
||||
"c_cpp.subheaders.resourceManagement.title": "资源管理",
|
||||
"c_cpp.subheaders.miscellaneous.title": "杂项",
|
||||
"c_cpp.capabilities.untrustedWorkspaces.description": "多个设置可能导致执行工作区本地进程,例如,C_Cpp.clang_format_path、C_Cpp.codeAnalysis.clangTidy.path、C_Cpp.addNodeAddonIncludePaths、C_Cpp.default.compilerPath、C_Cpp.default.configurationProvider 和 C_Cpp.default.compileCommands,以及 c_cpp_properties.json 中的等效属性。",
|
||||
"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.selectIntelliSenseConfiguration.title": "选择 IntelliSense 配置...",
|
||||
"c_cpp.command.installCompiler.title": "安装 C++ 编译器",
|
||||
"c_cpp.command.rescanCompilers.title": "重新扫描编译器",
|
||||
"c_cpp.command.switchHeaderSource.title": "切换标头/源",
|
||||
"c_cpp.command.enableErrorSquiggles.title": "启用错误波形曲线",
|
||||
"c_cpp.command.disableErrorSquiggles.title": "禁用错误波形曲线",
|
||||
@@ -26,6 +36,7 @@
|
||||
"c_cpp.command.generateEditorConfig.title": "从 VC 格式设置生成 EditorConfig 内容",
|
||||
"c_cpp.command.GoToNextDirectiveInGroup.title": "转到条件组中的下一个预处理器指令",
|
||||
"c_cpp.command.GoToPrevDirectiveInGroup.title": "转到条件组中的上一个预处理器指令",
|
||||
"c_cpp.command.CreateDeclarationOrDefinition.title": "创建声明/定义",
|
||||
"c_cpp.command.RunCodeAnalysisOnActiveFile.title": "在活动文件上运行 Code Analysis",
|
||||
"c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "在打开的文件上运行 Code Analysis",
|
||||
"c_cpp.command.RunCodeAnalysisOnAllFiles.title": "在所有文件上运行 Code Analysis",
|
||||
@@ -57,15 +68,15 @@
|
||||
"c_cpp.configuration.codeAnalysis.excludeBoolean.markdownDescription": "要与文件路径匹配的 glob 模式。设置为 `true` 或 `false` 以启用或禁用模式。",
|
||||
"c_cpp.configuration.codeAnalysis.excludeWhen.markdownDescription": "对匹配文件同辈进行其他检查。将 `$(basename)` 用作匹配文件名变量。",
|
||||
"c_cpp.configuration.codeAnalysis.runAutomatically.markdownDescription": "如果为 `true`,则代码分析将在文件打开或保存后自动在文件上运行。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showDisable.markdownDescription": "如果为`true`,'禁用'代码操作将在可用时显示(下次运行代码分析时)。使用'禁用'代码操作时,它会将警告代码添加到 `C_Cpp.codeAnalysis.clangTidy.checks.disabled`设置。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showDisable.markdownDescription": "如果为 `true`,'禁用'代码操作将在可用时显示(下次运行代码分析时)。使用'禁用'代码操作时,它会将警告代码添加到 `C_Cpp.codeAnalysis.clangTidy.checks.disabled` 设置。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showDocumentation.markdownDescription": "如果为 `true`,“显示文档”代码操作将在可用时显示(下次运行代码分析时)。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.description": "控制哪些“清除”代码分析问题代码操作选项可用。更改设置以显示更多选项可能需要重新运行代码分析。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.None.description": "不显示“清除”代码操作。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllOnly.description": "仅显示“全部清除”代码操作(如果只有一种类型,则显示“清除所有<type>”,如果只有一个问题,则显示“清除此项”)。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllType.description": "如果存在多个问题类型,显示“全部清除”代码操作和“清除所有 <type>”代码操作(或如果<type>只有一个问题,显示“清除此项”)",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "如果有多个问题类型,显示“全部清除”,如果有多个 <type> 问题,显示“清除所有 <type>”以及显示“清除此项”代码操作",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "如果为 `true`,则在 '修复' 代码操作更改的行上运行格式设置。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "如果为 `true`,则在 `#C_Cpp.codeAnalysis.runAutomatically#` 为 `true` (默认值)时,将启用并自动运行使用 `clang-tidy` 的代码分析。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "如果为 `true`,则在“修复”代码操作更改的行上运行格式设置。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "如果为 `true`,则在 `#C_Cpp.codeAnalysis.runAutomatically#` 为 `true` (默认值)时,将启用使用 `clang-tidy` 的代码分析,并在文件打开或保存后运行它。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "`clang-tidy` 可执行文件的完整路径。如果未指定,并且 `clang-tidy` 在环境路径中可用,则使用该路径。如果在环境路径中找不到,则将使用与扩展捆绑的 `clang-tidy`。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "指定 YAML/JSON 格式的 `clang-tidy` 配置: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{键: x, 值: y}]}`。当值为空时,`clang-tidy` 将尝试为其父目录中的每个源文件查找名为 `.clang-tidy` 的文件。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "指定 YAML/JSON 格式的 `clang-tidy` 配置,以在未设置 `#C_Cpp.codeAnalysis.clangTidy.config#`,并且未找到 `.clang-tidy` 文件: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{键: x, 值: y}]}` 时将其用作回退。",
|
||||
@@ -199,7 +210,7 @@
|
||||
"c_cpp.configuration.simplifyStructuredComments.markdownDescription": "如果为 `true`,则悬停和自动完成的工具提示将仅显示结构化注释的某些标签。否则,将显示所有注释。",
|
||||
"c_cpp.configuration.doxygen.generateOnType.description": "控制在键入所选注释样式后是否自动插入 Doxygen 注释。",
|
||||
"c_cpp.configuration.doxygen.generatedStyle.description": "用作 Doxygen 注释起始行的字符串。",
|
||||
"c_cpp.configuration.doxygen.sectionTags.description": "启用 `简化结构化注释` 设置后,选择希望在工具提示区域中悬停时显示的 Doxygen 节标记。 ",
|
||||
"c_cpp.configuration.doxygen.sectionTags.description": "启用“简化结构化注释”设置后,选择希望在工具提示区域中悬停时显示的 Doxygen 节标记。 ",
|
||||
"c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "开始多行或单行注释块的模式。多行注释块的延续模式默认为 ` * `,或单行注释块默认为此字符串。",
|
||||
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.begin.description": "开启一个多行或单行注释块的模式。",
|
||||
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.continue.description": "在多行或单行注释块内按下 Enter 键时要插入到下一行的文本。",
|
||||
@@ -236,6 +247,11 @@
|
||||
"c_cpp.configuration.caseSensitiveFileSupport.markdownDescription": "如果设置为 `default`,则假定工作区的文件系统在 Windows 上不区分大小写,在 macOS 或 Linux 上区分大小写。如果设置为 `enabled`,则假定工作区的文件系统在 Windows 上区分大小写。",
|
||||
"c_cpp.configuration.enhancedColorization.markdownDescription": "如果启用,则根据 IntelliSense 对代码进行着色。仅当 `#C_Cpp.intelliSenseEngine#` 设置为 `default` 时,此设置才适用。",
|
||||
"c_cpp.configuration.codeFolding.description": "如果启用,则由语言服务器提供代码折叠范围。",
|
||||
"c_cpp.configuration.markdownInComments.description": "选择 Markdown 是否在悬停工具提示中可用。默认情况下,仅一部分 markdown 将应用于悬停工具提示中的注释。",
|
||||
"c_cpp.configuration.markdownInComments.subsetEnabled.description": "启用悬停工具提示中的所有 Markdown 功能,但包含“_”和“*”字符的功能除外。",
|
||||
"c_cpp.configuration.markdownInComments.enabled.description": "在悬停工具提示中启用所有 Markdown 功能。",
|
||||
"c_cpp.configuration.markdownInComments.disabled.description": "禁用悬停工具提示中的所有 Markdown 功能。",
|
||||
"c_cpp.configuration.hover.description": "如果禁用,则语言服务器不再提供悬停详细信息。",
|
||||
"c_cpp.configuration.vcpkg.enabled.markdownDescription": "为 [vcpkg 依存关系管理器](https://aka.ms/vcpkg/) 启用集成服务。",
|
||||
"c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "当来自 `nan` 和 `node-addon-api` 的包含路径为依赖项时,请将其添加。",
|
||||
"c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "如果为 `true`,则“重命名符号”将需要有效的 C/C++ 标识符。",
|
||||
@@ -390,5 +406,41 @@
|
||||
"c_cpp.semanticTokenTypes.numberLiteral.description": "C++ 用户定义文本数字的样式。",
|
||||
"c_cpp.semanticTokenTypes.stringLiteral.description": "C++ 用户定义文本字符串的样式。",
|
||||
"c_cpp.semanticTokenModifiers.global.description": "用于全局符号的样式。",
|
||||
"c_cpp.semanticTokenModifiers.local.description": "用于本地符号的样式。"
|
||||
"c_cpp.semanticTokenModifiers.local.description": "用于本地符号的样式。",
|
||||
"c_cpp.debuggers.logging.natvisDiagnostics.description": "可选标志,用于确定是否应将诊断 natvis 消息记录到调试控制台。默认为 None。",
|
||||
"c_cpp.debuggers.logging.category.verbose.description": "开发期间用于交互式调查的日志。这些日志应主要包含可用于调试的信息,并且不具有长期价值。",
|
||||
"c_cpp.debuggers.logging.category.warning.description": "突出显示应用程序流中的异常或意外事件,但不会导致应用程序执行停止的日志。",
|
||||
"c_cpp.debuggers.logging.category.error.description": "在当前执行流因失败而停止时突出显示的日志。这些应指示当前活动中的失败,而不是应用程序范围的失败。",
|
||||
"c_cpp.debuggers.logging.category.none.description": "不用于写入日志消息。指定事件日志类别不应写入任何消息。",
|
||||
"c_cpp.walkthrough.title": "C++ 开发入门",
|
||||
"c_cpp.walkthrough.description": "深入了解 VS Code 丰富的 C++ 开发体验。",
|
||||
"c_cpp.walkthrough.set.up.title": "设置 C++ 环境",
|
||||
"c_cpp.walkthrough.activating.description": "激活 C++ 扩展以确定是否已设置 C++ 环境。\n正在激活扩展...",
|
||||
"c_cpp.walkthrough.no.compilers.windows.description": "无法在计算机上找到 C++ 编译器,这是使用 C++ 扩展所必需的。请按照右侧的说明安装一个编译器,然后单击下面的“查找我的新编译器”。\n[查找我的新编译器](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
|
||||
"c_cpp.walkthrough.no.compilers.description": "在你的计算机上找不到 C++ 编译器,而使用 C++ 扩展需要该编译器。请选择“安装 C++ 编译器”,为你安装编译器,或者按照右侧的说明安装编译器,然后单击下面的“查找我的新编译器”。\n[安装 C++ 编译器](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[查找我的新编译器](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
|
||||
"c_cpp.walkthrough.compilers.found.description": "C++ 扩展需要与 C++ 编译器一起使用。通过点击下面的按钮从机器上已有的编译器中选择一个。\n[选择我的默认编译器](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)",
|
||||
"c_cpp.walkthrough.compilers.found.altText": "显示在用户计算机上找到的选定默认编译器快捷检查和编译器列表的图像,其中一个已选定。",
|
||||
"c_cpp.walkthrough.create.cpp.file.title": "创建 C++ 文件",
|
||||
"c_cpp.walkthrough.create.cpp.file.description": "[打开](command:toSide:workbench.action.files.openFile)或[创建](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)一个 C++ 文件。请确保将其保存为 \".cpp\" 扩展名,例如 \"helloworld.cpp\"。\n[创建 C++ 文件](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)",
|
||||
"c_cpp.walkthrough.create.cpp.file.altText": "使用 C++ 项目打开 C++ 文件或文件夹。",
|
||||
"c_cpp.walkthrough.command.prompt.title": "从开发人员命令提示启动",
|
||||
"c_cpp.walkthrough.command.prompt.description": "使用 Microsoft Visual Studio C++ 编译器时,C++ 扩展需要从开发人员命令提示符中启动 VS Code。请按照右侧的说明重新启动。\n[重新加载窗口](command:workbench.action.reloadWindow)",
|
||||
"c_cpp.walkthrough.run.debug.title": "运行并调试 C++ 文件",
|
||||
"c_cpp.walkthrough.run.debug.mac.description": "打开你的 C++ 文件,在编辑器右上角点击播放按钮,或者在文件上按 F5。选择“clang++ - 构建和调试活动文件”以使用调试器运行。",
|
||||
"c_cpp.walkthrough.run.debug.linux.description": "打开 C++ 文件,在编辑器右上角点击播放按钮,或者在文件上按 F5。选择“g++ - 构建和调试活动文件”以使用调试器运行。",
|
||||
"c_cpp.walkthrough.run.debug.windows.description": "打开你的 C++ 文件,然后在编辑器右上角点击播放按钮,或者当你在该文件上时按下 F5。选择“cl.exe - 构建和调试活动文件”以使用调试器运行。",
|
||||
"c_cpp.walkthrough.run.debug.windows.altText": "显示 C++ 文件中的断点、f5 按钮和右上角的运行符号的图像",
|
||||
"c_cpp.walkthrough.customize.debugging.title": "自定义调试",
|
||||
"c_cpp.walkthrough.customize.debugging.mac.description": "若要自定义调试配置,请在活动栏中选择“资源管理器”,然后打开包含 C++ 文件的文件夹。打开 C++ 文件,然后选择播放按钮右侧的“添加调试配置”。新的调试配置将保存到项目的 launch.json 文件中。\n[了解详细信息](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
|
||||
"c_cpp.walkthrough.customize.debugging.linux.description": "若要自定义调试配置,请在活动栏中选择“资源管理器”,然后打开包含 C++ 文件的文件夹。打开 C++ 文件,然后选择播放按钮右侧的“添加调试配置”。新的调试配置将保存到项目的 launch.json 文件中。\n[了解详细信息](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
|
||||
"c_cpp.walkthrough.customize.debugging.windows.description": "若要自定义调试配置,请在活动栏中选择“资源管理器”,然后打开包含 C++ 文件的文件夹。打开 C++ 文件,然后选择播放按钮右侧的“添加调试配置”。新的调试配置将保存到项目的 launch.json 文件中。\n[了解详细信息](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
|
||||
"c_cpp.walkthrough.customize.debugging.altText": "显示下拉列表中“添加调试配置”的图像",
|
||||
"c_cpp.codeActions.refactor.inline.macro.title": "内联宏",
|
||||
"c_cpp.codeActions.refactor.inline.macro.description": "将宏调用替换为展开的代码。",
|
||||
"c_cpp.codeActions.refactor.extract.function.title": "提取到函数",
|
||||
"c_cpp.codeActions.refactor.extract.function.description": "将所选代码提取到自由函数或成员函数。",
|
||||
"c_cpp.configuration.refactoring.includeHeader.markdownDescription": "控制在执行重构操作(例如创建声明/定义)时是否将已重构的函数/符号的头文件包含在其相应的源文件。",
|
||||
"c_cpp.configuration.refactoring.includeHeader.always.description": "如果头文件未显式包含在源文件中,则始终包含该头文件。",
|
||||
"c_cpp.configuration.refactoring.includeHeader.ifNeeded.description": "仅当头文件未显式包含在源文件中或通过隐式包含来包含在内时,才包含该头文件。",
|
||||
"c_cpp.configuration.refactoring.includeHeader.never.description": "从不包含头文件。"
|
||||
}
|
||||
@@ -4,5 +4,5 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"ignoring.lines.in.envfile": "忽略 {0} {1} 中不可分析的行:"
|
||||
"ignoring.lines.in.envfile": "忽略 {0} {1} 中不可分析的行: "
|
||||
}
|
||||
@@ -14,5 +14,5 @@
|
||||
"select.ssh.config.file": "选择 SSH 配置文件",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"ssh.target.delete.confirmation": "是否确实要永久删除“{0}”?"
|
||||
"ssh.target.delete.confirmation": "是否确定要永久删除“{0}”?"
|
||||
}
|
||||
@@ -4,5 +4,9 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"os.not.supported": "不支持操作系统“{0}”。"
|
||||
"os.not.supported": "不支持操作系统“{0}”。",
|
||||
"timeout.processList.spawn": "“{0}”在 {1} 秒后超时。",
|
||||
"cancel.processList.spawn": "已取消“{0}”。",
|
||||
"error.processList.spawn": "“{0}”已退出,代码为“{1}”。",
|
||||
"failed.processList.spawn": "未能生成“{0}”。"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"expands.to": "扩展到:",
|
||||
"inline.macro": "内联宏",
|
||||
"inline.macro.not.available": "内联宏在此位置不可用。"
|
||||
}
|
||||
@@ -4,34 +4,36 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"unable.to.start": "无法启动 C/C++ 语言服务器。IntelliSense 功能将被禁用。错误: {0}",
|
||||
"select.compiler": "选择要为 IntelliSense 配置的编译器",
|
||||
"configure.intelliSense.forFolder": "你希望如何为“{0}”文件夹配置 IntelliSense?",
|
||||
"configure.intelliSense.thisFolder": "你希望如何为此文件夹配置 IntelliSense?",
|
||||
"found.string": "在 {0} 找到",
|
||||
"use.compiler": "使用 {0}",
|
||||
"configuration.providers": "配置提供程序",
|
||||
"compilers": "编译器",
|
||||
"use.provider": "使用 {0}",
|
||||
"use.compileCommands": "使用 {0}",
|
||||
"selectAnotherCompiler.string": "在我的计算机上选择另一个编译器...",
|
||||
"installCompiler.string": "帮助我安装编译器",
|
||||
"installCompiler.string.nix": "安装编译器",
|
||||
"noConfig.string": "请勿适用编译器进行配置(不推荐)",
|
||||
"check.permissions": "EPERM: 检查“{0}”的权限",
|
||||
"unable.to.start": "无法启动 C/C++ 语言服务器。IntelliSense 功能将被禁用。错误: {0}",
|
||||
"server.crashed.restart": "语言服务器崩溃。正在重新启动...",
|
||||
"server.crashed2": "在过去 3 分钟内,语言服务器崩溃了 5 次。它不会重新启动。",
|
||||
"loggingLevel.changed": "{0} 已更改为: {1}",
|
||||
"provider.configure.folder": "{0} 想要为“{1}”文件夹配置 IntelliSense。",
|
||||
"provider.configure.this.folder": "{0} 想要为此文件夹配置 IntelliSense。",
|
||||
"allow.button": "允许",
|
||||
"dont.allow.button": "不允许",
|
||||
"ask.me.later.button": "稍后询问我",
|
||||
"dismiss.button": "消除",
|
||||
"diable.warnings.button": "禁用警告",
|
||||
"disable.warnings.button": "禁用警告",
|
||||
"unable.to.provide.configuration": "{0} 无法为“{1}”提供 IntelliSense 配置信息。将改为使用“{2}”配置中的设置。",
|
||||
"config.not.found": "找不到请求的配置名称: {0}",
|
||||
"unsupported.client": "不支持的客户端",
|
||||
"timed.out": "将在 {0} 毫秒后超时。",
|
||||
"update.intellisense.time": "更新 IntelliSense 时间(秒): {0}",
|
||||
"configure.json.button": "配置(JSON)",
|
||||
"configure.ui.button": "配置(UI)",
|
||||
"dont.show.again": "不再显示",
|
||||
"update.your.intellisense.settings": "更新 IntelliSense 设置或使用 Vcpkg 来安装用于帮助查找缺少的标头的库。",
|
||||
"configure.your.intellisense.settings": "配置 IntelliSense 设置以帮助查找缺少的标头。",
|
||||
"a.compile.commands.file": "compile_commands.json 文件",
|
||||
"auto-configure.intellisense.folder": "是否要使用 {0} 为“{1}”文件夹自动配置 IntelliSense?",
|
||||
"auto-configure.intellisense.this.folder": "是否要使用 {0} 为此文件夹自动配置 IntelliSense?",
|
||||
"yes.button": "是",
|
||||
"no.button": "否",
|
||||
"configurations.received": "已收到自定义配置:",
|
||||
"browse.configuration.received": "已收到自定义浏览配置: {0}",
|
||||
"no.compilers.found": "系统上未找到任何 C++ 编译器。对于你的平台,建议使用编辑器中的说明安装 {0}。",
|
||||
"compilers.found": "在你的系统上找到了以下 C++ 编译器。请在项目的 IntelliSense 配置中选择编译器。"
|
||||
"fallback.clipboard": "已复制声明/定义。",
|
||||
"handle.extract.name": "为提取的函数命名",
|
||||
"handle.extract.new.function": "NewFunction",
|
||||
"handle.extract.error": "未能提取到函数: {0}",
|
||||
"invalid.edit": "未能提取到函数。生成了无效的编辑:“{0}”"
|
||||
}
|
||||
@@ -4,12 +4,12 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"fix_all_code_analysis_problems": "修复所有代码分析问题",
|
||||
"clear_all_code_analysis_problems": "清除所有代码分析问题",
|
||||
"fix_all_type_problems": "修复所有 {0} 问题",
|
||||
"disable_all_type_problems": "禁用所有 {0} 问题",
|
||||
"clear_all_type_problems": "清除所有{0}问题",
|
||||
"clear_this_problem": "清除此 {0} 问题",
|
||||
"fix_this_problem": "修复此 {0} 问题",
|
||||
"show_documentation_for": "显示 {0} 文档"
|
||||
"fix.all.code.analysis.problems": "修复所有代码分析问题",
|
||||
"clear.all.code.analysis.problems": "清除所有代码分析问题",
|
||||
"fix.all.type.problems": "修复所有 {0} 问题",
|
||||
"disable.all.type.problems": "禁用所有 {0} 问题",
|
||||
"clear.all.type.problems": "清除所有{0}问题",
|
||||
"clear.this.problem": "清除此 {0} 问题",
|
||||
"fix.this.problem": "修复此 {0} 问题",
|
||||
"show.documentation.for": "显示 {0} 文档"
|
||||
}
|
||||
@@ -4,11 +4,11 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"build_active_file": "生成活动文件",
|
||||
"compiler_details": "编译器:",
|
||||
"task_generated_by_debugger": "调试器生成的任务。",
|
||||
"build.active.file": "生成活动文件",
|
||||
"compiler.details": "编译器:",
|
||||
"task.generated.by.debugger": "调试器生成的任务。",
|
||||
"cannot.build.non.cpp": "无法生成和调试,因为活动文件不是 C 或 C++ 源文件。",
|
||||
"starting_build": "正在启动生成...",
|
||||
"starting.build": "正在启动生成...",
|
||||
"build.run.terminated": "生成运行已终止。",
|
||||
"build.finished.with.error": "生成已完成,但出现错误。",
|
||||
"build.finished.with.warnings": "生成已完成,但收到警告。",
|
||||
|
||||
@@ -8,9 +8,16 @@
|
||||
"copy.vcpkg.command": "将用于安装“{0}”的 vcpkg 命令复制到剪贴板",
|
||||
"on.disabled.command": "当 `C_Cpp.intelliSenseEngine` 设置为 `disabled` 时,无法执行与 IntelliSense 相关的命令。",
|
||||
"client.not.found": "未找到客户端",
|
||||
"configuration.select.first": "首先打开一个文件夹以选择配置",
|
||||
"configuration.provider.select.first": "首先打开一个文件夹以选择配置提供程序",
|
||||
"ok": "确定",
|
||||
"install.compiler.mac.title": "现在将安装 clang 编译器",
|
||||
"install.compiler.mac.detail": "系统可能会提示你在 VS Code 终端窗口中键入密码以授权安装。",
|
||||
"install.compiler.linux.title": "现在将安装 gcc 编译器",
|
||||
"install.compiler.linux.detail": "系统可能会提示你在 VS Code 终端窗口中键入密码以授权安装。",
|
||||
"configuration.select.first": "首先打开一个文件夹以选择配置。",
|
||||
"configuration.provider.select.first": "首先打开一个文件夹以选择配置提供程序。",
|
||||
"edit.configurations.open.first": "首先打开一个文件夹以编辑配置",
|
||||
"code.action.aborted": "无法应用代码分析修复程序,因为文档已更改。",
|
||||
"add.includepath.open.first": "首先打开一个要添加到 {0} 的文件夹"
|
||||
"prerelease.message": "C/C++ 扩展的预发行版本可用。是否要切换到它?",
|
||||
"yes.button": "是",
|
||||
"no.button": "否"
|
||||
}
|
||||
@@ -7,6 +7,7 @@
|
||||
"find.all.references": "查找所有引用",
|
||||
"peek.references": "速览引用",
|
||||
"rename": "重命名",
|
||||
"call.hierarchy": "调用层次结构",
|
||||
"confirmed.reference.upper": "已确认引用",
|
||||
"confirmation.in.progress.upper": "正在进行确认",
|
||||
"comment.reference.upper": "注释引用",
|
||||
|
||||
@@ -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.
|
||||
{
|
||||
"c.cpp.configurations": "C/C++ 配置"
|
||||
}
|
||||
@@ -4,18 +4,47 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"updating.intellisense.text": "IntelliSense: 正在更新",
|
||||
"idle.intellisense.text": "IntelliSense: 就绪",
|
||||
"initializing.tagparser.text": "正在初始化工作区",
|
||||
"indexing.tagparser.text": "正在索引工作区",
|
||||
"running.tagparser.text": "分析工作区",
|
||||
"paused.tagparser.text": "分析工作区: 已暂停",
|
||||
"complete.tagparser.text": "分析完毕",
|
||||
"rescan.tagparse.text": "重新扫描工作区",
|
||||
"c.cpp.parsing.open.files.tooltip": "正在分析打开的文件",
|
||||
"running.analysis.text": "Code Analysis: 正在运行",
|
||||
"paused.analysis.text": "Code Analysis: 已暂停",
|
||||
"mode.analysis.prefix": "Code Analysis 模式:",
|
||||
"click.to.preview": "单击以预览结果",
|
||||
"updating.intellisense.tooltip": "正在更新 IntelliSense",
|
||||
"c.cpp.configureIntelliSenseStatus.text": "配置 IntelliSense",
|
||||
"cpptools.status.intellisense": "C/C++ IntelliSense 状态",
|
||||
"rescan.intellisense.text": "重新扫描",
|
||||
"rescan.intellisense.tooltip": "重新扫描 IntelliSense",
|
||||
"cpptools.status.tagparser": "C/C++ 标记分析器状态",
|
||||
"cpptools.detail.tagparser": "正在初始化...",
|
||||
"tagparser.resume.text": "继续",
|
||||
"tagparser.pause.text": "暂停",
|
||||
"cpptools.status.codeanalysis": "C/C++ Code Analysis 状态",
|
||||
"c.cpp.codeanalysis.statusbar.runNow": "立即运行",
|
||||
"mode.codeanalysis.status.automatic": "自动",
|
||||
"mode.codeanalysis.status.manual": "手动",
|
||||
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "选项",
|
||||
"startup.codeanalysis.status": "正在启动...",
|
||||
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即运行",
|
||||
"running.analysis.processed.tooltip": "正在运行: {0}/{1} ({2}%)",
|
||||
"select.code.analysis.command": "选择代码分析命令...",
|
||||
"cancel.analysis": "取消",
|
||||
"resume.analysis": "继续",
|
||||
"pause.analysis": "暂停",
|
||||
"another.analysis": "启动另一个...",
|
||||
"select.command": "选择命令...",
|
||||
"c.cpp.configuration.tooltip": "C/C++ 配置",
|
||||
"active.analysis": "在活动文件上运行 Code Analysis",
|
||||
"all.analysis": "在所有文件上运行 Code Analysis",
|
||||
"open.analysis": "在打开的文件上运行 Code Analysis",
|
||||
"c.cpp.references.statusbar": "C/C++ 引用状态",
|
||||
"c.cpp.intellisense.statusbar": "C/C++ IntelliSense 状态",
|
||||
"c.cpp.tagparser.statusbar": "C/C++ 标记分析器状态",
|
||||
"discovering.files.tooltip": "正在发现文件",
|
||||
"running.analysis.tooltip": "正在运行 {0}",
|
||||
"code.analysis.paused.tooltip": "已暂停 {0}",
|
||||
"running.analysis.processed.tooltip": "正在运行 {0}: {1} / {2} ({3}%)",
|
||||
"c.cpp.configuration.tooltip": "C/C++ 配置",
|
||||
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 配置 IntelliSense",
|
||||
"select.a.configuration": "选择配置...",
|
||||
"edit.configuration.ui": "编辑配置(UI)",
|
||||
"edit.configuration.json": "编辑配置(JSON)",
|
||||
@@ -23,11 +52,5 @@
|
||||
"active": "活动",
|
||||
"none": "无",
|
||||
"disable.configuration.provider": "禁用活动配置提供程序(如果适用)。",
|
||||
"select.compile.commands": "选择 compile_commands.json...",
|
||||
"select.workspace": "选择工作区文件夹…",
|
||||
"resume.parsing": "恢复工作区分析",
|
||||
"pause.parsing": "暂停工作区分析",
|
||||
"cancel.analysis": "取消 {0}",
|
||||
"resume.analysis": "恢复 {0}",
|
||||
"pause.analysis": "暂停 {0}"
|
||||
"select.workspace": "选择工作区文件夹…"
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"running.tagparser.text": "分析工作区",
|
||||
"paused.tagparser.text": "分析工作区: 已暂停",
|
||||
"complete.tagparser.text": "分析完毕",
|
||||
"initializing.tagparser.text": "正在初始化工作区",
|
||||
"indexing.tagparser.text": "正在索引工作区",
|
||||
"rescan.tagparse.text": "重新扫描工作区",
|
||||
"c.cpp.parsing.open.files.tooltip": "正在分析打开的文件",
|
||||
"click.to.preview": "单击以预览结果",
|
||||
"updating.intellisense.text": "IntelliSense: 正在更新",
|
||||
"idle.intellisense.text": "IntelliSense: 就绪",
|
||||
"absent.intellisense.text": "IntelliSense: 未配置",
|
||||
"running.analysis.text": "Code Analysis: 正在运行",
|
||||
"paused.analysis.text": "Code Analysis: 已暂停",
|
||||
"mode.analysis.prefix": "Code Analysis 模式:",
|
||||
"c.cpp.configureIntelliSenseStatus.text": "配置 IntelliSense",
|
||||
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 配置 IntelliSense",
|
||||
"select.command": "选择命令...",
|
||||
"select.code.analysis.command": "选择代码分析命令...",
|
||||
"c.cpp.configuration.tooltip": "C/C++ 配置",
|
||||
"c.cpp.references.statusbar": "C/C++ 引用状态",
|
||||
"cpptools.status.intellisense": "C/C++ IntelliSense 状态",
|
||||
"cpptools.status.tagparser": "C/C++ 标记分析器状态",
|
||||
"cpptools.detail.tagparser": "正在初始化...",
|
||||
"cpptools.status.codeanalysis": "C/C++ Code Analysis 状态",
|
||||
"c.cpp.codeanalysis.statusbar.runNow": "立即运行",
|
||||
"tagparser.pause.text": "暂停",
|
||||
"tagparser.resume.text": "继续",
|
||||
"intellisense.select.text": "选择编译器",
|
||||
"rescan.intellisense.text": "重新扫描",
|
||||
"rescan.intellisense.tooltip": "重新扫描 IntelliSense",
|
||||
"mode.codeanalysis.status.automatic": "自动",
|
||||
"mode.codeanalysis.status.manual": "手动",
|
||||
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "选项",
|
||||
"startup.codeanalysis.status": "正在启动...",
|
||||
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即运行",
|
||||
"running.analysis.processed.tooltip": "正在运行: {0}/{1} ({2}%)",
|
||||
"select.a.configuration": "选择配置...",
|
||||
"edit.configuration.ui": "编辑配置(UI)",
|
||||
"edit.configuration.json": "编辑配置(JSON)",
|
||||
"select.configuration.provider": "选择配置提供程序...",
|
||||
"active": "活动",
|
||||
"none": "无",
|
||||
"disable.configuration.provider": "禁用活动配置提供程序(如果适用)。",
|
||||
"select.compile.commands": "选择 compile_commands.json...",
|
||||
"select.workspace": "选择工作区文件夹…",
|
||||
"resume.parsing": "恢复工作区分析",
|
||||
"pause.parsing": "暂停工作区分析",
|
||||
"cancel.analysis": "取消",
|
||||
"resume.analysis": "继续",
|
||||
"pause.analysis": "暂停",
|
||||
"another.analysis": "启动另一个...",
|
||||
"active.analysis": "在活动文件上运行 Code Analysis",
|
||||
"all.analysis": "在所有文件上运行 Code Analysis",
|
||||
"open.analysis": "在打开的文件上运行 Code Analysis"
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
"ssh.canceled": "已取消 SSH 命令",
|
||||
"ssh.passphrase.input.box": "输入 ssh 密钥的密码{0}",
|
||||
"ssh.enter.password.for.user": "输入用户 \"{0}\" 的密码",
|
||||
"ssh_message_enterPassword": "输入密码",
|
||||
"ssh.message.enter.password": "输入密码",
|
||||
"ssh.continue.confirmation.placeholder": "您确定要继续吗?",
|
||||
"ssh.host.key.confirmation.title": "\"{0}\" 具有指纹 \"{1}\"。",
|
||||
"continue": "继续",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"include_not_found_in_browse_path": "在 browse.path 中未找到包含文件。",
|
||||
"update_browse_path": "编辑 \"browse.path\" 设置",
|
||||
"add_to_include_path": "添加到 \"includePath\": {0}",
|
||||
"add_missing_include_path": "添加“{0}”",
|
||||
"edit_include_path": "编辑 \"includePath\" 设置",
|
||||
"disable_error_squiggles": "禁用错误波形曲线",
|
||||
"enable_error_squiggles": "启用所有错误波形曲线",
|
||||
@@ -75,6 +76,8 @@
|
||||
"will_use_tag_parser_when_includes_dont_resolve": "当 #includes 不解析时,扩展将为 IntelliSense 使用标记分析器。",
|
||||
"autocomplete_is_enabled": "已启用自动完成。",
|
||||
"autocomplete_is_disabled": "已禁用自动完成。",
|
||||
"hover_is_enabled": "悬停已启用。",
|
||||
"hover_is_disabled": "悬停已禁用。",
|
||||
"enhanced_colorization_is_enabled": "已启用增强的着色。",
|
||||
"error_squiggles_disabled": "已禁用错误波形曲线。",
|
||||
"error_squiggles_enabled": "已启用错误波形曲线。",
|
||||
@@ -109,7 +112,6 @@
|
||||
"intellisense_client_currently_disconnected": "IntelliSense 客户端当前已断开连接",
|
||||
"request_cancelled": "已取消请求: {0}",
|
||||
"intellisense_client_not_available_go_to_definition": "IntelliSense 客户端不可用,请使用标记分析器转到定义。",
|
||||
"wsl_compiler_detected": "检测到的 WSL 编译器",
|
||||
"error_squiggle_count": "错误波形曲线计数: {0}",
|
||||
"queueing_update_intellisense": "正在为以下项的翻译单元中文件的 IntelliSense 更新进行排队: {0}",
|
||||
"formatting_document": "正在格式化文档: {0}",
|
||||
@@ -143,7 +145,6 @@
|
||||
"unable_to_start_child_process": "无法启动子进程!",
|
||||
"timed_out_attempting_to_communicate_with_process": "尝试与进程通信时超时!",
|
||||
"process_failed_to_run": "进程未能运行",
|
||||
"wsl_not_detected": "未检测到 WSL",
|
||||
"compiler_in_compilerpath_not_found": "未找到指定的编译器: {0}",
|
||||
"config_data_invalid": "配置数据无效,{0}",
|
||||
"cmake_executable_not_found": "在 {0} 找不到 CMake 可执行文件",
|
||||
@@ -167,6 +168,8 @@
|
||||
"overloads": "还有 %d 个重载",
|
||||
"specialization": "还有 1 个专业化",
|
||||
"specializations": "还有 %d 个专业化",
|
||||
"intellisense_configuration": "注意: 未完全配置 IntelliSense。使用“选择 IntelliSense 配置”命令完成配置。",
|
||||
"select_intellisense_configuration": "选择 IntelliSense 配置以查找系统标头",
|
||||
"expands_to": "扩展到:",
|
||||
"attention_label": "注意:",
|
||||
"author_label": "作者:",
|
||||
@@ -227,6 +230,7 @@
|
||||
"failed_to_query_for_standard_version": "未能在路径 \"{0}\" 处查询编译器以获得默认标准版本。已对此编译器禁用编译器查询。",
|
||||
"unrecognized_language_standard_version": "编译器查询返回了无法识别的语言标准版本。将改用受支持的最新版本。",
|
||||
"intellisense_process_crash_detected": "检测到 IntelliSense 进程崩溃。",
|
||||
"intellisense_feature_crash_detected": "检测到 IntelliSense 进程崩溃: {0}",
|
||||
"return_values_label": "返回值:",
|
||||
"nvcc_compiler_not_found": "找不到 nvcc 编译器: {0}",
|
||||
"nvcc_host_compiler_not_found": "找不到 nvcc 主机编译器: {0}",
|
||||
@@ -242,5 +246,73 @@
|
||||
"file_tag": "文件",
|
||||
"compiler_default_language_standard_version_old": "编译器返回默认语言标准版本:{0}。由于此版本是旧版本,因此将尝试使用较新版本 {1} 作为默认版本。",
|
||||
"unexpected_output_from_clang_tidy": "来自 clang-tidy 的意外输出:{0}。应为:{1}。",
|
||||
"generate_doxygen_comment": "生成 Doxygen 注释"
|
||||
"generate_doxygen_comment": "生成 Doxygen 注释",
|
||||
"offer_create_declaration": "在 {1} 中创建“{0}”声明",
|
||||
"offer_create_definition": "在 {1} 中创建“{0}”定义",
|
||||
"function_definition_not_found": "找不到“{0}”的函数定义。",
|
||||
"cm_attributes": "属性",
|
||||
"cm_bases": "基项",
|
||||
"cm_classes": "类",
|
||||
"cm_coclasses": "组件类",
|
||||
"cm_delegates": "委托",
|
||||
"cm_enums": "枚举",
|
||||
"cm_events": "活动",
|
||||
"cm_functions": "函数",
|
||||
"cm_importdirectives": "Import 指令",
|
||||
"cm_importlibstatements": "ImportLib 语句",
|
||||
"cm_importstatements": "导入语句",
|
||||
"cm_includedirectives": "Include 指令",
|
||||
"cm_interfaces": "接口",
|
||||
"cm_libraries": "库",
|
||||
"cm_macros": "宏",
|
||||
"cm_maps": "地图",
|
||||
"cm_mapentries": "映射项",
|
||||
"cm_miscellaneous": "杂项",
|
||||
"cm_namespaces": "命名空间",
|
||||
"cm_parameters": "参数",
|
||||
"cm_properties": "属性",
|
||||
"cm_structs": "结构",
|
||||
"cm_todo_insert_return": "TODO: 在此处插入 return 语句",
|
||||
"cm_typedefs": "Typedef",
|
||||
"cm_unions": "联合",
|
||||
"cm_usingaliases": "Using 别名",
|
||||
"cm_usingdirectives": "Using 指令",
|
||||
"cm_variables": "变量",
|
||||
"cm_addfunction": "自动添加函数",
|
||||
"e_com_virtual_redundant": "在与 vsCMFunctionComMethod 一起使用时,vsCMFunctionVirtual 是多余的,并且不可指定。",
|
||||
"e_static_com_method": "vsCMFunctionComMethod 不能是静态的。",
|
||||
"e_invalid_ftype": "无效的 C/C++ 文件: \"%s\"。",
|
||||
"e_fname_to_long": "文件名太长: \"%s\"。",
|
||||
"e_create_file": "无法创建文件 \"%s\"。",
|
||||
"e_access_file": "无法访问目录或文件 \"%s\" 以进行写入。",
|
||||
"e_invalid_pathname": "文件路径 \"%s\" 无效。",
|
||||
"e_cm_file_not_in_project": "找不到文件“%s”。",
|
||||
"refactor_create_declaration_definition_failed": "创建声明/定义失败: %s",
|
||||
"refactor_create_default_delete": "无法创建函数 \"%s\" 。不支持创建默认函数或已删除的函数。",
|
||||
"refactor_function_not_created": "无法创建函数'%s'。",
|
||||
"refactor_ambiguous_locations": "无法找到函数“%s”的明确位置。",
|
||||
"refactor_file_not_in_project": "找不到文件“%s”。",
|
||||
"refactor_not_class_namespace": "找不到类或命名空间'%s'。",
|
||||
"refactor_operation_unsupported": "此操作不支持“%s”。",
|
||||
"unknown_error": "未知错误。",
|
||||
"run_select_intellisense_configuration": "请运行“选择 IntelliSense 配置...”命令以定位系统标头。",
|
||||
"offer_copy_declaration": "复制 '{0}' 的声明",
|
||||
"offer_copy_definition": "复制 '{0}' 的定义",
|
||||
"refactor_copy_declaration_definition_failed": "将声明/定义复制到剪贴板失败: %s",
|
||||
"refactor_extract_to_function": "提取到函数",
|
||||
"refactor_extract_to_free_function": "提取到自由函数",
|
||||
"refactor_extract_to_member_function_in": "提取到“{0}”中的成员函数",
|
||||
"refactor_extract_outsidefunc": "所选文本不在函数内。",
|
||||
"refactor_extract_multifunc": "所选文本不能跨越不同的函数。",
|
||||
"refactor_extract_variable": "变量\"%s\"在选中区域中声明,然后在它下方使用。",
|
||||
"refactor_extract_macro": "预处理器宏“%s”在所选区域的下方使用。",
|
||||
"refactor_extract_inactive": "所选的区域跨越不活动的预处理程序块。",
|
||||
"refactor_extract_no_il": "所选的区域不包含任何可以被提取的代码。",
|
||||
"refactor_extract_entirefunc": "所选区域不完全在函数的主体内。",
|
||||
"refactor_extract_errors_selection": "所选内容包含 IntelliSense 错误。",
|
||||
"refactor_extract_reference_c_code": "“%s”未在所选代码内声明,但正在被修改。C 代码不能通过引用传递参数。",
|
||||
"refactor_extract_reference_return_c_code": "函数必须通过引用返回一个值。C 代码不能返回引用。",
|
||||
"refactor_extract_xborder_jump": "所选代码和外层代码之间的存在跳跃。",
|
||||
"refactor_extract_missing_return": "在所选代码中,一些控制路径退出而没有设置返回值。这只受标量、数字、和指针返回类型支持。",
|
||||
"expand_selection": "展开选择(以启用“提取到函数”)"
|
||||
}
|
||||
@@ -27,7 +27,7 @@
|
||||
"specify.a.compiler": "指定编译器路径或从下拉列表中选择检测到的编译器路径。",
|
||||
"no.compiler.paths.detected": "(未检测到编译器路径)",
|
||||
"compiler.args": "编译器参数",
|
||||
"compiler.arguments": "用于修改所使用的包含或定义的编译器参数,例如 {0}、{1} 等。",
|
||||
"compiler.arguments": "用于修改所使用的包含或定义的编译器参数,例如 {0}、{1} 等。采用其他空格分隔参数的参数应在数组中作为单独的参数输入,例如,对于 {2} 使用 {3}。",
|
||||
"one.argument.per.line": "每行一个参数。",
|
||||
"intellisense.mode": "IntelliSense 模式",
|
||||
"intellisense.mode.description": "要使用的 IntelliSense 模式,该模式映射到 MSVC、gcc 或 Clang 的平台和体系结构变体。如果未设置或设置为 {0},则扩展将选择该平台的默认值。Windows 默认为 {1},Linux 默认为 {2},macOS 默认为 {3}。选择特定 IntelliSense 模式以替代 {4} 模式。仅指定 {5} 变体(例如 {6})的 IntelliSense 模式是旧模式,它们会根据主机平台自动转换为 {7} 变体。",
|
||||
@@ -47,7 +47,7 @@
|
||||
"windows.sdk.version": "Windows SDK 版本",
|
||||
"windows.sdk.version.description": "要在 Windows 上使用的 Windows SDK 包含路径版本,例如 {0}。",
|
||||
"mac.framework.path": "Mac 框架路径",
|
||||
"mac.framework.path.description": "Intellisense 引擎在 Mac 框架中搜索包含的标头时要使用的路径的列表。仅在 macOS 的配置中受支持。",
|
||||
"mac.framework.path.description": "IntelliSense 引擎在 Mac 框架中搜索包含的标头时要使用的路径的列表。仅在 macOS 的配置中受支持。",
|
||||
"one.path.per.line": "每行一个路径。",
|
||||
"forced.include": "强制包含",
|
||||
"forced.include.description": "在处理源文件中的任何其他字符之前应包含的文件的列表。按列出的顺序包含文件。",
|
||||
|
||||
+11
@@ -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.
|
||||
{
|
||||
"walkthrough.windows.title.open.dev.command.prompt": "使用开发人员命令提示符重新启动",
|
||||
"walkthrough.windows.background.dev.command.prompt": "正在使用带有 MSVC 编译器的 Windows 机器,因此需要从开发人员命令提示符中启动 VS Code,以便所有环境变量都能正确设置。要使用开发人员命令提示符重新启动:",
|
||||
"walkthrough.open.command.prompt": "通过在 Windows 开始菜单中键入 \"developer\" 来打开 VS 的开发人员命令提示提示。选择 VS 的开发人员命令提示提示,它将自动导航到当前打开的文件夹。",
|
||||
"walkthrough.windows.press.f5": "在命令提示符中键入 \"code\",然后按 Enter。这应该重新启动 VS Code 并将你带回此演练。"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"walkthough.mac.install.compiler": "在 macOS 上安装 C++ 编译器",
|
||||
"walkthough.mac.text1": "如果要为 macOS 进行 C++ 开发,建议安装 Clang 编译器。只需在“终端”窗口中运行以下命令即可安装命令行开发人员工具:",
|
||||
"walkthough.mac.text2": "然后,要验证已安装 clang,请在“终端”窗口中运行以下命令。你应该会看到一条消息,其中包含有关所使用的 Clang 版本的信息。"
|
||||
"walkthrough.mac.install.compiler": "在 macOS 上安装 C++ 编译器",
|
||||
"walkthrough.mac.text1": "如果要为 macOS 进行 C++ 开发,建议安装 Clang 编译器。只需在“终端”窗口(Ctrl+Shift+ `)中运行以下命令即可安装命令行开发人员工具:",
|
||||
"walkthrough.mac.text2": "然后,要验证已安装 clang,请在“终端”窗口中运行以下命令。你应该会看到一条消息,其中包含有关所使用的 Clang 版本的信息。"
|
||||
}
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
"walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 和 适用于 Linux 的 Windows 子系统(WSL)",
|
||||
"walkthrough.windows.link.title2": "在带 MinGW 的 Windows 上安装 GCC",
|
||||
"walkthrough.windows.text2": "要安装 MSVC,请从 Visual Studio {1} 页面下载 {0}。",
|
||||
"walkthrough.windows.build.tools1": "Visual Studio 2019 生成工具",
|
||||
"walkthrough.windows.build.tools1": "Visual Studio 2022 生成工具",
|
||||
"walkthrough.windows.link.downloads": "下载",
|
||||
"walkthrough.windows.text3": "在 Visual Studio 安装程序中,检查 {0} 工作负载并选择 {1}。",
|
||||
"walkthrough.windows.build.tools2": "C++ 生成工具",
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"walkthrough.windows.install.compiler": "在 Windows 上安装 C++ 编译器",
|
||||
"walkthrough.windows.text1": "如果要对 Windows 进行 C++ 开发,建议安装 Microsoft Visual C++ (MSVC)编译器。",
|
||||
"walkthrough.windows.text2": "若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:\n",
|
||||
"walkthrough.windows.note1": "注意",
|
||||
"walkthrough.windows.note1.text": "可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。",
|
||||
"walkthrough.windows.verify.compiler": "正在验证编译器安装",
|
||||
"walkthrough.windows.open.command.prompt": "在 Windows“开始”菜单中键入‘开发人员’以打开 {0}。",
|
||||
"walkthrough.windows.command.prompt.name1": "VS 的开发人员命令提示",
|
||||
"walkthrough.windows.check.install": "在 VS 的开发人员命令提示中键入 {0} 以检查 MSVC 安装。你应该会看到包含版本和基本使用情况说明的版权消息。",
|
||||
"walkthrough.windows.note2": "注意",
|
||||
"walkthrough.windows.note2.text": "要从命令行或 VS Code 使用 MSVC,必须从 {0} 运行。普通 shell (例如 {1}、 {2})或 Windows 命令提示符未设置必要的路径环境变量。",
|
||||
"walkthrough.windows.command.prompt.name2": "VS 的开发人员命令提示",
|
||||
"walkthrough.windows.other.compilers": "其他编译器选项",
|
||||
"walkthrough.windows.text3": "如果面向的是 Windows 中的 Linux,请查看{0}。或者,可{1}。",
|
||||
"walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 和 适用于 Linux 的 Windows 子系统(WSL)",
|
||||
"walkthrough.windows.link.title2": "在带 MinGW 的 Windows 上安装 GCC"
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"walkthrough.windows.install.compiler": "在 Windows 上安装 C++ 编译器",
|
||||
"walkthrough.windows.text1": "如果要对 Windows 进行 C++ 开发,建议安装 Microsoft Visual C++ (MSVC)编译器。",
|
||||
"walkthrough.windows.text2": "若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:\n",
|
||||
"walkthrough.windows.note1": "注意",
|
||||
"walkthrough.windows.note1.text": "可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。",
|
||||
"walkthrough.windows.verify.compiler": "正在验证编译器安装",
|
||||
"walkthrough.windows.open.command.prompt": "在 Windows“开始”菜单中键入‘开发人员’以打开 {0}。",
|
||||
"walkthrough.windows.command.prompt.name1": "VS 的开发人员命令提示",
|
||||
"walkthrough.windows.check.install": "在 VS 的开发人员命令提示中键入 {0} 以检查 MSVC 安装。你应该会看到包含版本和基本使用情况说明的版权消息。",
|
||||
"walkthrough.windows.note2": "注意",
|
||||
"walkthrough.windows.note2.text": "要从命令行或 VS Code 使用 MSVC,必须从 {0} 运行。普通 shell (例如 {1}、 {2})或 Windows 命令提示符未设置必要的路径环境变量。",
|
||||
"walkthrough.windows.command.prompt.name2": "VS 的开发人员命令提示",
|
||||
"walkthrough.windows.other.compilers": "其他编译器选项",
|
||||
"walkthrough.windows.text3": "如果面向的是 Windows 中的 Linux,请查看{0}。或者,可{1}。",
|
||||
"walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 和 适用于 Linux 的 Windows 子系统(WSL)",
|
||||
"walkthrough.windows.link.title2": "在带 MinGW 的 Windows 上安装 GCC"
|
||||
}
|
||||
@@ -16,6 +16,6 @@
|
||||
"reinstall.extension.text5": "在 Windows 上:",
|
||||
"reinstall.extension.text6": "在 Linux 上:",
|
||||
"reinstall.extension.text7": "然後藉由 VS Code 中的市集 UI 重新安裝。",
|
||||
"reinstall.extension.text8": "如果 VS Code 未能部署正確版本的延伸模組,則您系統的正確 VSIX 可能是 {0},它是使用 VS Code 中市集 UI '...' 功能表下的 `從 VSIX 安裝...` 選項來進行安裝的。",
|
||||
"reinstall.extension.text8": "如果 VS Code 未能部署正確版本的延伸模組,則您系統的正確 VSIX 可能是 {0},並且是使用 VS Code 中市集 UI '...' 功能表下的 `從 VSIX 安裝...` 選項進行安裝的。",
|
||||
"download.vsix.link.title": "從 VS Code 市集網站下載"
|
||||
}
|
||||
@@ -6,12 +6,12 @@
|
||||
{
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.name": "組態識別碼。`Mac`、`Linux` 及 `Win32` 是會在這些平台上自動選取之組態的特殊識別碼,但識別碼可以是任何內容。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerPath": "所用編譯器的完整路徑,例如 `/usr/bin/gcc`,讓 IntelliSense 更準確。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用來修改所用 include 或 define 的編譯器引數,例如 `-nostdinc++`、`-m32` 等。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用來修改所用 include 或 define 的編譯器引數,例如 `-nostdinc++`、`-m32` 等。採用其他空格分隔引數的引數應在陣列中輸入為個別的引數,例如,針對 `--sysroot <arg>` 使用 `\"--sysroot\", \"<arg>\"`。",
|
||||
"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 引擎在搜尋包含的標頭時使用的路徑清單。在這些路徑上的搜尋不會遞迴。請指定 `**` 以表示遞迴搜尋。例如 `${workspaceFolder}/**` 會搜尋所有子目錄,而 `${workspaceFolder}` 不會。此路徑通常不應包含系統 include; 請改為設定 `C_Cpp.default.compilerPath`。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "供 Intellisense 引擎在 Mac 架構中搜尋包含的標頭時使用的路徑清單。僅支援用於 Mac 組態。",
|
||||
"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.dotConfig": "Kconfig 系統所建立之 .config 檔案的路徑。Kconfig 系統會產生具有建置專案之所有定義的檔案。使用 Kconfig 系統的專案範例為 Linux 核心與 NuttX RTOS。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "剖析檔案時,IntelliSense 引擎要使用的前置處理器定義清單。您可使用 `=` 來設定值,例如 `VERSION=1`。",
|
||||
|
||||
@@ -4,11 +4,21 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c_cpp.subheaders.intelliSense.title": "IntelliSense",
|
||||
"c_cpp.subheaders.formatting.title": "格式化",
|
||||
"c_cpp.subheaders.codeDocumentation.title": "程式碼文件",
|
||||
"c_cpp.subheaders.codeAnalysis.title": "Code Analysis",
|
||||
"c_cpp.subheaders.debugging.title": "偵錯",
|
||||
"c_cpp.subheaders.resourceManagement.title": "資源管理",
|
||||
"c_cpp.subheaders.miscellaneous.title": "雜項",
|
||||
"c_cpp.capabilities.untrustedWorkspaces.description": "多個設定可能會導致執行工作區的處理序本機,例如 C_Cpp.clang_format_path、C_Cpp.codeAnalysis.clangTidy.path、C_Cpp.addNodeAddonIncludePaths、C_Cpp.default.compilerPath、C_Cpp.default.configurationProvider、C_Cpp.default.compileCommands,以及 c_cpp_properties.json 中的對等屬性。",
|
||||
"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.selectIntelliSenseConfiguration.title": "選取 IntelliSense 設定...",
|
||||
"c_cpp.command.installCompiler.title": "安裝 C++ 編譯器",
|
||||
"c_cpp.command.rescanCompilers.title": "掃描編譯器",
|
||||
"c_cpp.command.switchHeaderSource.title": "切換標頭/來源",
|
||||
"c_cpp.command.enableErrorSquiggles.title": "啟用錯誤波浪線",
|
||||
"c_cpp.command.disableErrorSquiggles.title": "停用錯誤波浪線",
|
||||
@@ -26,6 +36,7 @@
|
||||
"c_cpp.command.generateEditorConfig.title": "從 VC 格式設定產生 EditorConfig 內容",
|
||||
"c_cpp.command.GoToNextDirectiveInGroup.title": "前往條件式群組中的下一個前置處理器指示詞",
|
||||
"c_cpp.command.GoToPrevDirectiveInGroup.title": "前往條件式群組中的上一個前置處理器指示詞",
|
||||
"c_cpp.command.CreateDeclarationOrDefinition.title": "建立宣告/定義",
|
||||
"c_cpp.command.RunCodeAnalysisOnActiveFile.title": "在使用中檔案上執行程式碼分析",
|
||||
"c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "在開啟檔案上執行程式碼分析",
|
||||
"c_cpp.command.RunCodeAnalysisOnAllFiles.title": "在所有檔案上執行程式碼分析",
|
||||
@@ -64,8 +75,8 @@
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllOnly.description": "如果只有一種類型,則只顯示 '清除所有' 程式碼動作 (如果只有一種類型,則顯示 '清除所有 <type>,或如果只有一個問題,則顯示 '清除此')。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllType.description": "顯示 '清除所有' 程式碼動作 (如果有多種問題類型) 和 '清除所有 <type>' 程式碼動作 (如果 <type> 只有一個問題,則顯示 '清除此')",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "顯示 '清除所有' (如果有多個問題類型)、'清除所有 <type>' (如果 <type> 有多個問題) 和 '清除此' 程式碼動作",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "如果為 `true`,格式就會在由 '修正' 程式碼動作變更的行上執行。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "若為 `true`,則會啟用使用 `clang-tidy` 的程式碼分析,並在 `#C_Cpp.codeAnalysis.runAutomatically#` 為 `true` 時自動執行 (預設)。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "如果為 `true`,格式就會在由「修正」程式碼動作變更的行上執行。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "若為 `true`,會啟用使用 `clang-tidy` 的程式碼分析,並會在 `#C_Cpp.codeAnalysis.runAutomatically#` 為 `true` (預設) 時,在開啟或儲存檔案後執行。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "`clang-tidy` 可執行檔的完整路徑。若未指定可執行檔,且可在環境路徑中使用 `clang-tidy`,則會加以使用。若在環境路徑中找不到可執行檔,則會使用與延伸模組搭配的 `clang-tidy`。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "以 YAML/JSON 格式指定 `clang-tidy` 組態: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{索引鍵: x, 值: y}]}`。當值為空白時,`clang-tidy` 將會嘗試為其父目錄中的每個來源檔案尋找名為 `.clang-tidy` 的檔案。",
|
||||
"c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "當 `#C_Cpp.codeAnalysis.clangTidy.config#` 未設定且找不到 `.clang-tidy` 檔案時,指定 YAML/JSON 格式的 `clang-tidy` 組態用作遞補: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{索引鍵: x, 值: y}]}`。",
|
||||
@@ -165,8 +176,8 @@
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "在一行中所輸入由左大括號和右大括號括住的任何程式碼,都保留在同一行,而不考慮任何 `C_Cpp.vcFormat.newLine.*` 設定。",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "程式碼區塊一律根據 `C_Cpp.vcFormat.newLine.*` 設定的值來格式化。",
|
||||
"c_cpp.configuration.clang_format_path.markdownDescription": "此為 `clang-format` 可執行檔的完整路徑。如果未指定,且在環境路徑中可用 `clang-format`,即會使用該格式。如果在環境路徑中找不到,則會使用延伸模組所配備的 `clang-format`。",
|
||||
"c_cpp.configuration.clang_format_style.markdownDescription": "編碼樣式,目前支援: `Visual Studio`、`LLVM`、`Google`、`Chromium`、`Mozilla`、`WebKit`、`Microsoft`、`GNU`。使用 `file` 可從目前目錄或父目錄的 `.clang-format` 檔案載入樣式,或使用 `file:<path>/.clang-format` 參照特定路徑。使用 `{索引鍵: 值, ...}` 可設定特定參數。例如,`Visual Studio` 樣式類似於: `{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }`。",
|
||||
"c_cpp.configuration.clang_format_fallbackStyle.markdownDescription": "當已使用樣式 `file` 叫用 `clang-format`,但找不到 `.clang-format` 檔案時,用作後援的預先定義樣式名稱。可能的值包括 `Visual Studio`、`LLVM`、`Google`、`Chromium`、`Mozilla`、`WebKit`、`Microsoft`、`GNU`、`none` 或使用 {索引鍵: 值, ...} 來設定特定參數。例如,`Visual Studio` 樣式類似於: `{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }`。",
|
||||
"c_cpp.configuration.clang_format_style.markdownDescription": "編碼樣式,目前支援: `Visual Studio`、`LLVM`、`Google`、`Chromium`、`Mozilla`、`WebKit`、`Microsoft`、`GNU`。使用 `file` 可從目前目錄或父目錄的 `.clang-format` 檔案載入樣式,或使用 `file:<路徑>/.clang-format` 參照特定路徑。使用 `{索引鍵: 值, ...}` 可設定特定參數。例如,`Visual Studio` 樣式類似於: `{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }`。",
|
||||
"c_cpp.configuration.clang_format_fallbackStyle.markdownDescription": "當已使用樣式 `file` 叫用 `clang-format`,但找不到 `.clang-format` 檔案時,用作後援的預先定義樣式名稱。可能的值包括 `Visual Studio`、`LLVM`、`Google`、`Chromium`、`Mozilla`、`WebKit`、`Microsoft`、`GNU`、`none` 或使用 `{索引鍵: 值, ...}` 來設定特定參數。例如,`Visual Studio` 樣式類似於: `{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }`。",
|
||||
"c_cpp.configuration.clang_format_sortIncludes.markdownDescription": "若設定,會覆寫 `SortIncludes` 參數所決定的包含排序行為。",
|
||||
"c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供者。",
|
||||
"c_cpp.configuration.intelliSenseEngine.default.description": "透過單獨的 IntelliSense 處理序提供內容感知結果。",
|
||||
@@ -199,7 +210,7 @@
|
||||
"c_cpp.configuration.simplifyStructuredComments.markdownDescription": "若為 `true`,暫留與自動完成的工具提示只會顯示特定結構化註解標籤,否則將會顯示所有註解。",
|
||||
"c_cpp.configuration.doxygen.generateOnType.description": "控制是否在輸入選擇的註解樣式後自動插入 Doxygen 註解。",
|
||||
"c_cpp.configuration.doxygen.generatedStyle.description": "作為 Doxygen 註解起始行的字元字串。",
|
||||
"c_cpp.configuration.doxygen.sectionTags.description": "選取啟用 [簡化結構化註解] 設定時,要在工具提示區域暫留時顯示的 [Doxygen] 區段標籤。 ",
|
||||
"c_cpp.configuration.doxygen.sectionTags.description": "選取啟用 [簡化結構化註解] 設定時,要在於工具提示區域暫留時顯示的 [Doxygen] 區段標籤。 ",
|
||||
"c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "開始多行或單行註解區塊的模式。對於多行註解區塊,接續模式預設為 ` * `,或此字串表示單行註解區塊。",
|
||||
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.begin.description": "開始多行或單行註解區塊的模式。",
|
||||
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.continue.description": "在多行或單行註解區塊中按下 ENTER 時,將在下一行插入的文字。",
|
||||
@@ -234,8 +245,13 @@
|
||||
"c_cpp.configuration.experimentalFeatures.description": "控制「實驗性」功能是否可用。",
|
||||
"c_cpp.configuration.suggestSnippets.markdownDescription": "若為 `true`,則由語言伺服器提供程式碼片段。",
|
||||
"c_cpp.configuration.caseSensitiveFileSupport.markdownDescription": "如果設定為 `default`,則工作區的檔案系統會在 Windows 上假設為不區分大小寫,而在 macOS 或 Linux 上區分大小寫。如果設為 `enabled`,則工作區的檔案系統在 Windows 上會假設為區分大小寫。",
|
||||
"c_cpp.configuration.enhancedColorization.markdownDescription": "若啟用,將會依據 IntelliSense 顯示彩色的程式碼。僅當 `#C_Cpp.intelliSenseEngine#` 設為 `Default` 時,才適用此設定。",
|
||||
"c_cpp.configuration.enhancedColorization.markdownDescription": "若啟用,將會依據 IntelliSense 顯示彩色的程式碼。僅當 `#C_Cpp.intelliSenseEngine#` 設為 `default` 時,才適用此設定。",
|
||||
"c_cpp.configuration.codeFolding.description": "若啟用,則由語言伺服器提供程式碼摺疊功能範圍。",
|
||||
"c_cpp.configuration.markdownInComments.description": "選取是否可在暫留工具提示中使用 Markdown。根據預設,只會將 Markdown 子集套用至暫留工具提示中的註解。",
|
||||
"c_cpp.configuration.markdownInComments.subsetEnabled.description": "啟用暫留工具提示中的所有 Markdown 功能,但包含 '_' 和 '*' 字元的功能除外。",
|
||||
"c_cpp.configuration.markdownInComments.enabled.description": "啟用暫留工具提示中的所有 Markdown 功能。",
|
||||
"c_cpp.configuration.markdownInComments.disabled.description": "停用暫留工具提示中的所有 Markdown 功能。",
|
||||
"c_cpp.configuration.hover.description": "如果停用,語言伺服器將不再提供暫留詳細資料。",
|
||||
"c_cpp.configuration.vcpkg.enabled.markdownDescription": "啟用 [vcpkg 相依性管理員](https://aka.ms/vcpkg/) 的整合服務。",
|
||||
"c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "當 `nan` 和 `node-addon-api` 為相依性時,從中新增 include 路徑。",
|
||||
"c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "若為 `true`,則「重新命名符號」需要有效的 C/C++ 識別碼。",
|
||||
@@ -390,5 +406,41 @@
|
||||
"c_cpp.semanticTokenTypes.numberLiteral.description": "C++ 使用者定義文字編號的樣式。",
|
||||
"c_cpp.semanticTokenTypes.stringLiteral.description": "C++ 使用者定義常值字串的樣式。",
|
||||
"c_cpp.semanticTokenModifiers.global.description": "要用於全域符號的樣式。",
|
||||
"c_cpp.semanticTokenModifiers.local.description": "要用於本機符號的樣式。"
|
||||
"c_cpp.semanticTokenModifiers.local.description": "要用於本機符號的樣式。",
|
||||
"c_cpp.debuggers.logging.natvisDiagnostics.description": "選擇性旗標,用以判斷是否應將診斷 natvis 訊息記錄到偵錯主控台。預設為 None。",
|
||||
"c_cpp.debuggers.logging.category.verbose.description": "開發期間用於互動式調查的記錄。這些記錄應該主要包含有助於偵錯的資訊,而且沒有長期價值。",
|
||||
"c_cpp.debuggers.logging.category.warning.description": "在應用程式流程中醒目提示或非預期事件,但不會導致應用程式停止執行停止的記錄。",
|
||||
"c_cpp.debuggers.logging.category.error.description": "當目前的執行流程因失敗而停止時,會醒目提示記錄。這些應該表示目前活動失敗,而不是整個應用程式的失敗。",
|
||||
"c_cpp.debuggers.logging.category.none.description": "非用於寫入記錄訊息。指定記錄類別不應寫入任何訊息。",
|
||||
"c_cpp.walkthrough.title": "開始使用 C++ 開發",
|
||||
"c_cpp.walkthrough.description": "深入了解 VS Code 豐富的 C++ 開發體驗。",
|
||||
"c_cpp.walkthrough.set.up.title": "設定您的 C++ 環境",
|
||||
"c_cpp.walkthrough.activating.description": "啟用 C++ 延伸模組,以判斷是否已設定您的 C++ 環境。\n正在啟用延伸模組...",
|
||||
"c_cpp.walkthrough.no.compilers.windows.description": "我們在您的電腦上找不到 C++ 編譯器,需要此編譯器才能使用 C++ 延伸模組。請遵循右側的指示安裝編譯器,然後按一下下方的 [尋找我的新編譯器]。\n[尋找我的新編譯器](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
|
||||
"c_cpp.walkthrough.no.compilers.description": "我們在您的電腦上找不到 C++ 編譯器,需要此編譯器才能使用 C++ 延伸模組。請選取 [安裝 C++ 編譯器] 為您安裝編譯器,或遵循右側的指示安裝編譯器,然後按一下下方的 [尋找我的新編譯器]。\n[安裝 C++ 編譯器](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[尋找我的新編譯器](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
|
||||
"c_cpp.walkthrough.compilers.found.description": "C++ 延伸模組可與 C++ 編譯器搭配運作。按一下下方的按鈕,從電腦上已存在的編譯器選取一個。\n[選取我的預設編譯器](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)",
|
||||
"c_cpp.walkthrough.compilers.found.altText": "影像顯示選取預設編譯器快速選取,以及在使用者電腦上找到的編譯器清單 (已選取其中一個)。",
|
||||
"c_cpp.walkthrough.create.cpp.file.title": "建立 C++ 檔案",
|
||||
"c_cpp.walkthrough.create.cpp.file.description": "[開啟](command:toSide:workbench.action.files.openFile) 或 [建立](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) C++ 檔案。務必使用 \".cpp\" 副檔名來儲存它,例如 \"helloworld.cpp\"。\n[建立 C++ 檔案](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)",
|
||||
"c_cpp.walkthrough.create.cpp.file.altText": "使用 C++ 專案開啟 C++ 檔案或資料夾。",
|
||||
"c_cpp.walkthrough.command.prompt.title": "從開發人員命令提示字元啟動",
|
||||
"c_cpp.walkthrough.command.prompt.description": "使用 Microsoft Visual Studio C++ 編譯器時,C++ 延伸模組會要求您從開發人員命令提示字元啟動 VS Code。請遵循右側的指示來重新啟動。\n[重新載入視窗](command:workbench.action.reloadWindow)",
|
||||
"c_cpp.walkthrough.run.debug.title": "執行和偵錯您的 C++ 檔案",
|
||||
"c_cpp.walkthrough.run.debug.mac.description": "開啟您的 C++ 檔案,然後按一下編輯器右上角的執行按鈕,或在開啟檔案上時按 F5。選取 [clang++ - 建置及偵錯使用中的檔案] 以使用偵錯工具執行。",
|
||||
"c_cpp.walkthrough.run.debug.linux.description": "開啟您的 C++ 檔案,然後按一下編輯器右上角的執行按鈕,或在開啟檔案上時按 F5。選取 [g++ - 建置及偵錯使用中的檔案] 以使用偵錯工具執行。",
|
||||
"c_cpp.walkthrough.run.debug.windows.description": "開啟您的 C++ 檔案,然後按一下編輯器右上角的播放按鈕,或在開啟檔案上時按 F5。選取 [cl.exe - 建置及偵錯使用中的檔案] 以使用偵錯工具執行。",
|
||||
"c_cpp.walkthrough.run.debug.windows.altText": "影像顯示 C++ 檔案中的中斷點、F5 按鈕,以及右上方的執行符號",
|
||||
"c_cpp.walkthrough.customize.debugging.title": "自訂偵錯",
|
||||
"c_cpp.walkthrough.customize.debugging.mac.description": "若要自訂您的偵錯設定,請在活動列中選取 [檔案總管],然後開啟包含 C++ 檔案的資料夾。開啟 C++ 檔案,然後選取 [播放] 按鈕右邊的 [新增偵錯設定]。新的偵錯組態已儲存至專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
|
||||
"c_cpp.walkthrough.customize.debugging.linux.description": "若要自訂您的偵錯設定,請在活動列中選取 [檔案總管],然後開啟包含 C++ 檔案的資料夾。開啟 C++ 檔案,然後選取 [播放] 按鈕右邊的 [新增偵錯設定]。新的偵錯組態已儲存至專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
|
||||
"c_cpp.walkthrough.customize.debugging.windows.description": "若要自訂您的偵錯設定,請在活動列中選取 [檔案總管],然後開啟包含 C++ 檔案的資料夾。開啟 C++ 檔案,然後選取 [播放] 按鈕右邊的 [新增偵錯設定]。新的偵錯組態已儲存至專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
|
||||
"c_cpp.walkthrough.customize.debugging.altText": "影像顯示下拉式清單中 [新增偵錯設定]",
|
||||
"c_cpp.codeActions.refactor.inline.macro.title": "內嵌巨集",
|
||||
"c_cpp.codeActions.refactor.inline.macro.description": "以展開程式碼取代巨集調用。",
|
||||
"c_cpp.codeActions.refactor.extract.function.title": "擷取至函式",
|
||||
"c_cpp.codeActions.refactor.extract.function.description": "將選取的程式碼擷取至自由或成員函式。",
|
||||
"c_cpp.configuration.refactoring.includeHeader.markdownDescription": "控制在執行重構動作時,是否要將重構函式/符號的標頭檔案包含到其對應的來源檔案,例如建立宣告/定義。",
|
||||
"c_cpp.configuration.refactoring.includeHeader.always.description": "如果標頭檔案未明確包含在其來源檔案中,則一律包含該標頭檔案。",
|
||||
"c_cpp.configuration.refactoring.includeHeader.ifNeeded.description": "只有當標頭檔案未明確包含在其來源檔案或隱含包含時,才包含該標頭檔案。",
|
||||
"c_cpp.configuration.refactoring.includeHeader.never.description": "永不包含標頭檔案。"
|
||||
}
|
||||
@@ -4,5 +4,5 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"ignoring.lines.in.envfile": "正在忽略 {0} {1} 中無法剖析的行:"
|
||||
"ignoring.lines.in.envfile": "正在忽略 {0} {1} 中無法剖析的行: "
|
||||
}
|
||||
@@ -14,5 +14,5 @@
|
||||
"select.ssh.config.file": "選取 SSH 設定檔",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"ssh.target.delete.confirmation": "確定要永久刪除 \"{0}\" 嗎?"
|
||||
"ssh.target.delete.confirmation": "您確定要永久刪除 \"{0}\" 嗎?"
|
||||
}
|
||||
@@ -4,5 +4,9 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"os.not.supported": "不支援作業系統 \"{0}\"。"
|
||||
"os.not.supported": "不支援作業系統 \"{0}\"。",
|
||||
"timeout.processList.spawn": "\"{0}\" 在 {1} 秒後逾時。",
|
||||
"cancel.processList.spawn": "\"{0}\" 已取消。",
|
||||
"error.processList.spawn": "\"{0}\" 已結束,出現代碼: {1}。",
|
||||
"failed.processList.spawn": "無法繁衍 \"{0}\"。"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"expands.to": "展開至:",
|
||||
"inline.macro": "內嵌巨集",
|
||||
"inline.macro.not.available": "無法在此位置使用內嵌巨集。"
|
||||
}
|
||||
@@ -4,34 +4,36 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"unable.to.start": "無法啟動 C/C + + 語言伺服器。將停用 IntelliSense 功能。錯誤: {0}",
|
||||
"select.compiler": "選取要設定 IntelliSense 的編譯器",
|
||||
"configure.intelliSense.forFolder": "想如何為 '{0}' 資料夾設定 IntelliSense。",
|
||||
"configure.intelliSense.thisFolder": "要如何為此資料夾設定 IntelliSense?",
|
||||
"found.string": "在 {0} 找到",
|
||||
"use.compiler": "使用 {0}",
|
||||
"configuration.providers": "設定提供者",
|
||||
"compilers": "編譯器",
|
||||
"use.provider": "使用 {0}",
|
||||
"use.compileCommands": "使用 {0}",
|
||||
"selectAnotherCompiler.string": "在我的機器上選取另一個編譯器...",
|
||||
"installCompiler.string": "協助我安裝編譯器",
|
||||
"installCompiler.string.nix": "安裝編譯器",
|
||||
"noConfig.string": "不要設定編譯器 (不建議)",
|
||||
"check.permissions": "EPERM: 檢查 '{0}' 的權限",
|
||||
"unable.to.start": "無法啟動 C/C + + 語言伺服器。將停用 IntelliSense 功能。錯誤: {0}",
|
||||
"server.crashed.restart": "語言伺服器當機。正在重新啟動...",
|
||||
"server.crashed2": "語言伺服器在過去 3 分鐘內發生 5 次故障。將不會重新啟動。",
|
||||
"loggingLevel.changed": "{0} 已變更為: {1}",
|
||||
"provider.configure.folder": "{0} 想要為 '{1}' 資料夾設定 IntelliSense。",
|
||||
"provider.configure.this.folder": "{0} 想要為此資料夾設定 IntelliSense。",
|
||||
"allow.button": "允許",
|
||||
"dont.allow.button": "不允許",
|
||||
"ask.me.later.button": "稍後詢問我",
|
||||
"dismiss.button": "關閉",
|
||||
"diable.warnings.button": "停用警告",
|
||||
"disable.warnings.button": "停用警告",
|
||||
"unable.to.provide.configuration": "{0} 無法提供 '{1}' 的 IntelliSense 組態資訊。將改用來自 '{2}' 組態的設定。",
|
||||
"config.not.found": "找不到要求的組態名稱: {0}",
|
||||
"unsupported.client": "不支援的用戶端",
|
||||
"timed.out": "逾時 ({0} 毫秒內)。",
|
||||
"update.intellisense.time": "更新 IntelliSense 時間 (秒): {0}",
|
||||
"configure.json.button": "設定 (JSON)",
|
||||
"configure.ui.button": "設定 (UI)",
|
||||
"dont.show.again": "不要再顯示",
|
||||
"update.your.intellisense.settings": "更新您的 IntelliSense 設定或使用 Vcpkg 安裝程式庫,以協助找出缺少的標頭。",
|
||||
"configure.your.intellisense.settings": "設定您的 IntelliSense 設定,以協助找出缺少的標頭。",
|
||||
"a.compile.commands.file": "compile_commands.json 檔案",
|
||||
"auto-configure.intellisense.folder": "是否要使用 {0} 自動設定 '{1}' 資料夾的 IntelliSense?",
|
||||
"auto-configure.intellisense.this.folder": "是否要使用 {0} 自動設定此資料夾的 IntelliSense?",
|
||||
"yes.button": "是",
|
||||
"no.button": "否",
|
||||
"configurations.received": "收到的自訂組態:",
|
||||
"browse.configuration.received": "收到的自訂瀏覽組態: {0}",
|
||||
"no.compilers.found": "在您的系統 C++ 上找不到編譯器。針對您的平台,建議您使用編輯器中的指示來安裝 {0}。",
|
||||
"compilers.found": "我們在您的系統上找到下列 C++ 編譯器。在專案的 IntelliSense 設定中選擇編譯器。"
|
||||
"fallback.clipboard": "已複製宣告/定義。",
|
||||
"handle.extract.name": "為擷取的函式命名",
|
||||
"handle.extract.new.function": "NewFunction",
|
||||
"handle.extract.error": "無法擷取至函式: {0}",
|
||||
"invalid.edit": "無法擷取至函式。產生了無效編輯: '{0}'"
|
||||
}
|
||||
@@ -4,12 +4,12 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"fix_all_code_analysis_problems": "修正所有程式碼分析問題",
|
||||
"clear_all_code_analysis_problems": "清除所有程式碼分析問題",
|
||||
"fix_all_type_problems": "修正所有 {0} 問題",
|
||||
"disable_all_type_problems": "停用所有 {0} 問題",
|
||||
"clear_all_type_problems": "清除所有 {0} 問題",
|
||||
"clear_this_problem": "清除此 {0} 問題",
|
||||
"fix_this_problem": "修正此 {0} 問題",
|
||||
"show_documentation_for": "顯示 {0} 的文件"
|
||||
"fix.all.code.analysis.problems": "修正所有程式碼分析問題",
|
||||
"clear.all.code.analysis.problems": "清除所有程式碼分析問題",
|
||||
"fix.all.type.problems": "修正所有 {0} 問題",
|
||||
"disable.all.type.problems": "停用所有 {0} 問題",
|
||||
"clear.all.type.problems": "清除所有 {0} 問題",
|
||||
"clear.this.problem": "清除此 {0} 問題",
|
||||
"fix.this.problem": "修正此 {0} 問題",
|
||||
"show.documentation.for": "顯示 {0} 的文件"
|
||||
}
|
||||
@@ -4,11 +4,11 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"build_active_file": "建置使用中檔案",
|
||||
"compiler_details": "編譯器:",
|
||||
"task_generated_by_debugger": "偵錯工具產生的工作。",
|
||||
"build.active.file": "建置使用中檔案",
|
||||
"compiler.details": "編譯器:",
|
||||
"task.generated.by.debugger": "偵錯工具產生的工作。",
|
||||
"cannot.build.non.cpp": "因為作用中的檔案不是 C 或 C++ 來源檔案,所以無法建立和偵錯。",
|
||||
"starting_build": "正在開始建置...",
|
||||
"starting.build": "正在開始建置...",
|
||||
"build.run.terminated": "已終止建置執行。",
|
||||
"build.finished.with.error": "建置已完成,但發生錯誤。",
|
||||
"build.finished.with.warnings": "建置已完成,但出現警告。",
|
||||
|
||||
@@ -8,9 +8,16 @@
|
||||
"copy.vcpkg.command": "將用於安裝 '{0}' 的 vcpkg 命令複製到剪貼簿",
|
||||
"on.disabled.command": "當 `C_Cpp.intelliSenseEngine` 設為 `disabled` 時,無法執行IntelliSense 的相關命令。",
|
||||
"client.not.found": "找不到用戶端",
|
||||
"configuration.select.first": "先開啟資料夾以選取組態",
|
||||
"configuration.provider.select.first": "先開啟資料夾以選取組態提供者",
|
||||
"ok": "確定",
|
||||
"install.compiler.mac.title": "現在將安裝 clang 編譯器",
|
||||
"install.compiler.mac.detail": "系統可能會提示您在 VS Code 終端機視窗中輸入密碼以授權安裝。",
|
||||
"install.compiler.linux.title": "現在將安裝 GCC 編譯器",
|
||||
"install.compiler.linux.detail": "系統可能會提示您在 VS Code 終端機視窗中輸入密碼以授權安裝。",
|
||||
"configuration.select.first": "先開啟資料夾以選取設定。",
|
||||
"configuration.provider.select.first": "先開啟資料夾以選取設定提供者。",
|
||||
"edit.configurations.open.first": "先開啟資料夾以編輯組態",
|
||||
"code.action.aborted": "無法套用程式碼分析修正,因為文件已變更。",
|
||||
"add.includepath.open.first": "先開啟資料夾以新增至 {0}"
|
||||
"prerelease.message": "已可使用 C/C++ 延伸模組的發行前版本。您要切換到此版本嗎?",
|
||||
"yes.button": "是",
|
||||
"no.button": "否"
|
||||
}
|
||||
@@ -7,6 +7,7 @@
|
||||
"find.all.references": "尋找所有參考",
|
||||
"peek.references": "瞄核參考",
|
||||
"rename": "重新命名",
|
||||
"call.hierarchy": "呼叫階層圖",
|
||||
"confirmed.reference.upper": "已確認參考",
|
||||
"confirmation.in.progress.upper": "正在確認",
|
||||
"comment.reference.upper": "註解參考",
|
||||
|
||||
@@ -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.
|
||||
{
|
||||
"c.cpp.configurations": "C/C++ 設定"
|
||||
}
|
||||
@@ -4,18 +4,47 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c.cpp.parsing.open.files.tooltip": "正在剖析開啟的檔案",
|
||||
"updating.intellisense.text": "IntelliSense: 更新中",
|
||||
"idle.intellisense.text": "IntelliSense: 就緒",
|
||||
"initializing.tagparser.text": "正在初始化工作區",
|
||||
"indexing.tagparser.text": "索引工作區",
|
||||
"running.tagparser.text": "剖析工作區",
|
||||
"paused.tagparser.text": "剖析工作區: 已暫停",
|
||||
"complete.tagparser.text": "剖析完成",
|
||||
"rescan.tagparse.text": "重新掃描工作區",
|
||||
"c.cpp.parsing.open.files.tooltip": "剖析開啟的檔案",
|
||||
"running.analysis.text": "Code Analysis: 執行中",
|
||||
"paused.analysis.text": "Code Analysis: 已暫停",
|
||||
"mode.analysis.prefix": "Code Analysis 模式: ",
|
||||
"click.to.preview": "按一下以預覽結果",
|
||||
"updating.intellisense.tooltip": "正在更新 IntelliSense...",
|
||||
"c.cpp.configureIntelliSenseStatus.text": "設定 IntelliSense",
|
||||
"cpptools.status.intellisense": "C/C++ IntelliSense 狀態",
|
||||
"rescan.intellisense.text": "重新掃描",
|
||||
"rescan.intellisense.tooltip": "重新掃描 IntelliSense",
|
||||
"cpptools.status.tagparser": "C/C++ 標記剖析器狀態",
|
||||
"cpptools.detail.tagparser": "正在初始化...",
|
||||
"tagparser.resume.text": "繼續",
|
||||
"tagparser.pause.text": "暫停",
|
||||
"cpptools.status.codeanalysis": "C/C++ Code Analysis 狀態",
|
||||
"c.cpp.codeanalysis.statusbar.runNow": "立即執行",
|
||||
"mode.codeanalysis.status.automatic": "自動",
|
||||
"mode.codeanalysis.status.manual": "手動",
|
||||
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "選項",
|
||||
"startup.codeanalysis.status": "正在啟動...",
|
||||
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即執行",
|
||||
"running.analysis.processed.tooltip": "正在執行: {0} / {1} ({2}%)",
|
||||
"select.code.analysis.command": "選取程式碼分析命令...",
|
||||
"cancel.analysis": "取消",
|
||||
"resume.analysis": "繼續",
|
||||
"pause.analysis": "暫停",
|
||||
"another.analysis": "啟動另一個...",
|
||||
"select.command": "選取命令...",
|
||||
"c.cpp.configuration.tooltip": "C/C++ 組態",
|
||||
"active.analysis": "在使用中檔案上執行程式碼分析",
|
||||
"all.analysis": "在所有檔案上執行程式碼分析",
|
||||
"open.analysis": "在開啟檔案上執行程式碼分析",
|
||||
"c.cpp.references.statusbar": "C/C++ 參考狀態",
|
||||
"c.cpp.intellisense.statusbar": "C/C++ IntelliSense 狀態",
|
||||
"c.cpp.tagparser.statusbar": "C/C++ 標記剖析器狀態",
|
||||
"discovering.files.tooltip": "正在探索檔案",
|
||||
"running.analysis.tooltip": "正在執行 {0}",
|
||||
"code.analysis.paused.tooltip": "{0} 已暫停",
|
||||
"running.analysis.processed.tooltip": "正在執行 {0}: {1} / {2} ({3}%)",
|
||||
"c.cpp.configuration.tooltip": "C/C++ 組態",
|
||||
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 設定 IntelliSense",
|
||||
"select.a.configuration": "選取組態...",
|
||||
"edit.configuration.ui": "編輯組態 (UI)",
|
||||
"edit.configuration.json": "編輯組態 (JSON)",
|
||||
@@ -23,11 +52,5 @@
|
||||
"active": "使用中",
|
||||
"none": "無",
|
||||
"disable.configuration.provider": "如果適用,停用現有組態提供者。",
|
||||
"select.compile.commands": "選取 compile_commands.json...",
|
||||
"select.workspace": "選取工作區資料夾...",
|
||||
"resume.parsing": "繼續工作區剖析",
|
||||
"pause.parsing": "暫停工作區剖析",
|
||||
"cancel.analysis": "取消 {0}",
|
||||
"resume.analysis": "繼續 {0}",
|
||||
"pause.analysis": "暫停 {0}"
|
||||
"select.workspace": "選取工作區資料夾..."
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"running.tagparser.text": "剖析工作區",
|
||||
"paused.tagparser.text": "剖析工作區: 已暫停",
|
||||
"complete.tagparser.text": "剖析完成",
|
||||
"initializing.tagparser.text": "正在初始化工作區",
|
||||
"indexing.tagparser.text": "索引工作區",
|
||||
"rescan.tagparse.text": "重新掃描工作區",
|
||||
"c.cpp.parsing.open.files.tooltip": "剖析開啟的檔案",
|
||||
"click.to.preview": "按一下以預覽結果",
|
||||
"updating.intellisense.text": "IntelliSense: 更新中",
|
||||
"idle.intellisense.text": "IntelliSense: 就緒",
|
||||
"absent.intellisense.text": "IntelliSense: 未設定",
|
||||
"running.analysis.text": "Code Analysis: 執行中",
|
||||
"paused.analysis.text": "Code Analysis: 已暫停",
|
||||
"mode.analysis.prefix": "Code Analysis 模式: ",
|
||||
"c.cpp.configureIntelliSenseStatus.text": "設定 IntelliSense",
|
||||
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 設定 IntelliSense",
|
||||
"select.command": "選取命令...",
|
||||
"select.code.analysis.command": "選取程式碼分析命令...",
|
||||
"c.cpp.configuration.tooltip": "C/C++ 組態",
|
||||
"c.cpp.references.statusbar": "C/C++ 參考狀態",
|
||||
"cpptools.status.intellisense": "C/C++ IntelliSense 狀態",
|
||||
"cpptools.status.tagparser": "C/C++ 標記剖析器狀態",
|
||||
"cpptools.detail.tagparser": "正在初始化...",
|
||||
"cpptools.status.codeanalysis": "C/C++ Code Analysis 狀態",
|
||||
"c.cpp.codeanalysis.statusbar.runNow": "立即執行",
|
||||
"tagparser.pause.text": "暫停",
|
||||
"tagparser.resume.text": "繼續",
|
||||
"intellisense.select.text": "選取編譯器",
|
||||
"rescan.intellisense.text": "重新掃描",
|
||||
"rescan.intellisense.tooltip": "重新掃描 IntelliSense",
|
||||
"mode.codeanalysis.status.automatic": "自動",
|
||||
"mode.codeanalysis.status.manual": "手動",
|
||||
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "選項",
|
||||
"startup.codeanalysis.status": "正在啟動...",
|
||||
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即執行",
|
||||
"running.analysis.processed.tooltip": "正在執行: {0} / {1} ({2}%)",
|
||||
"select.a.configuration": "選取設定...",
|
||||
"edit.configuration.ui": "編輯設定 (UI)",
|
||||
"edit.configuration.json": "編輯設定 (JSON)",
|
||||
"select.configuration.provider": "選取組態提供者...",
|
||||
"active": "使用中",
|
||||
"none": "無",
|
||||
"disable.configuration.provider": "如果適用,停用現有組態提供者。",
|
||||
"select.compile.commands": "選取 compile_commands.json...",
|
||||
"select.workspace": "選取工作區資料夾...",
|
||||
"resume.parsing": "繼續工作區剖析",
|
||||
"pause.parsing": "暫停工作區剖析",
|
||||
"cancel.analysis": "取消",
|
||||
"resume.analysis": "繼續",
|
||||
"pause.analysis": "暫停",
|
||||
"another.analysis": "啟動另一個...",
|
||||
"active.analysis": "在使用中檔案上執行程式碼分析",
|
||||
"all.analysis": "在所有檔案上執行程式碼分析",
|
||||
"open.analysis": "在開啟檔案上執行程式碼分析"
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
"ssh.canceled": "SSH 命令已取消",
|
||||
"ssh.passphrase.input.box": "輸入 ssh 金鑰 {0} 的複雜密碼",
|
||||
"ssh.enter.password.for.user": "輸入使用者 \"{0}\" 的密碼",
|
||||
"ssh_message_enterPassword": "輸入密碼",
|
||||
"ssh.message.enter.password": "輸入密碼",
|
||||
"ssh.continue.confirmation.placeholder": "您確定要繼續嗎?",
|
||||
"ssh.host.key.confirmation.title": "「{0}」具有指紋「{1}」。",
|
||||
"continue": "繼續",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"include_not_found_in_browse_path": "在 browse.path 中找不到包含檔案。",
|
||||
"update_browse_path": "編輯 \"browse.path\" 設定",
|
||||
"add_to_include_path": "新增至 \"includePath\": {0}",
|
||||
"add_missing_include_path": "新增 '{0}'",
|
||||
"edit_include_path": "編輯 \"includePath\" 設定",
|
||||
"disable_error_squiggles": "停用錯誤波浪線",
|
||||
"enable_error_squiggles": "啟用所有錯誤波浪線",
|
||||
@@ -75,6 +76,8 @@
|
||||
"will_use_tag_parser_when_includes_dont_resolve": "當 #includes 未解析時,延伸模組會使用 IntelliSense 的標籤剖析器。",
|
||||
"autocomplete_is_enabled": "已啟用自動完成。",
|
||||
"autocomplete_is_disabled": "已停用自動完成。",
|
||||
"hover_is_enabled": "暫留已啟用。",
|
||||
"hover_is_disabled": "暫留已停用。",
|
||||
"enhanced_colorization_is_enabled": "已啟用增強著色。",
|
||||
"error_squiggles_disabled": "已停用錯誤波浪線。",
|
||||
"error_squiggles_enabled": "已啟用錯誤波浪線。",
|
||||
@@ -109,7 +112,6 @@
|
||||
"intellisense_client_currently_disconnected": "IntelliSense 用戶端目前已中斷連線",
|
||||
"request_cancelled": "已取消要求: {0}",
|
||||
"intellisense_client_not_available_go_to_definition": "IntelliSense 用戶端無法使用,請使用標籤剖析器前往定義。",
|
||||
"wsl_compiler_detected": "偵測到 WSL 編譯器",
|
||||
"error_squiggle_count": "錯誤波浪線計數: {0}",
|
||||
"queueing_update_intellisense": "正在將編譯單位中檔案的 IntelliSense 更新排入佇列: {0}",
|
||||
"formatting_document": "正在將文件格式化: {0}",
|
||||
@@ -143,7 +145,6 @@
|
||||
"unable_to_start_child_process": "無法啟動子處理序!",
|
||||
"timed_out_attempting_to_communicate_with_process": "嘗試與處理序通訊時發生逾時!",
|
||||
"process_failed_to_run": "處理序無法執行",
|
||||
"wsl_not_detected": "未偵測到 WSL",
|
||||
"compiler_in_compilerpath_not_found": "找不到指定的編譯器: {0}",
|
||||
"config_data_invalid": "組態資料無效,{0}",
|
||||
"cmake_executable_not_found": "在 {0} 找不到 CMake 可執行檔",
|
||||
@@ -167,6 +168,8 @@
|
||||
"overloads": "還有 %d 次多載",
|
||||
"specialization": "還有 1 次特殊化",
|
||||
"specializations": "還有 %d 次特殊化",
|
||||
"intellisense_configuration": "注意: 未完全設定 IntelliSense。使用 'Select IntelliSense Configuration...' 命令來完成設定。",
|
||||
"select_intellisense_configuration": "選取 IntelliSense 設定以尋找系統標頭",
|
||||
"expands_to": "展開至:",
|
||||
"attention_label": "注意:",
|
||||
"author_label": "作者:",
|
||||
@@ -227,6 +230,7 @@
|
||||
"failed_to_query_for_standard_version": "無法查詢位於路徑 \"{0}\" 的編譯器預設標準版本。已停用此編譯器的編譯器查詢。",
|
||||
"unrecognized_language_standard_version": "編譯器查詢傳回無法辨識的語言標準版本。將改用支援的最新版本。",
|
||||
"intellisense_process_crash_detected": "偵測到 IntelliSense 流程損毀。",
|
||||
"intellisense_feature_crash_detected": "偵測到 IntelliSense 流程當機: {0}",
|
||||
"return_values_label": "傳回值:",
|
||||
"nvcc_compiler_not_found": "找不到 nvcc 編譯器: {0}",
|
||||
"nvcc_host_compiler_not_found": "找不到 nvcc 主機編譯器: {0}",
|
||||
@@ -242,5 +246,73 @@
|
||||
"file_tag": "檔案",
|
||||
"compiler_default_language_standard_version_old": "編譯器傳回預設語言標準版本: {0}。因為此版本為舊版本,將嘗試使用較新的版本 {1} 為預設版本。",
|
||||
"unexpected_output_from_clang_tidy": "來自 clang-tidy 的未預期輸出: {0}。預期是: {1}。",
|
||||
"generate_doxygen_comment": "產生 Doxygen 註解"
|
||||
"generate_doxygen_comment": "產生 Doxygen 註解",
|
||||
"offer_create_declaration": "在 '{1}' 中建立 {0} 宣告",
|
||||
"offer_create_definition": "在 '{1}' 中建立 {0} 定義",
|
||||
"function_definition_not_found": "找不到 '{0}' 的函式定義。",
|
||||
"cm_attributes": "屬性",
|
||||
"cm_bases": "基底",
|
||||
"cm_classes": "類別",
|
||||
"cm_coclasses": "CoClasses",
|
||||
"cm_delegates": "委派",
|
||||
"cm_enums": "列舉",
|
||||
"cm_events": "活動",
|
||||
"cm_functions": "函式",
|
||||
"cm_importdirectives": "Import 指示詞",
|
||||
"cm_importlibstatements": "ImportLib 陳述式",
|
||||
"cm_importstatements": "Import 陳述式",
|
||||
"cm_includedirectives": "Include 指示詞",
|
||||
"cm_interfaces": "介面",
|
||||
"cm_libraries": "程式庫",
|
||||
"cm_macros": "巨集",
|
||||
"cm_maps": "地圖",
|
||||
"cm_mapentries": "對應項目",
|
||||
"cm_miscellaneous": "其他",
|
||||
"cm_namespaces": "命名空間",
|
||||
"cm_parameters": "參數",
|
||||
"cm_properties": "屬性",
|
||||
"cm_structs": "結構",
|
||||
"cm_todo_insert_return": "TODO: 於此處插入 return 陳述式",
|
||||
"cm_typedefs": "Typedefs",
|
||||
"cm_unions": "等位",
|
||||
"cm_usingaliases": "使用別名",
|
||||
"cm_usingdirectives": "Using 指示詞",
|
||||
"cm_variables": "變數",
|
||||
"cm_addfunction": "自動新增函式",
|
||||
"e_com_virtual_redundant": "vsCMFunctionVirtual 是多餘的,而且當擁有 vsCMFunctionComMethod 時不需要指定。",
|
||||
"e_static_com_method": "vsCMFunctionComMethod 不可以是靜態。",
|
||||
"e_invalid_ftype": "無效的 C/C++ 檔案: '%s'。",
|
||||
"e_fname_to_long": "檔案名稱過長: '%s'。",
|
||||
"e_create_file": "無法建立檔案 '%s'。",
|
||||
"e_access_file": "無法存取要寫入的目錄或檔案 '%s'。",
|
||||
"e_invalid_pathname": "無效的檔案路徑: '%s'。",
|
||||
"e_cm_file_not_in_project": "找不到檔案 '%s'。",
|
||||
"refactor_create_declaration_definition_failed": "宣告/定義建立失敗: %s",
|
||||
"refactor_create_default_delete": "無法建立函數 '%s'。不支援建立已預設或已刪除的函數。",
|
||||
"refactor_function_not_created": "無法建立函式 '%s'。",
|
||||
"refactor_ambiguous_locations": "找不到函式 '%s' 的明確位置。",
|
||||
"refactor_file_not_in_project": "找不到檔案 '%s'。",
|
||||
"refactor_not_class_namespace": "找不到類別或命名空間 '%s'。",
|
||||
"refactor_operation_unsupported": "'%s' 不支援此作業。",
|
||||
"unknown_error": "未知的錯誤。",
|
||||
"run_select_intellisense_configuration": "請執行 'Select IntelliSense Configuration...' 命令以尋找您的系統標頭。",
|
||||
"offer_copy_declaration": "複製 '{0}' 的宣告",
|
||||
"offer_copy_definition": "複製 '{0}' 的定義",
|
||||
"refactor_copy_declaration_definition_failed": "將宣告/定義複製到剪貼簿已失敗: %s",
|
||||
"refactor_extract_to_function": "擷取至函式",
|
||||
"refactor_extract_to_free_function": "擷取至自由函式",
|
||||
"refactor_extract_to_member_function_in": "擷取至 '{0}' 中的成員函數",
|
||||
"refactor_extract_outsidefunc": "選取的文字不在函式中。",
|
||||
"refactor_extract_multifunc": "選取的文字不得跨越不同的函式。",
|
||||
"refactor_extract_variable": "選取的區域中已宣告變數 '%s',且在宣告後已使用該變數。",
|
||||
"refactor_extract_macro": "前置處理器巨集 '%s' 已用於以下選取的區域。",
|
||||
"refactor_extract_inactive": "選取的區域跨越非現用前置處理器區塊。",
|
||||
"refactor_extract_no_il": "選取的區域未包含任何可擷取的程式碼。",
|
||||
"refactor_extract_entirefunc": "選取的區域不完全在函式的主體內。",
|
||||
"refactor_extract_errors_selection": "選取範圍包含 IntelliSense 錯誤。",
|
||||
"refactor_extract_reference_c_code": "'%s' 未在所選取的程式碼中宣告,但已遭修改。C 程式碼無法藉傳址傳回引數。",
|
||||
"refactor_extract_reference_return_c_code": "函式必須藉傳址傳回值。C 程式碼無法傳回參考。",
|
||||
"refactor_extract_xborder_jump": "所選程式碼與周圍的程式碼之間存在跳躍。",
|
||||
"refactor_extract_missing_return": "在選取的程式碼中,有一些控制項路徑未設定傳回值便結束。只有純量、數值與指標傳回類型支援此作法。",
|
||||
"expand_selection": "展開選取範圍 (以啟用 [擷取至函式])"
|
||||
}
|
||||
@@ -27,12 +27,12 @@
|
||||
"specify.a.compiler": "指定編譯器路徑,或從下拉式清單中選取偵測到的編譯器路徑。",
|
||||
"no.compiler.paths.detected": "(未偵測到編譯器路徑)",
|
||||
"compiler.args": "編譯器引數",
|
||||
"compiler.arguments": "用來修改所使用之包含或定義的編譯器引數,例如 {0}、{1} 等。",
|
||||
"compiler.arguments": "用來修改所使用之包含或定義的編譯器引數,例如 {0}、{1} 等。採用其他空格分隔引數的引數應在陣列中輸入為個別的引數,例如,針對 {2} 使用 {3}。",
|
||||
"one.argument.per.line": "每行一個引數。",
|
||||
"intellisense.mode": "IntelliSense 模式",
|
||||
"intellisense.mode.description": "要使用的 IntelliSense 模式 (對應到 MSVC、gcc 或 Clang 的平台及架構變體)。如果未設定或設為 {0},延伸模組會選擇該平台的預設。Windows 預設為 {1}、Linux 預設為 {2}、macOS 預設為 {3}。選取特定的 IntelliSense 模式可覆寫 {4} 模式。僅指定 {5} 變體 (例如 {6}) 的 IntelliSense 模式即為舊版模式,會依據主機平台自動轉換為 {7} 變體。",
|
||||
"include.path": "包含路徑",
|
||||
"include.path.description": "include 路徑是包含來源檔案所含之標頭檔 (例如 {0}) 的資料夾。請為 Intellisense 引擎指定搜尋所含標頭檔時所要使用的路徑清單。這些路徑不會重複搜尋。若要重複搜尋,請指定 {1}。例如 {2} 會搜尋所有子目錄,而 {3} 不會。若在安裝了 Visual Studio 的 Windows 上,或在 {4} 設定中指定了編譯器,就無須在此清單中列出系統的 include 路徑。",
|
||||
"include.path.description": "include 路徑是包含來源檔案所含之標頭檔 (例如 {0}) 的資料夾。請為 IntelliSense 引擎指定搜尋所含標頭檔時所要使用的路徑清單。這些路徑不會重複搜尋。若要重複搜尋,請指定 {1}。例如 {2} 會搜尋所有子目錄,而 {3} 不會。若在安裝了 Visual Studio 的 Windows 上,或在 {4} 設定中指定了編譯器,就無須在此清單中列出系統的 include 路徑。",
|
||||
"one.include.path.per.line": "每行一個包含路徑。",
|
||||
"defines": "定義",
|
||||
"defines.description": "剖析檔案時,IntelliSense 引擎要使用的前置處理器定義清單。可使用 {0} 來設定值,例如 {1}。",
|
||||
@@ -47,7 +47,7 @@
|
||||
"windows.sdk.version": "Windows SDK 版本",
|
||||
"windows.sdk.version.description": "要在 Windows 上使用的 Windows SDK 包含路徑版本,例如 {0}。",
|
||||
"mac.framework.path": "Mac 架構路徑",
|
||||
"mac.framework.path.description": "供 Intellisense 引擎在 Mac 架構中搜尋包含的標頭時使用的路徑清單。僅在 macOS 的組態上支援。",
|
||||
"mac.framework.path.description": "供 IntelliSense 引擎在 Mac 架構中搜尋包含的標頭時使用的路徑清單。僅支援 macOS 設定。",
|
||||
"one.path.per.line": "每行一個路徑。",
|
||||
"forced.include": "強制包含",
|
||||
"forced.include.description": "處理來源檔案中的任何其他字元前,應包含的檔案清單。檔案會包含在列出的清單中。",
|
||||
@@ -65,4 +65,4 @@
|
||||
"limit.symbols.checkbox": "若為 {0} (或已選取),標籤剖析器只會剖析 {1} 中原始程式檔直接或間接包含的程式碼檔。若為 {2} (或未選取),標籤剖析器會剖析在 {3} 清單中的指定路徑找到的所有程式碼檔。",
|
||||
"database.filename": "瀏覽: 資料庫檔案名稱",
|
||||
"database.filename.description": "產生符號資料庫路徑。這會指示延伸模組將標籤剖析器的符號資料庫儲存在工作區預設儲存位置以外的某處。如果指定了相對路徑,就會是相對於工作區預設儲存位置 (非工作區資料夾本身) 的路徑。{0} 變數可用於指定相對於工作區資料夾的路徑 (例如 {1})。"
|
||||
}
|
||||
}
|
||||
|
||||
+11
@@ -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.
|
||||
{
|
||||
"walkthrough.windows.title.open.dev.command.prompt": "使用開發人員命令提示字元重新啟動",
|
||||
"walkthrough.windows.background.dev.command.prompt": "您正使用 Windows 電腦搭配 MSVC 編譯器,因此您必須從開發人員命令提示字元啟動 VS Code,以便正確設定所有環境變數。若要使用開發人員命令提示字元重新啟動:",
|
||||
"walkthrough.open.command.prompt": "在 Windows 開始功能表中輸入「開發人員」,開啟 [VS 的開發人員命令提示字元]。選取 [VS 的開發人員命令提示字元],這會自動瀏覽至您目前開啟的資料夾。",
|
||||
"walkthrough.windows.press.f5": "在命令提示字元中輸入 \"code\",然後按 Enter。這應該會重新啟動 VS Code,並帶您回到此逐步解說。"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"walkthough.mac.install.compiler": "在 macOS 上安裝 C++ 編譯器",
|
||||
"walkthough.mac.text1": "如果您執行 macOS 的 C++ 開發,建議您安裝 Clang 編譯器。您只需要在終端機視窗中執行下列命令,以安裝命令列開發人員工具:",
|
||||
"walkthough.mac.text2": "然後,若要確認是否已安裝 Clang,請在終端視窗中執行下列命令。您應該會看到一個訊息,其中包含您目前使用之 Clang 版本的資訊。"
|
||||
"walkthrough.mac.install.compiler": "在 macOS 上安裝 C++ 編譯器",
|
||||
"walkthrough.mac.text1": "如果您執行 macOS 的 C++ 開發,建議您安裝 Clang 編譯器。您只需要在終端機視窗 (Ctrl+Shift+`) 中執行下列命令,以安裝命令列開發人員工具:",
|
||||
"walkthrough.mac.text2": "然後,若要確認是否已安裝 Clang,請在終端視窗中執行下列命令。您應該會看到一個訊息,其中包含您目前使用之 Clang 版本的資訊。"
|
||||
}
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
"walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 與 Windows 子系統 Linux 版 (WSL) ",
|
||||
"walkthrough.windows.link.title2": "使用 MinGW 在 Windows 安裝 GCC",
|
||||
"walkthrough.windows.text2": "若要安裝 MSVC,請 {0}從 Visual Studio{1} 頁面下載。",
|
||||
"walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019",
|
||||
"walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2022",
|
||||
"walkthrough.windows.link.downloads": "下載",
|
||||
"walkthrough.windows.text3": "在 Visual Studio 安裝程式中,檢查 {0} 工作負載,然後選取 {1}。",
|
||||
"walkthrough.windows.build.tools2": "C++ 組建工具",
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"walkthrough.windows.install.compiler": "在 Windows 上安裝 C++ 編譯器",
|
||||
"walkthrough.windows.text1": "如果您正在進行 Windows 的 C++ 開發,建議您安裝 Microsoft Visual C++ (MSVC) 編譯器。",
|
||||
"walkthrough.windows.text2": "若要安裝 MSVC,請開啟 VS Code 終端機 (CTRL + `),然後在下列命令中貼上:\n",
|
||||
"walkthrough.windows.note1": "備註",
|
||||
"walkthrough.windows.note1.text": "您可以使用 Visual Studio Build Tools 中的 C++ 工具組以及 Visual Studio Code 來編譯、組建及驗證任何 C++ 程式碼基底,只要您也擁有有效的 Visual Studio 授權 (社群版、專業版或企業版),且您正積極開發該 C++ 程式碼基底。",
|
||||
"walkthrough.windows.verify.compiler": "正在驗證編譯器安裝",
|
||||
"walkthrough.windows.open.command.prompt": "在 Windows 開始頁面功能表中鍵入「開發人員」,以開啟 {0}。",
|
||||
"walkthrough.windows.command.prompt.name1": "VS 的開發人員命令提示",
|
||||
"walkthrough.windows.check.install": "在 VS 的開發人員命令提示字元中輸入 {0},以檢查您的 MSVC 安裝。您應該會看到内附版本及基本使用說明的著作權訊息。",
|
||||
"walkthrough.windows.note2": "備註",
|
||||
"walkthrough.windows.note2.text": "若要從命令列或 VS Code 使用 MSVC,您必須從 {0} 執行。一般殼層,例如 {1}、{2} 或 Windows 命令提示字元,沒有設定必要的路徑環境變數集。",
|
||||
"walkthrough.windows.command.prompt.name2": "VS 的開發人員命令提示",
|
||||
"walkthrough.windows.other.compilers": "其他編譯器選項",
|
||||
"walkthrough.windows.text3": "如果您是以 Windows 的 Linux 為目標,請查看 {0}。或者,您也可以 {1}。",
|
||||
"walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 與 Windows 子系統 Linux 版 (WSL) ",
|
||||
"walkthrough.windows.link.title2": "使用 MinGW 在 Windows 安裝 GCC"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user