diff --git a/.github/actions/package-lock.json b/.github/actions/package-lock.json index abebc6d210..81f22bcc9a 100644 --- a/.github/actions/package-lock.json +++ b/.github/actions/package-lock.json @@ -5613,9 +5613,9 @@ } }, "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-5.28.4.tgz", - "integrity": "sha1-aygECO22oaYEqbIDQPRbQi43MGg=", + "version": "5.28.5", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-5.28.5.tgz", + "integrity": "sha1-srlLa/jx2Rm8Wm8x8sAd6wLlTUs=", "license": "MIT", "dependencies": { "@fastify/busboy": "^2.0.0" diff --git a/.github/workflows/ci_mac.yml b/.github/workflows/ci_mac.yml index 199629a7e2..7dfe198dd4 100644 --- a/.github/workflows/ci_mac.yml +++ b/.github/workflows/ci_mac.yml @@ -10,6 +10,6 @@ jobs: job: uses: ./.github/workflows/job-compile-and-test.yml with: - runner-env: macos-12 + runner-env: macos-14 platform: mac yarn-args: --network-timeout 100000 \ No newline at end of file diff --git a/.github/workflows/job-compile-and-test.yml b/.github/workflows/job-compile-and-test.yml index 2b3998d499..1756d29869 100644 --- a/.github/workflows/job-compile-and-test.yml +++ b/.github/workflows/job-compile-and-test.yml @@ -42,6 +42,14 @@ jobs: run: yarn test working-directory: Extension + # These tests don't require the binary. + # On Linux, it is failing (before the tests actually run) with: Test run terminated with signal SIGSEGV. + # But it works on Linux during the E2E test. + - name: Run SingleRootProject tests + if: ${{ inputs.platform != 'linux' }} + run: yarn test --scenario=SingleRootProject --skipCheckBinaries + 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 diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000000..06faa970ba --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,8 @@ +# Each line is a file pattern followed by one or more owners. + +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +# @microsoft/cpptools-maintainers will be requested for +# review when someone opens a pull request. + +* @microsoft/cpptools-maintainers diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 92d7a69446..8acc52bac2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,7 +5,7 @@ * [Build and debug the extension](Documentation/Building%20the%20Extension.md). * File an [issue](https://github.com/Microsoft/vscode-cpptools/issues) and a [pull request](https://github.com/Microsoft/vscode-cpptools/pulls) with the change and we will review it. * If the change affects functionality, add a line describing the change to [**CHANGELOG.md**](Extension/CHANGELOG.md). -* Try and add a test in [**test/extension.test.ts**](Extension/test/unitTests/extension.test.ts). +* Try and add a test in [**test/extension.test.ts**](Extension/test/scenarios/SingleRootProject/tests/extension.test.ts). * Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging". ## About the Code diff --git a/Extension/.eslintrc.js b/Extension/.eslintrc.js index 43ce2e76c7..4cd07eb8b6 100644 --- a/Extension/.eslintrc.js +++ b/Extension/.eslintrc.js @@ -24,17 +24,6 @@ module.exports = { "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", diff --git a/Extension/.scripts/common.ts b/Extension/.scripts/common.ts index 490d464c2c..91adc0e302 100644 --- a/Extension/.scripts/common.ts +++ b/Extension/.scripts/common.ts @@ -48,7 +48,7 @@ export const Git = async (...args: Parameters>) => (awa export const GitClean = async (...args: Parameters>) => (await new Command(await git, 'clean'))(...args); export async function getModifiedIgnoredFiles() { - const {code, error, stdio } = await GitClean('-Xd', '-n'); + const { code, error, stdio } = await GitClean('-Xd', '-n'); if (code) { throw new Error(`\n${error.all().join('\n')}`); } @@ -65,11 +65,11 @@ export async function rimraf(...paths: string[]) { } if (await filepath.isFolder(each)) { verbose(`Removing folder ${red(each)}`); - all.push(rm(each, {recursive: true, force: true})); + all.push(rm(each, { recursive: true, force: true })); continue; } verbose(`Removing file ${red(each)}`); - all.push(rm(each, {force: true})); + all.push(rm(each, { force: true })); } await Promise.all(all); } @@ -334,6 +334,9 @@ export async function checkDTS() { } export async function checkBinaries() { + if ($switches.includes('--skipCheckBinaries')) { + return false; + } 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; @@ -342,3 +345,15 @@ export async function checkBinaries() { } return failing; } + +export async function checkProposals() { + let failing = false; + + await rm(`${$root}/vscode.proposed.chatParticipantAdditions.d.ts`); + failing = await assertAnyFile('vscode.proposed.chatParticipantAdditions.d.ts') && (quiet || warn(`The VSCode import file '${$root}/vscode.proposed.chatParticipantAdditions.d.ts' should not be present.`)) || failing; + + if (!failing) { + verbose('VSCode proposals appear to be in place.'); + } + return failing; +} diff --git a/Extension/.scripts/verify.ts b/Extension/.scripts/verify.ts index d6ed9896d3..ccfaac49d8 100644 --- a/Extension/.scripts/verify.ts +++ b/Extension/.scripts/verify.ts @@ -3,7 +3,7 @@ * See 'LICENSE' in the project root for license information. * ------------------------------------------------------------------------------------------ */ -import { checkBinaries, checkCompiled, checkDTS, checkPrep, error, green } from './common'; +import { checkBinaries, checkCompiled, checkDTS, checkPrep, checkProposals, error, green } from './common'; const quiet = process.argv.includes('--quiet'); export async function main() { @@ -50,3 +50,12 @@ export async function dts() { process.exit(1); } } + +export async function proposals() { + let failing = false; + failing = (await checkProposals() && (quiet || error(`Issue with VSCode proposals. Run ${green('yarn prep')} to fix it.`))) || failing; + + if (failing) { + process.exit(1); + } +} diff --git a/Extension/CHANGELOG.md b/Extension/CHANGELOG.md index d00d6843ef..c9f0a4638f 100644 --- a/Extension/CHANGELOG.md +++ b/Extension/CHANGELOG.md @@ -1,5 +1,82 @@ # C/C++ for Visual Studio Code Changelog +## Version 1.23.4: January 21, 2025 +### Bug Fixes +* Fix some localization issues. [#12909](https://github.com/microsoft/vscode-cpptools/issues/12909), [#13090](https://github.com/microsoft/vscode-cpptools/issues/13090) +* Fix a couple bugs with `.editorConfig` handling. [PR #13140](https://github.com/microsoft/vscode-cpptools/pull/13140) +* Fix a bug when processing a file with invalid multi-byte sequences. [#13150](https://github.com/microsoft/vscode-cpptools/issues/13150) +* Fix a potential telemetry issue with Copilot hover. [PR #13158](https://github.com/microsoft/vscode-cpptools/pull/13158) +* Fix a crash when Copilot hover is used on code with no definition file (e.g. literals). +* Update clang-format and clang-tidy from 19.1.6 to 19.1.7. +* Update vsdbg from 17.12.10729.1 to 17.13.20115.1. +* Fix `libiconv.dll` not being signed on Windows. +* Fix incorrect GB2312 decoding on Linux. + +## Version 1.23.3: January 9, 2025 +### Enhancements +* Modifications to the snippet completions to more closely match the snippets provided by TypeScript. [#4482](https://github.com/microsoft/vscode-cpptools/issues/4482) +* Enable setting multiple compile commands. [#7029](https://github.com/microsoft/vscode-cpptools/issues/7029) + * Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12960](https://github.com/microsoft/vscode-cpptools/pull/12960) +* Update clang path setting descriptions. [PR #13071](https://github.com/microsoft/vscode-cpptools/pull/13071) +* Update clang-format and clang-tidy from 19.1.5 to 19.1.6. +* IntelliSense parser updates. + +### Bug Fixes +* Fix `compile_commands.json` no longer being used if the containing folder is deleted and recreated. [#7030](https://github.com/microsoft/vscode-cpptools/issues/7030) + * Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #13032](https://github.com/microsoft/vscode-cpptools/pull/13032) +* Fix `C_Cpp.enhancedColorization` not taking effect after it's changed. [#10565](https://github.com/microsoft/vscode-cpptools/issues/10565) +* Fix changes to `files.encoding` not triggering a database reset. [#10892](https://github.com/microsoft/vscode-cpptools/issues/10892) +* Fix parameter hints interpreting `*` in a comment as markdown. [#11082](https://github.com/microsoft/vscode-cpptools/issues/11082) +* Fix an incorrect IntelliSense error when using `std::unique_ptr`. [#11979](https://github.com/microsoft/vscode-cpptools/issues/11979) +* Fix an incorrect IntelliSense error with designated initializers. [#12239](https://github.com/microsoft/vscode-cpptools/issues/12239) +* Fix handling of `koi8ru` and `koi8t` file encodings on Windows. [#12272](https://github.com/microsoft/vscode-cpptools/issues/12272) +* Fix description of `C_Cpp.preferredPathSeparator`. [#12597](https://github.com/microsoft/vscode-cpptools/issues/12597) +* Fix the IntelliSense process launching when it's disabled and the Copilot extension is used. [#12750](https://github.com/microsoft/vscode-cpptools/issues/12750), [#13058](https://github.com/microsoft/vscode-cpptools/issues/13058) +* Fix the IntelliSense mode being `macos` instead of `windows` when `_WIN32` is defined on macOS. [#13016](https://github.com/Microsoft/vscode-cpptools/issues/13016) +* Fix IntelliSense bugs when using non-UTF8 file encodings. [#13028](https://github.com/microsoft/vscode-cpptools/issues/13028), [#13044](https://github.com/microsoft/vscode-cpptools/issues/13044) +* Fix an incorrect translation for "binary operator". [#13048](https://github.com/microsoft/vscode-cpptools/issues/13048) +* Fix the "references may be missing" logging pane being shown when the `C_Cpp.loggingLevel` is `Error` or `None`. [#13066](https://github.com/microsoft/vscode-cpptools/issues/13066) +* Fix `C_Cpp.default.compilerPath` not using the `C_Cpp.preferredPathSeparator` setting when generated from the 'Select IntelliSense Configuration' command. [#13083](https://github.com/microsoft/vscode-cpptools/issues/13083) + +### Version 1.23.2: December 5, 2024 +### Enhancements +* Changes to how paths are internally canonicalized on Linux and macOS, avoiding file system access to improve performance and delay resolution of symbolic links. [#12924](https://github.com/microsoft/vscode-cpptools/issues/12924) +* Add handling of `-fno-char8_t` and `-fchar8_t` compiler arguments. [#12968](https://github.com/microsoft/vscode-cpptools/issues/12968) +* Add support for providing well-known compiler argument information to Copilot Completions. [PR #12979](https://github.com/microsoft/vscode-cpptools/pull/12979) +* Fixed unnecessary cancellation of Copilot context requests. [PR #12988](https://github.com/microsoft/vscode-cpptools/pull/12988) +* Add support for passing an additional parameter to `C_Cpp.ConfigurationSelect` command. [PR #12993](https://github.com/microsoft/vscode-cpptools/pull/12993) + * Thank you for the contribution. [@adrianstephens](https://github.com/adrianstephens) +* Update clang-format and clang-tidy from 19.1.2 to 19.1.5. + +### Bug Fixes +* Fix a perf regression in hover operation by using cached lexer line states. [#3126](https://github.com/microsoft/vscode-cpptools/issues/3126) +* Increase clang-format timeout from 10 seconds to 30 seconds. [#10213](https://github.com/microsoft/vscode-cpptools/issues/10213) +* Fix casing of path in include completion tooltip on Windows. [#12895](https://github.com/microsoft/vscode-cpptools/issues/12895) +* Fix pattern matching of sections in `.editorConfig` files. [#12933](https://github.com/microsoft/vscode-cpptools/issues/12933) +* Fix handling of relative paths passed to cl.exe `/reference` argument. [#12944](https://github.com/microsoft/vscode-cpptools/issues/12944) +* Fix a leak of compile command file watchers. [#12946](https://github.com/microsoft/vscode-cpptools/issues/12946) + * Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12948](https://github.com/microsoft/vscode-cpptools/pull/12948) +* Fix a compile commands fallback logic issue. [#12947](https://github.com/microsoft/vscode-cpptools/issues/12947) + * Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12948](https://github.com/microsoft/vscode-cpptools/pull/12948) +* Fix an issue in which a `didOpen` event was processed before the language client was fully started. [#12954](https://github.com/microsoft/vscode-cpptools/issues/12954) +* Fix IntelliSense issues related to large header files (>32K) and encodings other than UTF-8. +* Fix a deadlock. + +### Version 1.23.1: November 6, 2024 +### Bug Fixes +* A potential fix for a crash during process shutdown (in `uv_run`). [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668) +* Fix a performance issue where some LSP requests would delay other LSP requests. [#12905](https://github.com/microsoft/vscode-cpptools/issues/12905) +* A potential fix for a crash in cpptools (in `report_intellisense_results`). +* Fix a random deadlock with `compiler_info::find_or_create`. +* Fix a random deadlock with `handle_edits`. +* Other internal fixes. + +## Version 1.22.11: November 5, 2024 +### Bug Fixes +* Fix system includes incorrectly being treated as non-system includes when specified with `-I`. [#12842](https://github.com/microsoft/vscode-cpptools/issues/12842) +* Fix inactive region ranges when multi-byte UTF-8 characters are used. [#12879](https://github.com/microsoft/vscode-cpptools/issues/12879) +* Fix formatting with `.editorconfig` files. [#12921](https://github.com/microsoft/vscode-cpptools/issues/12921) + ## Version 1.23.0: October 29, 2024 ### Enhancements * Update to clang-format and clang-tidy 19.1.2. [#12824](https://github.com/microsoft/vscode-cpptools/issues/12824) diff --git a/Extension/ThirdPartyNotices.txt b/Extension/ThirdPartyNotices.txt index e7ba616c59..03b140532e 100644 --- a/Extension/ThirdPartyNotices.txt +++ b/Extension/ThirdPartyNotices.txt @@ -601,6 +601,32 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +minimatch 4.2.3 - ISC +https://github.com/isaacs/minimatch#readme + +Copyright (c) 2011-2022 Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) 2011-2022 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. + + --------------------------------------------------------- --------------------------------------------------------- @@ -736,7 +762,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --------------------------------------------------------- -@microsoft/applicationinsights-channel-js 3.3.3 - MIT +@microsoft/applicationinsights-channel-js 3.3.3 - LGPL-2.1-or-later AND LicenseRef-scancode-generic-cla AND MIT https://github.com/microsoft/ApplicationInsights-JS#readme Copyright (c) Microsoft Corporation @@ -770,7 +796,7 @@ SOFTWARE. --------------------------------------------------------- -@microsoft/applicationinsights-common 3.3.3 - MIT +@microsoft/applicationinsights-common 3.3.3 - LGPL-2.1-or-later AND LicenseRef-scancode-generic-cla AND MIT https://github.com/microsoft/ApplicationInsights-JS#readme Copyright (c) Microsoft Corporation @@ -804,7 +830,7 @@ SOFTWARE. --------------------------------------------------------- -@microsoft/applicationinsights-core-js 3.3.3 - MIT +@microsoft/applicationinsights-core-js 3.3.3 - LGPL-2.1-or-later AND LicenseRef-scancode-generic-cla AND MIT https://github.com/microsoft/ApplicationInsights-JS#readme Copyright (c) Microsoft Corporation @@ -834,6 +860,77 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +@microsoft/1ds-core-js 4.3.3 - MIT +https://github.com/microsoft/ApplicationInsights-JS#readme + +copyright Microsoft 2018 +Copyright (c) Microsoft Corporation +Copyright (c) Microsoft and contributors +Copyright (c) NevWare21 Solutions LLC and contributors + +The MIT License (MIT) + +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: + +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. + +--------------------------------------------------------- + +--------------------------------------------------------- + +@microsoft/1ds-post-js 4.3.3 - MIT +https://github.com/microsoft/ApplicationInsights-JS#readme + +copyright Microsoft 2018 +copyright Microsoft 2020 +copyright Microsoft 2018-2020 +copyright Microsoft 2022 Simple +Copyright (c) Microsoft Corporation +Copyright (c) Microsoft and contributors +Copyright (c) NevWare21 Solutions LLC and contributors + +The MIT License (MIT) + +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: + +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. + --------------------------------------------------------- --------------------------------------------------------- @@ -867,6 +964,40 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +@microsoft/applicationinsights-web-basic 3.3.3 - MIT +https://github.com/microsoft/ApplicationInsights-JS#readme + +Copyright (c) Microsoft Corporation +Copyright (c) Microsoft and contributors +Copyright (c) NevWare21 Solutions LLC and contributors + +The MIT License (MIT) + +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: + +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. + + --------------------------------------------------------- --------------------------------------------------------- @@ -936,6 +1067,41 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +@nevware21/ts-utils 0.11.4 - MIT +https://github.com/nevware21/ts-utils + +Copyright (c) 2022 NevWare21 Solutions LLC +Copyright (c) 2023 NevWare21 Solutions LLC +Copyright (c) 2024 NevWare21 Solutions LLC +Copyright (c) NevWare21 Solutions LLC and contributors + +MIT License + +Copyright (c) 2022 NevWare21 Solutions LLC + +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. + + --------------------------------------------------------- --------------------------------------------------------- @@ -2429,10 +2595,13 @@ The notices below are from non-npm sources. - ANTLR (http://www.antlr2.org/) - C++11 Sublime Text Snippets (https://github.com/Rapptz/cpp-sublime-snippet) - Clang (https://clang.llvm.org/) +- editorconfig-core-js (https://github.com/editorconfig/editorconfig-core-js) - gcc-11/libgcc (https://packages.ubuntu.com/jammy/gcc-11-base) - Guidelines Support Library (https://github.com/Microsoft/GSL) - libc++ (https://libcxx.llvm.org/index.html) - libexecinfo (https://github.com/ronchaine/libexecinfo) +- libiconv (https://www.gnu.org/software/libiconv/) +- libiconv Win32 modifications (https://www.codeproject.com/Articles/302012/How-to-Build-libiconv-with-Microsoft-Visual-Studio) - libuv (https://github.com/libuv/libuv) - LLDB (https://lldb.llvm.org/) - LLVM (http://llvm.org/) @@ -2677,6 +2846,31 @@ mechanisms: ========================================= END OF Clang NOTICES AND INFORMATION +%% editorconfig-core-js NOTICES AND INFORMATION BEGIN HERE +========================================= +Copyright © 2012 EditorConfig Team + +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 editorconfig-core-js NOTICES AND INFORMATION + %% gcc-9/libgcc NOTICES AND INFORMATION BEGIN HERE ========================================= The following runtime libraries are licensed under the terms of the @@ -3309,6 +3503,238 @@ SUCH DAMAGE. ========================================= END OF libexecinfo NOTICES AND INFORMATION +%% libiconv NOTICES AND INFORMATION BEGIN HERE +========================================= +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 + +Copyright (C) 1991, 1999 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] +Preamble +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. + +This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. + +When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. + +To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. + +For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. + +We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. + +To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. + +Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. + +Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. + +When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. + +We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. + +For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. + +In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. + +Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. + +The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". + +A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. + +The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. + +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. + +1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + +a) The modified work must itself be a software library. +b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. +c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. +d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. +(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + +3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. + +Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the Library into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. + +If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. + +5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. + +However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. + +When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. + +If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. + +6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. + +You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: + +a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) +b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. +c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. +d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. +e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. +For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + +It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. + +7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: + +a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. +b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. +8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. + +11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + +13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Libraries +If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). + +To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + +one line to give the library's name and an idea of what it does. +Copyright (C) year name of author + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, see +. + +========================================= +END OF libiconv NOTICES AND INFORMATION + +%% libiconv Win32 Modifications NOTICES AND INFORMATION BEGIN HERE +========================================= +GNU LESSER GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. + +0. Additional Definitions. + +As used herein, “this License” refers to version 3 of the GNU Lesser General Public License, and the “GNU GPL” refers to version 3 of the GNU General Public License. + +“The Library” refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. + +An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. + +A “Combined Work” is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the “Linked Version”. + +The “Minimal Corresponding Source” for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. + +The “Corresponding Application Code” for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. + +1. Exception to Section 3 of the GNU GPL. + +You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. + +2. Conveying Modified Versions. + +If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: + +a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or +b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. +3. Object Code Incorporating Material from Library Header Files. + +The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: + +a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. +b) Accompany the object code with a copy of the GNU GPL and this license document. +4. Combined Works. + +You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: + +a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. +b) Accompany the Combined Work with a copy of the GNU GPL and this license document. +c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. +d) Do one of the following: +0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. +1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user’s computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. +e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) +5. Combined Libraries. + +You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: + +a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. +b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. +6. Revised Versions of the GNU Lesser General Public License. + +The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. + +If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy’s public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. +========================================= +END OF libiconv Win32 Modifications NOTICES AND INFORMATION + %% libuv NOTICES AND INFORMATION BEGIN HERE ========================================= libuv is licensed for use as follows: diff --git a/Extension/bin/messages/cs/messages.json b/Extension/bin/messages/cs/messages.json index f66e374c69..c9e8d11f35 100644 --- a/Extension/bin/messages/cs/messages.json +++ b/Extension/bin/messages/cs/messages.json @@ -3601,5 +3601,33 @@ "pro aktuální jednotku překladu se nepovedlo vytvořit jednotku hlavičky", "aktuální jednotka překladu používá jednu nebo více funkcí, které se v tuto chvíli nedají zapsat do jednotky hlavičky", "explicit(bool) je funkcí C++20", - "musí být zadán název modulu pro mapování souboru modulu odkazující na soubor %sq" + "musí být zadán název modulu pro mapování souboru modulu odkazující na soubor %sq", + "Byla přijata hodnota indexu null, kde byl očekáván uzel v oddílu IFC %sq", + "%nd nemůže mít typ %t.", + "Kvalifikátor odkazu je v tomto režimu nestandardní.", + "příkaz for založený na rozsahu není v tomto režimu standardní", + "Auto, protože specifikátor typu je v tomto režimu nestandardní", + "soubor modulu nelze importovat %sq z důvodu poškození souboru.", + "IFC", + "Nadbytečné tokeny vložené po deklaraci člena", + "chybný obor vkládání (%r)", + "Očekávala se hodnota typu std::string_view, ale získala se %t", + "nadbytečné tokeny vložené po příkazu", + "Nadbytečné tokeny vložené po deklaraci", + "přetečení hodnoty indexu řazené kolekce členů (%d)", + ">> výstup z std::meta::__report_tokens", + ">> koncový výstup z std::meta::__report_tokens", + "není v kontextu s proměnnými parametrů", + "Řídicí sekvence s oddělovači musí mít aspoň jeden znak.", + "neukončená řídicí sekvence s oddělovači", + "Konstanta obsahuje adresu místní proměnné.", + "strukturovanou vazbu nejde deklarovat jako consteval", + "%no je v konfliktu s importovanou deklarací %nd", + "Znak nelze v zadaném typu znaku reprezentovat.", + "Poznámka se nemůže vyskytovat v kontextu předpony atributu using.", + "typ %t poznámky není literálový typ.", + "Atribut ext_vector_type se vztahuje pouze na logické hodnoty (bool), celočíselné typy (integer) nebo typy s plovoucí desetinnou čárkou (floating-point).", + "Více specifikátorů do stejného sjednocení se nepovoluje.", + "testovací zpráva", + "Aby se dalo použít --ms_c++23, musí být verze Microsoftu, která se emuluje, aspoň 1943." ] diff --git a/Extension/bin/messages/de/messages.json b/Extension/bin/messages/de/messages.json index ac1cb6f091..5c05d13cd1 100644 --- a/Extension/bin/messages/de/messages.json +++ b/Extension/bin/messages/de/messages.json @@ -3601,5 +3601,33 @@ "für die aktuelle Übersetzungseinheit konnte keine Headereinheit erstellt werden", "Die aktuelle Übersetzungseinheit verwendet mindestens ein Feature, das derzeit nicht in eine Headereinheit geschrieben werden kann", "\"explicit(bool)\" ist ein C++20-Feature", - "Für die Moduldateizuordnung, die auf die Datei \"%sq\" verweist, muss ein Modulname angegeben werden." + "Für die Moduldateizuordnung, die auf die Datei \"%sq\" verweist, muss ein Modulname angegeben werden.", + "Ein Nullindexwert wurde empfangen, obwohl ein Knoten in der IFC-Partition %sq erwartet wurde.", + "%nd darf nicht den Typ \"%t\" aufweisen", + "Ein ref-Qualifizierer entspricht in diesem Modus nicht dem Standard.", + "Eine bereichsbasierte \"for-Anweisung\" entspricht in diesem Modus nicht dem Standard", + "\"auto\" als Typspezifizierer entspricht in diesem Modus nicht dem Standard.", + "Die Moduldatei konnte aufgrund einer Beschädigung der Datei nicht %sq importiert werden.", + "IFC", + "Nach der Memberdeklaration eingefügte zusätzliche Token", + "Ungültiger Einschleusungsbereich (%r)", + "Es wurde ein Wert vom Typ \"std::string_view\" erwartet, der jedoch %t wurde.", + "Zusätzliche Token, die nach der Anweisung eingefügt wurden", + "Zusätzliche Token, die nach der Deklaration eingefügt wurden", + "Tupelindexwertüberlauf (%d)", + ">> Ausgabe von std::meta::__report_tokens", + ">> Endausgabe von std::meta::__report_tokens", + "nicht in einem Kontext mit Parametervariablen", + "Eine durch Trennzeichen getrennte Escapesequenz muss mindestens ein Zeichen enthalten.", + "nicht abgeschlossene, durch Trennzeichen getrennte Escapesequenz", + "Die Konstante enthält die Adresse einer lokalen Variablen.", + "eine strukturierte Bindung kann nicht als \"consteval\" deklariert werden", + "%no steht in Konflikt mit der importierten %nd", + "Zeichen kann im angegebenen Zeichentyp nicht dargestellt werden.", + "Eine Anmerkung kann nicht im Kontext eines using-Attributpräfixes angezeigt werden.", + "Der Typ %t der Anmerkung ist kein Literaltyp.", + "Das Attribut \"ext_vector_type\" gilt nur für boolesche, ganzzahlige oder Gleitkommatypen", + "Mehrere Kennzeichner in derselben Union sind nicht zulässig.", + "Testnachricht", + "Die zu emulierende Microsoft-Version muss mindestens 1943 sein, damit \"--ms_c++23\" verwendet werden kann." ] diff --git a/Extension/bin/messages/es/messages.json b/Extension/bin/messages/es/messages.json index c77eb7264e..926681c815 100644 --- a/Extension/bin/messages/es/messages.json +++ b/Extension/bin/messages/es/messages.json @@ -3601,5 +3601,33 @@ "no se pudo crear una unidad de encabezado para la unidad de traducción actual", "la unidad de traducción actual usa una o varias características que no se pueden escribir actualmente en una unidad de encabezado", "'explicit(bool)' es una característica de C++20", - "se debe especificar un nombre de módulo para la asignación de archivos de módulo que hace referencia al archivo %sq" + "se debe especificar un nombre de módulo para la asignación de archivos de módulo que hace referencia al archivo %sq", + "se recibió un valor de índice nulo donde se esperaba un nodo en la partición IFC %sq", + "%nd no puede tener el tipo %t", + "un calificador ref no es estándar en este modo", + "una instrucción \"for\" basada en intervalos no es estándar en este modo", + "'auto' como especificador de tipo no es estándar en este modo", + "no se pudo importar el %sq de archivo de módulo debido a que el archivo está dañado", + "IFC", + "tokens extraños insertados después de la declaración de miembro", + "ámbito de inserción incorrecto (%r)", + "se esperaba un valor de tipo std::string_view pero se obtuvo %t", + "tokens extraños insertados después de la instrucción", + "tokens extraños insertados después de la declaración", + "desbordamiento del valor de índice de tupla (%d)", + ">> salida de std::meta::__report_tokens", + ">> salida final de std::meta::__report_tokens", + "no está en un contexto con variables de parámetro", + "una secuencia de escape delimitada debe tener al menos un carácter", + "secuencia de escape delimitada sin terminar", + "la constante contiene la dirección de una variable local", + "un enlace estructurado no se puede declarar como \"consteval\"", + "%no entra en conflicto con la declaración importada %nd", + "el carácter no se puede representar en el tipo de carácter especificado", + "una anotación no puede aparecer en el contexto de un prefijo de atributo 'using'", + "el tipo %t de la anotación no es un tipo literal", + "el atributo \"ext_vector_type\" solo se aplica a tipos booleanos, enteros o de punto flotante", + "no se permiten varios designadores en la misma unión", + "mensaje de prueba", + "la versión de Microsoft que se emula debe ser al menos 1943 para usar \"--ms_c++23\"" ] diff --git a/Extension/bin/messages/fr/messages.json b/Extension/bin/messages/fr/messages.json index 62b13147e8..6d2f9b0528 100644 --- a/Extension/bin/messages/fr/messages.json +++ b/Extension/bin/messages/fr/messages.json @@ -3601,5 +3601,33 @@ "impossible de créer une unité d’en-tête pour l’unité de traduction actuelle", "l’unité de traduction actuelle utilise une ou plusieurs fonctionnalités qui ne peuvent actuellement pas être écrites dans une unité d’en-tête", "'explicit(bool)' est une fonctionnalité C++20", - "un nom de module doit être spécifié pour la carte de fichiers de module référençant le fichier %sq" + "un nom de module doit être spécifié pour la carte de fichiers de module référençant le fichier %sq", + "une valeur d’index null a été reçue alors qu’un nœud de la partition IFC %sq était attendu", + "%nd ne peut pas avoir le type %t", + "qualificateur ref non standard dans ce mode", + "une instruction 'for' basée sur une plage n’est pas standard dans ce mode", + "'auto' en tant que spécificateur de type n’est pas standard dans ce mode", + "impossible d’importer le fichier de module %sq en raison d’un fichier endommagé", + "IFC", + "jetons superflus injectés après la déclaration de membre", + "étendue d’injection incorrecte (%r)", + "valeur de type std ::string_view attendue, mais %t obtenu", + "jetons superflus injectés après l’instruction", + "jetons superflus injectés après la déclaration", + "dépassement de capacité de la valeur d’index de tuple (%d)", + ">> sortie de std::meta::__report_tokens", + ">> sortie de fin de std::meta::__report_tokens", + "pas dans un contexte avec des variables de paramètre", + "une séquence d’échappement délimitée doit comporter au moins un caractère", + "séquence d’échappement délimitée non inachevée", + "constante contient l’adresse d’une variable locale", + "une liaison structurée ne peut pas être déclarée 'consteval'", + "%no est en conflit avec la déclaration importée %nd", + "caractère ne peut pas être représenté dans le type de caractère spécifié", + "une annotation ne peut pas apparaître dans le contexte d’un préfixe d’attribut 'using'", + "le type %t de l’annotation n’est pas un type littéral", + "l'attribut 'ext_vector_type' s'applique uniquement aux types booléens, entiers ou à virgule flottante", + "plusieurs désignateurs dans la même union ne sont pas autorisés", + "message de test", + "la version émulée Microsoft doit être au moins la version 1943 pour permettre l'utilisation de « --ms_c++23 »" ] diff --git a/Extension/bin/messages/it/messages.json b/Extension/bin/messages/it/messages.json index a5363ac34f..4920fe2bb4 100644 --- a/Extension/bin/messages/it/messages.json +++ b/Extension/bin/messages/it/messages.json @@ -3601,5 +3601,33 @@ "Non è possibile creare un'unità di intestazione per l'unità di conversione corrente", "l'unità di conversione corrente utilizza una o più funzionalità che attualmente non possono essere scritte in un'unità di intestazione", "'explicit(bool)' è una funzionalità di C++20", - "è necessario specificare un nome modulo per la mappa dei file del modulo che fa riferimento al file %sq" + "è necessario specificare un nome modulo per la mappa dei file del modulo che fa riferimento al file %sq", + "è stato ricevuto un valore di indice Null in cui era previsto un nodo nella partizione IFC %sq", + "%nd non può avere il tipo %t", + "qualificatore di riferimento non conforme allo standard in questa modalità", + "un'istruzione 'for' basata su intervallo non è standard in questa modalità", + "'auto' come identificatore di tipo non è conforme allo standard in questa modalità", + "non è stato possibile importare il file del modulo %sq a causa di un danneggiamento del file", + "IFC", + "token estranei inseriti dopo la dichiarazione del membro", + "ambito di inserimento non valido (%r)", + "previsto un valore di tipo std::string_view ma ottenuto %t", + "token estranei inseriti dopo l'istruzione", + "token estranei inseriti dopo la dichiarazione", + "overflow del valore dell'indice di tupla (%d)", + ">> output di std::meta::__report_tokens", + ">> output finale di std::meta::__report_tokens", + "non in un contesto con variabili di parametro", + "una sequenza di escape delimitata deve contenere almeno un carattere", + "sequenza di escape delimitata senza terminazione", + "la costante contiene l'indirizzo di una variabile locale", + "un'associazione strutturata non può essere dichiarata 'consteval'", + "%no è in conflitto con la dichiarazione importata %nd", + "impossibile rappresentare il carattere nel tipo di carattere specificato", + "un'annotazione non può essere presente nel contesto di un prefisso di attributo 'using'", + "il tipo %t dell'annotazione non è un tipo letterale", + "l'attributo 'ext_vector_type' si applica solo ai tipi bool, integer o a virgola mobile", + "non sono consentiti più indicatori nella stessa unione", + "messaggio di test", + "la versione di Microsoft da emulare deve essere almeno 1943 per usare '--ms_c++23'" ] diff --git a/Extension/bin/messages/ja/messages.json b/Extension/bin/messages/ja/messages.json index ed0f35076d..076f95c690 100644 --- a/Extension/bin/messages/ja/messages.json +++ b/Extension/bin/messages/ja/messages.json @@ -3601,5 +3601,33 @@ "現在の翻訳単位のヘッダー ユニットを作成できませんでした", "現在の翻訳単位は、現在ヘッダー ユニットに書き込むことができない 1 つ以上の機能を使用します", "'explicit(bool)' は C++20 機能です", - "ファイル %sq を参照するモジュール ファイル マップにモジュール名を指定する必要があります" + "ファイル %sq を参照するモジュール ファイル マップにモジュール名を指定する必要があります", + "IFC パーティション %sq のノードが必要な場所で null インデックス値を受け取りました", + "%nd に型 %t を指定することはできません", + "ref 修飾子はこのモードでは非標準です", + "範囲ベースの 'for' ステートメントは、このモードでは標準ではありません", + "型指定子としての 'auto' は、このモードでは非標準です", + "ファイルが破損しているため、モジュール ファイル %sq をインポートできませんでした", + "IFC", + "メンバー宣言の後に無関係なトークンが挿入されました", + "不適切な挿入スコープ (%r)", + "std::string_view 型の値が必要ですが、%t されました", + "ステートメントの後に挿入された無関係なトークン", + "宣言の後に挿入された無関係なトークン", + "タプル インデックス値 (%d) オーバーフロー", + ">> std::meta::__report_tokens からの出力", + ">> std::meta::__report_tokens からの出力を終了", + "パラメーター変数を持つコンテキスト内にありません", + "区切られたエスケープ シーケンスには少なくとも 1 文字が必要です", + "区切られたエスケープ シーケンスが終了しません", + "定数にローカル変数のアドレスが含まれています", + "構造化バインディングを 'consteval' と宣言することはできません", + "%no がインポートされた宣言 %nd と競合しています", + "指定された文字の種類では文字を表すことができません", + "注釈を 'using' 属性プレフィックスのコンテキストに含めることはできません", + "注釈の型 %t はリテラル型ではありません", + "'ext_vector_type' 属性は、整数型または浮動小数点型にのみ適用できます", + "複数の指定子を同じ共用体にすることはできません", + "テスト メッセージ", + "'--ms_c++23' を使用するには、エミュレートされている Microsoft のバージョンが 1943 以上である必要があります" ] diff --git a/Extension/bin/messages/ko/messages.json b/Extension/bin/messages/ko/messages.json index 594a08532c..5f8895cb1d 100644 --- a/Extension/bin/messages/ko/messages.json +++ b/Extension/bin/messages/ko/messages.json @@ -3601,5 +3601,33 @@ "현재 변환 단위에 대한 헤더 단위를 만들 수 없습니다.", "현재 변환 단위는 헤더 단위에 현재 쓸 수 없는 하나 이상의 기능을 사용합니다.", "'explicit(bool)'는 C++20 기능입니다.", - "%sq 파일을 참조하는 모듈 파일 맵에 대한 모듈 이름을 지정해야 합니다." + "%sq 파일을 참조하는 모듈 파일 맵에 대한 모듈 이름을 지정해야 합니다.", + "IFC 파티션 %sq 노드가 필요한 곳에 null 인덱스 값을 받았습니다.", + "%nd은(는) %t 형식을 가질 수 없습니다", + "ref-qualifier는 이 모드에서 표준이 아니므로", + "범위 기반 'for' 문은 이 모드에서 표준이 아닙니다", + "형식 지정자의 'auto'는 이 모드에서 표준이 아닙니다.", + "파일이 손상되었기 때문에 모듈 파일 %sq 가져올 수 없습니다.", + "IFC", + "멤버 선언 뒤에 삽입된 불필요한 토큰", + "잘못된 주입 scope(%r)", + "std::string_view 형식의 값이 필요한데 %t", + "문 뒤에 불필요한 토큰이 삽입되었습니다.", + "선언 후에 삽입된 불필요한 토큰", + "튜플 인덱스 값(%d) 오버플로", + ">> std::meta::__report_tokens의 출력", + ">> std::meta::__report_tokens의 출력 종료", + "매개 변수 변수가 있는 컨텍스트에 없음", + "구분된 이스케이프 시퀀스에는 문자가 하나 이상 있어야 합니다.", + "종결되지 않은 구분된 이스케이프 시퀀스", + "상수에 지역 변수의 주소가 포함되어 있습니다.", + "구조적 바인딩에서는 'consteval'을 선언할 수 없습니다", + "%no 가져온 선언 %nd 충돌합니다.", + "지정한 문자 형식으로 문자를 나타낼 수 없습니다.", + "주석은 'using' 특성 접두사 컨텍스트에 나타날 수 없습니다.", + "주석의 형식 %t 리터럴 형식이 아닙니다.", + "'ext_vector_type' 특성은 부울, 정수 또는 부동 소수점 형식에만 적용됩니다", + "동일한 공용 구조체에 여러 지정자를 사용할 수 없습니다.", + "테스트 메시지", + "에뮬레이트되는 Microsoft 버전이 1943 이상이어야 '--ms_c++23'을 사용할 수 있습니다." ] diff --git a/Extension/bin/messages/pl/messages.json b/Extension/bin/messages/pl/messages.json index 9f88ee2bd8..c5e42b82b8 100644 --- a/Extension/bin/messages/pl/messages.json +++ b/Extension/bin/messages/pl/messages.json @@ -3601,5 +3601,33 @@ "nie można utworzyć jednostki nagłówka dla bieżącej jednostki translacji", "bieżąca jednostka translacji używa co najmniej jednej funkcji, których obecnie nie można zapisać w jednostce nagłówka", "„explicit(bool)” jest funkcją języka C++20", - "nazwa modułu musi być określona dla mapy pliku modułu odwołującej się do pliku %sq" + "nazwa modułu musi być określona dla mapy pliku modułu odwołującej się do pliku %sq", + "odebrano wartość indeksu o wartości null, w której oczekiwano węzła w partycji IFC %sq", + "%nd nie może mieć typu %t", + "kwalifikator ref jest niestandardowy w tym trybie", + "instrukcja \"for\" oparta na zakresie jest niestandardowa w tym trybie", + "element \"auto\" jako specyfikator typu jest niestandardowy w tym trybie", + "nie można zaimportować %sq pliku modułu z powodu uszkodzenia pliku", + "IFC", + "nadmiarowe tokeny wstrzyknięte po deklaracji składowej", + "zły zakres iniekcji (%r)", + "oczekiwano wartości typu std::string_view, ale otrzymano %t", + "nadmiarowe tokeny wstrzyknięte po instrukcji", + "nadmiarowe tokeny wstrzyknięte po deklaracji", + "przepełnienie wartości indeksu krotki (%d)", + ">> dane wyjściowe z elementu std::meta::__report_tokens", + ">> końcowe dane wyjściowe z elementu std::meta::__report_tokens", + "nie jest w kontekście ze zmiennymi parametrów", + "rozdzielana sekwencja ucieczki musi zawierać co najmniej jeden znak", + "niezakończona rozdzielana sekwencja ucieczki", + "stała zawiera adres zmiennej lokalnej", + "powiązanie ze strukturą nie może być deklarowane jako „constexpr”", + "%no powoduje konflikt z zaimportowanym %nd deklaracji", + "znak nie może być reprezentowany w określonym typie znaku", + "adnotacja nie może występować w kontekście prefiksu atrybutu \"using\"", + "typ %t adnotacji nie jest typem literału", + "atrybut „ext_vector_type” ma zastosowanie tylko do typów będących wartością logiczną, liczbą całkowitą lub liczbą zmiennoprzecinkową", + "wielokrotne desygnatory znajdujące się w tej samej unii są niedozwolone", + "wiadomość testowa", + "emulowaną wersją Microsoft musi być co najmniej 1943, aby użyć polecenia „--ms_c++23”" ] diff --git a/Extension/bin/messages/pt-br/messages.json b/Extension/bin/messages/pt-br/messages.json index 2f1a4447f1..bfc788f388 100644 --- a/Extension/bin/messages/pt-br/messages.json +++ b/Extension/bin/messages/pt-br/messages.json @@ -3601,5 +3601,33 @@ "não foi possível criar uma unidade de cabeçalho para a unidade de tradução atual", "a unidade de tradução atual usa um ou mais recursos que não podem ser gravados atualmente em uma unidade de cabeçalho", "'explicit(bool)' é um recurso do C++20", - "um nome de módulo deve ser especificado para o mapa do arquivo de módulo que faz referência ao arquivo %sq" + "um nome de módulo deve ser especificado para o mapa do arquivo de módulo que faz referência ao arquivo %sq", + "um valor de índice nulo foi recebido onde um nó na partição IFC %sq esperado", + "%nd não pode ter o tipo %t", + "um qualificador ref não é padrão neste modo", + "uma instrução 'for' baseada em intervalo não é padrão nesse modo", + "'auto' como um especificador de tipo não é padrão neste modo", + "não foi possível importar o arquivo de %sq devido à corrupção do arquivo", + "IFC", + "tokens incorretos injetados após declaração de membro", + "escopo de injeção incorreto (%r)", + "esperava-se um valor do tipo std::string_view mas foi %t", + "tokens incorretos injetados após a instrução", + "tokens incorretos injetados após a declaração", + "estouro de valor de índice de tupla (%d)", + ">> saída de std::meta::__report_tokens", + ">> fim da saída de std::meta::__report_tokens", + "não está em um contexto com variáveis de parâmetro", + "uma sequência de escape delimitada deve ter pelo menos um caractere", + "sequência de escape delimitada não finalizada", + "constante contém o endereço de uma variável local", + "uma associação estruturada não pode ser declarada 'consteval'", + "%no conflito com a declaração importada %nd", + "caractere não pode ser representado no tipo de caractere especificado", + "uma anotação não pode aparecer no contexto de um prefixo de atributo 'using'", + "tipo %t da anotação não é um tipo literal", + "o atributo 'ext_vector_type' se aplica somente a booleano, inteiro ou ponto flutuante", + "vários designadores na mesma união não são permitidos", + "mensagem de teste", + "a versão da Microsoft que está sendo emulada deve ser pelo menos 1943 para usar '--ms_c++23'" ] diff --git a/Extension/bin/messages/ru/messages.json b/Extension/bin/messages/ru/messages.json index 263a85452f..d6ad8182fc 100644 --- a/Extension/bin/messages/ru/messages.json +++ b/Extension/bin/messages/ru/messages.json @@ -3601,5 +3601,33 @@ "не удалось создать единицу заголовка для текущей единицы трансляции", "текущая единица трансляции использует одну или несколько функций, которые в данный момент невозможно записать в единицу заголовка", "\"explicit(bool)\" — это функция C++20", - "необходимо указать имя модуля для сопоставления файла модуля, ссылающегося на файл %sq" + "необходимо указать имя модуля для сопоставления файла модуля, ссылающегося на файл %sq", + "было получено значение NULL индекса, в котором ожидался узел в секции IFC%sq", + "%nd не может иметь тип %t", + "квалификатор ref не является нестандартным в этом режиме", + "утверждение \"for\" на основе диапазона является нестандартным в этом режиме", + "\"auto\" в качестве опечатщика типа является нестандартным в этом режиме", + "не удалось импортировать файл %sq из-за повреждения файла", + "IFC", + "лишние токены, внедренные после объявления члена", + "неправильное область (%r)", + "требуется значение типа std::string_view, но %t", + "лишние токены, внедренные после оператора", + "лишние токены, внедренные после объявления", + "переполнение значения индекса кортежа (%d)", + ">> выходных данных из std::meta::__report_tokens", + ">> конец выходных данных из std::meta::__report_tokens", + "не в контексте с переменными параметров", + "escape-последовательность с разделителями должна содержать по крайней мере один символ", + "незавершенная escape-последовательность с разделителями", + "константа содержит адрес локальной переменной", + "структурированная привязка не может быть объявлена как \"consteval\"", + "%no конфликтует с импортируемым объявлением %nd", + "символ не может быть представлен в указанном типе символов", + "заметка не может присутствовать в контексте префикса атрибута using", + "тип %t заметки не является типом литерала", + "атрибут ext_vector_type применяется только к типам bool, integer или float point", + "использование нескольких указателей в одном объединении не допускается", + "тестовое сообщение", + "для использования \"--ms_c++23\" эмулируемая версия Майкрософт должна быть не ниже 1943" ] diff --git a/Extension/bin/messages/tr/messages.json b/Extension/bin/messages/tr/messages.json index 8fd0f7a7fb..b82139ea91 100644 --- a/Extension/bin/messages/tr/messages.json +++ b/Extension/bin/messages/tr/messages.json @@ -3601,5 +3601,33 @@ "geçerli çeviri birimi için bir başlık birimi oluşturulamadı", "mevcut çeviri birimi şu anda bir başlık birimine yazılamayan bir veya daha fazla özellik kullanıyorsa", "'explicit(bool)' bir C++20 özelliğidir", - "%sq dosyasına başvuran modül dosyası eşlemesi için bir modül adı belirtilmelidir" + "%sq dosyasına başvuran modül dosyası eşlemesi için bir modül adı belirtilmelidir", + "IFC bölümündeki bir düğümün beklenen %sq null dizin değeri alındı", + "%nd, %t türüne sahip olamaz", + "ref niteleyicisi bu modda standart dışı", + "Bu modda, aralık tabanlı 'for' deyimi standart dışıdır", + "tür belirticisi olarak 'auto' bu modda standart dışı", + "dosya bozulması nedeniyle modül %sq dosyası içeri aktarılamadı", + "IFC", + "üye bildiriminden sonra eklenen gereksiz belirteçler", + "hatalı ekleme kapsamı (%r)", + "std::string_view türünde bir değer bekleniyordu ancak %t", + "deyimden sonra eklenen gereksiz belirteçler", + "bildirimden sonra eklenen gereksiz belirteçler", + "demet dizin değeri (%d) taşması", + ">> output from std::meta::__report_tokens", + ">> end output from std::meta::__report_tokens", + "parametre değişkenleri olan bir bağlamda değil", + "sınırlandırılmış bir kaçış dizisi en az bir karakter içermelidir", + "sonlandırılmamış sınırlandırılmış kaçış dizisi", + "sabit, yerel bir değişkenin adresini içerir", + "yapılandırılmış bir bağlama, 'consteval' olarak bildirilemez", + "%no içeri aktarılan bildirimle çakışıyor %nd", + "karakter belirtilen karakter türünde gösterilemez", + "ek açıklama bir 'using' öznitelik öneki bağlamında bulunamaz", + "ek %t türü bir sabit değer türü değil", + "'ext_vector_type' özniteliği yalnızca bool, tamsayı veya kayan nokta türleri için geçerlidir", + "aynı birleşimde birden çok belirleyiciye izin verilmez", + "test iletisi", + "'--ms_c++23' kullanabilmek için öykünülen Microsoft sürümü en az 1943 olmalıdır" ] diff --git a/Extension/bin/messages/zh-cn/messages.json b/Extension/bin/messages/zh-cn/messages.json index b527f4e9fb..ae52d271cd 100644 --- a/Extension/bin/messages/zh-cn/messages.json +++ b/Extension/bin/messages/zh-cn/messages.json @@ -3601,5 +3601,33 @@ "无法为当前翻译单元创建标头单元", "当前翻译单元使用当前无法写入标头单元的一个或多个功能", "“explicit(bool)” 是 C++20 功能", - "必须为引用文件 %sq 的模块文件映射指定模块名称" + "必须为引用文件 %sq 的模块文件映射指定模块名称", + "收到 null 索引值,但应为 IFC 分区 %sq 中的节点", + "%nd 不能具有类型 %t", + "ref 限定符在此模式下是非标准的", + "在此模式下,基于范围的 \"for\" 语句是非标准语句", + "在此模式下,“auto” 作为类型说明符是非标准的", + "由于文件损坏,无法导入模块文件 %sq", + "IFC", + "在成员声明后注入的外来令牌", + "错误的注入作用域 (%r)", + "应为 std::string_view 类型的值,但获得 %t", + "在语句后注入的外来令牌", + "声明后注入的外来标记", + "元组索引值 (%d) 溢出", + ">> 来自 std::meta::__report_tokens 的输出", + ">> 结束来自 std::meta::__report_tokens 的输出", + "不在包含参数变量的上下文中", + "分隔转义序列必须至少有一个字符", + "未终止的分隔转义序列", + "常量包含局部变量的地址", + "结构化绑定无法声明为 \"consteval\"", + "%no 与导入的声明 %nd 冲突", + "字符不能在指定的字符类型中表示", + "批注不能出现在 “using” 属性前缀的上下文中", + "批注的类型 %t 不是文本类型", + "\"ext_vector_type\" 属性仅适用于布尔值、整数或浮点类型", + "不允许将多个指示符加入同一联合", + "测试消息", + "正在模拟的 Microsoft 版本必须至少为 1943 才能使用“--ms_c++23”" ] diff --git a/Extension/bin/messages/zh-tw/messages.json b/Extension/bin/messages/zh-tw/messages.json index aefdf6b3ae..20f1012bdd 100644 --- a/Extension/bin/messages/zh-tw/messages.json +++ b/Extension/bin/messages/zh-tw/messages.json @@ -3601,5 +3601,33 @@ "無法為目前的編譯單位建立標頭單位", "目前的編譯單位使用一或多個目前無法寫入標頭單位的功能", "'explicit(bool)' 是 C++20 功能", - "必須為參照檔案的模組檔案對應指定模組名稱 %sq" + "必須為參照檔案的模組檔案對應指定模組名稱 %sq", + "收到 Null 索引值,其中預期 IFC 分割區 %sq 中的節點", + "%nd 不能有類型 %t", + "ref-qualifier 在此模式中不是標準的", + "範圍架構 'for' 陳述式在此模式中不是標準用法", + "在此模式中,'auto' 作為型別規範不是標準的", + "無法匯入模組檔案 %sq,因為檔案損毀", + "IFC", + "在成員宣告後插入了無關的 Token", + "錯誤的插入範圍 (%r)", + "必須是 std::string_view 類型的值,但 %t", + "語句后插入了無關的 Token", + "宣告後插入了無關的 Token", + "元組索引值 (%d) 溢位", + ">> 輸出來自 std::meta::__report_tokens", + ">> 結束輸出自 std::meta::__report_tokens", + "不在具有參數變數的內容中", + "分隔的逸出序列必須至少有一個字元", + "未結束分隔的逸出序列", + "常數包含局部變數的位址", + "無法將結構化繫結宣告為 'consteval'", + "%no 與匯入的宣告 %nd 衝突", + "字元不能以指定的字元類型表示", + "註釋不能出現在 『using』 屬性前綴的內容中", + "批注的類型 %t 不是常值類型", + "'ext_vector_type' 屬性只適用於布林值、整數或浮點數類型", + "不允許多個指示者進入相同的聯集", + "測試訊息", + "模擬的 Microsoft 版本至少須為 1943,才能使用 '--ms_c++23'" ] diff --git a/Extension/bin/windows.msvc.arm.json b/Extension/bin/windows.msvc.arm.json index 2012577e0d..7bf4b102b8 100644 --- a/Extension/bin/windows.msvc.arm.json +++ b/Extension/bin/windows.msvc.arm.json @@ -4,11 +4,11 @@ "--microsoft", "--microsoft_bugs", "--microsoft_version", - "1941", + "1943", "--pack_alignment", "8", - "-D_MSC_VER=1941", - "-D_MSC_FULL_VER=194134120", + "-D_MSC_VER=1943", + "-D_MSC_FULL_VER=194334604", "-D_MSC_BUILD=0", "-D_M_ARM=7" ], diff --git a/Extension/bin/windows.msvc.arm64.json b/Extension/bin/windows.msvc.arm64.json index 1758319b55..a61ed0c003 100644 --- a/Extension/bin/windows.msvc.arm64.json +++ b/Extension/bin/windows.msvc.arm64.json @@ -4,12 +4,12 @@ "--microsoft", "--microsoft_bugs", "--microsoft_version", - "1941", + "1943", "--pack_alignment", "8", "-D_CPPUNWIND=1", - "-D_MSC_VER=1941", - "-D_MSC_FULL_VER=194134120", + "-D_MSC_VER=1943", + "-D_MSC_FULL_VER=194334604", "-D_MSC_BUILD=0", "-D_M_ARM64=1" ], diff --git a/Extension/bin/windows.msvc.x64.json b/Extension/bin/windows.msvc.x64.json index 580f51924a..52aaa3a0e8 100644 --- a/Extension/bin/windows.msvc.x64.json +++ b/Extension/bin/windows.msvc.x64.json @@ -4,12 +4,12 @@ "--microsoft", "--microsoft_bugs", "--microsoft_version", - "1941", + "1943", "--pack_alignment", "8", "-D_CPPUNWIND=1", - "-D_MSC_VER=1941", - "-D_MSC_FULL_VER=194134120", + "-D_MSC_VER=1943", + "-D_MSC_FULL_VER=194334604", "-D_MSC_BUILD=0", "-D_M_X64=100", "-D_M_AMD64=100" diff --git a/Extension/bin/windows.msvc.x86.json b/Extension/bin/windows.msvc.x86.json index d8fbe63251..36d6a55aa1 100644 --- a/Extension/bin/windows.msvc.x86.json +++ b/Extension/bin/windows.msvc.x86.json @@ -4,11 +4,11 @@ "--microsoft", "--microsoft_bugs", "--microsoft_version", - "1941", + "1943", "--pack_alignment", "8", - "-D_MSC_VER=1941", - "-D_MSC_FULL_VER=194134120", + "-D_MSC_VER=1943", + "-D_MSC_FULL_VER=194334604", "-D_MSC_BUILD=0", "-D_M_IX86=600", "-D_M_IX86_FP=2" diff --git a/Extension/c_cpp_properties.schema.json b/Extension/c_cpp_properties.schema.json index a07d242f0c..cd7e174d90 100644 --- a/Extension/c_cpp_properties.schema.json +++ b/Extension/c_cpp_properties.schema.json @@ -70,9 +70,20 @@ ] }, "compileCommands": { - "markdownDescription": "Full path to `compile_commands.json` file for the workspace.", - "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.", - "type": "string" + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ], + "markdownDescription": "Full path or a list of full paths to `compile_commands.json` files for the workspace.", + "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." }, "includePath": { "markdownDescription": "A list of paths for the IntelliSense engine to use while searching for included headers. Searching on these paths is not recursive. Specify `**` to indicate recursive search. For example, `${workspaceFolder}/**` will search through all subdirectories while `${workspaceFolder}` will not. Usually, this should not include system includes; instead, set `C_Cpp.default.compilerPath`.", @@ -239,7 +250,6 @@ }, "enableConfigurationSquiggles": { "type": "boolean", - "default": true, "markdownDescription": "Controls whether the extension will report errors detected in `c_cpp_properties.json`.", "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." } diff --git a/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json index 7ef2fa8ab5..9925b1d4f8 100644 --- a/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用于修改所使用的包含或定义的编译器参数,例如 `-nostdinc++`、`-m32` 等。采用其他空格分隔参数的参数应在数组中作为单独的参数输入,例如,对于 `--sysroot ` 使用 `\"--sysroot\", \"\"`。", "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.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.windowsSdkVersion": "要在 Windows 上使用的 Windows SDK 包含路径的版本,例如 `10.0.17134.0`。", diff --git a/Extension/i18n/chs/package.i18n.json b/Extension/i18n/chs/package.i18n.json index c1c7f42e82..0b658d1082 100644 --- a/Extension/i18n/chs/package.i18n.json +++ b/Extension/i18n/chs/package.i18n.json @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "如果有多个问题类型,显示“全部清除”,如果有多个 问题,显示“清除所有 ”以及显示“清除此项”代码操作", "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.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}]}` 时将其用作回退。", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "与要从中输出诊断的标头名称匹配的 POSIX 扩展正则表达式 (ERE)。始终显示来自每个翻译单元的主文件的诊断。支持 `${workspaceFolder}` 变量(如果不存在 `.clang-tidy` 文件,则该变量将用作默认回退值)。如果此选项不是 `null` (空),则将替代 `.clang-tidy` 文件中的 `HeaderFilterRegex` 选项(如果有)。", @@ -160,7 +160,7 @@ "c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "将移除每个分号前的空格。", "c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "在每个分号后面插入一个空格。", "c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "移除一元运算符和操作数之间的空格。", - "c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "二进制运算符周围的空格。", + "c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "二元运算符周围的空格。", "c_cpp.configuration.vcFormat.space.aroundAssignmentOperator.description": "赋值运算符周围的空格。", "c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.description": "指针和引用运算符周围的空格。", "c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "指针和引用运算符左对齐。", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "在一行中输入的完整代码块会保留在一行上,不考虑`C_Cpp.vcFormat.newLine.*` 设置的值。", "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_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:<路径>/.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` 参数确定的包含排序行为。", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "当扩展在确定哪些文件应添加到代码导航数据库,并遍历 `browse.path` 数组中的路径时,指示其使用 `#files.exclude#` (和 `#C_Cpp.files.exclude#`)设置的时间。如果 `#files.exclude#` 设置仅包含文件夹,则 `checkFolders` 为最佳选择,且将提高扩展可以初始化代码导航数据库的速度。", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "排除筛选器将仅对每个文件夹进行一次评估(不检查单个文件)。", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "将针对每个遇到的文件和文件夹评估排除筛选器。", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "用作 `#include` 自动完成结果的路径分隔符的字符。", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "用作生成的用户路径的路径分隔符的字符。", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "如果为 `true`,则悬停和自动完成的工具提示将仅显示结构化注释的某些标签。否则,将显示所有注释。", "c_cpp.configuration.doxygen.generateOnType.description": "控制在键入所选注释样式后是否自动插入 Doxygen 注释。", "c_cpp.configuration.doxygen.generatedStyle.description": "用作 Doxygen 注释起始行的字符串。", @@ -253,6 +253,7 @@ "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.copilotHover.markdownDescription": "如果 `disabled`,则悬停时不会显示任何 Copilot 信息。", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "如果为 `true`,则“重命名符号”将需要有效的 C/C++ 标识符。", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "如果为 `true`,则自动完成将在函数调用后自动添加 `(` ,在这种情况下,也可以添加 `)` ,具体取决于 `#editor.autoClosingBrackets#` 设置的值。", "c_cpp.configuration.filesExclude.markdownDescription": "为排除文件夹(以及文件 - 如果更改了 `#C_Cpp.exclusionPolicy#`)配置 glob 模式。这些特定于 C/C++ 扩展,并且是 `#files.exclude#` 的补充,但与 `#files.exclude#` 不同,它们也适用于当前工作区文件夹之外的路径,并且不会从资源管理器视图中删除。详细了解 [glob 模式](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options)。", @@ -427,8 +428,8 @@ "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.command.prompt.title": "从 VS 的开发人员命令提示启动", + "c_cpp.walkthrough.command.prompt.description": "使用 Microsoft Visual Studio C++ 编译器时,C++ 扩展需要你从 VS 的开发人员命令提示符中启动 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++ - 构建和调试活动文件”以使用调试器运行。", diff --git a/Extension/i18n/chs/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/chs/src/Debugger/configurationProvider.i18n.json index be02d66c99..99d010d5ff 100644 --- a/Extension/i18n/chs/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/chs/src/Debugger/configurationProvider.i18n.json @@ -16,8 +16,8 @@ "compiler.path.not.exists": "找不到 {0}。将忽略 {1} 任务。", "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "找不到 {0} 调试器。将忽略 {1} 的调试配置。", - "build.and.debug.active.file": "生成和调试活动文件", - "cl.exe.not.available": "仅当从 VS 开发人员命令提示符处运行 VS Code 时,{0} 生成和调试才可用。", + "build.and.debug.active.file": "构建和调试活动文件", + "cl.exe.not.available": "{0} 仅在 VS Code 从 {1} 中运行时才可用。", "lldb.find.failed": "缺少 lldb-mi 可执行文件的依赖项“{0}”。", "lldb.search.paths": "搜索范围:", "lldb.install.help": "要解决此问题,请通过 Apple App Store 安装 XCode,或通过在终端窗口运行“{0}”来安装 XCode 命令行工具。", diff --git a/Extension/i18n/chs/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/chs/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..0ba598f8d0 --- /dev/null +++ b/Extension/i18n/chs/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "生成 Copilot 摘要", + "copilot.disclaimer": "AI 生成的内容可能不正确。" +} \ No newline at end of file diff --git a/Extension/i18n/chs/src/LanguageServer/codeAnalysis.i18n.json b/Extension/i18n/chs/src/LanguageServer/codeAnalysis.i18n.json index b9d1b538b1..77d895b86f 100644 --- a/Extension/i18n/chs/src/LanguageServer/codeAnalysis.i18n.json +++ b/Extension/i18n/chs/src/LanguageServer/codeAnalysis.i18n.json @@ -8,8 +8,8 @@ "clear.all.code.analysis.problems": "清除所有代码分析问题", "fix.all.type.problems": "修复所有 {0} 问题", "disable.all.type.problems": "禁用所有 {0} 问题", - "clear.all.type.problems": "清除所有{0}问题", + "clear.all.type.problems": "清除所有 {0} 问题", "clear.this.problem": "清除此 {0} 问题", "fix.this.problem": "修复此 {0} 问题", "show.documentation.for": "显示 {0} 文档" -} \ No newline at end of file +} diff --git a/Extension/i18n/chs/src/LanguageServer/configurations.i18n.json b/Extension/i18n/chs/src/LanguageServer/configurations.i18n.json index 11649d8639..e619310f50 100644 --- a/Extension/i18n/chs/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/chs/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "路径不是文件: {0}", "path.is.not.a.directory": "路径不是目录: {0}", "duplicate.name": "{0} 重复。配置名称应是唯一的。", - "cannot.find2": "无法找到“{0}”。", "multiple.paths.not.allowed": "不允许使用多个路径。", + "multiple.paths.should.be.separate.entries": "多个路径应是数组中的单独条目。", "paths.are.not.directories": "路径不是目录: {0}" } \ No newline at end of file diff --git a/Extension/i18n/chs/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/chs/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/chs/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/chs/src/LanguageServer/extension.i18n.json b/Extension/i18n/chs/src/LanguageServer/extension.i18n.json index d79ff61c1a..ff227bece6 100644 --- a/Extension/i18n/chs/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/chs/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "无法应用代码分析修复程序,因为文档已更改。", "prerelease.message": "C/C++ 扩展的预发行版本可用。是否要切换到它?", "yes.button": "是", - "no.button": "否" + "no.button": "否", + "copilot.hover.unavailable": "Copilot 摘要不可用。", + "copilot.hover.excluded": "包含此符号的定义或声明的文件已排除在 Copilot 的使用范围之外。", + "copilot.hover.unavailable.symbol": "Copilot 摘要不可用于此符号。", + "copilot.hover.error": "生成 Copilot 摘要时出错。" } \ No newline at end of file diff --git a/Extension/i18n/chs/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/chs/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/chs/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/chs/src/SSH/sshCommandRunner.i18n.json b/Extension/i18n/chs/src/SSH/sshCommandRunner.i18n.json index af78ab0673..5265b2d40e 100644 --- a/Extension/i18n/chs/src/SSH/sshCommandRunner.i18n.json +++ b/Extension/i18n/chs/src/SSH/sshCommandRunner.i18n.json @@ -5,7 +5,7 @@ // Do not edit this file. It is machine generated. { "ssh.canceled": "已取消 SSH 命令", - "ssh.passphrase.input.box": "输入 ssh 密钥的密码{0}", + "ssh.passphrase.input.box": "输入 ssh 密钥的密码 {0}", "ssh.enter.password.for.user": "输入用户 \"{0}\" 的密码", "ssh.message.enter.password": "输入密码", "ssh.continue.confirmation.placeholder": "您确定要继续吗?", @@ -17,4 +17,4 @@ "ssh.continuing.command.canceled": "已取消任务 \"{0}\",但基础命令可能不会终止。请手动进行检查。", "ssh.process.failed": "\"{0}\" 进程失败: {1}", "ssh.wrote.data.to.terminal": "\"{0}\" 已将数据写入终端: \"{1}\"。" -} \ No newline at end of file +} diff --git a/Extension/i18n/chs/src/nativeStrings.i18n.json b/Extension/i18n/chs/src/nativeStrings.i18n.json index 22ae6e7d02..9788d40cad 100644 --- a/Extension/i18n/chs/src/nativeStrings.i18n.json +++ b/Extension/i18n/chs/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "未能查询编译器。正在回退到 64 位 intelliSenseMode。", "fallback_to_no_bitness": "未能查询编译器。正在回退到无位数。", "intellisense_client_creation_aborted": "已中止创建 IntelliSense 客户端: {0}", - "include_errors_config_provider_intellisense_disabled ": "基于 configurationProvider 设置提供的信息检测到 #include 错误。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。", - "include_errors_config_provider_squiggles_disabled ": "基于 configurationProvider 设置提供的信息检测到 #include 错误。已针对此翻译单元({0})禁用波形曲线。", + "include_errors_config_provider_intellisense_disabled": "基于 configurationProvider 设置提供的信息检测到 #include 错误。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。", + "include_errors_config_provider_squiggles_disabled": "基于 configurationProvider 设置提供的信息检测到 #include 错误。已针对此翻译单元({0})禁用波形曲线。", "preprocessor_keyword": "预处理器关键字", "c_keyword": "C 关键字", "cpp_keyword": "C++ 关键字", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "函数必须通过引用返回一个值。C 代码不能返回引用。", "refactor_extract_xborder_jump": "所选代码和外层代码之间的存在跳跃。", "refactor_extract_missing_return": "在所选代码中,一些控制路径退出而没有设置返回值。这只受标量、数字、和指针返回类型支持。", - "expand_selection": "展开选择(以启用“提取到函数”)" + "expand_selection": "展开选择(以启用“提取到函数”)", + "file_not_found_in_path2": "在 compile_commands.json 文件中找不到 \"{0}\"。此文件将改用文件夹“{1}”中的 c_cpp_properties.json 中包含的 \"includePath\"。", + "copilot_hover_link": "生成 Copilot 摘要" } \ No newline at end of file diff --git a/Extension/i18n/chs/ui/settings.html.i18n.json b/Extension/i18n/chs/ui/settings.html.i18n.json index 43036eea03..0c8a7c83b8 100644 --- a/Extension/i18n/chs/ui/settings.html.i18n.json +++ b/Extension/i18n/chs/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "点配置", "dot.config.description": "Kconfig 系统创建的 .config 文件的路径。Kconfig 系统生成包含所有定义的文件以生成项目。使用 Kconfig 系统的项目示例包括 Linux 内核和 NuttX RTOS。", "compile.commands": "编译命令", - "compile.commands.description": "工作区的 {0} 文件的完整路径。将使用在此文件中所发现的包含路径和定义,而不是为 {1} 和 {2} 设置设定的值。如果编译命令数据库不包含与你在编辑器中打开的文件对应的翻译单元条目,则将显示一条警告消息,并且扩展将改用 {3} 和 {4} 设置。", + "compile.commands.description": "工作区的 {0} 文件的路径列表。将使用在这些文件中发现的包含路径和定义,而不是为 {1} 和 {2} 设置设定的值。如果编译命令数据库不包含与你在编辑器中打开的文件对应的翻译单元条目,则将显示一条警告消息,并且扩展将转而使用 {3} 和 {4} 设置。", + "one.compile.commands.path.per.line": "每行一个编译命令路径。", "merge.configurations": "合并配置", "merge.configurations.description": "如果为 {0} (或已选中),则将包含路径、定义和强制包含与来自配置提供程序包含路径、定义和强制包含合并。", "browse.path": "浏览: 路径", diff --git a/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json index 8ad0b82e28..0f6263c0f3 100644 --- a/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json +++ b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -14,5 +14,5 @@ "walkthrough.linux.choose.build.active.file": "选择 {0}。", "walkthrough.linux.build.and.debug.active.file": "构建和调试活动文件", "walkthrough.linux.after.running": "首次运行和调试 C++ 文件后,你将注意到项目 {0} 的文件夹内有两个新文件: {1} 和 {2}。", - "walkthrough.linux.for.more.complex": "对于更复杂的生成和调试场景,可以在 {0} 和 {1} 中自定义生成任务和调试配置。例如,如果在从命令行生成时通常会将参数传递给编译器,则可以使用 {3} 属性以在 {2} 中指定这些参数。同样,可以定义要传递给程序的参数,以在 {4}中进行调试。" -} \ No newline at end of file + "walkthrough.linux.for.more.complex": "对于更复杂的生成和调试场景,可以在 {0} 和 {1} 中自定义生成任务和调试配置。例如,如果在从命令行生成时通常会将参数传递给编译器,则可以使用 {3} 属性以在 {2} 中指定这些参数。同样,可以定义要传递给程序的参数,以在 {4} 中进行调试。" +} diff --git a/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json index 81f2b5eb0e..ae554b4a8f 100644 --- a/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json +++ b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -14,5 +14,5 @@ "walkthrough.mac.choose.build.active.file": "选择 {0}。", "walkthrough.mac.build.and.debug.active.file": "构建和调试活动文件", "walkthrough.mac.after.running": "首次运行和调试 C++ 文件后,你将注意到项目 {0} 的文件夹内有两个新文件: {1} 和 {2}。", - "walkthrough.mac.for.more.complex": "对于更复杂的生成和调试场景,可以在 {0} 和 {1} 中自定义生成任务和调试配置。例如,如果在从命令行生成时通常会将参数传递给编译器,则可以使用 {3} 属性以在 {2} 中指定这些参数。同样,可以定义要传递给程序的参数,以在 {4}中进行调试。" -} \ No newline at end of file + "walkthrough.mac.for.more.complex": "对于更复杂的生成和调试场景,可以在 {0} 和 {1} 中自定义生成任务和调试配置。例如,如果在从命令行生成时通常会将参数传递给编译器,则可以使用 {3} 属性以在 {2} 中指定这些参数。同样,可以定义要传递给程序的参数,以在 {4} 中进行调试。" +} diff --git a/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json index d396b16e4c..0eec67db40 100644 --- a/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json +++ b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -14,5 +14,5 @@ "walkthrough.windows.choose.build.active.file": "选择 {0}。", "walkthrough.windows.build.and.debug.active.file": "构建和调试活动文件", "walkthrough.windows.after.running": "首次运行和调试 C++ 文件后,你将注意到项目 {0} 的文件夹内有两个新文件: {1} 和 {2}。", - "walkthrough.windows.for.more.complex": "对于更复杂的生成和调试场景,可以在 {0} 和 {1} 中自定义生成任务和调试配置。例如,如果在从命令行生成时通常会将参数传递给编译器,则可以使用 {3} 属性以在 {2} 中指定这些参数。同样,可以定义要传递给程序的参数,以在 {4}中进行调试。" -} \ No newline at end of file + "walkthrough.windows.for.more.complex": "对于更复杂的生成和调试场景,可以在 {0} 和 {1} 中自定义生成任务和调试配置。例如,如果在从命令行生成时通常会将参数传递给编译器,则可以使用 {3} 属性以在 {2} 中指定这些参数。同样,可以定义要传递给程序的参数,以在 {4} 中进行调试。" +} diff --git a/Extension/i18n/chs/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/chs/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index 4cafd48801..50da12c2cc 100644 --- a/Extension/i18n/chs/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/chs/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // 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 并将你带回此演练。" + "walkthrough.windows.title.open.dev.command.prompt": "使用 {0} 重新启动", + "walkthrough.windows.background.dev.command.prompt": " 你使用的是具有 MSVC 编译器的 Windows 计算机,因此需要从 {0} 启动 VS Code,以正确设置所有环境变量。要使用 {1} 重新启动,请:", + "walkthrough.open.command.prompt": "通过在 Windows“开始”菜单中键入“{1}”打开 {0}。选择 {2} 将自动导航到当前打开的文件夹。", + "walkthrough.windows.press.f5": "在命令提示符中键入“{0}”,然后按 Enter。此操作应会重新启动 VS Code 并将你带回此演练。" } \ No newline at end of file diff --git a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index 84bd1257a7..55cf761565 100644 --- a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "安装", "walkthrough.windows.note1": "注意", "walkthrough.windows.note1.text": "可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。", - "walkthrough.windows.open.command.prompt": "在 Windows“开始”菜单中键入‘开发人员’以打开 {0}。", - "walkthrough.windows.command.prompt.name1": "VS 的 Developer 命令提示", - "walkthrough.windows.check.install": "在 VS 的开发人员命令提示中键入 {0} 以检查 MSVC 安装。你应该会看到包含版本和基本使用说明的版权消息。", + "walkthrough.windows.open.command.prompt": "通过在 Windows “开始”菜单中键入“{1}”打开 {0}。", + "walkthrough.windows.check.install": "通过在 {1} 中键入 {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.note2.text": "要从命令行或 VS Code 使用 MSVC,必须从 {0} 运行。普通 shell (例如 {1}、{2} 或 Windows 命令提示符)未设置必要的路径环境变量。" } \ No newline at end of file diff --git a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index c0d79a4a48..991894c4c7 100644 --- a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,14 +10,12 @@ "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 的 Developer 命令提示", - "walkthrough.windows.check.install": "在 VS 的开发人员命令提示中键入 {0} 以检查 MSVC 安装。你应该会看到包含版本和基本使用说明的版权消息。", + "walkthrough.windows.open.command.prompt": "通过在 Windows “开始”菜单中键入“{1}”打开 {0}。", + "walkthrough.windows.check.install": "通过在 {1} 中键入 {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.note2.text": "要从命令行或 VS Code 使用 MSVC,必须从 {0} 运行。普通 shell (例如 {1}、{2} 或 Windows 命令提示符)未设置必要的路径环境变量。", "walkthrough.windows.other.compilers": "其他编译器选项", - "walkthrough.windows.text3": "如果面向的是 Windows 中的 Linux,请查看{0}。或者,可{1}。", + "walkthrough.windows.text3": "如果面向的是 Windows 中的 Linux,请查看 {0}。或者,可 {1}。", "walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 和 适用于 Linux 的 Windows 子系统(WSL)", "walkthrough.windows.link.title2": "在带 MinGW 的 Windows 上安装 GCC" -} \ No newline at end of file +} diff --git a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index c0d79a4a48..991894c4c7 100644 --- a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,14 +10,12 @@ "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 的 Developer 命令提示", - "walkthrough.windows.check.install": "在 VS 的开发人员命令提示中键入 {0} 以检查 MSVC 安装。你应该会看到包含版本和基本使用说明的版权消息。", + "walkthrough.windows.open.command.prompt": "通过在 Windows “开始”菜单中键入“{1}”打开 {0}。", + "walkthrough.windows.check.install": "通过在 {1} 中键入 {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.note2.text": "要从命令行或 VS Code 使用 MSVC,必须从 {0} 运行。普通 shell (例如 {1}、{2} 或 Windows 命令提示符)未设置必要的路径环境变量。", "walkthrough.windows.other.compilers": "其他编译器选项", - "walkthrough.windows.text3": "如果面向的是 Windows 中的 Linux,请查看{0}。或者,可{1}。", + "walkthrough.windows.text3": "如果面向的是 Windows 中的 Linux,请查看 {0}。或者,可 {1}。", "walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 和 适用于 Linux 的 Windows 子系统(WSL)", "walkthrough.windows.link.title2": "在带 MinGW 的 Windows 上安装 GCC" -} \ No newline at end of file +} diff --git a/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json index 02a9e7b4f2..6490920b97 100644 --- a/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用來修改所用 include 或 define 的編譯器引數,例如 `-nostdinc++`、`-m32` 等。採用其他空格分隔引數的引數應在陣列中輸入為個別的引數,例如,針對 `--sysroot ` 使用 `\"--sysroot\", \"\"`。", "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.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.windowsSdkVersion": "要在 Windows 上使用的 Windows SDK 包含路徑版本,例如 `10.0.17134.0`。", diff --git a/Extension/i18n/cht/package.i18n.json b/Extension/i18n/cht/package.i18n.json index 32f54e3893..970894baf8 100644 --- a/Extension/i18n/cht/package.i18n.json +++ b/Extension/i18n/cht/package.i18n.json @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "顯示 '清除所有' (如果有多個問題類型)、'清除所有 ' (如果 有多個問題) 和 '清除此' 程式碼動作", "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.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}]}`。", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "符合輸出診斷來源之標頭名稱的 POSIX 擴充規則運算式 (ERE)。來自每個編譯單位之主要檔案的診斷將一律顯示。支援 `${workspaceFolder}` 變數 (如果沒有 `.clang-tidy` 檔案,則作為預設後援值)。若此選項並非 `null` (空白),則會覆寫 `.clang-tidy` 檔案中的 `HeaderFilterRegex` 選項 (如果有的話)。", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "在一行中所輸入的完整程式碼區塊都保留在同一行,而不考慮任何 `C_Cpp.vcFormat.newLine.*` 設定。", "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_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:<路徑>/.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` 參數所決定的包含排序行為。", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "在流覽 `browse.path` 陣列中的路徑並決定哪些檔案應新增至程式碼瀏覽資料庫時,指示延伸模組何時使用 `#files.exclude#` (和 `#C_Cpp.files.exclude#`) 設定。如果您的 `#files.exclude#` 設定只包含資料夾,則 `checkFolders` 是最佳選擇,而且會加快延伸模組初始化程式碼瀏覽資料庫的速度。", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "排除篩選每個資料夾只會評估一次 (不會檢查個別檔案)。", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "將會針對每個遇到的檔案和資料夾評估排除篩選。", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "用作 `#include` 自動完成結果路徑分隔符號的字元。", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "作為所產生使用者路徑之路徑分隔符的字元。", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "若為 `true`,暫留與自動完成的工具提示只會顯示特定結構化註解標籤,否則將會顯示所有註解。", "c_cpp.configuration.doxygen.generateOnType.description": "控制是否在輸入選擇的註解樣式後自動插入 Doxygen 註解。", "c_cpp.configuration.doxygen.generatedStyle.description": "作為 Doxygen 註解起始行的字元字串。", @@ -253,6 +253,7 @@ "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.copilotHover.markdownDescription": "如果`disabled`,則暫留中將不會顯示 Copilot 資訊。", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "若為 `true`,則「重新命名符號」需要有效的 C/C++ 識別碼。", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "若為 `true`,自動完成將會在函式呼叫之後自動新增 `(`,在這種情況下也可能會新增 `)`,取決於 `editor.autoClosingBrackets` 設定的值。", "c_cpp.configuration.filesExclude.markdownDescription": "設定 Glob 模式以排除資料夾 (若變更 `#C_Cpp.exclusionPolicy#`,則也會排除檔案)。這些模式為 C/C++ 延伸模組所特有,且是對 `#files.exclude#` 的外加,但與 `#files.exclude#` 不同的是,它們也適用於目前工作區資料夾以外的路徑,並且不會將其從總管檢視中移除。深入了解 [Glob 模式](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options)。", @@ -427,8 +428,8 @@ "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.command.prompt.title": "從 VS 的開發人員命令提示字元啟動", + "c_cpp.walkthrough.command.prompt.description": "使用 Microsoft Visual Studio C++ 編譯器時,C++ 延伸模組會要求您從 VS 的開發人員命令提示字元啟動 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++ - 建置及偵錯使用中的檔案] 以使用偵錯工具執行。", diff --git a/Extension/i18n/cht/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/cht/src/Debugger/configurationProvider.i18n.json index 68d097829a..680195241e 100644 --- a/Extension/i18n/cht/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/cht/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "找不到 {0} 偵錯工具。已略過 {1} 的偵錯組態。", "build.and.debug.active.file": "建置及偵錯使用中的檔案", - "cl.exe.not.available": "只有從 VS 的開發人員命令提示字元執行 VS Code 時,才可使用 {0} 組建和偵錯。", + "cl.exe.not.available": "{0} 僅限於從 {1} 執行 VS Code 時使用。", "lldb.find.failed": "缺少 lldb-mi 可執行檔的相依性 '{0}'。", "lldb.search.paths": "已在下列位置中搜尋:", "lldb.install.help": "若要解決此問題,請透過 Apple App Store 安裝 XCode,或在終端機視窗中執行 '{0}' 以安裝 XCode 命令列工具。", diff --git a/Extension/i18n/cht/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/cht/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..7a44aea557 --- /dev/null +++ b/Extension/i18n/cht/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "產生 Copilot 摘要", + "copilot.disclaimer": "AI 產生的內容可能不正確。" +} \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/configurations.i18n.json b/Extension/i18n/cht/src/LanguageServer/configurations.i18n.json index 6f53903910..f34fb3277a 100644 --- a/Extension/i18n/cht/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/cht/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "路徑不是檔案: {0}", "path.is.not.a.directory": "路徑不是目錄: {0}", "duplicate.name": "{0} 重複。組態名稱應該是唯一的。", - "cannot.find2": "找不到 \"{0}\"。", "multiple.paths.not.allowed": "不允許使用多個路徑。", + "multiple.paths.should.be.separate.entries": "數位列中的多個路徑應為個別專案。", "paths.are.not.directories": "路徑不是目錄: {0}" } \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/cht/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/cht/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/extension.i18n.json b/Extension/i18n/cht/src/LanguageServer/extension.i18n.json index 57de2833ff..9bc0c44957 100644 --- a/Extension/i18n/cht/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/cht/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "無法套用程式碼分析修正,因為文件已變更。", "prerelease.message": "已可使用 C/C++ 延伸模組的發行前版本。您要切換到此版本嗎?", "yes.button": "是", - "no.button": "否" + "no.button": "否", + "copilot.hover.unavailable": "Copilot 摘要無法使用。", + "copilot.hover.excluded": "包含此符號定義或宣告的檔案已排除,無法搭配 Copilot 使用。", + "copilot.hover.unavailable.symbol": "此符號無法使用 Copilot 摘要。", + "copilot.hover.error": "產生 Copilot 摘要時發生錯誤。" } \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/cht/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/cht/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/cht/src/nativeStrings.i18n.json b/Extension/i18n/cht/src/nativeStrings.i18n.json index ac02497142..56a529c922 100644 --- a/Extension/i18n/cht/src/nativeStrings.i18n.json +++ b/Extension/i18n/cht/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "無法查詢編譯器。請回復成 64 位元 intelliSenseMode。", "fallback_to_no_bitness": "無法查詢編譯器。請回復成沒有位元。", "intellisense_client_creation_aborted": "已中止建立 IntelliSense 用戶端: {0}", - "include_errors_config_provider_intellisense_disabled ": "根據 configurationProvider 設定提供的資訊,偵測到 #include 錯誤。此編譯單位 ({0}) 的 IntelliSense 功能將由標籤剖析器提供。", - "include_errors_config_provider_squiggles_disabled ": "根據 configurationProvider 設定提供的資訊,偵測到 #include 錯誤。已停用此編譯單位 ({0}) 的波浪線。", + "include_errors_config_provider_intellisense_disabled": "根據 configurationProvider 設定提供的資訊,偵測到 #include 錯誤。此編譯單位 ({0}) 的 IntelliSense 功能將由標籤剖析器提供。", + "include_errors_config_provider_squiggles_disabled": "根據 configurationProvider 設定提供的資訊,偵測到 #include 錯誤。已停用此編譯單位 ({0}) 的波浪線。", "preprocessor_keyword": "前置處理器關鍵字", "c_keyword": "C 關鍵字", "cpp_keyword": "C++ 關鍵字", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "函式必須藉傳址傳回值。C 程式碼無法傳回參考。", "refactor_extract_xborder_jump": "所選程式碼與周圍的程式碼之間存在跳躍。", "refactor_extract_missing_return": "在選取的程式碼中,有一些控制項路徑未設定傳回值便結束。只有純量、數值與指標傳回類型支援此作法。", - "expand_selection": "展開選取範圍 (以啟用 [擷取至函式])" + "expand_selection": "展開選取範圍 (以啟用 [擷取至函式])", + "file_not_found_in_path2": "在 compile_commands.json 檔案中找不到 \"{0}\"。將對此檔案改用資料夾 '{1}' 中 c_cpp_properties.json 的 'includePath'。", + "copilot_hover_link": "產生 Copilot 摘要" } \ No newline at end of file diff --git a/Extension/i18n/cht/ui/settings.html.i18n.json b/Extension/i18n/cht/ui/settings.html.i18n.json index 5cea0f81db..d99561bfb9 100644 --- a/Extension/i18n/cht/ui/settings.html.i18n.json +++ b/Extension/i18n/cht/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "點設定", "dot.config.description": "Kconfig 系統所建立之 .config 檔案的路徑。Kconfig 系統會產生具有建置專案之所有定義的檔案。使用 Kconfig 系統的專案範例為 Linux 核心與 NuttX RTOS。", "compile.commands": "編譯命令", - "compile.commands.description": "工作區 {0} 檔案的完整路徑。系統會使用在這個檔案中找到的 include 路徑和 define,而不是為 {1} 與 {2} 設定所指定的值。如果在編譯命令資料庫中,對應到您在編輯器中開啟之檔案的編譯單位,沒有任何項目,就會出現警告訊息,而延伸模組會改為使用 {3} 和 {4} 設定。", + "compile.commands.description": "工作區的 {0} 檔案的路徑清單。系統會使用在這些檔案中探索到的包含路徑和定義,而不是為 {1} 與 {2} 設定所設定的值。如果編譯命令資料庫不包含與您在編輯器中開啟之檔案相的對應翻譯單位項目,就會出現警告訊息,而延伸模組會改為使用 {3} 和 {4} 設定。", + "one.compile.commands.path.per.line": "每行一個編譯命令路徑。", "merge.configurations": "合併設定", "merge.configurations.description": "當為 {0} (或核取) 時,合併包含路徑、定義和強制包含來自設定提供者的路徑。", "browse.path": "瀏覽: 路徑", diff --git a/Extension/i18n/cht/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/cht/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index 65e7c2798e..b23a8e0f00 100644 --- a/Extension/i18n/cht/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/cht/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // 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,並帶您回到此逐步解說。" + "walkthrough.windows.title.open.dev.command.prompt": "使用 {0} 重新啟動", + "walkthrough.windows.background.dev.command.prompt": " 您正使用 Windows 電腦搭配 MSVC 編譯器,因此您必須從 {0} 啟動 VS Code,以便正確設定所有環境變數。若要使用 {1} 以下重新啟動:", + "walkthrough.open.command.prompt": "在 Windows [開始] 功能表中輸入 \"{1}\",以開啟 {0}。選取 {2},這會自動瀏覽至您目前開啟的資料夾。", + "walkthrough.windows.press.f5": "在命令提示字元中輸入 \"{0}\",然後按 Enter。這應該會重新啟動 VS Code,並帶您回到此逐步解說。" } \ No newline at end of file diff --git a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index 851509f3ac..b387fe1635 100644 --- a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -8,7 +8,7 @@ "walkthrough.windows.text1": "如果您正在執行 Windows 的 C++ 開發,建議您安裝 Microsoft Visual C++ (MSVC) 編譯器工具組。如果您是以 Windows 的 Linux 為目標,請查看 {0}。或者,您也可以 {1}。", "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.text2": "若要安裝 MSVC,請 {0} 從 Visual Studio {1} 頁面下載。", "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2022", "walkthrough.windows.link.downloads": "下載", "walkthrough.windows.text3": "在 Visual Studio 安裝程式中,檢查 {0} 工作負載,然後選取 {1}。", @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "安裝", "walkthrough.windows.note1": "備註", "walkthrough.windows.note1.text": "您可以使用 Visual Studio Build Tools 中的 C++ 工具組以及 Visual Studio Code 來編譯、組建及驗證任何 C++ 程式碼基底,只要您也擁有有效的 Visual Studio 授權 (社群版、專業版或企業版),且您正積極開發該 C++ 程式碼基底。", - "walkthrough.windows.open.command.prompt": "在 Windows 開始頁面功能表中鍵入「開發人員」,以開啟 {0}。", - "walkthrough.windows.command.prompt.name1": "VS 的開發人員命令提示字元", - "walkthrough.windows.check.install": "在 VS 的開發人員命令提示字元中輸入 {0},即可檢查 MSVC 安裝。畫面會顯示版本的著作權訊息以及基本的使用說明。", + "walkthrough.windows.open.command.prompt": "在 Windows [開始] 功能表中輸入 '{1}',以開啟 {0}。", + "walkthrough.windows.check.install": "將 {0} 輸入 {1},以檢查您的 Microsoft Visual C++ 安裝。畫面會顯示版本的著作權訊息以及基本的使用說明。", "walkthrough.windows.note2": "備註", - "walkthrough.windows.note2.text": "若要從命令列或 VS Code 使用 MSVC,您必須從 {0} 執行。一般殼層,例如 {1}、{2} 或 Windows 命令提示字元,沒有設定必要的路徑環境變數集。", - "walkthrough.windows.command.prompt.name2": "VS 的開發人員命令提示" -} \ No newline at end of file + "walkthrough.windows.note2.text": "若要從命令列或 VS Code 使用 MSVC,您必須從 {0} 執行。一般殼層,例如 {1}、{2} 或 Windows 命令提示字元,沒有設定必要的路徑環境變數集。" +} diff --git a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 17bc7b24d1..6465ba0ee3 100644 --- a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,12 +10,10 @@ "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.open.command.prompt": "在 Windows [開始] 功能表中輸入 '{1}',以開啟 {0}。", + "walkthrough.windows.check.install": "將 {0} 輸入 {1},以檢查您的 Microsoft Visual C++ 安裝。畫面會顯示版本的著作權訊息以及基本的使用說明。", "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) ", diff --git a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 17bc7b24d1..6465ba0ee3 100644 --- a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,12 +10,10 @@ "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.open.command.prompt": "在 Windows [開始] 功能表中輸入 '{1}',以開啟 {0}。", + "walkthrough.windows.check.install": "將 {0} 輸入 {1},以檢查您的 Microsoft Visual C++ 安裝。畫面會顯示版本的著作權訊息以及基本的使用說明。", "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) ", diff --git a/Extension/i18n/csy/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/csy/c_cpp_properties.schema.json.i18n.json index 0ef15f8f1f..c541a29b81 100644 --- a/Extension/i18n/csy/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/csy/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "Argumenty kompilátoru pro úpravu použitých zahrnutí nebo definic, například `-nostdinc++`, `-m32` atd. Argumenty, které přijímají další argumenty oddělené mezerou, by se měly zadat jako samostatné argumenty v poli, například pro `--sysroot ` použijte `\"--sysroot\", \"\"`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Verze standardu jazyka C, která se použije pro IntelliSense. Poznámka: Standardy GNU se používají jen k odeslání dotazu nastavenému kompilátoru, aby se získaly definice GNU. IntelliSense bude emulovat ekvivalentní verzi standardu C.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Verze standardu jazyka C++, která se použije pro IntelliSense. Poznámka: Standardy GNU se používají jen k odeslání dotazu nastavenému kompilátoru, aby se získaly definice GNU. IntelliSense bude emulovat ekvivalentní verzi standardu C++.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Úplná cesta k souboru `compile_commands.json` pro pracovní prostor.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Úplná cesta nebo seznam úplných cest k souborům `compile_commands.json` pracovního prostoru", "c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Seznam cest, které modul IntelliSense použije při hledání zahrnutých hlaviček. Hledání v těchto cestách není rekurzivní. Pokud chcete zapnout rekurzivní hledání, zadejte `**`. Například při zadání `${workspaceFolder}/**` se bude hledat ve všech podadresářích, zatímco při zadání `${workspaceFolder}` nebude. Obvykle by se neměly zahrnovat systémové vložené soubory. Místo toho nastavte `C_Cpp.default.compilerPath`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Seznam cest pro modul IntelliSense, který se použije při hledání zahrnutých hlaviček z architektur Mac. Podporuje se jen pro konfiguraci pro Mac.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Verze cesty pro vložené soubory sady Windows SDK, která se má použít ve Windows, např. `10.0.17134.0`.", diff --git a/Extension/i18n/csy/package.i18n.json b/Extension/i18n/csy/package.i18n.json index 1bb35f3878..41d26e7e42 100644 --- a/Extension/i18n/csy/package.i18n.json +++ b/Extension/i18n/csy/package.i18n.json @@ -7,7 +7,7 @@ "c_cpp.subheaders.intelliSense.title": "IntelliSense", "c_cpp.subheaders.formatting.title": "Formátování", "c_cpp.subheaders.codeDocumentation.title": "Dokumentace ke kódu", - "c_cpp.subheaders.codeAnalysis.title": "Code Analysis", + "c_cpp.subheaders.codeAnalysis.title": "Analýza kódu", "c_cpp.subheaders.debugging.title": "Ladění", "c_cpp.subheaders.resourceManagement.title": "Správa prostředků", "c_cpp.subheaders.miscellaneous.title": "Různé", @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "Zobrazení možnosti Vymazat vše (pokud existuje více typů problémů), Vymazat všechny (pokud existuje více problémů pro ) a Vymazat tento kód", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "Pokud je hodnota `true`, formátování se spustí na řádcích změněných akcemi kódu 'Opravit'.", "c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "Pokud je hodnota `true`, analýza kódu s `clang-tidy` se povolí a spustí po otevření nebo uložení souboru, pokud je `#C_Cpp.codeAnalysis.runAutomatically#` nastaveno na `true` (výchozí).", - "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Úplná cesta ke spustitelnému souboru `clang-tidy`. Pokud se nespecifikuje a `clang-tidy` je k dispozici na cestě prostředí, použije se. Pokud se na cestě prostředí nenajde, použije se kopie `clang-tidy`, která se dodává spolu s rozšířením.", + "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Úplná cesta ke spustitelnému souboru `clang-tidy`. Pokud se nezadá a v cestě prostředí je k dispozici `clang-tidy`, použije se, pokud verze, která je součástí rozšíření, není novější. Pokud se v cestě prostředí nenajde, použije se `clang-tidy`, který je součástí rozšíření.", "c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "Určuje konfiguraci `clang-tidy` ve formátu YAML/JSON: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{key: x, value: y}]}`. Když je hodnota prázdná, `clang-tidy` se pokusí najít soubor s názvem `.clang-tidy` pro každý zdrojový soubor v jeho nadřazených adresářích.", "c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "Určuje konfiguraci `clang-tidy` ve formátu YAML/JSON, která se použije jako náhradní, když není nastavená konfigurace `#C_Cpp.codeAnalysis.clangTidy.config#` a nenašel se žádný soubor `.clang-tidy`: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{key: x, value: y}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Rozšířený regulární výraz POSIX (ERE) odpovídající názvům záhlaví pro výstup diagnostiky. Diagnostika z hlavního souboru každé jednotky překladu se vždy zobrazí. Proměnná `${workspaceFolder}` se podporuje (a používá se jako výchozí základní hodnota, pokud neexistuje žádný soubor `.clang-tidy`). Pokud tato možnost není `null` (prázdná), přepíše možnost `HeaderFilterRegex` v souboru `.clang-tidy`, pokud existuje.", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "Celý blok kódu, který se zadá na jednom řádku, zůstane na jednom řádku bez ohledu na hodnoty kteréhokoli nastavení `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "Jakýkoli kód, ve kterém se na jednom řádku zadají levá a pravá složená závorka, zůstane na jednom řádku bez ohledu na hodnoty kteréhokoli nastavení `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "Bloky kódu se budou vždy formátovat podle hodnot nastavení `C_Cpp.vcFormat.newLine.*`.", - "c_cpp.configuration.clang_format_path.markdownDescription": "Úplná cesta ke spustitelnému souboru `clang-format`. Pokud se nespecifikuje a `clang-format` je k dispozici na cestě prostředí, použije se. Pokud se na cestě prostředí nenajde, použije se kopie `clang-format`, která se dodává spolu s rozšířením.", + "c_cpp.configuration.clang_format_path.markdownDescription": "Úplná cesta ke spustitelnému souboru `clang-format`. Pokud se nezadá a v cestě prostředí je k dispozici `clang-format`, použije se, pokud verze, která je součástí rozšíření, není novější. Pokud se v cestě prostředí nenajde, použije se `clang-format`, který je součástí rozšíření.", "c_cpp.configuration.clang_format_style.markdownDescription": "Styl kódování, v současné době se podporuje: `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`. Pokud chcete načíst styl ze souboru `.clang-format` v aktuálním nebo nadřazeném adresáři, použijte možnost `file` nebo použijte `file:/.clang-format` k odkázání na konkrétní cestu. Pokud chcete zadat konkrétní parametry, použijte `{klíč: hodnota, ...}`. Například styl `Visual Studio` je podobný tomuto: `{ 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": "Název předdefinovaného stylu, který se použije jako záloha v případě, že se vyvolá `clang-format` se stylem `file`, ale nenajde se soubor `.clang-format`. Možné hodnoty jsou `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`, `none`, případně můžete použít `{klíč: hodnota, ...}` a nastavit konkrétní parametry. Například styl `Visual Studio` je podobný tomuto: `{ 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": "Pokud se nastaví, přepíše chování řazení vložených souborů určené parametrem `SortIncludes`.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "Dává rozšíření pokyn, kdy se při určování, které soubory se mají přidat do databáze navigace v kódu při průchodu cestami v poli `browse.path`, má používat nastavení `#files.exclude#` (a `#C_Cpp.files.exclude#`). Pokud vaše nastavení `#files.exclude#` obsahuje jen složky, `checkFolders` je nejlepší volbou, která zvýší rychlost, jakou rozšíření může inicializovat databázi navigace v kódu.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "Filtry vyloučení se vyhodnotí pro každou složku jen jednou (jednotlivé soubory se nekontrolují).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "Filtry vyloučení se vyhodnotí pro každý soubor a složku, které se vyskytnou.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Znak, který se použije jako oddělovač cest pro výsledky automatického dokončení direktiv `#include`", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Znak použitý jako oddělovač cesty pro generované uživatelské cesty", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Když se tato možnost nastaví na `true`, popisky ovládacích prvků po najetí myší a automatické dokončování budou zobrazovat jen určité popisky strukturovaných komentářů. Jinak se budou zobrazovat všechny komentáře.", "c_cpp.configuration.doxygen.generateOnType.description": "Určuje, jestli se má po zadání zvoleného stylu komentáře automaticky vložit komentář Doxygen.", "c_cpp.configuration.doxygen.generatedStyle.description": "Řetězec znaků použitý jako počáteční řádek komentáře Doxygen.", @@ -253,6 +253,7 @@ "c_cpp.configuration.hover.description": "Pokud je tato možnost zakázaná, podrobnosti o najetí myší už nebude poskytovat jazykový server.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "Povolte integrační služby pro [správce závislostí vcpkg](https://aka.ms/vcpkg/).", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "Pokud existují závislosti, přidejte cesty pro zahrnuté soubory z `nan` a `node-addon-api`.", + "c_cpp.configuration.copilotHover.markdownDescription": "Pokud je tato možnost `disabled`, v hoveru se nezobrazí žádné informace Copilot.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Když se tato hodnota nastaví na `true`, operace Přejmenovat symbol bude vyžadovat platný identifikátor C/C++.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Pokud je hodnota `true`, automatické dokončování automaticky přidá za volání funkcí znak `(`. V takovém případě se může přidat i znak `)`, což záleží na hodnotě nastavení `#editor.autoClosingBrackets#`.", "c_cpp.configuration.filesExclude.markdownDescription": "Nakonfigurujte vzory glob pro vyloučení složek (a souborů, pokud se změní `#C_Cpp.exclusionPolicy#`). Ty jsou specifické pro rozšíření C/C++ a doplňují `#files.exclude#`, ale na rozdíl od `#files.exclude#` platí také pro cesty mimo aktuální složku pracovního prostoru a neodebírají se ze zobrazení Průzkumníka. Přečtěte si další informace o [vzorech glob](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", @@ -427,8 +428,8 @@ "c_cpp.walkthrough.create.cpp.file.title": "Vytvoření souboru C++", "c_cpp.walkthrough.create.cpp.file.description": "[Otevřete](command:toSide:workbench.action.files.openFile) nebo [vytvořte](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) soubor C++. Nezapomeňte ho uložit s příponou .cpp, například „helloworld.cpp“. \n[Vytvořte soubor C++](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", "c_cpp.walkthrough.create.cpp.file.altText": "Otevřete soubor C++ nebo složku s projektem C++.", - "c_cpp.walkthrough.command.prompt.title": "Spustit z příkazového řádku vývojáře", - "c_cpp.walkthrough.command.prompt.description": "Při použití kompilátoru Microsoft Visual Studio C++ vyžaduje rozšíření C++ spuštění VS Code z příkazového řádku vývojáře. Postupujte podle pokynů na pravé straně a spusťte ho znovu.\n [Znovu načíst okno](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": "Spustit z Developer Command Prompt for VS", + "c_cpp.walkthrough.command.prompt.description": "Při použití kompilátoru Microsoft Visual Studio C++ vyžaduje rozšíření C++ spuštění VS Code z Developer Command Prompt for VS. Postupujte podle pokynů na pravé straně a spusťte ho znovu.\n[Znovu načíst okno](command:workbench.action.reloadWindow)", "c_cpp.walkthrough.run.debug.title": "Spuštění a ladění souboru C++", "c_cpp.walkthrough.run.debug.mac.description": "Otevřete soubor C++ a klikněte na tlačítko přehrát v pravém horním rohu editoru nebo stiskněte klávesu F5, když jste na souboru. Pokud chcete spustit s ladicím programem, vyberte clang++ – Sestavit a ladit aktivní soubor.", "c_cpp.walkthrough.run.debug.linux.description": "Otevřete soubor C++ a klikněte na tlačítko přehrát v pravém horním rohu editoru nebo stiskněte klávesu F5, když jste na souboru. Pokud chcete spustit s ladicím programem, vyberte g++ – Sestavit a ladit aktivní soubor.", diff --git a/Extension/i18n/csy/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/csy/src/Debugger/configurationProvider.i18n.json index f7c472f9d7..bfb11b6ba0 100644 --- a/Extension/i18n/csy/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/csy/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "Nepovedlo se najít ladicí program {0}. Konfigurace ladění pro {1} se ignoruje.", "build.and.debug.active.file": "sestavit a ladit aktivní soubor", - "cl.exe.not.available": "Sestavení a ladění {0} je k dispozici jen v případě, že se nástroj VS Code spustil z nástroje Developer Command Prompt pro VS.", + "cl.exe.not.available": "{0} se dá použít jenom v případě, že se VS Code spouští z nástroje {1}.", "lldb.find.failed": "Chybí závislosti {0} pro spustitelný soubor lldb-mi.", "lldb.search.paths": "Prohledáno:", "lldb.install.help": "Pokud chcete tento problém vyřešit, buď nainstalujte XCode přes obchod Apple App Store, nebo v okně terminálu spusťte {0}, aby se nainstalovaly nástroje příkazového řádku XCode.", @@ -38,9 +38,9 @@ "incorrect.files.type.copyFile": "„files“ musí být řetězec nebo pole řetězců v {0} krocích.", "missing.properties.ssh": "Pro kroky ssh se vyžadují \"host\" a \"command\".", "missing.properties.shell": "Pro kroky prostředí se vyžaduje příkaz command.", - "deploy.step.type.not.supported": "Typ kroku nasazení{0}se nepodporuje.", + "deploy.step.type.not.supported": "Typ kroku nasazení {0} se nepodporuje.", "unexpected.os": "Neočekávaný typ operačního systému", "path.to.pipe.program": "úplná cesta k programu kanálu, třeba {0}", "enable.pretty.printing": "Povolit přehledný výpis pro {0}", "enable.intel.disassembly.flavor": "Nastavte variantu zpětného překladu na {0}." -} \ No newline at end of file +} diff --git a/Extension/i18n/csy/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/csy/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..c3965738d0 --- /dev/null +++ b/Extension/i18n/csy/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Vygenerovat souhrn Copilotu", + "copilot.disclaimer": "Obsah vygenerovaný umělou inteligencí může být nesprávný." +} \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/configurations.i18n.json b/Extension/i18n/csy/src/LanguageServer/configurations.i18n.json index 97877dc7a6..29757d38e7 100644 --- a/Extension/i18n/csy/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/csy/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "Cesta není soubor: {0}", "path.is.not.a.directory": "Cesta není adresář: {0}", "duplicate.name": "{0} je duplicitní. Název konfigurace by měl být jedinečný.", - "cannot.find2": "Nejde najít {0}.", "multiple.paths.not.allowed": "Více cest není povoleno.", + "multiple.paths.should.be.separate.entries": "Více cest by mělo být samostatné položky v poli.", "paths.are.not.directories": "Cesty nejsou adresáře: {0}" } \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/csy/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/csy/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/extension.i18n.json b/Extension/i18n/csy/src/LanguageServer/extension.i18n.json index 8396eb9c42..114ba9c5a8 100644 --- a/Extension/i18n/csy/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/csy/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "Opravu analýzy kódu nelze použít, protože dokument byl změněn.", "prerelease.message": "K dispozici je předběžná verze rozšíření C/C++. Chcete na ni přepnout?", "yes.button": "Ano", - "no.button": "Ne" + "no.button": "Ne", + "copilot.hover.unavailable": "Souhrn Copilot není k dispozici.", + "copilot.hover.excluded": "Soubor obsahující definici nebo deklaraci tohoto symbolu se vyloučil z použití s Copilotem.", + "copilot.hover.unavailable.symbol": "Souhrn Copilot není pro tento symbol k dispozici.", + "copilot.hover.error": "Při generování souhrnu Copilotu došlo k chybě." } \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/csy/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/csy/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/csy/src/SSH/sshCommandRunner.i18n.json b/Extension/i18n/csy/src/SSH/sshCommandRunner.i18n.json index 619eb1c926..2d1c795aed 100644 --- a/Extension/i18n/csy/src/SSH/sshCommandRunner.i18n.json +++ b/Extension/i18n/csy/src/SSH/sshCommandRunner.i18n.json @@ -6,7 +6,7 @@ { "ssh.canceled": "Příkaz SSH je zrušený", "ssh.passphrase.input.box": "Zadejte heslo pro klíč SSH {0}", - "ssh.enter.password.for.user": "Zadejte heslo pro uživatele{0}", + "ssh.enter.password.for.user": "Zadejte heslo pro uživatele {0}", "ssh.message.enter.password": "Zadejte heslo", "ssh.continue.confirmation.placeholder": "Opravdu chcete pokračovat?", "ssh.host.key.confirmation.title": "{0} má otisk prstu {1}.", @@ -15,6 +15,6 @@ "ssh.terminal.command.canceled": "Příkaz terminálu \"{0}\" byl zrušen.", "ssh.terminal.command.done": "\"{0}\" příkaz terminálu je hotový.", "ssh.continuing.command.canceled": "Úloha '{0}' je zrušená, ale podkladový příkaz nemusí být ukončen. Zkontrolujte to prosím ručně.", - "ssh.process.failed": "Proces{0}se nezdařil: {1}", + "ssh.process.failed": "Proces {0} se nezdařil: {1}", "ssh.wrote.data.to.terminal": "\"{0}\" zapsal data do terminálu: \"{1}\"." -} \ No newline at end of file +} diff --git a/Extension/i18n/csy/src/nativeStrings.i18n.json b/Extension/i18n/csy/src/nativeStrings.i18n.json index 54cc7e5c70..458c05b87f 100644 --- a/Extension/i18n/csy/src/nativeStrings.i18n.json +++ b/Extension/i18n/csy/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "Nepovedlo se poslat dotaz na kompilátor. Probíhá návrat k 64bitovému režimu intelliSenseMode.", "fallback_to_no_bitness": "Nepovedlo se poslat dotaz na kompilátor. Probíhá návrat k režimu bez bitové verze.", "intellisense_client_creation_aborted": "Vytváření klienta IntelliSense se přerušilo: {0}", - "include_errors_config_provider_intellisense_disabled ": "Na základě informací z nastavení configurationProvider se zjistily chyby direktivy #include. Funkce IntelliSense pro tuto jednotku překladu ({0}) bude poskytovat Tag Parser.", - "include_errors_config_provider_squiggles_disabled ": "Na základě informací z nastavení configurationProvider se zjistily chyby direktivy #include. Pro tuto jednotku překladu ({0}) se zakázaly vlnovky.", + "include_errors_config_provider_intellisense_disabled": "Na základě informací z nastavení configurationProvider se zjistily chyby direktivy #include. Funkce IntelliSense pro tuto jednotku překladu ({0}) bude poskytovat Tag Parser.", + "include_errors_config_provider_squiggles_disabled": "Na základě informací z nastavení configurationProvider se zjistily chyby direktivy #include. Pro tuto jednotku překladu ({0}) se zakázaly vlnovky.", "preprocessor_keyword": "klíčové slovo preprocesoru", "c_keyword": "Klíčové slovo jazyka C", "cpp_keyword": "Klíčové slovo jazyka C++", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "Funkce by musela vracet hodnotu pomocí odkazu. Kód C nemůže vracet odkazy.", "refactor_extract_xborder_jump": "Přecházení mezi vybraným kódem a okolním kódem jsou k dispozici.", "refactor_extract_missing_return": "Ve vybraném kódu se některé cesty ovládacího prvku ukončují bez nastavení návratové hodnoty. To se podporuje jenom u skalárních, numerických a ukazovacích návratových typů.", - "expand_selection": "Rozbalit výběr (pro povolení možnosti Extrahovat do funkce)" + "expand_selection": "Rozbalit výběr (pro povolení možnosti Extrahovat do funkce)", + "file_not_found_in_path2": "V souborech compile_commands.json se nepovedlo najít {0}. Pro tento soubor se místo toho použije includePath ze souboru c_cpp_properties.json ve složce {1}.", + "copilot_hover_link": "Vygenerovat souhrn Copilotu" } \ No newline at end of file diff --git a/Extension/i18n/csy/ui/settings.html.i18n.json b/Extension/i18n/csy/ui/settings.html.i18n.json index 95b595df8e..c5a9372dd7 100644 --- a/Extension/i18n/csy/ui/settings.html.i18n.json +++ b/Extension/i18n/csy/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "Konfigurace tečky", "dot.config.description": "Cesta k souboru .config vytvořenému systémem Kconfig. Systém Kconfig vygeneruje soubor se všemi definicemi pro sestavení projektu. Příkladem projektů, které používají systém Kconfig, jsou Linux Kernel a NuttX RTOS.", "compile.commands": "Příkazy kompilace", - "compile.commands.description": "Úplná cesta k souboru {0} pro pracovní prostor. Cesty pro vložené soubory a direktivy define v tomto souboru se použijí namísto hodnot nastavených pro nastavení {1} a {2}. Pokud databáze příkazů pro kompilaci neobsahuje položku pro jednotku překladu, která odpovídá souboru otevřenému v editoru, zobrazí se zpráva upozornění a rozšíření místo toho použije nastavení {3} a {4}.", + "compile.commands.description": "Seznam cest k {0} souborům pro pracovní prostor. Cesty pro vložené soubory a direktivy define v těchto souborech se použijí namísto hodnot nastavených pro nastavení {1} a {2}. Pokud databáze příkazů pro kompilaci neobsahuje položku pro jednotku překladu, která odpovídá souboru otevřenému v editoru, zobrazí se zpráva upozornění a rozšíření místo toho použije nastavení {3} a {4}.", + "one.compile.commands.path.per.line": "Jedna cesta příkazů kompilace na řádek", "merge.configurations": "Sloučit konfigurace", "merge.configurations.description": "Pokud je tato možnost {0} (nebo zaškrtnutá), sloučí cesty k zahrnutým souborům, direktivy define a vynucená zahrnutí s těmi od poskytovatele konfigurace.", "browse.path": "Procházení: cesta", diff --git a/Extension/i18n/csy/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/csy/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index f1dc14fc6b..60a0d692e0 100644 --- a/Extension/i18n/csy/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/csy/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "walkthrough.windows.title.open.dev.command.prompt": "Opětovné spuštění pomocí příkazového řádku pro vývojáře", - "walkthrough.windows.background.dev.command.prompt": " Používáte počítač s Windows s kompilátorem MVSC, takže musíte spustit VS Code z příkazového řádku vývojáře, aby se všechny proměnné prostředí správně nastavily. Opětovné spuštění pomocí příkazového řádku vývojáře:", - "walkthrough.open.command.prompt": "Otevřete Developer Command Prompt pro VS zadáním \"developer\" v nabídka Start Windows. Vyberte Developer Command Prompt pro VS, který automaticky přejde do aktuální otevřené složky.", - "walkthrough.windows.press.f5": "Do příkazového řádku zadejte „code“ a stiskněte Enter. Mělo by se znovu spustit VS Code a vrátit se k tomuto názorném postupu. " + "walkthrough.windows.title.open.dev.command.prompt": "Znovu spustit pomocí {0}", + "walkthrough.windows.background.dev.command.prompt": " Používáte počítač s Windows s kompilátorem MVSC, takže musíte spustit VS Code z {0}, aby se všechny proměnné prostředí správně nastavily. Opětovné spuštění pomocí nástroje {1}:", + "walkthrough.open.command.prompt": "Otevřete {0} zadáním „{1}“ v nabídce Start ve Windows. Vyberte {2}, čímž automaticky přejdete do aktuální otevřené složky.", + "walkthrough.windows.press.f5": "Do příkazového řádku zadejte „{0}“ a stiskněte Enter. Mělo by se znovu spustit VS Code a vrátit se k tomuto názorném postupu. " } \ No newline at end of file diff --git a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index 1ab43c76b6..c9aa88d37d 100644 --- a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "Nainstalovat", "walkthrough.windows.note1": "Poznámka", "walkthrough.windows.note1.text": "Můžete použít sadu nástrojů C++ z Visual Studio Build Tools spolu s Visual Studio Code ke kompilaci, sestavení a ověření jakékoli kódové báze C++, pokud máte také platnou licenci Visual Studio (buď Community, Pro nebo Enterprise), kterou aktivně používáte k vývoji kódové báze C++.", - "walkthrough.windows.open.command.prompt": "Otevřete {0} zadáním příkazu „developer“ do nabídky Start systému Windows.", - "walkthrough.windows.command.prompt.name1": "Developer Command Prompt for VS", - "walkthrough.windows.check.install": "MSVC instalaci zkontrolujte tak, že zadáte {0} do Developer Command Prompt for VS. Měla by se zobrazit zpráva o autorských právech v popisu verze a základního použití.", + "walkthrough.windows.open.command.prompt": "Otevřete ho {0} zadáním „{1}“ v nabídce Start ve Windows.", + "walkthrough.windows.check.install": "Zkontrolujte instalaci MSVC zadáním {0} do nástroje {1}. Měla by se zobrazit zpráva o autorských právech v popisu verze a základního použití.", "walkthrough.windows.note2": "Poznámka", - "walkthrough.windows.note2.text": "Pokud chcete použít MSVC z příkazového řádku nebo VS Code, musíte spouštět z {0}. Běžné prostředí, jako je {1}, {2} nebo příkazový řádek Windows, nemá nastavenou nezbytnou proměnnou prostředí cesty.", - "walkthrough.windows.command.prompt.name2": "Developer Command Prompt for VS" -} + "walkthrough.windows.note2.text": "Pokud chcete použít MSVC z příkazového řádku nebo VS Code, musíte spouštět z {0}. Běžné prostředí, jako je {1}, {2} nebo příkazový řádek Windows, nemá nastavenou nezbytnou proměnnou prostředí cesty." +} \ No newline at end of file diff --git a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 8e1973951e..e18dd4d350 100644 --- a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,14 +10,12 @@ "walkthrough.windows.note1": "Poznámka", "walkthrough.windows.note1.text": "Můžete použít sadu nástrojů C++ z Visual Studio Build Tools spolu s Visual Studio Code ke kompilaci, sestavení a ověření jakékoli kódové báze C++, pokud máte také platnou licenci Visual Studio (buď Community, Pro nebo Enterprise), kterou aktivně používáte k vývoji kódové báze C++.", "walkthrough.windows.verify.compiler": "Ověřování instalace kompilátoru", - "walkthrough.windows.open.command.prompt": "Otevřete {0} zadáním příkazu „developer“ do nabídky Start systému Windows.", - "walkthrough.windows.command.prompt.name1": "Developer Command Prompt for VS", - "walkthrough.windows.check.install": "MSVC instalaci zkontrolujte tak, že zadáte {0} do Developer Command Prompt for VS. Měla by se zobrazit zpráva o autorských právech v popisu verze a základního použití.", + "walkthrough.windows.open.command.prompt": "Otevřete ho {0} zadáním „{1}“ v nabídce Start ve Windows.", + "walkthrough.windows.check.install": "Zkontrolujte instalaci MSVC zadáním {0} do nástroje {1}. Měla by se zobrazit zpráva o autorských právech v popisu verze a základního použití.", "walkthrough.windows.note2": "Poznámka", "walkthrough.windows.note2.text": "Pokud chcete použít MSVC z příkazového řádku nebo VS Code, musíte spouštět z {0}. Běžné prostředí, jako je {1}, {2} nebo příkazový řádek Windows, nemá nastavenou nezbytnou proměnnou prostředí cesty.", - "walkthrough.windows.command.prompt.name2": "Developer Command Prompt for VS", "walkthrough.windows.other.compilers": "Další možnosti kompilátoru", "walkthrough.windows.text3": "Pokud cílíte na Linux z Windows, podívejte se na {0}. Nebo můžete {1}.", "walkthrough.windows.link.title1": "Použití C++ a subsystému Windows pro Linux (WSL) ve VS Code", "walkthrough.windows.link.title2": "instalovat GCC na Windows pomocí MinGW" -} +} \ No newline at end of file diff --git a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 8e1973951e..e18dd4d350 100644 --- a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,14 +10,12 @@ "walkthrough.windows.note1": "Poznámka", "walkthrough.windows.note1.text": "Můžete použít sadu nástrojů C++ z Visual Studio Build Tools spolu s Visual Studio Code ke kompilaci, sestavení a ověření jakékoli kódové báze C++, pokud máte také platnou licenci Visual Studio (buď Community, Pro nebo Enterprise), kterou aktivně používáte k vývoji kódové báze C++.", "walkthrough.windows.verify.compiler": "Ověřování instalace kompilátoru", - "walkthrough.windows.open.command.prompt": "Otevřete {0} zadáním příkazu „developer“ do nabídky Start systému Windows.", - "walkthrough.windows.command.prompt.name1": "Developer Command Prompt for VS", - "walkthrough.windows.check.install": "MSVC instalaci zkontrolujte tak, že zadáte {0} do Developer Command Prompt for VS. Měla by se zobrazit zpráva o autorských právech v popisu verze a základního použití.", + "walkthrough.windows.open.command.prompt": "Otevřete ho {0} zadáním „{1}“ v nabídce Start ve Windows.", + "walkthrough.windows.check.install": "Zkontrolujte instalaci MSVC zadáním {0} do nástroje {1}. Měla by se zobrazit zpráva o autorských právech v popisu verze a základního použití.", "walkthrough.windows.note2": "Poznámka", "walkthrough.windows.note2.text": "Pokud chcete použít MSVC z příkazového řádku nebo VS Code, musíte spouštět z {0}. Běžné prostředí, jako je {1}, {2} nebo příkazový řádek Windows, nemá nastavenou nezbytnou proměnnou prostředí cesty.", - "walkthrough.windows.command.prompt.name2": "Developer Command Prompt for VS", "walkthrough.windows.other.compilers": "Další možnosti kompilátoru", "walkthrough.windows.text3": "Pokud cílíte na Linux z Windows, podívejte se na {0}. Nebo můžete {1}.", "walkthrough.windows.link.title1": "Použití C++ a subsystému Windows pro Linux (WSL) ve VS Code", "walkthrough.windows.link.title2": "instalovat GCC na Windows pomocí MinGW" -} +} \ No newline at end of file diff --git a/Extension/i18n/deu/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/deu/c_cpp_properties.schema.json.i18n.json index 03f6cf1191..c705783968 100644 --- a/Extension/i18n/deu/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/deu/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "Compilerargumente zum Ändern der verwendeten Include- oder Define-Anweisungen, z. B.: `-nostdinc++`, `-m32` usw. Argumente, die zusätzliche durch Leerzeichen getrennte Argumente enthalten, sollten als separate Argumente in das Array eingegeben werden, z. B. für `--sysroot ` `\"--sysroot\", \"\"` verwenden.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Version des C-Sprachstandards, die für IntelliSense verwendet werden soll. Hinweis: GNU-Standards werden nur zum Abfragen des festgelegten Compilers zum Abrufen von GNU-Definitionen verwendet, und IntelliSense emuliert die äquivalente Version des C-Standards.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Version des C++-Sprachstandards, die für IntelliSense verwendet werden soll. Hinweis: GNU-Standards werden nur zum Abfragen des festgelegten Compilers zum Abrufen von GNU-Definitionen verwendet, und IntelliSense emuliert die äquivalente Version des C++-Standards.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Vollständiger Pfad zur Datei `compile_commands.json` für den Arbeitsbereich.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Vollständiger Pfad oder eine Liste mit vollständigen Pfaden zu `compile_commands.json` Dateien für den Arbeitsbereich.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Eine Liste mit Pfaden, die das IntelliSense-Modul bei der Suche nach eingeschlossenen Headern verwenden soll. Die Suche in diesen Pfaden ist nicht rekursiv. Geben Sie `**` an, um eine rekursive Suche durchzuführen. Beispiel: `${workspaceFolder}/**` durchsucht alle Unterverzeichnisse, `${workspaceFolder}` hingegen nicht. In der Regel sollte dies keine System-Includes enthalten; legen Sie stattdessen `C_Cpp.default.compilerPath` fest.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Eine Liste von Pfaden für die IntelliSense-Engine, die bei der Suche nach eingeschlossenen Headern aus Mac-Frameworks verwendet werden sollen. Wird nur für die Mac-Konfiguration unterstützt.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Die Version des Windows SDK-Includepfads für die Verwendung unter Windows, z. B. `10.0.17134.0`.", diff --git a/Extension/i18n/deu/package.i18n.json b/Extension/i18n/deu/package.i18n.json index b90b323549..f058273cd7 100644 --- a/Extension/i18n/deu/package.i18n.json +++ b/Extension/i18n/deu/package.i18n.json @@ -39,7 +39,7 @@ "c_cpp.command.RunCodeAnalysisOnActiveFile.title": "Codeanalyse für aktive Dateien ausführen", "c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "Codeanalyse für geöffnete Dateien ausführen", "c_cpp.command.RunCodeAnalysisOnAllFiles.title": "Codeanalyse für alle Dateien ausführen", - "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Alle Code Analysis Probleme löschen", + "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Alle Codeanalyseprobleme löschen", "c_cpp.command.BuildAndDebugFile.title": "C/C++-Datei debuggen", "c_cpp.command.BuildAndRunFile.title": "C/C++-Datei ausführen", "c_cpp.command.AddDebugConfiguration.title": "Debugkonfiguration hinzufügen", @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "Zeigen Sie die Codeaktionen „Alle löschen“ (wenn mehrere Problemtypen vorhanden sind), „Alle löschen“ (wenn mehrere Probleme für den vorhanden sind) und „Diese löschen“ an.", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "Bei `true` wird die Formatierung in den Zeilen ausgeführt, die durch Codeaktionen vom Typ 'Korrigieren' geändert wurden.", "c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "Bei `true` wird die Codeanalyse mit `clang-tidy` aktiviert und nach dem Öffnen oder Speichern einer Datei ausgeführt, wenn `#C_Cpp.codeAnalysis.runAutomatically#` auf `true` festgelegt ist (Standardeinstellung).", - "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Der vollständige Pfad der ausführbaren Datei `clang-tidy`. Wenn nicht angegeben, ist `clang-tidy` im verwendeten Umgebungspfad verfügbar. Wenn der Umgebungspfad nicht gefunden wird, wird die `clang-tidy` verwendet, die mit der Erweiterung gebündelt ist.", + "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Der vollständige Pfad der ausführbaren Datei `clang-tidy`. Wenn dieser nicht angegeben wird und `clang-tidy` im verwendeten Umgebungspfad verfügbar ist, wird dieser verwendet, sofern keine neuere Version mit der Erweiterung gebündelt ist. Wenn der Umgebungspfad nicht gefunden wird, wird die `clang-tidy` verwendet, die mit der Erweiterung gebündelt ist.", "c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "Gibt eine `clang-tidy`-Konfiguration im YAML-/JSON-Format an: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{Schlüssel: x, Wert: y}]}`. Wenn der Wert leer ist, versucht `clang-tidy`, eine Datei namens `.clang-tidy` für jede Quelldatei in den übergeordneten Verzeichnissen zu finden.", "c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "Gibt eine `clang-tidy`-Konfiguration im YAML-/JSON-Format an, die als Fallback verwendet werden soll, wenn `#C_Cpp.codeAnalysis.clangTidy.config#` nicht festgelegt ist und keine `.clang-tidy`-Datei gefunden wird: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{Schlüssel: x, Wert: y}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Ein erweiterter regulärer POSIX-Ausdruck (Extended Regular Expression/ERE), der dem Namen der Header entspricht, aus denen die Diagnose ausgegeben werden soll. Diagnosen aus der Hauptdatei jeder Übersetzungseinheit werden immer angezeigt. Die Variable `${workspaceFolder}` wird unterstützt (und als standardmäßiger Fallbackwert benutzt, wenn keine `.clang-tidy`-Datei vorhanden ist). Wenn diese Option nicht `null` (leer) ist, überschreibt sie die Option `HeaderFilterRegex` in einer `.clang-tidy`-Datei, sofern vorhanden.", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "Ein vollständiger Codeblock, der in einer Zeile eingegeben wird, wird unabhängig von den Werten der Einstellungen für `C_Cpp.vcFormat.newLine.*` in einer Zeile beibehalten.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "Jeder Code, in dem die öffnende und schließende geschweifte Klammer in einer Zeile eingegeben wird, wird unabhängig von den Werten der Einstellungen für `C_Cpp.vcFormat.newLine.*` in einer Zeile beibehalten.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "Codeblöcke werden immer basierend auf den Werten der Einstellungen `C_Cpp.vcFormat.newLine.*` formatiert.", - "c_cpp.configuration.clang_format_path.markdownDescription": "Der vollständige Pfad der ausführbaren `clang-format`-Datei. Wenn dieser nicht angegeben wird und `clang-format` im verwendeten Umgebungspfad verfügbar ist. Wenn sie nicht im Umgebungspfad gefunden wird, wird die mit der Erweiterung gebündelte `clang-format`-Datei verwendet.", + "c_cpp.configuration.clang_format_path.markdownDescription": "Der vollständige Pfad der ausführbaren `clang-format` Datei. Wenn dieser nicht angegeben wird und `clang-format` im verwendeten Umgebungspfad verfügbar ist, wird dieser verwendet, sofern keine neuere Version mit der Erweiterung gebündelt ist. Wenn sie nicht im Umgebungspfad gefunden wird, wird die mit der Erweiterung gebündelte `clang-format` Datei verwendet.", "c_cpp.configuration.clang_format_style.markdownDescription": "Codierungsformat, unterstützt derzeit:`Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`. Verwenden Sie `file`, um das Format aus einer `.clang-format`-Datei im aktuellen oder übergeordneten Verzeichnis zu laden, oder verwenden Sie `file:/.clang-format`, um auf einen speziellen Pfad zu verweisen. Verwenden Sie `{Schlüssel: Wert, ...}`, um bestimmte Parameter festzulegen. Beispielsweise ähnelt das 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": "Name des vordefinierten Formats, das als Fallback verwendet wird, falls `clang-format` mit dem Format `file` aufgerufen wird, aber die `.clang-format`-Datei nicht gefunden wird. Mögliche Werte sind `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`, `none`, oder verwenden Sie `{Schlüssel: Wert, ...}`, um bestimmte Parameter festzulegen. Beispielsweise ähnelt das 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_sortIncludes.markdownDescription": "Wenn diese Option festgelegt ist, wird das durch den Parameter `SortIncludes` festgelegte Sortierverhalten für Includes überschrieben.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "Instruiert die Erweiterung, wann die Einstellung `#files.exclude#` (und `#C_Cpp.files.exclude#`) verwendet werden soll, wenn bestimmt wird, welche Dateien der Codenavigationsdatenbank beim Durchlaufen der Pfade im Array `browse.path` hinzugefügt werden sollen. Wenn Ihre Einstellung `#files.exclude#` nur Ordner enthält, ist `checkFolders` die beste Wahl und erhöht die Geschwindigkeit, mit der die Erweiterung die Codenavigationsdatenbank initialisieren kann.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "Die Ausschlussfilter werden nur einmal pro Ordner ausgewertet (einzelne Dateien werden nicht kontrolliert).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "Die Ausschlussfilter werden für jede gefundene Datei und jeden gefundenen Ordner ausgewertet.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Das Zeichen, das als Pfadtrennzeichen für die Ergebnisse der automatischen Vervollständigung `#include` verwendet wird.", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Das Zeichen, das als Pfadtrennzeichen für generierte Benutzerpfade verwendet wird.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Wenn `true` festgelegt ist, zeigen die QuickInfos für Draufzeigen und AutoVervollständigen nur bestimmte Bezeichnungen strukturierter Kommentare an. Andernfalls werden alle Kommentare angezeigt.", "c_cpp.configuration.doxygen.generateOnType.description": "Steuert, ob der Doxygenkommentar nach Eingabe des ausgewählten Kommentarstils automatisch eingefügt wird.", "c_cpp.configuration.doxygen.generatedStyle.description": "Die Zeichenfolge von Zeichen, die als Startzeile des Doxygen-Kommentars verwendet wird.", @@ -253,6 +253,7 @@ "c_cpp.configuration.hover.description": "Wenn diese Option deaktiviert ist, werden die Hoverdetails nicht mehr vom Sprachserver bereitgestellt.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "Hiermit aktivieren Sie Integrationsdienste für den [vcpkg-Abhängigkeitsmanager](https://aka.ms/vcpkg/).", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "Fügen Sie Includepfade aus `nan` und `node-addon-api` hinzu, wenn es sich um Abhängigkeiten handelt.", + "c_cpp.configuration.copilotHover.markdownDescription": "Wenn `disabled` festgelegt ist, werden beim Daraufzeigen mit der Maus keine Copilot-Informationen angezeigt.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Wenn `true` festgelegt ist, erfordert 'Symbol umbenennen' einen gültigen C/C++-Bezeichner.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Wenn `true` festgelegt ist, fügt AutoVervollständigen automatisch `(` nach Funktionsaufrufen hinzu. In diesem Fall kann auch `)` in Abhängigkeit vom Wert der Einstellung `#editor.autoClosingBrackets#` hinzugefügt werden.", "c_cpp.configuration.filesExclude.markdownDescription": "Konfigurieren Sie Globmuster zum Ausschließen von Ordnern (und Dateien, wenn `#C_Cpp.exclusionPolicy#` geändert wird). Diese sind spezifisch für die C/C++-Erweiterung und gelten zusätzlich zu `#files.exclude#`, aber im Gegensatz zu `#files.exclude#` gelten sie auch für Pfade außerhalb des aktuellen Arbeitsbereichsordners und werden nicht aus der Explorer-Ansicht entfernt. Weitere Informationen zu [Globmustern](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", @@ -427,8 +428,8 @@ "c_cpp.walkthrough.create.cpp.file.title": "C++-Datei erstellen", "c_cpp.walkthrough.create.cpp.file.description": "[Open](command:toSide:workbench.action.files.openFile) oder [create](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) eine C++-Datei. Speichern Sie die Datei unbedingt mit der Erweiterung \".cpp\", z. B. \"helloworld.cpp\". \n[C++-Datei erstellen](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", "c_cpp.walkthrough.create.cpp.file.altText": "Öffnen Sie eine C++-Datei oder einen Ordner mit einem C++-Projekt.", - "c_cpp.walkthrough.command.prompt.title": "Starten über die Developer-Eingabeaufforderung", - "c_cpp.walkthrough.command.prompt.description": "Wenn Sie den Microsoft Visual Studio C++-Compiler verwenden, erfordert die C++-Erweiterung, dass Sie VS Code über die Entwicklereingabeaufforderung starten. Befolgen Sie die Anweisungen auf der rechten Seite, um den Neustart zu starten.\n[Reload Window](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": "Von der Developer Command Prompt for VS starten", + "c_cpp.walkthrough.command.prompt.description": "Bei Verwendung des Microsoft Visual Studio C++-Compilers erfordert die C++-Erweiterung, dass Sie VS Code aus der Developer Command Prompt for VS starten. Befolgen Sie die Anweisungen auf der rechten Seite, um den Neustart zu starten.\n[Reload Window](command:workbench.action.reloadWindow)", "c_cpp.walkthrough.run.debug.title": "Ausführen und Debuggen Ihrer C++-Datei", "c_cpp.walkthrough.run.debug.mac.description": "Öffnen Sie Ihre C++-Datei, und klicken Sie in der oberen rechten Ecke des Editors auf die Wiedergabeschaltfläche, oder drücken Sie F5, wenn Sie die Datei verwenden. Wählen Sie \"clang++ – Aktive Datei erstellen und debuggen\" aus, die mit dem Debugger ausgeführt werden soll.", "c_cpp.walkthrough.run.debug.linux.description": "Öffnen Sie Ihre C++-Datei, und klicken Sie in der oberen rechten Ecke des Editors auf die Wiedergabeschaltfläche, oder drücken Sie F5, wenn Sie die Datei verwenden. Wählen Sie \"g++ – Aktive Datei erstellen und debuggen\" aus, die mit dem Debugger ausgeführt werden soll.", diff --git a/Extension/i18n/deu/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/deu/src/Debugger/configurationProvider.i18n.json index 378628c608..9b3e27e7fe 100644 --- a/Extension/i18n/deu/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/deu/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "Der {0}-Debugger wurde nicht gefunden. Die Debugkonfiguration für {1} wird ignoriert.", "build.and.debug.active.file": "Aktive Datei erstellen und debuggen", - "cl.exe.not.available": "{0}-Build und -Debuggen können nur verwendet werden, wenn VS Code von der Developer-Eingabeaufforderung für VS ausgeführt wird.", + "cl.exe.not.available": "{0} kann nur verwendet werden, wenn VS Code von {1} ausgeführt wird.", "lldb.find.failed": "Fehlende Abhängigkeit \"{0}\" für ausführbare LLDB-MI-Datei.", "lldb.search.paths": "Gesucht in:", "lldb.install.help": "Um dieses Problem zu beheben, installieren Sie entweder XCode über den Apple App Store, oder installieren Sie die XCode-Befehlszeilentools, indem Sie \"{0}\" in einem Terminalfenster ausführen.", diff --git a/Extension/i18n/deu/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/deu/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..85857d5841 --- /dev/null +++ b/Extension/i18n/deu/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Copilot-Zusammenfassung generieren", + "copilot.disclaimer": "KI-generierte Inhalte können falsch sein." +} \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/configurations.i18n.json b/Extension/i18n/deu/src/LanguageServer/configurations.i18n.json index 8c278a9d03..b61b045b30 100644 --- a/Extension/i18n/deu/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/deu/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "Der Pfad ist keine Datei: {0}", "path.is.not.a.directory": "Der Pfad ist kein Verzeichnis: {0}", "duplicate.name": "\"{0}\" ist ein Duplikat. Der Konfigurationsname muss eindeutig sein.", - "cannot.find2": "\"{0}\" wurde nicht gefunden.", "multiple.paths.not.allowed": "Mehrere Pfade sind nicht zulässig.", + "multiple.paths.should.be.separate.entries": "Mehrere Pfade müssen separate Einträge in einem Array sein.", "paths.are.not.directories": "Pfade sind keine Verzeichnisse: {0}" } \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/deu/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/deu/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/extension.i18n.json b/Extension/i18n/deu/src/LanguageServer/extension.i18n.json index 158b5119ab..45c9a387f6 100644 --- a/Extension/i18n/deu/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/deu/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "Der Codeanalysepatch konnte nicht angewendet werden, da sich das Dokument geändert hat.", "prerelease.message": "Eine Vorabversion der C/C++-Erweiterung ist verfügbar. Möchten Sie zu ihr wechseln?", "yes.button": "Ja", - "no.button": "Nein" + "no.button": "Nein", + "copilot.hover.unavailable": "Die Copilot-Zusammenfassung ist nicht verfügbar.", + "copilot.hover.excluded": "Die Datei, die die Definition oder Deklaration dieses Symbols enthält, wurde von der Verwendung mit Copilot ausgeschlossen.", + "copilot.hover.unavailable.symbol": "Die Copilot-Zusammenfassung ist für dieses Symbol nicht verfügbar.", + "copilot.hover.error": "Fehler beim Generieren der Copilot-Zusammenfassung." } \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/deu/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/deu/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/deu/src/nativeStrings.i18n.json b/Extension/i18n/deu/src/nativeStrings.i18n.json index 00418cfbfa..a8e1d314ba 100644 --- a/Extension/i18n/deu/src/nativeStrings.i18n.json +++ b/Extension/i18n/deu/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "Fehler beim Abfragen des Compilers. Es wird ein Fallback auf den 64-Bit-intelliSenseMode durchgeführt.", "fallback_to_no_bitness": "Fehler beim Abfragen des Compilers. Es wird ein Fallback auf keine Bitanzahl durchgeführt.", "intellisense_client_creation_aborted": "IntelliSense-Clienterstellung abgebrochen: {0}", - "include_errors_config_provider_intellisense_disabled ": "Basierend auf den von der configurationProvider-Einstellung bereitgestellten Informationen wurden #include-Fehler festgestellt. IntelliSense-Features für diese Übersetzungseinheit ({0}) werden vom Tagparser bereitgestellt.", - "include_errors_config_provider_squiggles_disabled ": "Basierend auf den von der configurationProvider-Einstellung bereitgestellten Informationen wurden #include-Fehler festgestellt. Wellenlinien sind für diese Übersetzungseinheit deaktiviert ({0}).", + "include_errors_config_provider_intellisense_disabled": "Basierend auf den von der configurationProvider-Einstellung bereitgestellten Informationen wurden #include-Fehler festgestellt. IntelliSense-Features für diese Übersetzungseinheit ({0}) werden vom Tagparser bereitgestellt.", + "include_errors_config_provider_squiggles_disabled": "Basierend auf den von der configurationProvider-Einstellung bereitgestellten Informationen wurden #include-Fehler festgestellt. Wellenlinien sind für diese Übersetzungseinheit deaktiviert ({0}).", "preprocessor_keyword": "Präprozessor-Schlüsselwort", "c_keyword": "C-Schlüsselwort", "cpp_keyword": "C++-Schlüsselwort", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "Die Funktion muss einen Wert durch Verweis zurückgeben. C-Code kann keine Verweise zurückgeben.", "refactor_extract_xborder_jump": "Es sind Sprünge zwischen dem ausgewählten und dem umgebenden Code vorhanden.", "refactor_extract_missing_return": "Im ausgewählten Code werden einige Steuerungspfade beendet, ohne den Rückgabewert festzulegen. Dies wird nur für skalare, numerische und Zeigerrückgabetypen unterstützt.", - "expand_selection": "Auswahl erweitern (um „In Funktion extrahieren“ zu aktivieren)" + "expand_selection": "Auswahl erweitern (um „In Funktion extrahieren“ zu aktivieren)", + "file_not_found_in_path2": "„{0}“ wurde in compile_commands.json-Dateien nicht gefunden. Stattdessen wird „includePath“ aus „c_cpp_properties.json“ im Ordner „{1}“ für diese Datei verwendet.", + "copilot_hover_link": "Copilot-Zusammenfassung generieren" } \ No newline at end of file diff --git a/Extension/i18n/deu/ui/settings.html.i18n.json b/Extension/i18n/deu/ui/settings.html.i18n.json index e0ea7a68f6..ce92077db6 100644 --- a/Extension/i18n/deu/ui/settings.html.i18n.json +++ b/Extension/i18n/deu/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "„dotConfig“", "dot.config.description": "Ein Pfad zu einer „.config“-Datei, die vom „Kconfig“-System erstellt wurde. Das „Kconfig“-System generiert eine Datei mit allen Definitionen zum Erstellen eines Projekts. Beispiele für Projekte, die das „Kconfig“-System verwenden, sind Linux-Kernel und NuttX-RTOS.", "compile.commands": "Kompilierungsbefehle", - "compile.commands.description": "Der vollständige Pfad zur {0}-Datei für den Arbeitsbereich. Die in dieser Datei ermittelten Includepfade und Define-Anweisungen werden anstelle der für die Einstellungen \"{1}\" und \"{2}\" festgelegten Werte verwendet. Wenn die Datenbank für Kompilierungsbefehle keinen Eintrag für die Übersetzungseinheit enthält, die der im Editor geöffneten Datei entspricht, wird eine Warnmeldung angezeigt, und die Erweiterung verwendet stattdessen die Einstellungen \"{3}\" und \"{4}\".", + "compile.commands.description": "Eine Liste der Pfade zum {0} Dateien für den Arbeitsbereich. Die in diesen Dateien ermittelten Includepfade und Define-Anweisungen werden anstelle der für die Einstellungen \"{1}\" und \"{2}\" festgelegten Werte verwendet. Wenn die Datenbank für Kompilierungsbefehle keinen Eintrag für die Übersetzungseinheit enthält, die der im Editor geöffneten Datei entspricht, wird eine Warnmeldung angezeigt, und die Erweiterung verwendet stattdessen die Einstellungen \"{3}\" und \"{4}\".", + "one.compile.commands.path.per.line": "Ein Kompilierungsbefehlspfad pro Zeile.", "merge.configurations": "Konfigurationen zusammenführen", "merge.configurations.description": "Wenn {0} (oder aktiviert) ist, schließen Sie Includepfade, Definitionen und erzwungene Includes mit denen eines Konfigurationsanbieters zusammen.", "browse.path": "Durchsuchen: Pfad", diff --git a/Extension/i18n/deu/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/deu/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index ced93729d1..03d07cc307 100644 --- a/Extension/i18n/deu/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/deu/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "walkthrough.windows.title.open.dev.command.prompt": "Neustart mithilfe der Developer-Eingabeaufforderung", - "walkthrough.windows.background.dev.command.prompt": " Sie verwenden einen Windows-Computer mit dem MSVC-Compiler. Sie müssen daher VS Code über die Entwicklereingabeaufforderung starten, damit alle Umgebungsvariablen ordnungsgemäß festgelegt werden. So starten Sie mithilfe der Entwicklereingabeaufforderung neu:", - "walkthrough.open.command.prompt": "Öffnen Sie die Developer-Eingabeaufforderung für VS, indem Sie im Windows Startmenü \"developer\" eingeben. Wählen Sie die Developer-Eingabeaufforderung für VS aus, die automatisch zu Ihrem aktuellen geöffneten Ordner navigiert.", - "walkthrough.windows.press.f5": "Geben Sie \"code\" in die Eingabeaufforderung ein, und drücken Sie die EINGABETASTE. Dies sollte VS Code neu starten und Sie zu dieser exemplarischen Vorgehensweise zurückkehren. " + "walkthrough.windows.title.open.dev.command.prompt": "Mit dem {0} neu starten", + "walkthrough.windows.background.dev.command.prompt": " Sie verwenden einen Windows-Computer mit dem MSVC-Compiler. Daher müssen Sie VS Code aus dem {0} starten, damit alle Umgebungsvariablen ordnungsgemäß festgelegt werden. So initiieren Sie den Neustart mithilfe von {1}:", + "walkthrough.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü „{1}“ eingeben. Wählen Sie {2} aus, das Sie automatisch zu Ihrem aktuell geöffneten Ordner navigiert.", + "walkthrough.windows.press.f5": "Geben Sie „{0}“ in die Eingabeaufforderung ein, und drücken Sie die EINGABETASTE. Dies sollte VS Code neu starten und Sie zu dieser exemplarischen Vorgehensweise zurückkehren. " } \ No newline at end of file diff --git a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index 5c6cd1e9d3..64054f7419 100644 --- a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "Installieren", "walkthrough.windows.note1": "Hinweis", "walkthrough.windows.note1.text": "Sie können das C++-Toolset aus Visual Studio Build Tools zusammen mit Visual Studio Code zum Kompilieren, Erstellen und Überprüfen von C++-Codebasis verwenden, sofern Sie auch über eine gültige Visual Studio-Lizenz (Community, Pro oder Enterprise) verfügen, die Sie aktiv zum Entwickeln dieser C++-Codebasis verwenden.", - "walkthrough.windows.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü \"Developer\" eingeben.", - "walkthrough.windows.command.prompt.name1": "Developer-Eingabeaufforderung für VS", - "walkthrough.windows.check.install": "Überprüfen Sie die MSVC-Installation, indem Sie {0} in die Developer-Eingabeaufforderung für VS eingeben. Es sollten ein Copyrighthinweis mit der Version und der grundlegenden Nutzungsbeschreibung angezeigt werden.", + "walkthrough.windows.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü „{1}“ eingeben.", + "walkthrough.windows.check.install": "Überprüfen Sie Ihre MSVC-Installation, indem Sie {0} in {1} eingeben. Es sollten ein Copyrighthinweis mit der Version und der grundlegenden Nutzungsbeschreibung angezeigt werden.", "walkthrough.windows.note2": "Hinweis", - "walkthrough.windows.note2.text": "Um MSVC mithilfe der Befehlszeile oder mit VS Code zu verwenden, müssen Sie von einem {0} aus ausführen. Für eine normale Shell wie {1}, {2} oder die Windows-Eingabeaufforderung sind die erforderlichen PATH-Umgebungsvariablen nicht festgelegt.", - "walkthrough.windows.command.prompt.name2": "Developer-Eingabeaufforderung für VS" + "walkthrough.windows.note2.text": "Um MSVC mithilfe der Befehlszeile oder mit VS Code zu verwenden, müssen Sie von einem {0} aus ausführen. Für eine normale Shell wie {1}, {2} oder die Windows-Eingabeaufforderung sind die erforderlichen PATH-Umgebungsvariablen nicht festgelegt." } \ No newline at end of file diff --git a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 83641b2766..664c7f9a30 100644 --- a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Hinweis", "walkthrough.windows.note1.text": "Sie können das C++-Toolset aus Visual Studio Build Tools zusammen mit Visual Studio Code zum Kompilieren, Erstellen und Überprüfen von C++-Codebasis verwenden, sofern Sie auch über eine gültige Visual Studio-Lizenz (Community, Pro oder Enterprise) verfügen, die Sie aktiv zum Entwickeln dieser C++-Codebasis verwenden.", "walkthrough.windows.verify.compiler": "Überprüfen der Compilerinstallation", - "walkthrough.windows.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü \"Developer\" eingeben.", - "walkthrough.windows.command.prompt.name1": "Developer-Eingabeaufforderung für VS", - "walkthrough.windows.check.install": "Überprüfen Sie die MSVC-Installation, indem Sie {0} in die Developer-Eingabeaufforderung für VS eingeben. Es sollten ein Copyrighthinweis mit der Version und der grundlegenden Nutzungsbeschreibung angezeigt werden.", + "walkthrough.windows.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü „{1}“ eingeben.", + "walkthrough.windows.check.install": "Überprüfen Sie Ihre MSVC-Installation, indem Sie {0} in {1} eingeben. Es sollten ein Copyrighthinweis mit der Version und der grundlegenden Nutzungsbeschreibung angezeigt werden.", "walkthrough.windows.note2": "Hinweis", "walkthrough.windows.note2.text": "Um MSVC mithilfe der Befehlszeile oder mit VS Code zu verwenden, müssen Sie von einem {0} aus ausführen. Für eine normale Shell wie {1}, {2} oder die Windows-Eingabeaufforderung sind die erforderlichen PATH-Umgebungsvariablen nicht festgelegt.", - "walkthrough.windows.command.prompt.name2": "Developer-Eingabeaufforderung für VS", "walkthrough.windows.other.compilers": "Andere Compileroptionen", "walkthrough.windows.text3": "Wenn Sie Linux aus Windows verwenden, lesen Sie {0}. Oder Sie können {1}.", "walkthrough.windows.link.title1": "Verwenden von C++ und Windows-Subsystem für Linux (WSL) in VS Code", diff --git a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 83641b2766..664c7f9a30 100644 --- a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Hinweis", "walkthrough.windows.note1.text": "Sie können das C++-Toolset aus Visual Studio Build Tools zusammen mit Visual Studio Code zum Kompilieren, Erstellen und Überprüfen von C++-Codebasis verwenden, sofern Sie auch über eine gültige Visual Studio-Lizenz (Community, Pro oder Enterprise) verfügen, die Sie aktiv zum Entwickeln dieser C++-Codebasis verwenden.", "walkthrough.windows.verify.compiler": "Überprüfen der Compilerinstallation", - "walkthrough.windows.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü \"Developer\" eingeben.", - "walkthrough.windows.command.prompt.name1": "Developer-Eingabeaufforderung für VS", - "walkthrough.windows.check.install": "Überprüfen Sie die MSVC-Installation, indem Sie {0} in die Developer-Eingabeaufforderung für VS eingeben. Es sollten ein Copyrighthinweis mit der Version und der grundlegenden Nutzungsbeschreibung angezeigt werden.", + "walkthrough.windows.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü „{1}“ eingeben.", + "walkthrough.windows.check.install": "Überprüfen Sie Ihre MSVC-Installation, indem Sie {0} in {1} eingeben. Es sollten ein Copyrighthinweis mit der Version und der grundlegenden Nutzungsbeschreibung angezeigt werden.", "walkthrough.windows.note2": "Hinweis", "walkthrough.windows.note2.text": "Um MSVC mithilfe der Befehlszeile oder mit VS Code zu verwenden, müssen Sie von einem {0} aus ausführen. Für eine normale Shell wie {1}, {2} oder die Windows-Eingabeaufforderung sind die erforderlichen PATH-Umgebungsvariablen nicht festgelegt.", - "walkthrough.windows.command.prompt.name2": "Developer-Eingabeaufforderung für VS", "walkthrough.windows.other.compilers": "Andere Compileroptionen", "walkthrough.windows.text3": "Wenn Sie Linux aus Windows verwenden, lesen Sie {0}. Oder Sie können {1}.", "walkthrough.windows.link.title1": "Verwenden von C++ und Windows-Subsystem für Linux (WSL) in VS Code", diff --git a/Extension/i18n/esn/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/esn/c_cpp_properties.schema.json.i18n.json index 93d0a6b0df..3c1fdbb4fa 100644 --- a/Extension/i18n/esn/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/esn/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "Argumentos del compilador para modificar las inclusiones o definiciones usadas, por ejemplo, `-nostdinc++`, `-m32`, etc. Los argumentos que toman argumentos adicionales delimitados por espacios deben especificarse como argumentos independientes en la matriz; por ejemplo, para `--sysroot ` use `\"--sysroot\", \"\"`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Versión del estándar del lenguaje C que se va a usar para IntelliSense. Nota: Los estándares GNU solo se usan para consultar el compilador de conjuntos a fin de obtener definiciones GNU e IntelliSense emulará la versión del estándar C equivalente.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Versión del estándar del lenguaje C++ que se va a usar para IntelliSense. Nota: Los estándares GNU solo se usan para consultar el compilador de conjuntos a fin de obtener definiciones GNU e IntelliSense emulará la versión del estándar C++ equivalente.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Ruta de acceso completa al archivo `compile_commands.json` del área de trabajo.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Ruta de acceso completa o una lista de rutas de acceso completas a los archivos `compile_commands.json` para el área de trabajo.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Lista de rutas de acceso que el motor de IntelliSense debe usar al buscar los encabezados incluidos. La búsqueda en estas rutas de acceso no es recursiva. Especifique `**` para indicar una búsqueda recursiva. Por ejemplo, `${workspaceFolder}/**` buscará en todos los subdirectorios, mientras que `${workspaceFolder}` no lo hará. Normalmente, esto no debería incluir las inclusiones del sistema. Si desea que lo haga, establezca `C_Cpp.default.compilerPath`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Lista de rutas de acceso que el motor de IntelliSense necesita usar para buscar los encabezados incluidos de las plataformas Mac. Solo se admite en configuraciones para Mac.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Versión de la ruta de acceso de inclusión de Windows SDK que debe usarse en Windows; por ejemplo, `10.0.17134.0`.", diff --git a/Extension/i18n/esn/package.i18n.json b/Extension/i18n/esn/package.i18n.json index 8178647efe..bfabca2cab 100644 --- a/Extension/i18n/esn/package.i18n.json +++ b/Extension/i18n/esn/package.i18n.json @@ -39,7 +39,7 @@ "c_cpp.command.RunCodeAnalysisOnActiveFile.title": "Ejecutar análisis de código en el archivo activo", "c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "Ejecutar análisis de código en archivos abiertos", "c_cpp.command.RunCodeAnalysisOnAllFiles.title": "Ejecutar análisis de código en todos los archivos", - "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Borrar todos los problemas de Code Analysis", + "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Borrar todos los problemas de análisis de código", "c_cpp.command.BuildAndDebugFile.title": "Depurar archivo C/C++", "c_cpp.command.BuildAndRunFile.title": "Ejecutar archivo C/C++", "c_cpp.command.AddDebugConfiguration.title": "Agregar configuración de depuración", @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "Mostrar las acciones de código 'Borrar todo' (si hay varios tipos de problema), 'Borrar todos los ' (si hay varios problemas para el ) y 'Borrar este'", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "Si es `true`, el formato se ejecutará en las líneas modificadas por las acciones de código \"Corregir\".", "c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "Si es `true`, el análisis de código que usa `clang-tidy` se habilitará y se ejecutará automáticamente si `#C_Cpp.codeAnalysis.runAutomatically#` es `true` (valor predeterminado).", - "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Ruta de acceso completa del archivo ejecutable de `clang-tidy`. Si no se especifica y `clang-tidy` está disponible en la ruta de acceso del entorno, se usará este. Si no se encuentra en la ruta de acceso del entorno, se usará el `clang-tidy` incluido con la extensión.", + "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Ruta de acceso completa del archivo ejecutable de `clang-tidy`. Si no se especifica y `clang-tidy` está disponible en la ruta de acceso del entorno, se usa a menos que la versión incluida con la extensión sea más reciente. Si no se encuentra en la ruta de acceso del entorno, se usará el `clang-tidy` incluido con la extensión.", "c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "Especifica una configuración `clang-tidy` en formato YAML/JSON: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{clave: x, valor: y}]}`. Cuando el valor está vacío, `clang-tidy` intentará encontrar un archivo denominado `.clang-tidy` para cada archivo de origen en sus directorios primarios.", "c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "Especifica una configuración `clang-tidy` en formato YAML/JSON que se usará como reserva cuando no se establezca `#C_Cpp.codeAnalysis.clangTidy.config#` y no se encuentre ningún archivo `.clang-tidy`: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{clave: x, valor: y}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Expresión regular extendida (ERE) POSIX que coincide con los nombres de los encabezados de los que se van a generar diagnósticos. Siempre se muestran los diagnósticos del archivo principal de cada unidad de traducción. Se admite la variable `${workspaceFolder}` (y se usa como valor de reserva predeterminado si no existe ningún archivo `.clang-tidy`). Si esta opción no es `null` (vacía), invalida la opción `HeaderFilterRegex` en un archivo `.clang-tidy`, si existe.", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "Un bloque de código completo que se escribe en una línea se mantiene en una línea, independientemente de los valores de la configuración `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "Cualquier código en el que la llave de apertura y de cierre se escriba en una línea se mantiene en una sola línea, independientemente de cualquiera de los valores de configuración de `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "Los bloques de código siempre tienen formato basado en los valores de la configuración `C_Cpp.vcFormat.newLine.*`.", - "c_cpp.configuration.clang_format_path.markdownDescription": "Ruta de acceso completa del archivo ejecutable de `clang-format`. Si no se especifica y `clang-format` está disponible en la ruta de acceso del entorno, se usará este. Si no se encuentra en la ruta de acceso del entorno, se usará el `clang-format` incluido con la extensión.", + "c_cpp.configuration.clang_format_path.markdownDescription": "Ruta de acceso completa del archivo ejecutable de `clang-format`. Si no se especifica y `clang-format` está disponible en la ruta de acceso del entorno, se usa a menos que la versión incluida con la extensión sea más reciente. Si no se encuentra en la ruta de acceso del entorno, se usará el `clang-format` incluido con la extensión.", "c_cpp.configuration.clang_format_style.markdownDescription": "Estilo de codificación. Actualmente, admite: `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`. Use `file` para cargar el estilo de un archivo `.clang-format` en el directorio actual o primario, o use `file:/.clang-format` para hacer referencia a una ruta de acceso específica. Use `{clave: valor, ...}` para establecer parámetros específicos. Por ejemplo, el estilo de `Visual Studio` es similar a: `{ 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": "Nombre del estilo predefinido que se usa como elemento fallback en el caso de que se invoque a `clang-format` con el estilo `file` y no se encuentre el archivo `.clang-format`. Los valores posibles son `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`, `none` o usar `{clave: valor, ...}` para establecer parámetros específicos. Por ejemplo, el estilo `Visual Studio` es similar a: `{ 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": "Si se establece, invalida el comportamiento de ordenación de inclusiones que determina el parámetro `SortIncludes`.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "Indica a la extensión cuándo usar la configuración `#files.exclude#` (y `#C_Cpp.files.exclude#`) al determinar qué archivos se deben agregar a la base de datos de navegación de código mientras se recorren las rutas de acceso de la matriz `browse.path`. Si la configuración `#files.exclude#` solo contiene carpetas, entonces `checkFolders` es la mejor opción y aumentará la velocidad con la que la extensión puede inicializar la base de datos de navegación de código.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "Los filtros de exclusión solo se evaluarán una vez por carpeta (no se comprueban los archivos individuales).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "Los filtros de exclusión se evaluarán con cada archivo y carpeta encontrados.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Carácter usado como separador de ruta de acceso para los resultados de finalización automática de instrucciones `#include`.", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Carácter utilizado como separador de ruta de acceso para las rutas de acceso de usuario generadas.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Si es `true`, la información sobre herramientas al mantener el puntero y autocompletar solo mostrará ciertas etiquetas de comentarios estructurados. De lo contrario, se muestran todos los comentarios.", "c_cpp.configuration.doxygen.generateOnType.description": "Controla si se va a insertar automáticamente el comentario de Doxygen después de escribir el estilo de comentario elegido.", "c_cpp.configuration.doxygen.generatedStyle.description": "La cadena de caracteres utilizada como línea de inicio del comentario de Doxygen.", @@ -253,6 +253,7 @@ "c_cpp.configuration.hover.description": "Si se deshabilita, el servidor de lenguaje ya no proporciona detalles al mantener el puntero.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "Habilita los servicios de integración para el [administrador de dependencias de vcpkgs](https://aka.ms/vcpkg/).", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "Agrega rutas de acceso de inclusión de `nan` y `node-addon-api` cuando sean dependencias.", + "c_cpp.configuration.copilotHover.markdownDescription": "Si está `deshabilitado`, no aparecerá información de Copilot al mantener el puntero.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Si es `true`, 'Cambiar nombre de símbolo' requerirá un identificador de C/C++ válido.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Si es `true`, la opción de autocompletar agregará `(` de forma automática después de las llamadas a funciones, en cuyo caso puede que también se agregue `)`, en función del valor de la configuración de `editor.autoClosingBrackets`.", "c_cpp.configuration.filesExclude.markdownDescription": "Configure patrones globales para excluir carpetas (y archivos si se cambia `#C_Cpp.exclusionPolicy#`). Son específicos de la extensión de C/C++ y se agregan a `#files.exclude#`, pero a diferencia de `#files.exclude#`, también se aplican a las rutas de acceso fuera de la carpeta del área de trabajo actual y no se quitan de la vista del Explorador. Obtenga información sobre [patrones globales](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", @@ -427,8 +428,8 @@ "c_cpp.walkthrough.create.cpp.file.title": "Crear un archivo de C++", "c_cpp.walkthrough.create.cpp.file.description": "[Abrir](command:toSide:workbench.action.files.openFile) o [crear](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) un archivo de C++. Asegúrese de guardarlo con la extensión \".cpp\", como \"helloworld.cpp\". \n[Crear un archivo de C++](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", "c_cpp.walkthrough.create.cpp.file.altText": "Abre un archivo de C++ o una carpeta con un proyecto de C++.", - "c_cpp.walkthrough.command.prompt.title": "Volver a iniciar desde el símbolo del sistema del desarrollador", - "c_cpp.walkthrough.command.prompt.description": "Al usar el compilador de Microsoft Visual Studio C++, la extensión de C++ requiere que inicies VS Code desde el símbolo del sistema del desarrollador. Sigue las instrucciones de la derecha para volver a iniciar.\n[Volver a cargar ventana](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": "Iniciar desde el Símbolo del sistema para desarrolladores para VS", + "c_cpp.walkthrough.command.prompt.description": "Al usar el compilador de Microsoft Visual Studio C++, la extensión de C++ requiere que inicie VS Code desde el símbolo del sistema del desarrollador para VS. Sigue las instrucciones de la derecha para volver a iniciar.\n[Volver a cargar ventana](command:workbench.action.reloadWindow)", "c_cpp.walkthrough.run.debug.title": "Ejecución y depuración del archivo de C++", "c_cpp.walkthrough.run.debug.mac.description": "Abre el archivo de C++ y haz clic en el botón reproducir de la esquina superior derecha del editor o presiona F5 cuando estés en el archivo. Selecciona \"clang++ - Compilar y depurar archivo activo\" para ejecutarlo con el depurador.", "c_cpp.walkthrough.run.debug.linux.description": "Abre el archivo de C++ y haz clic en el botón reproducir de la esquina superior derecha del editor o presiona F5 cuando estés en el archivo. Selecciona \"g++ - Compilar y depurar archivo activo\" para ejecutarlo con el depurador.", diff --git a/Extension/i18n/esn/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/esn/src/Debugger/configurationProvider.i18n.json index 2069ef23ea..f67ff8611f 100644 --- a/Extension/i18n/esn/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/esn/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "No se encuentra el depurador {0}. Se ha omitido la configuración de depuración de {1}.", "build.and.debug.active.file": "Compilar y depurar el archivo activo", - "cl.exe.not.available": "La compilación y depuración de {0} solo se puede usar cuando VS Code se ejecuta desde el Símbolo del sistema para desarrolladores de Visual Studio.", + "cl.exe.not.available": "{0} solo se puede usar cuando VS Code se ejecuta desde {1}.", "lldb.find.failed": "Falta la dependencia \"{0}\" para el ejecutable lldb-mi.", "lldb.search.paths": "Buscado en:", "lldb.install.help": "Para resolver este problema, instale XCode mediante App Store de Apple o instale las herramientas de línea de comandos de XCode ejecutando \"{0}\" en una ventana de terminal.", diff --git a/Extension/i18n/esn/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/esn/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..fe8590759b --- /dev/null +++ b/Extension/i18n/esn/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Generar resumen de Copilot", + "copilot.disclaimer": "El contenido generado por inteligencia artificial puede ser incorrecto." +} \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/configurations.i18n.json b/Extension/i18n/esn/src/LanguageServer/configurations.i18n.json index f026c85081..9e8abce37e 100644 --- a/Extension/i18n/esn/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/esn/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "La ruta de acceso no es un archivo: {0}", "path.is.not.a.directory": "La ruta de acceso no es un directorio: {0}", "duplicate.name": "{0} es un duplicado. El nombre de la configuración debe ser único.", - "cannot.find2": "No se encuentra \"{0}\".", "multiple.paths.not.allowed": "No se permiten varias rutas de acceso.", + "multiple.paths.should.be.separate.entries": "Varias rutas de acceso deben ser entradas separadas en una matriz.", "paths.are.not.directories": "Las rutas de acceso no son directorios: {0}" } \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/esn/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/esn/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/extension.i18n.json b/Extension/i18n/esn/src/LanguageServer/extension.i18n.json index a275bdca84..3ba65ca3e2 100644 --- a/Extension/i18n/esn/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/esn/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "No se pudo aplicar la corrección de análisis de código porque el documento ha cambiado.", "prerelease.message": "Hay disponible una versión preliminar de la extensión de C/C++. ¿Desea cambiar a ella?", "yes.button": "Sí", - "no.button": "No" + "no.button": "No", + "copilot.hover.unavailable": "El resumen de Copilot no está disponible.", + "copilot.hover.excluded": "El archivo que contiene la definición o declaración de este símbolo se ha excluido del uso con Copilot.", + "copilot.hover.unavailable.symbol": "El resumen de Copilot no está disponible para este símbolo.", + "copilot.hover.error": "Error al generar el resumen de Copilot." } \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/esn/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/esn/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/esn/src/common.i18n.json b/Extension/i18n/esn/src/common.i18n.json index 3e4fe1fe41..aebefd2f5c 100644 --- a/Extension/i18n/esn/src/common.i18n.json +++ b/Extension/i18n/esn/src/common.i18n.json @@ -9,9 +9,9 @@ "refer.read.me": "Consulte {0} para obtener información de solución de problemas. Puede crear incidencias en {1}", "process.exited": "Proceso cerrado con el código {0}", "process.succeeded": "El proceso se ejecutó correctamente.", - "killing.process": "{0}de proceso de terminación", + "killing.process": "{0} de proceso de terminación", "warning.file.missing": "Advertencia: Falta el archivo {0} que se esperaba.", "warning.debugging.not.tested": "Advertencia: La depuración no se ha probado para esta plataforma.", "reload.workspace.for.changes": "Recargue el área de trabajo para que el cambio de configuración surta efecto.", "reload.string": "Volver a cargar" -} \ No newline at end of file +} diff --git a/Extension/i18n/esn/src/nativeStrings.i18n.json b/Extension/i18n/esn/src/nativeStrings.i18n.json index 10bea9fa49..b7ce01d840 100644 --- a/Extension/i18n/esn/src/nativeStrings.i18n.json +++ b/Extension/i18n/esn/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "No se pudo consultar el compilador. Revirtiendo a intelliSenseMode de 64 bits.", "fallback_to_no_bitness": "No se pudo consultar el compilador. Revirtiendo para no establecer ningún valor de bits.", "intellisense_client_creation_aborted": "Se anuló la creación del cliente de IntelliSense: {0}", - "include_errors_config_provider_intellisense_disabled ": "Se han detectado errores de #include basados en la información proporcionada por configurationProvider. El analizador de etiquetas proporcionará las características de IntelliSense para esta unidad de traducción ({0}).", - "include_errors_config_provider_squiggles_disabled ": "Se han detectado errores de #include basados en la información proporcionada por configurationProvider. El subrayado ondulado está deshabilitado para esta unidad de traducción ({0}).", + "include_errors_config_provider_intellisense_disabled": "Se han detectado errores de #include basados en la información proporcionada por configurationProvider. El analizador de etiquetas proporcionará las características de IntelliSense para esta unidad de traducción ({0}).", + "include_errors_config_provider_squiggles_disabled": "Se han detectado errores de #include basados en la información proporcionada por configurationProvider. El subrayado ondulado está deshabilitado para esta unidad de traducción ({0}).", "preprocessor_keyword": "palabra clave del preprocesador", "c_keyword": "Palabra clave de C", "cpp_keyword": "Palabra clave de C++", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "La función debería devolver un valor por referencia. El código C no puede devolver referencias.", "refactor_extract_xborder_jump": "Hay saltos entre el código seleccionado y el código que lo rodea.", "refactor_extract_missing_return": "En el código seleccionado, algunas rutas de control salen sin establecer el valor devuelto. Esto se admite solo para tipos de valor devuelto escalar, numérico y puntero.", - "expand_selection": "Expandir selección (para habilitar 'Extraer a función')" + "expand_selection": "Expandir selección (para habilitar 'Extraer a función')", + "file_not_found_in_path2": "\"{0}\" no se encuentra en compile_commands.json archivos. ''includePath'' de c_cpp_properties.json de la carpeta ''{1}'' se usará en su lugar para este archivo.", + "copilot_hover_link": "Generar resumen de Copilot" } \ No newline at end of file diff --git a/Extension/i18n/esn/ui/settings.html.i18n.json b/Extension/i18n/esn/ui/settings.html.i18n.json index 176cb3cab6..8ab009181e 100644 --- a/Extension/i18n/esn/ui/settings.html.i18n.json +++ b/Extension/i18n/esn/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "Dot Config", "dot.config.description": "Ruta de acceso a un archivo .config creado por el sistema Kconfig. El sistema Kconfig genera un archivo con todas las definiciones para compilar un proyecto. Algunos ejemplos de proyectos que usan el sistema Kconfig son Kernel Linux y NuttX RTOS.", "compile.commands": "Comandos de compilación", - "compile.commands.description": "Ruta de acceso completa al archivo {0} del área de trabajo. Se usarán las definiciones y rutas de acceso de inclusión detectadas en el archivo, en lugar de los valores establecidos para las opciones {1} y {2}. Si la base de datos de comandos de compilación no contiene una entrada para la unidad de traducción que se corresponda con el archivo que ha abierto en el editor, se mostrará un mensaje de advertencia y la extensión usará las opciones {3} y {4} en su lugar.", + "compile.commands.description": "Una lista de rutas de acceso a {0} archivos para el área de trabajo. Se usarán las definiciones y rutas de acceso de inclusión detectadas en estos archivos, en lugar de los valores establecidos para las opciones {1} y {2}. Si la base de datos de comandos de compilación no contiene una entrada para la unidad de traducción que se corresponda con el archivo que ha abierto en el editor, se mostrará un mensaje de advertencia y la extensión usará las opciones {3} y {4} en su lugar.", + "one.compile.commands.path.per.line": "Una ruta de acceso de comandos de compilación por línea.", "merge.configurations": "Combinar configuraciones", "merge.configurations.description": "Cuando {0} (o activado), la combinación incluye rutas de acceso, define e incluye forzadas con las de un proveedor de configuración.", "browse.path": "Examinar: ruta de acceso", diff --git a/Extension/i18n/esn/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/esn/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index dcdef6b4f7..9bad7c7eae 100644 --- a/Extension/i18n/esn/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/esn/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "walkthrough.windows.title.open.dev.command.prompt": "Volver a iniciar con el símbolo del sistema del desarrollador", - "walkthrough.windows.background.dev.command.prompt": " Estás usando una máquina Windows con el compilador de MSVC, por lo que debes iniciar VS Code desde el símbolo del sistema del desarrollador para que todas las variables de entorno se establezcan correctamente. Para reiniciar con el símbolo del sistema del desarrollador:", - "walkthrough.open.command.prompt": "Para abrir el Símbolo del sistema para desarrolladores para VS, escribe \"desarrollador\" en el menú Inicio de Windows. Selecciona el Símbolo del sistema para desarrolladores para VS, que irá automáticamente a la carpeta abierta actual.", - "walkthrough.windows.press.f5": "Escribe \"code\" en el símbolo del sistema y presiona Entrar. Esto debería reiniciar VS Code y hacerte volver a este tutorial. " + "walkthrough.windows.title.open.dev.command.prompt": "Volver a iniciar con el {0}", + "walkthrough.windows.background.dev.command.prompt": " Está usando una máquina Windows con el compilador de MSVC, por lo que debe iniciar VS Code desde el {0} para que todas las variables de entorno se establezcan correctamente. Para volver a iniciar con el {1}:", + "walkthrough.open.command.prompt": "Abra {0} escribiendo '{1}' en el menú Inicio de Windows. Selecciona el {2}, que irá automáticamente a la carpeta abierta actual.", + "walkthrough.windows.press.f5": "Escriba '{0}' en el símbolo del sistema y pulse Entrar. Esto debería reiniciar VS Code y hacerte volver a este tutorial. " } \ No newline at end of file diff --git a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index ade495068d..03d8a4619b 100644 --- a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "Instalar", "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "Puede usar el conjunto de herramientas de C++ de Visual Studio Build Tools junto con Visual Studio Code para compilar y comprobar cualquier código base de C++, siempre que también tenga una licencia de Visual Studio válida (Community, Pro o Enterprise) que esté usando de manera activa para desarrollar ese código base de C++.", - "walkthrough.windows.open.command.prompt": "Abra el {0} al escribir \"developer\" en el menú Inicio de Windows.", - "walkthrough.windows.command.prompt.name1": "Símbolo del sistema para desarrolladores para VS", - "walkthrough.windows.check.install": "Compruebe la instalación de MSVC escribiendo {0} en el Símbolo del sistema para desarrolladores para VS. Debería ver un mensaje de copyright con la versión y la descripción de uso básica.", + "walkthrough.windows.open.command.prompt": "Abra {0} escribiendo '{1}' en el menú Inicio de Windows.", + "walkthrough.windows.check.install": "Compruebe la instalación de MSVC escribiendo {0} en {1}. Debería ver un mensaje de copyright con la versión y la descripción de uso básica.", "walkthrough.windows.note2": "Nota", - "walkthrough.windows.note2.text": "Para usar MSVC desde la línea de comandos o VS Code, debe ejecutar desde un {0}. Un shell normal como {1}, {2}, o el símbolo del sistema de Windows no tiene establecidas las variables de entorno de ruta de acceso necesarias.", - "walkthrough.windows.command.prompt.name2": "Símbolo del sistema para desarrolladores para VS" + "walkthrough.windows.note2.text": "Para usar MSVC desde la línea de comandos o VS Code, debe ejecutar desde un {0}. Un shell normal como {1}, {2}, o el símbolo del sistema de Windows no tiene establecidas las variables de entorno de ruta de acceso necesarias." } \ No newline at end of file diff --git a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 9268c8f1f7..959cf54eca 100644 --- a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "Puede usar el conjunto de herramientas de C++ de Visual Studio Build Tools junto con Visual Studio Code para compilar y comprobar cualquier código base de C++, siempre que también tenga una licencia de Visual Studio válida (Community, Pro o Enterprise) que esté usando de manera activa para desarrollar ese código base de C++.", "walkthrough.windows.verify.compiler": "Comprobación de la instalación del compilador", - "walkthrough.windows.open.command.prompt": "Abra el {0} al escribir \"developer\" en el menú Inicio de Windows.", - "walkthrough.windows.command.prompt.name1": "Símbolo del sistema para desarrolladores para VS", - "walkthrough.windows.check.install": "Compruebe la instalación de MSVC escribiendo {0} en el Símbolo del sistema para desarrolladores para VS. Debería ver un mensaje de copyright con la versión y la descripción de uso básica.", + "walkthrough.windows.open.command.prompt": "Abra {0} escribiendo '{1}' en el menú Inicio de Windows.", + "walkthrough.windows.check.install": "Compruebe la instalación de MSVC escribiendo {0} en {1}. Debería ver un mensaje de copyright con la versión y la descripción de uso básica.", "walkthrough.windows.note2": "Nota", "walkthrough.windows.note2.text": "Para usar MSVC desde la línea de comandos o VS Code, debe ejecutar desde un {0}. Un shell normal como {1}, {2}, o el símbolo del sistema de Windows no tiene establecidas las variables de entorno de ruta de acceso necesarias.", - "walkthrough.windows.command.prompt.name2": "Símbolo del sistema para desarrolladores para VS", "walkthrough.windows.other.compilers": "Otras opciones del compilador", "walkthrough.windows.text3": "Si su objetivo es Linux desde Windows, consulte {0}. O bien, consulte {1}.", "walkthrough.windows.link.title1": "Uso de C++ y Subsistema de Windows para Linux (WSL) en VS Code", diff --git a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 9268c8f1f7..959cf54eca 100644 --- a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "Puede usar el conjunto de herramientas de C++ de Visual Studio Build Tools junto con Visual Studio Code para compilar y comprobar cualquier código base de C++, siempre que también tenga una licencia de Visual Studio válida (Community, Pro o Enterprise) que esté usando de manera activa para desarrollar ese código base de C++.", "walkthrough.windows.verify.compiler": "Comprobación de la instalación del compilador", - "walkthrough.windows.open.command.prompt": "Abra el {0} al escribir \"developer\" en el menú Inicio de Windows.", - "walkthrough.windows.command.prompt.name1": "Símbolo del sistema para desarrolladores para VS", - "walkthrough.windows.check.install": "Compruebe la instalación de MSVC escribiendo {0} en el Símbolo del sistema para desarrolladores para VS. Debería ver un mensaje de copyright con la versión y la descripción de uso básica.", + "walkthrough.windows.open.command.prompt": "Abra {0} escribiendo '{1}' en el menú Inicio de Windows.", + "walkthrough.windows.check.install": "Compruebe la instalación de MSVC escribiendo {0} en {1}. Debería ver un mensaje de copyright con la versión y la descripción de uso básica.", "walkthrough.windows.note2": "Nota", "walkthrough.windows.note2.text": "Para usar MSVC desde la línea de comandos o VS Code, debe ejecutar desde un {0}. Un shell normal como {1}, {2}, o el símbolo del sistema de Windows no tiene establecidas las variables de entorno de ruta de acceso necesarias.", - "walkthrough.windows.command.prompt.name2": "Símbolo del sistema para desarrolladores para VS", "walkthrough.windows.other.compilers": "Otras opciones del compilador", "walkthrough.windows.text3": "Si su objetivo es Linux desde Windows, consulte {0}. O bien, consulte {1}.", "walkthrough.windows.link.title1": "Uso de C++ y Subsistema de Windows para Linux (WSL) en VS Code", diff --git a/Extension/i18n/fra/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/fra/c_cpp_properties.schema.json.i18n.json index 9069cfc162..1334268ca0 100644 --- a/Extension/i18n/fra/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/fra/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "Arguments du compilateur pour modifier les include ou defines utilisés, par exemple `-nostdinc++`, `-m32`, etc. Les arguments qui acceptent des arguments supplémentaires délimités par des espaces doivent être entrés en tant qu’arguments distincts dans le tableau, par exemple pour `--sysroot ` use `\"--sysroot\", \"\"`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Version de la norme de langage C à utiliser pour IntelliSense. Remarque : Les normes GNU sont utilisées uniquement pour interroger le compilateur défini afin d'obtenir les définitions GNU. IntelliSense émule la version C normalisée équivalente.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Version de la norme de langage C++ à utiliser pour IntelliSense. Remarque : Les normes GNU sont utilisées uniquement pour interroger le compilateur défini afin d'obtenir les définitions GNU. IntelliSense émule la version C++ normalisée équivalente.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Chemin complet du fichier `compile_commands.json` pour l'espace de travail.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Chemin d’accès complet ou liste des chemins d’accès complets aux fichiers `compile_commands.json` pour l’espace de travail.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Liste des chemins d’accès à utiliser par le moteur IntelliSense lors de la recherche d’en-têtes inclus. La recherche sur ces chemins d’accès n’est pas récursive. Spécifiez `**` pour indiquer une recherche récursive. Par exemple, `${workspaceFolder}/**` effectue une recherche dans tous les sous-répertoires, contrairement à `${workspaceFolder}`. En règle générale, cela ne doit pas inclure les éléments système ; au lieu de cela, définissez `C_Cpp.default.compilerPath`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Liste de chemins que le moteur IntelliSense doit utiliser pour la recherche des en-têtes inclus dans les frameworks Mac. Prise en charge uniquement sur la configuration Mac.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Version du chemin d'inclusion du SDK Windows à utiliser sur Windows, par ex., `10.0.17134.0`.", diff --git a/Extension/i18n/fra/package.i18n.json b/Extension/i18n/fra/package.i18n.json index 64276fc9d1..7bbb1097a6 100644 --- a/Extension/i18n/fra/package.i18n.json +++ b/Extension/i18n/fra/package.i18n.json @@ -7,7 +7,7 @@ "c_cpp.subheaders.intelliSense.title": "IntelliSense", "c_cpp.subheaders.formatting.title": "Mise en forme", "c_cpp.subheaders.codeDocumentation.title": "Documentation du code", - "c_cpp.subheaders.codeAnalysis.title": "Code Analysis", + "c_cpp.subheaders.codeAnalysis.title": "Analyse du code", "c_cpp.subheaders.debugging.title": "Débogage", "c_cpp.subheaders.resourceManagement.title": "Gestion des ressources", "c_cpp.subheaders.miscellaneous.title": "Divers", @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "Afficher l’option « Effacer tout » (s’il existe plusieurs types de problèmes), « Effacer tous les » (s’il existe plusieurs problèmes pour le ) et les actions de code « Effacer ceci »", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "Si la valeur est `true`, la mise en forme est exécutée sur les lignes modifiées par les actions de code 'Corriger'.", "c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "Si la valeur est `true`, l’analyse du code à l’aide de `clang-tidy` est activée et s’exécute après l’ouverture ou l’enregistrement d’un fichier si `#C_Cpp.codeAnalysis.runAutomatically#` a la valeur `true` (valeur par défaut).", - "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Le chemin complet de l'exécutable `clang-tidy`. S'il n'est pas spécifié, et que `clang-tidy` est disponible dans le chemin de l'environnement, il sera utilisé. S'il n'est pas trouvé dans le chemin de l'environnement, le `clang-tidy` fourni avec l'extension sera utilisé.", + "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Le chemin d’accès complet de l’exécutable `clang-tidy`. S’il n’est pas spécifié et que `clang-tidy` est disponible dans le chemin d’accès à l’environnement, il est utilisé sauf si la version fournie avec l’extension est plus récente. S’il est introuvable dans le chemin d’accès à l’environnement, le `clang-tidy` fourni avec l’extension sera utilisé.", "c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "Spécifie une configuration `clang-tidy` au format YAML/JSON : `{Checks: '-*,clang-analyzer-*', CheckOptions: [{clé : x, valeur : y}]}`. Quand la valeur est vide, `clang-tidy` tente de trouver un fichier nommé `.clang-tidy` pour chaque fichier source dans ses répertoires parents.", "c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "Spécifie une configuration `clang-tidy` au format YAML/JSON à utiliser comme secours quand `#C_Cpp.codeAnalysis.clangTidy.config#` n’est pas défini et qu’aucun fichier `.clang-tidy` n’est trouvé : `{Checks: '-*,clang-analyzer-*', CheckOptions: [{clé : x, valeur : y}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Expression régulière étendue POSIX (ERE) correspondant aux noms des en-têtes à partir des diagnostics de sortie. Les diagnostics du fichier principal de chaque unité de traduction sont toujours affichés. La variable `${workspaceFolder}` est prise en charge (et est utilisée comme valeur de secours par défaut si aucun fichier `.clang-tidy` n’existe). Si cette option n’est pas `null` (vide), elle remplace l’option `HeaderFilterRegex` dans un fichier `.clang-tidy`, le cas échéant.", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "Un bloc de code complet qui est entré sur une ligne est maintenu sur une ligne, quelles que soient les valeurs des paramètres `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "Tout code où les accolades ouvrantes et fermantes sont saisies sur une ligne est maintenu sur une ligne, quelles que soient les valeurs des paramètres `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "Les blocs de code sont toujours mis en forme en fonction des valeurs des paramètres `C_Cpp.vcFormat.newLine.*`.", - "c_cpp.configuration.clang_format_path.markdownDescription": "Le chemin complet de l'exécutable `clang-format`. S'il n'est pas spécifié, et que `clang-format` est disponible dans le chemin de l'environnement, il est utilisé. S'il n'est pas trouvé dans le chemin de l'environnement, le `clang-format` fourni avec l'extension sera utilisé.", + "c_cpp.configuration.clang_format_path.markdownDescription": "Le chemin d’accès complet de l’exécutable `clang-format`. S’il n’est pas spécifié et que `clang-format` est disponible dans le chemin d’accès à l’environnement, il est utilisé sauf si la version fournie avec l’extension est plus récente. S’il est introuvable dans le chemin d’accès à l’environnement, le `clang-format` fourni avec l’extension sera utilisé.", "c_cpp.configuration.clang_format_style.markdownDescription": "Le style de codage prend actuellement en charge : `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`. Utilisez `file` pour charger le style à partir d’un fichier `.clang-format` dans le répertoire actuel ou parent, ou utilisez `file:/.clang-format`pour référencer un chemin d'accès spécifique. Utiliser `{clé : valeur, ...}` pour définir des paramètres spécifiques. Par exemple, le style `Visual Studio` est similaire à : `{ 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": "Nom du style prédéfini utilisé comme secours dans le cas où `clang-format` est appelé avec le style `file`, mais le fichier `.clang-format` est introuvable. Les valeurs possibles sont `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`, `none` ou utilisez `{clé : valeur, ...}` pour définir des paramètres spécifiques. Par exemple, le style `Visual Studio` est similaire à : `{ 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": "S’il est défini, remplace le comportement de tri Include déterminé par le paramètre `SortIncludes`.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "Indique à l’extension quand utiliser le paramètre `#files.exclude#` (et `#C_Cpp.files.exclude#`) lors de la détermination des fichiers qui doivent être ajoutés à la base de données de navigation du code tout en parcourant les chemins d’accès dans le tableau `browse.path`. Si votre paramètre `#files.exclude#` contient uniquement des dossiers, `checkFolders` est le meilleur choix et augmente la vitesse à laquelle l’extension peut initialiser la base de données de navigation du code.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "Les filtres d’exclusion ne seront évalués qu’une seule fois par dossier (les fichiers individuels ne sont pas vérifiés).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "Les filtres d'exclusion seront évalués pour chaque fichier et dossier rencontré.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Caractère utilisé comme séparateur de chemin dans les résultats d'autocomplétion de `#include`.", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Caractère utilisé comme séparateur de chemins d’accès pour les chemins d’utilisateur générés.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Si la valeur est `true`, les info-bulles de pointage et d'autocomplétion affichent uniquement certaines étiquettes de commentaires structurés. Sinon, tous les commentaires sont affichés.", "c_cpp.configuration.doxygen.generateOnType.description": "Contrôle s’il faut insérer automatiquement le commentaire Doxygen après avoir tapé le style de commentaire choisi.", "c_cpp.configuration.doxygen.generatedStyle.description": "Chaîne de caractères utilisée comme ligne de départ du commentaire Doxygen.", @@ -253,6 +253,7 @@ "c_cpp.configuration.hover.description": "Si cette option est désactivée, les détails du pointage ne sont plus fournis par le serveur de langage.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "Activez les services d'intégration pour le [gestionnaire de dépendances vcpkg](https://aka.ms/vcpkg/).", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "Ajouter les chemins d'inclusion de `nan` et `node-addon-api` quand ils sont des dépendances.", + "c_cpp.configuration.copilotHover.markdownDescription": "Si l’option est `disabled`, aucune information Copilot n’apparaîtra dans Hover.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Si `true`, 'Renommer le symbole' exigera un identifiant C/C++ valide.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Si la valeur est `true`, l'autocomplétion ajoute automatiquement `(` après les appels de fonction. Dans ce cas `)` peut également être ajouté, en fonction de la valeur du paramètre `#editor.autoClosingBrackets#`.", "c_cpp.configuration.filesExclude.markdownDescription": "Configurer les modèles globaux pour exclure les dossiers (et les fichiers si `#C_Cpp.exclusionPolicy#` est modifié). Ils sont spécifiques à l’extension C/C++ et s’ajoutent à `#files.exclude#`, mais contrairement à `#files.exclude#`, ils s’appliquent également aux chemins en dehors du dossier de l’espace de travail actuel et ne sont pas supprimés de la vue de l’explorateur. En savoir plus sur les [motifs globaux](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", @@ -422,13 +423,13 @@ "c_cpp.walkthrough.activating.description": "Activation de l’extension C++ pour déterminer si votre environnement C++ a été configuré.\nActivation de l’extension...", "c_cpp.walkthrough.no.compilers.windows.description": "Nous n’avons pas trouvé de compilateur C++ sur votre machine, ce qui est nécessaire pour utiliser l’extension C++. Suivez les instructions de droite pour en installer un, puis cliquez sur « Rechercher mon nouveau compilateur » ci-dessous.\n[Rechercher mon nouveau compilateur](command:C_Cpp.RescanCompilers ?%22walkthrough%22)", "c_cpp.walkthrough.no.compilers.description": "Nous n’avons pas trouvé de compilateur C++ sur votre machine, ce qui est nécessaire pour utiliser l’extension C++. Sélectionnez « Installer un compilateur C++ » pour installer un compilateur pour vous ou suivez les instructions à droite pour en installer un, puis cliquez sur « Rechercher mon nouveau compilateur » ci-dessous.\n[Installer un compilateur C++](command:C_Cpp.InstallCompiler ?%22walkthrough%22)\n[Rechercher mon nouveau compilateur](command:C_Cpp.RescanCompilers ?%22walkthrough%22)", - "c_cpp.walkthrough.compilers.found.description": "L’extension C++ fonctionne avec un compilateur C++. Sélectionnez-en un parmi ceux déjà présents sur votre ordinateur en cliquant sur le bouton ci-dessous.\n[Sélectionner mon compilateur par défaut](command:C_Cpp.SelectIntelliSenseConfiguration ?%22walkthrough%22)", + "c_cpp.walkthrough.compilers.found.description": "L’extension C++ fonctionne avec un compilateur C++. Sélectionnez-en un parmi ceux déjà présents sur votre ordinateur en cliquant sur le bouton ci-dessous.\n[Sélectionner mon compilateur par défaut](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)", "c_cpp.walkthrough.compilers.found.altText": "Image montrant la sélection d’une sélection rapide de compilateur par défaut et la liste des compilateurs trouvés sur l’ordinateur des utilisateurs, dont l’un est sélectionné.", "c_cpp.walkthrough.create.cpp.file.title": "Créer un fichier C++", "c_cpp.walkthrough.create.cpp.file.description": "[Ouvrir](command:toSide:workbench.action.files.openFile) ou [créer](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) un fichier C++. Veillez à l’enregistrer avec l’extension « .cpp », telle que « helloworld.cpp ». \n[Créer un fichier C++](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", "c_cpp.walkthrough.create.cpp.file.altText": "Ouvrez un fichier C++ ou un dossier avec un projet C++.", - "c_cpp.walkthrough.command.prompt.title": "Lancer à partir de l’invite de commandes développeur", - "c_cpp.walkthrough.command.prompt.description": "Quand vous utilisez le compilateur Microsoft Visual Studio C++, l’extension C++ vous demande de lancer VS Code à partir de l’invite de commandes du développeur. Suivez les instructions à droite pour relancer.\n[Recharger la fenêtre](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": "Lancer à partir du Invite de commandes développeur pour VS", + "c_cpp.walkthrough.command.prompt.description": "Quand vous utilisez le compilateur Microsoft Visual Studio C++, l’extension C++ vous demande de lancer VS Code à partir de l’invite de commandes développeur pour VS. Suivez les instructions à droite pour relancer.\n[Recharger la fenêtre](command:workbench.action.reloadWindow)", "c_cpp.walkthrough.run.debug.title": "Exécuter et déboguer votre fichier C++", "c_cpp.walkthrough.run.debug.mac.description": "Permet d’ouvrir votre fichier C++ et de cliquer sur le bouton lecture dans le coin supérieur droit de l’éditeur, ou d’appuyer sur F5 lorsque vous êtes sur le fichier. Vous pouvez sélectionner « clang++ – Générer et déboguer le fichier actif » pour l’exécuter avec le débogueur.", "c_cpp.walkthrough.run.debug.linux.description": "Permet d’ouvrir votre fichier C++ et de cliquer sur le bouton lecture dans le coin supérieur droit de l’éditeur, ou d’appuyer sur F5 lorsque vous êtes sur le fichier. Vous pouvez sélectionner « g++ – Générer et déboguer le fichier actif » pour l’exécuter avec le débogueur.", diff --git a/Extension/i18n/fra/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/fra/src/Debugger/configurationProvider.i18n.json index b57954e366..24c8018935 100644 --- a/Extension/i18n/fra/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/fra/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "tâche de prélancement : {0}", "debugger.path.not.exists": "Impossible de trouver le débogueur {0}. La configuration de débogage pour {1} est ignorée.", "build.and.debug.active.file": "Générer et déboguer le fichier actif", - "cl.exe.not.available": "La génération et le débogage de {0} peuvent être utilisés uniquement quand VS Code est exécuté à partir de l'invite de commandes développeur pour VS.", + "cl.exe.not.available": "{0} est utilisable uniquement lorsque VS Code est exécuté à partir du {1}.", "lldb.find.failed": "La dépendance '{0}' est manquante pour l'exécutable lldb-mi.", "lldb.search.paths": "Recherche effectuée dans :", "lldb.install.help": "Pour résoudre ce problème, installez XCode via l'Apple App Store ou installez les outils en ligne de commande XCode en exécutant '{0}' dans une fenêtre de terminal.", diff --git a/Extension/i18n/fra/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/fra/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..97fe78f969 --- /dev/null +++ b/Extension/i18n/fra/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Générer un résumé de Copilot", + "copilot.disclaimer": "Il est possible que le contenu généré par IA soit incorrect." +} \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/configurations.i18n.json b/Extension/i18n/fra/src/LanguageServer/configurations.i18n.json index ccb086d7bb..c3994eb97c 100644 --- a/Extension/i18n/fra/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/fra/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "Le chemin n'est pas un fichier : {0}", "path.is.not.a.directory": "Le chemin n'est pas un répertoire : {0}", "duplicate.name": "{0} est dupliqué. Le nom de configuration doit être unique.", - "cannot.find2": "\"{0}\" est introuvable.", "multiple.paths.not.allowed": "Il est interdit d’utiliser plusieurs chemin d’accès.", + "multiple.paths.should.be.separate.entries": "Plusieurs chemins d’accès doivent être des entrées distinctes dans un tableau.", "paths.are.not.directories": "Les chemins d’accès ne sont pas des répertoires : {0}" } \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/fra/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/fra/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/extension.i18n.json b/Extension/i18n/fra/src/LanguageServer/extension.i18n.json index 8fe95f27fa..168c6f64b5 100644 --- a/Extension/i18n/fra/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/fra/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "Impossible d’appliquer le correctif d’analyse du code, car le document a changé.", "prerelease.message": "Une version préliminaire de l’extension C/C++ est disponible. Voulez-vous basculer vers celui-ci ?", "yes.button": "Oui", - "no.button": "Non" + "no.button": "Non", + "copilot.hover.unavailable": "Le résumé de Copilot n’est pas disponible.", + "copilot.hover.excluded": "Le fichier contenant la définition ou la déclaration de ce symbole a été exclu de l’utilisation avec Copilot.", + "copilot.hover.unavailable.symbol": "Le résumé Copilot n’est pas disponible pour ce symbole.", + "copilot.hover.error": "Une erreur s’est produite lors de la génération du résumé Copilot." } \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/fra/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/fra/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/fra/src/nativeStrings.i18n.json b/Extension/i18n/fra/src/nativeStrings.i18n.json index 8589b8b3cd..b6af549a6d 100644 --- a/Extension/i18n/fra/src/nativeStrings.i18n.json +++ b/Extension/i18n/fra/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "Échec de l'interrogation du compilateur. Retour au intelliSenseMode 64 bits.", "fallback_to_no_bitness": "Échec de l'interrogation du compilateur. Retour au mode sans nombre de bits.", "intellisense_client_creation_aborted": "Abandon de la création du client IntelliSense : {0}", - "include_errors_config_provider_intellisense_disabled ": "Erreurs #include détectées d'après les informations fournies par le paramètre configurationProvider. Les fonctionnalités IntelliSense de cette unité de traduction ({0}) sont fournies par l'analyseur de balises.", - "include_errors_config_provider_squiggles_disabled ": "Erreurs #include détectées d'après les informations fournies par le paramètre configurationProvider. Les tildes sont désactivés pour cette unité de traduction ({0}).", + "include_errors_config_provider_intellisense_disabled": "Erreurs #include détectées d'après les informations fournies par le paramètre configurationProvider. Les fonctionnalités IntelliSense de cette unité de traduction ({0}) sont fournies par l'analyseur de balises.", + "include_errors_config_provider_squiggles_disabled": "Erreurs #include détectées d'après les informations fournies par le paramètre configurationProvider. Les tildes sont désactivés pour cette unité de traduction ({0}).", "preprocessor_keyword": "mot clé de préprocesseur", "c_keyword": "Mot clé C", "cpp_keyword": "Mot clé C++", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "La fonction doit renvoyer une valeur par référence. Le code C ne peut pas renvoyer de référence.", "refactor_extract_xborder_jump": "Des sauts entre le code sélectionné et le code environnant sont présents.", "refactor_extract_missing_return": "Dans le code sélectionné, certains chemins de contrôle s'arrêtent sans définir la valeur renvoyée. Cela n'est pris en charge que pour les types de retour scalaire, numérique et pointeur.", - "expand_selection": "Développer la sélection (pour activer ' Extraire vers la fonction')" + "expand_selection": "Développer la sélection (pour activer ' Extraire vers la fonction')", + "file_not_found_in_path2": "« {0} » n'a pas été trouvé dans les fichiers compile_commands.json. « includePath » from c_cpp_properties.json in folder « {1} » sera utilisé pour ce fichier à la place.", + "copilot_hover_link": "Générer un résumé de Copilot" } \ No newline at end of file diff --git a/Extension/i18n/fra/ui/settings.html.i18n.json b/Extension/i18n/fra/ui/settings.html.i18n.json index 807cbdbef3..dfa0393547 100644 --- a/Extension/i18n/fra/ui/settings.html.i18n.json +++ b/Extension/i18n/fra/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "Dot Config", "dot.config.description": "Chemin d’accès à un fichier .config créé par le système Kconfig. Le système Kconfig génère un fichier avec toutes les définitions pour générer un projet. Les exemples de projets qui utilisent le système Kconfig sont le noyau Linux et NuttX RTOS.", "compile.commands": "Commandes de compilation", - "compile.commands.description": "Chemin complet du fichier {0} pour l'espace de travail. Les chemins d'inclusion et les définitions découverts dans ce fichier sont utilisés à la place des valeurs définies pour les paramètres {1} et {2}. Si la base de données des commandes de compilation n'a pas d'entrée pour l'unité de traduction qui correspond au fichier que vous avez ouvert dans l'éditeur, un message d'avertissement s'affiche et l'extension utilise les paramètres {3} et {4} à la place.", + "compile.commands.description": "Une liste de chemins d'accès aux fichiers {0} de l'espace de travail. Les chemins d'inclusion et les définitions découverts dans ces fichiers seront utilisés à la place des valeurs définies pour les paramètres {1} et {2}. Si la base de données des commandes de compilation ne contient pas d'entrée pour l'unité de traduction correspondant au fichier que vous avez ouvert dans l'éditeur, un message d'avertissement apparaîtra et l'extension utilisera les paramètres {3} et {4} à la place.", + "one.compile.commands.path.per.line": "Un chemin d’accès des commandes de compilation par ligne.", "merge.configurations": "Fusionner les configurations", "merge.configurations.description": "Lorsque {0} (ou activé), la fusion inclut des chemins d’accès, des définitions et des éléments forcés avec ceux d’un fournisseur de configuration.", "browse.path": "Parcourir : chemin", diff --git a/Extension/i18n/fra/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/fra/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index 27adc7c4d0..9c3cf03916 100644 --- a/Extension/i18n/fra/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/fra/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "walkthrough.windows.title.open.dev.command.prompt": "Relancer à l’aide de l’invite de commandes développeur", - "walkthrough.windows.background.dev.command.prompt": " Vous utilisez une machine Windows avec le compilateur MSVC. Vous devez donc démarrer VS Code à partir de l’invite de commandes développeur pour que toutes les variables d’environnement soient correctement définies. Pour relancer à l’aide de l’invite de commandes développeur :", - "walkthrough.open.command.prompt": "Ouvrez l’Invite de commandes développeur pour VS en tapant « développeur » dans le menu Démarrer Windows. Sélectionnez l’Invite de commandes développeur pour VS, qui naviguera automatiquement vers votre dossier ouvert actuel.", - "walkthrough.windows.press.f5": "Tapez « code » dans l’invite de commandes et appuyez sur Entrée. Vous devriez relancer VS Code et revenir à cette procédure pas à pas. " + "walkthrough.windows.title.open.dev.command.prompt": "Relancer à l’aide du {0}", + "walkthrough.windows.background.dev.command.prompt": " Vous utilisez une machine Windows avec le compilateur MSVC. Vous devez donc démarrer VS Code à partir de l’{0} pour que toutes les variables d’environnement soient correctement définies. Pour relancer en tirant parti de l’{1} :", + "walkthrough.open.command.prompt": "Ouvrez le {0} en tapant « {1} » dans le menu Démarrer de Windows. Sélectionnez le {2}, qui accède automatiquement à votre dossier ouvert actuel.", + "walkthrough.windows.press.f5": "Tapez « {0} » dans l’invite de commandes et appuyez sur Entrée. Vous devriez relancer VS Code et revenir à cette procédure pas à pas. " } \ No newline at end of file diff --git a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index 5900f2c401..ce51fb14c3 100644 --- a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "Installer", "walkthrough.windows.note1": "Remarque", "walkthrough.windows.note1.text": "Vous pouvez utiliser l’ensemble d’outils C++ à partir de Visual Studio Build Tools avec Visual Studio Code pour compiler, générer et vérifier n’importe quelle base de code C++, tant que vous disposez également d’une licence Visual Studio valide (Community, Pro ou Enterprise) que vous utilisez activement pour développer cette base de code C++.", - "walkthrough.windows.open.command.prompt": "Ouvrez le {0} en tapant « développeur » dans le menu Démarrer de Windows.", - "walkthrough.windows.command.prompt.name1": "Invite de commandes Developer pour VS", - "walkthrough.windows.check.install": "Vérifiez l’installation de votre MSVC en tapant {0} dans la Invite de commandes développeur pour VS. Vous devez voir un message de Copyright avec la version et la description de l’utilisation de base.", + "walkthrough.windows.open.command.prompt": "Ouvrez le {0} en tapant « {1} » dans le menu Démarrer de Windows.", + "walkthrough.windows.check.install": "Vérifiez votre installation MSVC en tapant {0} dans le {1}. Vous devez voir un message de Copyright avec la version et la description de l’utilisation de base.", "walkthrough.windows.note2": "Remarque", - "walkthrough.windows.note2.text": "Pour utiliser MSVC à partir de la ligne de commande ou VS Code, vous devez exécuter à partir d’un {0}. Un interpréteur de commandes ordinaire, tel que {1}, {2} ou l’invite de commandes Windows, n’a pas les variables d’environnement de chemin d’accès nécessaires définies.", - "walkthrough.windows.command.prompt.name2": "Invite de commandes développeur pour VS" + "walkthrough.windows.note2.text": "Pour utiliser MSVC à partir de la ligne de commande ou VS Code, vous devez exécuter à partir d’un {0}. Un interpréteur de commandes ordinaire, tel que {1}, {2} ou l’invite de commandes Windows, n’a pas les variables d’environnement de chemin d’accès nécessaires définies." } \ No newline at end of file diff --git a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 41da8b169d..2a025d2133 100644 --- a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Remarque", "walkthrough.windows.note1.text": "Vous pouvez utiliser l’ensemble d’outils C++ à partir de Visual Studio Build Tools avec Visual Studio Code pour compiler, générer et vérifier n’importe quelle base de code C++, tant que vous disposez également d’une licence Visual Studio valide (Community, Pro ou Enterprise) que vous utilisez activement pour développer cette base de code C++.", "walkthrough.windows.verify.compiler": "Vérification de l’installation du compilateur", - "walkthrough.windows.open.command.prompt": "Ouvrez le {0} en tapant « développeur » dans le menu Démarrer de Windows.", - "walkthrough.windows.command.prompt.name1": "Invite de commandes Developer pour VS", - "walkthrough.windows.check.install": "Vérifiez l’installation de votre MSVC en tapant {0} dans la Invite de commandes développeur pour VS. Vous devez voir un message de Copyright avec la version et la description de l’utilisation de base.", + "walkthrough.windows.open.command.prompt": "Ouvrez le {0} en tapant « {1} » dans le menu Démarrer de Windows.", + "walkthrough.windows.check.install": "Vérifiez votre installation MSVC en tapant {0} dans le {1}. Vous devez voir un message de Copyright avec la version et la description de l’utilisation de base.", "walkthrough.windows.note2": "Remarque", "walkthrough.windows.note2.text": "Pour utiliser MSVC à partir de la ligne de commande ou VS Code, vous devez exécuter à partir d’un {0}. Un interpréteur de commandes ordinaire, tel que {1}, {2} ou l’invite de commandes Windows, n’a pas les variables d’environnement de chemin d’accès nécessaires définies.", - "walkthrough.windows.command.prompt.name2": "Invite de commandes développeur pour VS", "walkthrough.windows.other.compilers": "Autres options du compilateur", "walkthrough.windows.text3": "Si vous ciblez Linux à partir de Windows, consultez {0}. Vous pouvez également {1}.", "walkthrough.windows.link.title1": "Utilisation de C++ et du Sous-système Windows pour Linux (WSL) dans VS Code", diff --git a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 41da8b169d..2a025d2133 100644 --- a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Remarque", "walkthrough.windows.note1.text": "Vous pouvez utiliser l’ensemble d’outils C++ à partir de Visual Studio Build Tools avec Visual Studio Code pour compiler, générer et vérifier n’importe quelle base de code C++, tant que vous disposez également d’une licence Visual Studio valide (Community, Pro ou Enterprise) que vous utilisez activement pour développer cette base de code C++.", "walkthrough.windows.verify.compiler": "Vérification de l’installation du compilateur", - "walkthrough.windows.open.command.prompt": "Ouvrez le {0} en tapant « développeur » dans le menu Démarrer de Windows.", - "walkthrough.windows.command.prompt.name1": "Invite de commandes Developer pour VS", - "walkthrough.windows.check.install": "Vérifiez l’installation de votre MSVC en tapant {0} dans la Invite de commandes développeur pour VS. Vous devez voir un message de Copyright avec la version et la description de l’utilisation de base.", + "walkthrough.windows.open.command.prompt": "Ouvrez le {0} en tapant « {1} » dans le menu Démarrer de Windows.", + "walkthrough.windows.check.install": "Vérifiez votre installation MSVC en tapant {0} dans le {1}. Vous devez voir un message de Copyright avec la version et la description de l’utilisation de base.", "walkthrough.windows.note2": "Remarque", "walkthrough.windows.note2.text": "Pour utiliser MSVC à partir de la ligne de commande ou VS Code, vous devez exécuter à partir d’un {0}. Un interpréteur de commandes ordinaire, tel que {1}, {2} ou l’invite de commandes Windows, n’a pas les variables d’environnement de chemin d’accès nécessaires définies.", - "walkthrough.windows.command.prompt.name2": "Invite de commandes développeur pour VS", "walkthrough.windows.other.compilers": "Autres options du compilateur", "walkthrough.windows.text3": "Si vous ciblez Linux à partir de Windows, consultez {0}. Vous pouvez également {1}.", "walkthrough.windows.link.title1": "Utilisation de C++ et du Sous-système Windows pour Linux (WSL) dans VS Code", diff --git a/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json index 35aa537ba7..04d4bfd785 100644 --- a/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "Argomenti del compilatore per modificare le inclusioni o le definizioni usate, ad esempio `-nostdinc++`, `-m32` e così via. Gli argomenti che utilizzano argomenti delimitati da spazi aggiuntivi devono essere immessi come argomenti separati nella matrice, ad esempio per `--sysroot ` usare `\"--sysroot\", \"\"`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Versione dello standard del linguaggio C da usare per IntelliSense. Nota: gli standard GNU vengono usati solo per eseguire query sul compilatore impostato per ottenere le definizioni di GNU. IntelliSense emulerà la versione dello standard di C equivalente.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Versione dello standard del linguaggio C++ da usare per IntelliSense. Nota: gli standard GNU vengono usati solo per eseguire query sul compilatore impostato per ottenere le definizioni di GNU. IntelliSense emulerà la versione dello standard di C++ equivalente.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Percorso completo del file `compile_commands.json` per l'area di lavoro.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Percorso completo o elenco di percorsi completi dei file `compile_commands.json` per l'area di lavoro.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Elenco di percorsi che il motore IntelliSense usa durante la ricerca delle intestazioni incluse. La ricerca in questi percorsi non è ricorsiva. Specificare `**` per indicare la ricerca ricorsiva. Ad esempio: con `${workspaceFolder}/**` la ricerca verrà estesa a tutte le sottodirectory, mentre con `${workspaceFolder}` sarà limitata a quella corrente. In genere, ciò non deve includere le inclusioni di sistema, pertanto impostare `#C_Cpp.default.compilerPath#`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Elenco di percorsi che il motore IntelliSense userà durante la ricerca delle intestazioni incluse da framework Mac. Supportato solo nella configurazione Mac.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Versione del percorso di inclusione di Windows SDK da usare in Windows, ad esempio `10.0.17134.0`.", diff --git a/Extension/i18n/ita/package.i18n.json b/Extension/i18n/ita/package.i18n.json index 147faa4843..1c56f046e7 100644 --- a/Extension/i18n/ita/package.i18n.json +++ b/Extension/i18n/ita/package.i18n.json @@ -7,7 +7,7 @@ "c_cpp.subheaders.intelliSense.title": "IntelliSense", "c_cpp.subheaders.formatting.title": "Formattazione", "c_cpp.subheaders.codeDocumentation.title": "Documentazione del codice", - "c_cpp.subheaders.codeAnalysis.title": "Code Analysis", + "c_cpp.subheaders.codeAnalysis.title": "Analisi codice", "c_cpp.subheaders.debugging.title": "Debug", "c_cpp.subheaders.resourceManagement.title": "Gestione risorse", "c_cpp.subheaders.miscellaneous.title": "Varie", @@ -39,7 +39,7 @@ "c_cpp.command.RunCodeAnalysisOnActiveFile.title": "Esegui analisi del codice su File attivo", "c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "Esegui analisi del codice su Apri file", "c_cpp.command.RunCodeAnalysisOnAllFiles.title": "Esegui analisi del codice su Tutti i file", - "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Cancellare tutti i problemi Code Analysis", + "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Cancellare tutti i problemi di analisi codice", "c_cpp.command.BuildAndDebugFile.title": "Debug file C/C++", "c_cpp.command.BuildAndRunFile.title": "Esegui file C/C++", "c_cpp.command.AddDebugConfiguration.title": "Aggiungere configurazione di debug", @@ -70,14 +70,14 @@ "c_cpp.configuration.codeAnalysis.runAutomatically.markdownDescription": "Se è `true`, analisi del codice verrà eseguito automaticamente su un file dopo l'apertura o il salvataggio.", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showDisable.markdownDescription": "Se è `true`, l'azione codice 'Disabilita' verrà visualizzata quando disponibile (all'analisi codice successiva). Quando si usa l'azione codice 'Disabilita', aggiunge il codice di avviso all'impostazione `C_Cpp.codeAnalysis.clangTidy.checks.disabled`.", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showDocumentation.markdownDescription": "Se è `true`, l'azione codice 'Mostra documentazione per' verrà visualizzata quando disponibile (all'analisi codice successiva).", - "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.description": "Controlla quali opzioni di azione codice per il problema Code Analysis 'Cancella' sono disponibili. La modifica dell'impostazione per visualizzare altre opzioni potrebbe richiedere la ripetizione dell'analisi codice.", + "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.description": "Controlla quali opzioni di azione codice per il problema di analisi codice 'Cancella' sono disponibili. La modifica dell'impostazione per visualizzare altre opzioni potrebbe richiedere la ripetizione dell'analisi codice.", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.None.description": "Non mostrare azioni codice 'Cancella'.", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllOnly.description": "Mostrare solo l'azione codice 'Cancella tutto' (o 'Cancella tutti ' se è presente un solo tipo o 'Cancella questo' se è presente un solo problema).", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllType.description": "Mostrare l'azione codice 'Cancella tutto' (se sono presenti più tipi di problema) e l'azione codice 'Cancella tutti ' (o 'Cancella questo' se è presente un solo problema per )", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "Mostrare le azioni codice 'Cancella tutto' (se sono presenti più tipi di problema), 'Cancella tutti ' (se sono presenti più problemi per ) e 'Cancella questo'", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "Se `true`, la formattazione verrà eseguita nelle righe modificate dalle azioni del codice 'Correggi'.", "c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "Se è `true`, l'analisi del codice che usa `clang-tidy` verrà abilitata ed eseguita dopo l'apertura o il salvataggio di un file se `#C_Cpp.codeAnalysis.runAutomatically#` è `true` (impostazione predefinita).", - "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Percorso completo dell'eseguibile `clang-tidy`. Se non è specificato, `clang-tidy` è disponibile nel percorso dell'ambiente usato. Se non viene trovato nel percorso dell'ambiente, verrà usato `clang-tidy` in bundle con l'estensione.", + "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Percorso completo dell'eseguibile `clang-tidy`. Se non specificato, e se `clang-tidy` è disponibile nel percorso dell'ambiente, questo verrà utilizzato, a meno che la versione inclusa con l'estensione non sia più recente. Se non viene trovato nel percorso dell'ambiente, verrà usato `clang-tidy` in bundle con l'estensione.", "c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "Specifica una configurazione `clang-tidy` in formato YAML/JSON: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{chiave: x, valore: y}]}`. Quando il valore è vuoto, `clang-tidy` tenterà di trovare un file denominato `.clang-tidy` per ogni file di origine nelle directory padre.", "c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "Specifica una configurazione `clang-tidy` in formato YAML/JSON da usare come fallback quando `#C_Cpp.codeAnalysis.clangTidy.config#` non è impostato e non è stato trovato alcun file `.clang-tidy`: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{chiave: x, valore: y}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Espressione regolare estesa POSIX (ERE) corrispondente ai nomi delle intestazioni da cui eseguire la diagnostica di output. La diagnostica dal file principale di ogni unità di conversione viene sempre visualizzata. La variabile `${workspaceFolder}` è supportata e viene usata come valore di fallback predefinito se non esiste alcun file `.clang-tidy`. Se questa opzione non è `null` (vuota), esegue l'override dell'opzione `HeaderFilterRegex` in un file `.clang-tidy`, se presente.", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "Un blocco di codice completo immesso su una sola riga viene mantenuto su una sola riga, indipendentemente dai valori di qualsiasi impostazione `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "Codice di qualsiasi tipo in cui le parentesi graffe di apertura e chiusura sono nella stessa riga viene mantenuto in una sola riga, indipendentemente dai valori di una delle impostazioni `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "I blocchi di codice vengono sempre formattati in base ai valori delle impostazioni `C_Cpp.vcFormat.newLine.*`.", - "c_cpp.configuration.clang_format_path.markdownDescription": "Percorso completo del file eseguibile `clang-format`. Se non è specificato, verrà usato lo strumento `clang-format` disponibile nel percorso dell'ambiente. Se non viene trovato nel percorso dell'ambiente, verrà usato il `clang-format` fornito in bundle con l'estensione.", + "c_cpp.configuration.clang_format_path.markdownDescription": "Percorso completo del file eseguibile `clang-format`. Se non specificato, e se `clang-format` è disponibile nel percorso dell'ambiente, questo verrà utilizzato, a meno che la versione inclusa con l'estensione non sia più recente. Se non viene trovato nel percorso dell'ambiente, verrà usato il `clang-format` fornito in bundle con l'estensione.", "c_cpp.configuration.clang_format_style.markdownDescription": "Stile di codifica, attualmente supporta: `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`. Usare `file` per caricare lo stile da un file `.clang-format` nella directory corrente o padre, oppure usare `file:/.clang-format` per fare riferimento a un percorso specifico. Usare `{chiave: valore, ...}` per impostare parametri specifici. Ad esempio, lo stile `Visual Studio` è simile a: `{ 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": "Nome dello stile predefinito usato come fallback nel caso in cui `clang-format` venga richiamato con lo stile `file`, ma il file `clang-format` non viene trovato. I valori possibili sono `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`, `none`. In alternativa, usare `{chiave: valore, ...}` per impostare parametri specifici. Ad esempio, lo stile `Visual Studio` è simile a: `{ 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": "Se è impostata, esegue l'override del comportamento di ordinamento di inclusione determinato dal parametro `SortIncludes`.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "Indica all'estensione quando usare l'opzione `#files.exclude#` (e `#C_Cpp.files.exclude#`) per determinare i file da aggiungere al database di esplorazione del codice durante l'attraversamento dei percorsi nella matrice `browse.path`. Se l'opzione `#files.exclude#` contiene solo cartelle, `checkFolders` è la scelta migliore e consentirà di velocizzare l'inizializzazione del database di esplorazione del codice nell'estensione.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "I filtri di esclusione verranno valutati una sola volta per cartella (i singoli file non verranno controllati).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "I filtri di esclusione verranno valutati in base a ogni file e cartella rilevati.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Carattere usato come separatore di percorso per i risultati di completamento automatico di `#include`.", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Carattere utilizzato come separatore di percorso per i percorsi utente generati.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Se è `true`, le descrizioni comando al passaggio del mouse e del completamento automatico visualizzeranno solo alcune etichette di commenti strutturati. In caso contrario, vengono visualizzati tutti i commenti.", "c_cpp.configuration.doxygen.generateOnType.description": "Controlla se inserire automaticamente il commento Doxygen dopo aver digitato lo stile di commento scelto.", "c_cpp.configuration.doxygen.generatedStyle.description": "Stringa di caratteri utilizzata come riga iniziale del commento Doxygen.", @@ -253,6 +253,7 @@ "c_cpp.configuration.hover.description": "Se questa opzione è disabilitata, i dettagli al passaggio del mouse non vengono più forniti dal server di linguaggio.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "Abilita i servizi di integrazione per l'[utilità di gestione dipendenze di vcpkg](https://aka.ms/vcpkg/).", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "Aggiungere percorsi di inclusione da `nan` e `node-addon-api` quando sono dipendenze.", + "c_cpp.configuration.copilotHover.markdownDescription": "Se è `disabled`, nessuna informazione di Copilot verrà visualizzata al passaggio del mouse.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Se è `true`, con 'Rinomina simbolo' sarà richiesto un identificatore C/C++ valido.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Se è `true`, il completamento automatico aggiungerà automaticamente `(` dopo le chiamate di funzione. In tal caso potrebbe essere aggiunto anche `)`, a seconda del valore dell'impostazione `#editor.autoClosingBrackets#`.", "c_cpp.configuration.filesExclude.markdownDescription": "Configurare i criteri GLOB per escludere le cartelle (e i file se `#C_Cpp.exclusionPolicy#` viene modificato). Sono specifici dell'estensione C/C++ e si aggiungono a `#files.exclude#`, ma diversamente da `#files.exclude#` si applicano anche ai percorsi esterni alla cartella dell'area di lavoro corrente e non vengono rimossi dalla visualizzazione Esplora risorse. Altre informazioni su [criteri GLOB](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", @@ -427,8 +428,8 @@ "c_cpp.walkthrough.create.cpp.file.title": "Creare un file C++", "c_cpp.walkthrough.create.cpp.file.description": "[Open](command:toSide:workbench.action.files.openFile) o [creare](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) un file C++. Assicurasi di salvarlo con l'estensione \".cpp\", ad esempio \"helloworld.cpp\". \n[Creare un file C++](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", "c_cpp.walkthrough.create.cpp.file.altText": "Apre un file C++ o una cartella con un progetto C++.", - "c_cpp.walkthrough.command.prompt.title": "Prompt dei comandi per gli sviluppatori", - "c_cpp.walkthrough.command.prompt.description": "Quando si usa il compilatore C++ Microsoft Visual Studio, l'estensione C++ richiede di avviare VS Code dal prompt dei comandi per sviluppatori. Seguire le istruzioni a destra per riavviare.\n[Reload Window](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": "Avvia dal Prompt dei comandi per gli sviluppatori per Visual Studio", + "c_cpp.walkthrough.command.prompt.description": "Nell'ambito dell'utilizzo del compilatore C++ di Microsoft Visual Studio C++, l'estensione C++ richiede di avviare VS Code dal Prompt dei comandi per gli sviluppatori per VS. Seguire le istruzioni a destra per riavviare.\n[Ricarica finestra](command:workbench.action.reloadWindow)", "c_cpp.walkthrough.run.debug.title": "Esegui con debug il file C++", "c_cpp.walkthrough.run.debug.mac.description": "Aprire il file C++ e fare clic sul pulsante Riproduci nell'angolo in alto a destra dell'editor oppure premere F5 quando è presente sul file. Selezionare \"clang++ - Compila ed esegui il debug del file attivo\" da eseguire con il debugger.", "c_cpp.walkthrough.run.debug.linux.description": "Aprire il file C++ e fare clic sul pulsante Riproduci nell'angolo in alto a destra dell'editor oppure premere F5 quando è presente sul file. Selezionare \"g++ - Compila ed esegue il debug del file attivo\" da eseguire con il debugger.", diff --git a/Extension/i18n/ita/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/ita/src/Debugger/configurationProvider.i18n.json index 64cb06e190..1272df8696 100644 --- a/Extension/i18n/ita/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/ita/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "Impossibile trovare il debugger {0}. La configurazione di debug per {1} viene ignorata.", "build.and.debug.active.file": "compilare ed eseguire il debug del file attivo", - "cl.exe.not.available": "La compilazione e il debug di {0} sono utilizzabili solo quando VS Code viene eseguito da Prompt dei comandi per gli sviluppatori per Visual Studio.", + "cl.exe.not.available": "{0} è utilizzabile solo quando VS Code è in esecuzione da {1}.", "lldb.find.failed": "Manca la dipendenza '{0}' per l'eseguibile lldb-mi.", "lldb.search.paths": "Ricerca effettuata in:", "lldb.install.help": "Per risolvere questo problema, installare Xcode tramite Apple App Store oppure installare gli strumenti da riga di comando di Xcode eseguendo '{0}' in una finestra di terminale.", diff --git a/Extension/i18n/ita/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/ita/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..9589a4d345 --- /dev/null +++ b/Extension/i18n/ita/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Genera riepilogo Copilot", + "copilot.disclaimer": "Il contenuto generato dall'intelligenza artificiale potrebbe non essere corretto." +} \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/codeAnalysis.i18n.json b/Extension/i18n/ita/src/LanguageServer/codeAnalysis.i18n.json index f0c190f251..53164a0920 100644 --- a/Extension/i18n/ita/src/LanguageServer/codeAnalysis.i18n.json +++ b/Extension/i18n/ita/src/LanguageServer/codeAnalysis.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "fix.all.code.analysis.problems": "Correggere tutti i problemi Code Analysis", - "clear.all.code.analysis.problems": "Cancellare tutti i problemi di Code Analysis", + "fix.all.code.analysis.problems": "Correggere tutti i problemi analisi codice", + "clear.all.code.analysis.problems": "Cancellare tutti i problemi di analisi codice", "fix.all.type.problems": "Correggere tutti i problemi {0}", "disable.all.type.problems": "Disabilitare tutti i problemi {0}", "clear.all.type.problems": "Cancellare tutti i problemi {0}", diff --git a/Extension/i18n/ita/src/LanguageServer/configurations.i18n.json b/Extension/i18n/ita/src/LanguageServer/configurations.i18n.json index cbdd8fdecf..4722976d4e 100644 --- a/Extension/i18n/ita/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/ita/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "Il percorso non è un file: {0}", "path.is.not.a.directory": "Il percorso non è una directory: {0}", "duplicate.name": "{0} è duplicato. Il nome della configurazione deve essere univoco.", - "cannot.find2": "Non è possibile trovare \"{0}\".", "multiple.paths.not.allowed": "Più percorsi non sono consentiti.", + "multiple.paths.should.be.separate.entries": "Più percorsi devono essere voci separate in una matrice.", "paths.are.not.directories": "I percorsi non sono directory: {0}" } \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/ita/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/ita/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/extension.i18n.json b/Extension/i18n/ita/src/LanguageServer/extension.i18n.json index bd38688925..a18f3637e1 100644 --- a/Extension/i18n/ita/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/ita/src/LanguageServer/extension.i18n.json @@ -16,8 +16,12 @@ "configuration.select.first": "Apri prima una cartella per selezionare una configurazione.", "configuration.provider.select.first": "Apri prima una cartella per selezionare un provider di configurazione.", "edit.configurations.open.first": "Aprire prima una cartella per modificare le configurazioni", - "code.action.aborted": "Impossibile applicare la correzione di Code Analysis perché il documento è stato modificato.", + "code.action.aborted": "Impossibile applicare la correzione di analisi codice perché il documento è stato modificato.", "prerelease.message": "È disponibile una versione non definitiva dell'estensione C/C++. Passare a questa versione?", "yes.button": "Sì", - "no.button": "No" + "no.button": "No", + "copilot.hover.unavailable": "Il riepilogo di Copilot non è disponibile.", + "copilot.hover.excluded": "Il file contenente la definizione o la dichiarazione di questo simbolo è stato escluso dall'uso con Copilot.", + "copilot.hover.unavailable.symbol": "Il riepilogo di Copilot non è disponibile per questo simbolo.", + "copilot.hover.error": "Errore durante la generazione del riepilogo di Copilot." } \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/ita/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/ita/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/ui.i18n.json b/Extension/i18n/ita/src/LanguageServer/ui.i18n.json index d33496cf27..94e16456e6 100644 --- a/Extension/i18n/ita/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/ita/src/LanguageServer/ui.i18n.json @@ -33,7 +33,7 @@ "startup.codeanalysis.status": "Avvio...", "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Esegui", "running.analysis.processed.tooltip": "In esecuzione: {0} / {1} ({2}%)", - "select.code.analysis.command": "Selezionare un comando di Code Analysis...", + "select.code.analysis.command": "Selezionare un comando di analisi codice...", "cancel.analysis": "Annulla", "resume.analysis": "Riprendi", "pause.analysis": "Sospendi", diff --git a/Extension/i18n/ita/src/expand.i18n.json b/Extension/i18n/ita/src/expand.i18n.json index 2043ff28dd..7350a020e6 100644 --- a/Extension/i18n/ita/src/expand.i18n.json +++ b/Extension/i18n/ita/src/expand.i18n.json @@ -6,7 +6,7 @@ { "max.recursion.reached": "Ha raggiunto la ricorsione di espansione massima delle stringhe. Possibile riferimento circolare.", "invalid.var.reference": "Riferimento a variabile {0} non valido nella stringa: {1}.", - "env.var.not.found": "La variabile di ambiente {0}non è stata trovata", + "env.var.not.found": "La variabile di ambiente {0} non è stata trovata", "commands.not.supported": "I comandi non sono supportati per la stringa: {0}.", "exception.executing.command": "Si è verificata un'eccezione durante l'esecuzione del comando {0} per la stringa: {1} {2}." -} \ No newline at end of file +} diff --git a/Extension/i18n/ita/src/nativeStrings.i18n.json b/Extension/i18n/ita/src/nativeStrings.i18n.json index db129d2a77..0f9ae629c8 100644 --- a/Extension/i18n/ita/src/nativeStrings.i18n.json +++ b/Extension/i18n/ita/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "Non è stato possibile eseguire una query sul compilatore. Verrà eseguito il fallback a intelliSenseMode a 64 bit.", "fallback_to_no_bitness": "Non è stato possibile eseguire una query sul compilatore. Verrà eseguito il fallback alla modalità senza numero di bit.", "intellisense_client_creation_aborted": "La creazione del client IntelliSense è stata interrotta: {0}", - "include_errors_config_provider_intellisense_disabled ": "Sono stati rilevati errori #include sulla base delle informazioni fornite dall'impostazione configurationProvider. Le funzionalità IntelliSense per questa unità di conversione ({0}) verranno fornite dal parser di tag.", - "include_errors_config_provider_squiggles_disabled ": "Sono stati rilevati errori #include sulla base delle informazioni fornite dall'impostazione configurationProvider. I segni di revisione sono disabilitati per questa unità di conversione ({0}).", + "include_errors_config_provider_intellisense_disabled": "Sono stati rilevati errori #include sulla base delle informazioni fornite dall'impostazione configurationProvider. Le funzionalità IntelliSense per questa unità di conversione ({0}) verranno fornite dal parser di tag.", + "include_errors_config_provider_squiggles_disabled": "Sono stati rilevati errori #include sulla base delle informazioni fornite dall'impostazione configurationProvider. I segni di revisione sono disabilitati per questa unità di conversione ({0}).", "preprocessor_keyword": "parola chiave del preprocessore", "c_keyword": "parola chiave C", "cpp_keyword": "parola chiave C++", @@ -241,7 +241,7 @@ "inline_macro": "Macro inline", "unable_to_access_browse_database": "Impossibile accedere al database di esplorazione. ({0})", "default_compiler_path_modified_explicit_intellisense_mode": "IntelliSenseMode è stato modificato perché non corrisponde al compilatore rilevato. Provare a impostare \"compilerPath\". Impostare \"compilerPath\" su \"\" per disabilitare il rilevamento delle inclusioni e delle definizioni del sistema.", - "remove_all_code_analysis_problems": "Rimuovere tutti i problemi Code Analysis", + "remove_all_code_analysis_problems": "Rimuovere tutti i problemi analisi codice", "multiple_locations_note": "(Più località)", "folder_tag": "Cartella", "file_tag": "File", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "La funzione deve restituire un valore per riferimento. Il codice C non è in grado di restituire riferimenti.", "refactor_extract_xborder_jump": "Sono presenti collegamenti tra il codice selezionato e quello circostante.", "refactor_extract_missing_return": "Nel codice selezionato alcuni percorsi di controllo terminano senza impostare il valore restituito. Questo comportamento è supportato solo per tipi restituiti scalari, numerici e puntatore.", - "expand_selection": "Espandi selezione (per abilitare 'Estrai in funzione')" + "expand_selection": "Espandi selezione (per abilitare 'Estrai in funzione')", + "file_not_found_in_path2": "\"{0}\" non è stato trovato nei file compile_commands.json. In alternativa per questo file verrà usato ''includePath'' del file c_cpp_properties.json nella cartella ''{1}''.", + "copilot_hover_link": "Genera riepilogo Copilot" } \ No newline at end of file diff --git a/Extension/i18n/ita/ui/settings.html.i18n.json b/Extension/i18n/ita/ui/settings.html.i18n.json index 181b6bcd85..d014da75eb 100644 --- a/Extension/i18n/ita/ui/settings.html.i18n.json +++ b/Extension/i18n/ita/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "Dot Config", "dot.config.description": "Il percorso a un file .config creato dal sistema Kconfig. Il sistema Kconfig genera un file con tutte le define per compilare un progetto. Esempi di progetti che usano il sistema Kconfig sono Kernel Linux e NuttX RTOS.", "compile.commands": "Comandi di compilazione", - "compile.commands.description": "Percorso completo del file {0} per l'area di lavoro. Verranno usati i percorsi di inclusione e le direttive define individuati in questo file invece dei valori specificati per le impostazioni {1} e {2}. Se il database dei comandi di compilazione non contiene una voce per l'unità di conversione corrispondente al file aperto nell'editor, verrà visualizzato un messaggio di avviso e l'estensione userà le impostazioni {3} e {4}.", + "compile.commands.description": "Elenco di percorsi per {0} file per l'area di lavoro. Verranno usati i percorsi di inclusione e le definizioni individuati in questi file invece dei valori impostati per le impostazioni {1} e {2}. Se il database dei comandi di compilazione non contiene una voce per l'unità di conversione corrispondente al file aperto nell'editor, allora verrà visualizzato un messaggio di avviso e l'estensione userà le impostazioni {3} e {4}.", + "one.compile.commands.path.per.line": "Percorso di un comando di compilazione per riga.", "merge.configurations": "Unire configurazioni", "merge.configurations.description": "Quando è impostato su {0} (o selezionato), l'unione include percorsi di inclusione, definizioni e inclusioni forzate con quelli di un provider di configurazione.", "browse.path": "Sfoglia: percorso", diff --git a/Extension/i18n/ita/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/ita/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index b69d560419..d0ad50441a 100644 --- a/Extension/i18n/ita/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/ita/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "walkthrough.windows.title.open.dev.command.prompt": "Riavviare utilizzando il prompt dei comandi per sviluppatori", - "walkthrough.windows.background.dev.command.prompt": " Si sta usando un computer Windows con il compilatore MSVC, quindi è necessario avviare VS Code dal prompt dei comandi per sviluppatori per impostare correttamente tutte le variabili di ambiente. Per riavviare utilizzando il prompt dei comandi per sviluppatori:", - "walkthrough.open.command.prompt": "Per aprire il Prompt dei comandi per gli sviluppatori per Visual Studio, digitare \"developer\" nel menu Start di Windows. Selezionare il Prompt dei comandi per gli sviluppatori per Visual Studio, che passerà automaticamente alla cartella aperta corrente.", - "walkthrough.windows.press.f5": "Digitare \"code\" nel prompt dei comandi e premere INVIO. È consigliabile riavviare VS Code e tornare a questa procedura dettagliata. " + "walkthrough.windows.title.open.dev.command.prompt": "Riavvia utilizzando il {0}", + "walkthrough.windows.background.dev.command.prompt": " Si sta usando un computer Windows con il compilatore MSVC, quindi è necessario avviare VS Code da {0} per impostare correttamente tutte le variabili di ambiente. Per riavviare usando {1}:", + "walkthrough.open.command.prompt": "Aprire il {0} digitando \"{1}\" nel menu Start di Windows. Selezionare il {2}, che passerà automaticamente alla cartella aperta corrente.", + "walkthrough.windows.press.f5": "Digitare \"{0}\" nel prompt dei comandi e premere INVIO. È consigliabile riavviare VS Code e tornare a questa procedura dettagliata. " } \ No newline at end of file diff --git a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index e7a8f16d40..849e3a7e05 100644 --- a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "Installa", "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "È possibile usare il set di strumenti C++ di Visual Studio Build Tools insieme a Visual Studio Code per compilare, creare e verificare qualsiasi codebase C++, purché sia disponibile una licenza di Visual Studio valida (Community, Pro o Enterprise) usata attivamente per sviluppare la codebase C++.", - "walkthrough.windows.open.command.prompt": "Per aprire {0}, digitare 'developer' nel menu Start di Windows.", - "walkthrough.windows.command.prompt.name1": "Prompt dei comandi per gli sviluppatori per Visual Studio", - "walkthrough.windows.check.install": "Verificare l'installazione di MSVC digitando {0} al Prompt dei comandi per gli sviluppatori per Visual Studio. Verranno visualizzati un messaggio di copyright, la versione e la descrizione sulla sintassi di base.", + "walkthrough.windows.open.command.prompt": "Aprire {0} digitando \"{1}\" nel menu Start di Windows.", + "walkthrough.windows.check.install": "Controllare l'installazione di MSVC digitando {0} in {1}. Verranno visualizzati un messaggio di copyright, la versione e la descrizione sulla sintassi di base.", "walkthrough.windows.note2": "Nota", - "walkthrough.windows.note2.text": "Per usare MSVC dalla riga di comando o da VS Code, è necessario eseguire l'applicazione da {0}. Con una shell normale, ad esempio {1}, {2} o il prompt dei comandi di Windows le variabili di ambiente del percorso necessarie non sono impostate.", - "walkthrough.windows.command.prompt.name2": "Prompt dei comandi per gli sviluppatori per Visual Studio" + "walkthrough.windows.note2.text": "Per usare MSVC dalla riga di comando o da VS Code, è necessario eseguire l'applicazione da {0}. Con una shell normale, ad esempio {1}, {2} o il prompt dei comandi di Windows le variabili di ambiente del percorso necessarie non sono impostate." } \ No newline at end of file diff --git a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 50e0606f36..43fc11a775 100644 --- a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "È possibile usare il set di strumenti C++ di Visual Studio Build Tools insieme a Visual Studio Code per compilare, creare e verificare qualsiasi codebase C++, purché sia disponibile una licenza di Visual Studio valida (Community, Pro o Enterprise) usata attivamente per sviluppare la codebase C++.", "walkthrough.windows.verify.compiler": "Verifica dell'installazione del compilatore", - "walkthrough.windows.open.command.prompt": "Per aprire {0}, digitare 'developer' nel menu Start di Windows.", - "walkthrough.windows.command.prompt.name1": "Prompt dei comandi per gli sviluppatori per Visual Studio", - "walkthrough.windows.check.install": "Verificare l'installazione di MSVC digitando {0} al Prompt dei comandi per gli sviluppatori per Visual Studio. Verranno visualizzati un messaggio di copyright, la versione e la descrizione sulla sintassi di base.", + "walkthrough.windows.open.command.prompt": "Aprire {0} digitando \"{1}\" nel menu Start di Windows.", + "walkthrough.windows.check.install": "Controllare l'installazione di MSVC digitando {0} in {1}. Verranno visualizzati un messaggio di copyright, la versione e la descrizione sulla sintassi di base.", "walkthrough.windows.note2": "Nota", "walkthrough.windows.note2.text": "Per usare MSVC dalla riga di comando o da VS Code, è necessario eseguire l'applicazione da {0}. Con una shell normale, ad esempio {1}, {2} o il prompt dei comandi di Windows le variabili di ambiente del percorso necessarie non sono impostate.", - "walkthrough.windows.command.prompt.name2": "Prompt dei comandi per gli sviluppatori per Visual Studio", "walkthrough.windows.other.compilers": "Altre opzioni del compilatore", "walkthrough.windows.text3": "Se la destinazione è Linux da Windows, vedere {0}. In alternativa, è possibile {1}.", "walkthrough.windows.link.title1": "Uso di C++ e del sottosistema Windows per Linux (WSL) in VS Code", diff --git a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 50e0606f36..43fc11a775 100644 --- a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "È possibile usare il set di strumenti C++ di Visual Studio Build Tools insieme a Visual Studio Code per compilare, creare e verificare qualsiasi codebase C++, purché sia disponibile una licenza di Visual Studio valida (Community, Pro o Enterprise) usata attivamente per sviluppare la codebase C++.", "walkthrough.windows.verify.compiler": "Verifica dell'installazione del compilatore", - "walkthrough.windows.open.command.prompt": "Per aprire {0}, digitare 'developer' nel menu Start di Windows.", - "walkthrough.windows.command.prompt.name1": "Prompt dei comandi per gli sviluppatori per Visual Studio", - "walkthrough.windows.check.install": "Verificare l'installazione di MSVC digitando {0} al Prompt dei comandi per gli sviluppatori per Visual Studio. Verranno visualizzati un messaggio di copyright, la versione e la descrizione sulla sintassi di base.", + "walkthrough.windows.open.command.prompt": "Aprire {0} digitando \"{1}\" nel menu Start di Windows.", + "walkthrough.windows.check.install": "Controllare l'installazione di MSVC digitando {0} in {1}. Verranno visualizzati un messaggio di copyright, la versione e la descrizione sulla sintassi di base.", "walkthrough.windows.note2": "Nota", "walkthrough.windows.note2.text": "Per usare MSVC dalla riga di comando o da VS Code, è necessario eseguire l'applicazione da {0}. Con una shell normale, ad esempio {1}, {2} o il prompt dei comandi di Windows le variabili di ambiente del percorso necessarie non sono impostate.", - "walkthrough.windows.command.prompt.name2": "Prompt dei comandi per gli sviluppatori per Visual Studio", "walkthrough.windows.other.compilers": "Altre opzioni del compilatore", "walkthrough.windows.text3": "Se la destinazione è Linux da Windows, vedere {0}. In alternativa, è possibile {1}.", "walkthrough.windows.link.title1": "Uso di C++ e del sottosistema Windows per Linux (WSL) in VS Code", diff --git a/Extension/i18n/jpn/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/jpn/c_cpp_properties.schema.json.i18n.json index 038492d02e..40002a566c 100644 --- a/Extension/i18n/jpn/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/jpn/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "たとえば `-nostdinc++`、`-m32` など、使用されているインクルードや定義を変更するコンパイラ引数。追加のスペース区切りの引数を受け取る引数は、配列内の別の引数として入力する必要があります。たとえば、`--sysroot ` の場合、`\"--sysroot\", \"\"` を使用します。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "IntelliSense に使用する C 言語標準のバージョンです。注意: GNU 標準は、set コンパイラをクエリして GNU 定義を取得するためにのみ使用されるため、IntelliSense は同等の C 標準バージョンをエミュレートします。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "IntelliSense に使用する C++ 言語標準のバージョンです。注意: GNU 標準は、set コンパイラをクエリして 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.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": "Mac フレームワークからインクルードされたヘッダーを検索する際に IntelliSense エンジンが使用するパスの一覧です。Mac 構成でのみサポートされます。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Windows で使用する Windows SDK インクルード パスのバージョン (例: `10.0.17134.0`)。", diff --git a/Extension/i18n/jpn/package.i18n.json b/Extension/i18n/jpn/package.i18n.json index d3ea6612e2..3e6704ee39 100644 --- a/Extension/i18n/jpn/package.i18n.json +++ b/Extension/i18n/jpn/package.i18n.json @@ -7,7 +7,7 @@ "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.codeAnalysis.title": "コード分析", "c_cpp.subheaders.debugging.title": "デバッグ", "c_cpp.subheaders.resourceManagement.title": "リソース管理", "c_cpp.subheaders.miscellaneous.title": "その他", @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "[すべてクリア] (複数の問題の種類がある場合)、[すべてののクリア] (に複数の問題がある場合)、'これをクリア' コード アクションを表示する", "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.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}]}`。", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "診断を出力するヘッダーの名前と一致する POSIX 拡張正規表現 (ERE)。各翻訳単位のメイン ファイルからの診断は常に表示されます。`${workspaceFolder}` 変数はサポートされています (`.clang-tidy` ファイルが存在しない場合は、既定のフォールバック値として使用されます)。このオプションが `null` (空) でない場合は、`.clang-tidy` ファイルの `HeaderFilterRegex` オプションがオーバーライドされます (存在する場合)。", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "`C_Cpp.vcFormat.newLine.*` 設定の値に関係なく、1 行に入力された完全なコード ブロックは、1 行に保持されます。", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "`C_Cpp.vcFormat.newLine.*` 設定の値に関係なく、左および右中かっこが 1 行に入力されているコードは、1 行に保持されます。", "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_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:<パス>/.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": "`clang-format` が`file`スタイルで呼び出されたものの`.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` パラメーターによって決定されるインクルードの並べ替え動作がオーバーライドされます。", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "`browse.path` 配列内のパスを走査する際、コード ナビゲーションのデータベースに追加する必要があるファイルを決定するときに、いつ `#files.exclude#` (および `#C_Cpp.files.exclude#`) 設定を使用するかを拡張機能に指示します。`#files.exclude#` 設定にフォルダーのみが含まれる場合は `checkFolders` が最適で、拡張機能がコード ナビゲーションのデータベースを初期化する速度が向上します。", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "除外フィルターはフォルダーごとに 1 回だけ評価されます (個々のファイルはチェックされません)。", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "除外フィルターは、検出されたすべてのファイルとフォルダーに対して評価されます。", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "`#include` のオートコンプリート結果でパス区切り記号として使用される文字です。", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "生成されたユーザー パスのパス区切り記号として使用される文字です。", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "`true` の場合、ホバーおよびオートコンプリートのヒントに、構造化されたコメントの特定のラベルのみが表示されます。それ以外の場合は、すべてのコメントが表示されます。", "c_cpp.configuration.doxygen.generateOnType.description": "選択したコメント スタイルを入力した後に、Doxygen コメントを自動的に挿入するかどうかを制御します。", "c_cpp.configuration.doxygen.generatedStyle.description": "Doxygen コメントの開始行として使用される文字列です。", @@ -253,6 +253,7 @@ "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.copilotHover.markdownDescription": "`disabled` の場合、ホバーに Copilot 情報は表示されません。", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "`true` の場合、'シンボルの名前変更' には有効な C/C++ 識別子が必要です。", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "`true` の場合、関数呼び出しの後に `(` が自動的に追加されます。その場合は、`#editor.autoClosingBrackets#` 設定の値に応じて、`)` も追加される場合があります。", "c_cpp.configuration.filesExclude.markdownDescription": "フォルダー (および `#C_Cpp.exclusionPolicy#` が変更されている場合はファイル) を除外するための glob パターンを構成します。これらは C/C++ 拡張機能に固有であり、`#files.exclude#` に加えてありますが、`#files.exclude#` とは異なり、現在のワークスペース フォルダーの外部のパスにも適用され、エクスプローラー ビューからは削除されません。[glob パターン](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options) についての詳細をご確認ください。", @@ -427,8 +428,8 @@ "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++ ファイル。\"helloworld.cpp\" などの \".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.command.prompt.title": "VS の開発者コマンド プロンプトから起動する", + "c_cpp.walkthrough.command.prompt.description": "Microsoft Visual Studio C++ コンパイラを使用する場合、C++ 拡張機能では、VS の開発者コマンド プロンプトから 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++ - アクティブ ファイルのビルドとデバッグ] を選択します。", diff --git a/Extension/i18n/jpn/src/Debugger/attachToProcess.i18n.json b/Extension/i18n/jpn/src/Debugger/attachToProcess.i18n.json index b92a94f821..e986dab524 100644 --- a/Extension/i18n/jpn/src/Debugger/attachToProcess.i18n.json +++ b/Extension/i18n/jpn/src/Debugger/attachToProcess.i18n.json @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.path.and.server.address.required": "デバッグ構成の{0}には、{1}と {2} が必要です", + "debugger.path.and.server.address.required": "デバッグ構成の {0} には、{1} と {2} が必要です", "no.pipetransport.useextendedremote": "選択されたデバッグ構成には {0} または {1} は含まれません", "select.process.attach": "アタッチするプロセスを選択する", "process.not.selected": "プロセスが選択されていません。", @@ -12,4 +12,4 @@ "no.process.list": "転送アタッチでプロセス一覧を取得できませんでした。", "failed.to.make.gdb.connection": "GDB 接続を作成できませんでした: \"{0}\"。", "failed.to.parse.processes": "プロセスを解析できませんでした: \"{0}\"。" -} \ No newline at end of file +} diff --git a/Extension/i18n/jpn/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/jpn/src/Debugger/configurationProvider.i18n.json index 0f009dc4ee..0e022f0add 100644 --- a/Extension/i18n/jpn/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/jpn/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "{0} デバッガーが見つかりません。{1} のデバッグ構成は無視されます。", "build.and.debug.active.file": "アクティブ ファイルのビルドとデバッグ", - "cl.exe.not.available": "{0} のビルドとデバッグを使用できるのは、VS 用開発者コマンド プロンプトから VS Code を実行する場合のみです。", + "cl.exe.not.available": "{0} は、{1} から VS Code を実行する場合にのみ使用できます。", "lldb.find.failed": "lldb-mi 実行可能ファイルの依存関係 '{0}' が見つかりません。", "lldb.search.paths": "検索対象:", "lldb.install.help": "この問題を解決するには、Apple App Store から XCode をインストールするか、またはターミナル ウィンドウで '{0}' を実行して XCode コマンド ライン ツールをインストールしてください。", diff --git a/Extension/i18n/jpn/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/jpn/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..c48e773b79 --- /dev/null +++ b/Extension/i18n/jpn/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Copilot 要約を生成します", + "copilot.disclaimer": "AI によって生成されたコンテンツが正しくない可能性があります。" +} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/client.i18n.json b/Extension/i18n/jpn/src/LanguageServer/client.i18n.json index 9907442dcb..f87ae5782e 100644 --- a/Extension/i18n/jpn/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/jpn/src/LanguageServer/client.i18n.json @@ -8,13 +8,13 @@ "configure.intelliSense.forFolder": "'{0}' フォルダーの IntelliSense をどのように構成しますか?", "configure.intelliSense.thisFolder": "このフォルダーの IntelliSense をどのように構成しますか?", "found.string": "{0} で見つかりました", - "use.compiler": "{0}を使用する", + "use.compiler": "{0} を使用する", "configuration.providers": "構成プロバイダー", "compilers": "コンパイラ", "selectIntelliSenseConfiguration.string": "IntelliSense 構成を選択...", "setCompiler.message": "IntelliSense が構成されていません。独自の構成を設定しない限り、IntelliSense は機能しない可能性があります。", - "use.provider": "{0}を使用する", - "use.compileCommands": "{0}を使用する", + "use.provider": "{0} を使用する", + "use.compileCommands": "{0} を使用する", "selectAnotherCompiler.string": "コンピューター上の別のコンパイラを選択...", "installCompiler.string": "コンパイラのインストールに関するヘルプ", "installCompiler.string.nix": "コンパイラのインストール", @@ -38,4 +38,4 @@ "handle.extract.new.function": "NewFunction", "handle.extract.error": "関数への抽出に失敗しました: {0}", "invalid.edit": "関数への抽出に失敗しました。無効な編集が生成されました: '{0}'" -} \ No newline at end of file +} diff --git a/Extension/i18n/jpn/src/LanguageServer/configurations.i18n.json b/Extension/i18n/jpn/src/LanguageServer/configurations.i18n.json index c689d1f819..c69388d17f 100644 --- a/Extension/i18n/jpn/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/jpn/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "パスがファイルではありません: {0}", "path.is.not.a.directory": "パスがディレクトリではありません: {0}", "duplicate.name": "{0} が重複しています。構成名は一意である必要があります。", - "cannot.find2": "\"{0}\" が見つかりません。", "multiple.paths.not.allowed": "複数のパスは使用できません。", + "multiple.paths.should.be.separate.entries": "複数のパスは、配列内の個別のエントリである必要があります。", "paths.are.not.directories": "パスはディレクトリではありません: {0}" } \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/jpn/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/jpn/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/extension.i18n.json b/Extension/i18n/jpn/src/LanguageServer/extension.i18n.json index fe3c55f22d..7eacea0df9 100644 --- a/Extension/i18n/jpn/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/jpn/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "ドキュメントが変更されたため、コード分析修正プログラムを適用できませんでした。", "prerelease.message": "C/C++ 拡張機能のプレリリース版が利用可能です。切り替えますか?", "yes.button": "はい", - "no.button": "いいえ" + "no.button": "いいえ", + "copilot.hover.unavailable": "Copilot の概要は使用できません。", + "copilot.hover.excluded": "このシンボルの定義または宣言を含むファイルは、Copilot での使用から除外されています。", + "copilot.hover.unavailable.symbol": "Copilot の概要は、このシンボルでは使用できません。", + "copilot.hover.error": "Copilot 要約の生成中にエラーが発生しました。" } \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/jpn/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/jpn/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/nativeStrings.i18n.json b/Extension/i18n/jpn/src/nativeStrings.i18n.json index 3803780511..9012c476bf 100644 --- a/Extension/i18n/jpn/src/nativeStrings.i18n.json +++ b/Extension/i18n/jpn/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "コンパイラを照会できませんでした。64 ビットの intelliSenseMode に戻しています。", "fallback_to_no_bitness": "コンパイラを照会できませんでした。ビットなしに戻ります。", "intellisense_client_creation_aborted": "IntelliSense クライアントの作成が中止されました: {0}", - "include_errors_config_provider_intellisense_disabled ": "configurationProvider 設定によって提供された情報に基づいて、#include エラーが検出されました。この翻訳単位 ({0}) の IntelliSense 機能は、タグ パーサーによって提供されます。", - "include_errors_config_provider_squiggles_disabled ": "configurationProvider 設定によって提供された情報に基づいて、#include エラーが検出されました。この翻訳単位 ({0}) では、波線が無効になっています。", + "include_errors_config_provider_intellisense_disabled": "configurationProvider 設定によって提供された情報に基づいて、#include エラーが検出されました。この翻訳単位 ({0}) の IntelliSense 機能は、タグ パーサーによって提供されます。", + "include_errors_config_provider_squiggles_disabled": "configurationProvider 設定によって提供された情報に基づいて、#include エラーが検出されました。この翻訳単位 ({0}) では、波線が無効になっています。", "preprocessor_keyword": "プリプロセッサ キーワード", "c_keyword": "C キーワード", "cpp_keyword": "C++ キーワード", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "関数は参照渡しで値を返す必要があります。C コードは参照を返すことができません。", "refactor_extract_xborder_jump": "選択したコードと周囲のコードの間にジャンプが存在します。", "refactor_extract_missing_return": "選択したコードでは、戻り値を設定せずに一部のコントロール パスが終了します。これは、スカラー型、数値型、およびポインター型の戻り値に対してのみサポートされます。", - "expand_selection": "選択範囲を展開する ([関数に抽出] を有効にする)" + "expand_selection": "選択範囲を展開する ([関数に抽出] を有効にする)", + "file_not_found_in_path2": "\"{0}\" が compile_commands.json ファイルに見つかりません。フォルダー '{1}' にある c_cpp_properties.json からの 'includePath' が、このファイルで代わりに使用されます。", + "copilot_hover_link": "Copilot 要約の生成" } \ No newline at end of file diff --git a/Extension/i18n/jpn/ui/settings.html.i18n.json b/Extension/i18n/jpn/ui/settings.html.i18n.json index e514a50651..7d41d675f3 100644 --- a/Extension/i18n/jpn/ui/settings.html.i18n.json +++ b/Extension/i18n/jpn/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "Dot Config", "dot.config.description": "Kconfig システムによって作成された.config ファイルへのパス。Kconfig システムは、プロジェクトをビルドするためのすべての定義を含むファイルを生成します。Kconfig システムを使用するプロジェクトの例としては、Linux Kernel と NuttX RTOS があります。", "compile.commands": "コンパイル コマンド", - "compile.commands.description": "ワークスペースの {0} ファイルへの完全なパスです。このファイルで検出されたインクルード パスおよび定義は、{1} および {2} の設定に設定されている値の代わりに使用されます。コンパイル コマンド データベースに、エディターで開いたファイルに対応する翻訳単位のエントリが含まれていない場合は、警告メッセージが表示され、代わりに拡張機能では {3} および {4} の設定が使用されます。", + "compile.commands.description": "ワークスペースの {0} ファイルへのパスの一覧。このファイルで検出されたインクルード パスおよび定義は、{1} および {2} の設定に設定されている値の代わりに使用されます。コンパイル コマンド データベースに、エディターで開いたファイルに対応する翻訳単位のエントリが含まれていない場合は、警告メッセージが表示され、代わりに拡張機能では {3} および {4} の設定が使用されます。", + "one.compile.commands.path.per.line": "1 行につき 1 つのコンパイル コマンド パス。", "merge.configurations": "構成のマージ", "merge.configurations.description": "{0} (またはチェックボックスがオン) の場合、インクルード パス、定義、および強制インクルードを構成プロバイダーのものにマージします。", "browse.path": "参照: パス", diff --git a/Extension/i18n/jpn/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/jpn/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index 13e8874291..8068620ed2 100644 --- a/Extension/i18n/jpn/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/jpn/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // 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 が再起動され、このチュートリアルに戻ります。 " + "walkthrough.windows.title.open.dev.command.prompt": "{0} を使用して再起動する", + "walkthrough.windows.background.dev.command.prompt": " MSVC コンパイラで Windows マシンを使用しているため、すべての環境変数を正しく設定するには、{0} から VS Code を開始する必要があります。{1} を使用して再起動するには:", + "walkthrough.open.command.prompt": "Windows スタート メニューで \"{1}\" と入力して、{0} を開きます。{2} を選択すると、現在開いているフォルダーに自動的に移動します。", + "walkthrough.windows.press.f5": "コマンド プロンプトに \"{0}\" と入力して Enter キーを押します。これにより、VS Code が再起動され、このチュートリアルに戻ります。" } \ No newline at end of file diff --git a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index b59ce0ea58..ee850c771f 100644 --- a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "インストール", "walkthrough.windows.note1": "メモ", "walkthrough.windows.note1.text": "有効な Visual Studio ライセンス (Community、Pro、Enterprise のいずれか) があり、その C++ コードベースの開発に積極的に使用している場合は、Visual Studio Build Tools の C++ ツールセットを Visual Studio Code と合わせて使用して、C++ コードベースのコンパイル、ビルド、および検証を行うことができます。", - "walkthrough.windows.open.command.prompt": "Windows スタート メニューに '開発者' と入力して、{0} を開きます。", - "walkthrough.windows.command.prompt.name1": "VS 向け developer コマンド プロンプト", - "walkthrough.windows.check.install": "VS の開発者コマンド プロンプトに {0} を入力して、MSVC インストールを確認します。バージョンと基本的な使用法の説明とともに、著作権に関するメッセージが表示されます。", + "walkthrough.windows.open.command.prompt": "Windows スタート メニューで '{1}' と入力して、{0} を開きます。", + "walkthrough.windows.check.install": "{1} に「{0}」と入力して、MSVC のインストールを確認します。バージョンと基本的な使用法の説明とともに、著作権に関するメッセージが表示されます。", "walkthrough.windows.note2": "メモ", - "walkthrough.windows.note2.text": "コマンド ラインまたは VS Code で MSVC を使用するには、{0} で実行する必要があります。{1}、{2}、Windows コマンド プロンプトなどの通常のシェルには、必要なパス環境変数が設定されていません。", - "walkthrough.windows.command.prompt.name2": "VS 向け開発者コマンド プロンプト" + "walkthrough.windows.note2.text": "コマンド ラインまたは VS Code で MSVC を使用するには、{0} で実行する必要があります。{1}、{2}、Windows コマンド プロンプトなどの通常のシェルには、必要なパス環境変数が設定されていません。" } \ No newline at end of file diff --git a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index caff1dfdb7..9a26196947 100644 --- a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "メモ", "walkthrough.windows.note1.text": "有効な Visual Studio ライセンス (Community、Pro、Enterprise のいずれか) があり、その C++ コードベースの開発に積極的に使用している場合は、Visual Studio Build Tools の C++ ツールセットを Visual Studio Code と合わせて使用して、C++ コードベースのコンパイル、ビルド、および検証を行うことができます。", "walkthrough.windows.verify.compiler": "コンパイラのインストールの確認中", - "walkthrough.windows.open.command.prompt": "Windows スタート メニューに '開発者' と入力して、{0} を開きます。", - "walkthrough.windows.command.prompt.name1": "VS 向け developer コマンド プロンプト", - "walkthrough.windows.check.install": "VS の開発者コマンド プロンプトに {0} を入力して、MSVC インストールを確認します。バージョンと基本的な使用法の説明とともに、著作権に関するメッセージが表示されます。", + "walkthrough.windows.open.command.prompt": "Windows スタート メニューで '{1}' と入力して、{0} を開きます。", + "walkthrough.windows.check.install": "{1} に「{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 Subsystem for Linux (WSL) を使用する", diff --git a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index caff1dfdb7..9a26196947 100644 --- a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "メモ", "walkthrough.windows.note1.text": "有効な Visual Studio ライセンス (Community、Pro、Enterprise のいずれか) があり、その C++ コードベースの開発に積極的に使用している場合は、Visual Studio Build Tools の C++ ツールセットを Visual Studio Code と合わせて使用して、C++ コードベースのコンパイル、ビルド、および検証を行うことができます。", "walkthrough.windows.verify.compiler": "コンパイラのインストールの確認中", - "walkthrough.windows.open.command.prompt": "Windows スタート メニューに '開発者' と入力して、{0} を開きます。", - "walkthrough.windows.command.prompt.name1": "VS 向け developer コマンド プロンプト", - "walkthrough.windows.check.install": "VS の開発者コマンド プロンプトに {0} を入力して、MSVC インストールを確認します。バージョンと基本的な使用法の説明とともに、著作権に関するメッセージが表示されます。", + "walkthrough.windows.open.command.prompt": "Windows スタート メニューで '{1}' と入力して、{0} を開きます。", + "walkthrough.windows.check.install": "{1} に「{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 Subsystem for Linux (WSL) を使用する", diff --git a/Extension/i18n/kor/Reinstalling the Extension.md.i18n.json b/Extension/i18n/kor/Reinstalling the Extension.md.i18n.json index a6bbb5edce..1913952b01 100644 --- a/Extension/i18n/kor/Reinstalling the Extension.md.i18n.json +++ b/Extension/i18n/kor/Reinstalling the Extension.md.i18n.json @@ -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 마켓플레이스 웹 사이트에서 다운로드" -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json index 563ee6e6b3..2b67e4ba4a 100644 --- a/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "사용된 포함 또는 정의를 수정하기 위한 컴파일러 인수입니다. `-nostdinc++`, `-m32` 등 추가 공백으로 구분된 인수를 사용하는 인수는 배열에 별도의 인수로 입력해야 합니다(예: `--sysroot `의 경우 `\"--sysroot\", \"\"`를 사용하세요).", "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.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": "Mac 프레임워크에서 포함된 헤더를 검색하는 동안 사용할 IntelliSense 엔진의 경로 목록입니다. Mac 구성에서만 지원됩니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Windows에서 사용할 Windows SDK 포함 경로의 버전입니다(예: `10.0.17134.0`).", diff --git a/Extension/i18n/kor/package.i18n.json b/Extension/i18n/kor/package.i18n.json index 4172646f12..2c16b29f15 100644 --- a/Extension/i18n/kor/package.i18n.json +++ b/Extension/i18n/kor/package.i18n.json @@ -7,7 +7,7 @@ "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.codeAnalysis.title": "코드 분석", "c_cpp.subheaders.debugging.title": "디버깅", "c_cpp.subheaders.resourceManagement.title": "리소스 관리", "c_cpp.subheaders.miscellaneous.title": "기타", @@ -39,7 +39,7 @@ "c_cpp.command.RunCodeAnalysisOnActiveFile.title": "활성 파일에서 코드 분석 실행", "c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "열린 파일에서 코드 분석 실행", "c_cpp.command.RunCodeAnalysisOnAllFiles.title": "모든 파일에 대한 코드 분석 실행", - "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "모든 Code Analysis 문제 해결", + "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "모든 코드 분석 문제 해결", "c_cpp.command.BuildAndDebugFile.title": "C/C++ 파일 디버그", "c_cpp.command.BuildAndRunFile.title": "C/C++ 파일 실행", "c_cpp.command.AddDebugConfiguration.title": "디버그 구성 추가", @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "'모두 지우기'(여러 문제 유형이 있는 경우), '모두 지우기 '(에 대해 여러 문제가 있는 경우) 및 '이 항목 지우기' 코드 작업 표시", "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.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}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "진단을 출력할 헤더의 이름과 일치하는 POSIX 확장 정규식(ERE)입니다. 각 번역 단위의 기본 파일에서 진단이 항상 표시됩니다. `${workspaceFolder}` 변수가 지원됩니다(`.clang-tidy` 파일이 없는 경우 기본 폴백 값으로 사용됨). 이 옵션이 `null`(비어 있음)이 아닌 경우 `.clang-tidy` 파일의 `HeaderFilterRegex` 옵션(있는 경우)을 재정의합니다.", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "모든 `C_Cpp.vcFormat.newLine.*` 설정의 값에 관계없이 한 줄에 입력된 전체 코드 블록이 한 줄에 유지됩니다.", "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_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:<경로>/.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": "`clang-format`이 `file` 스타일을 사용하여 호출되지만 `clang-format` 파일을 찾을 수 없는 경우 대체로 사용되는 미리 정의된 스타일의 이름입니다. 가능한 값은 `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`, `none`이거나 `{key: value, ...}`를 사용하여 특정 매개 변수를 설정합니다. 예를 들어 `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` 매개 변수로 결정된 포함 정렬 동작을 재정의합니다.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "`browse.path` 배열의 경로를 통과하는 동안 코드 탐색 데이터베이스에 추가할 파일을 결정할 때 `#files.exclude#`(및 `#C_Cpp.files.exclude#`) 설정을 사용할 시기를 확장에 지시합니다. `#files.exclude#` 설정에 폴더만 포함되어 있는 경우 `checkFolders`가 가장 좋은 선택이며 확장이 코드 탐색 데이터베이스를 초기화하는 속도를 향상시킵니다.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "제외 필터는 폴더당 한 번만 평가됩니다(개별 파일은 검사되지 않음).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "제외 필터는 발생한 모든 파일 및 폴더에 대해 평가됩니다.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "`#include` 자동 완성 결과의 경로 구분 기호로 사용되는 문자입니다.", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "생성된 사용자 경로의 경로 구분 기호로 사용되는 문자입니다.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "`true`인 경우 가리키기 및 자동 완성 도구 설명에 구조적 주석의 특정 레이블만 표시됩니다. 그렇지 않으면 모든 주석이 표시됩니다.", "c_cpp.configuration.doxygen.generateOnType.description": "선택한 주석 스타일을 입력한 후 Doxygen 주석을 자동으로 삽입할지 여부를 제어합니다.", "c_cpp.configuration.doxygen.generatedStyle.description": "Doxygen 주석의 시작 줄로 사용되는 문자 문자열입니다.", @@ -253,6 +253,7 @@ "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.copilotHover.markdownDescription": "`disabled`인 경우 Hover에 Copilot 정보가 표시되지 않습니다.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "`true`이면 '기호 이름 바꾸기'에 유효한 C/C++ 식별자가 필요합니다.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "`true`이면 자동 완성에서 `#editor.autoClosingBrackets#` 설정 값에 따라 함수 호출 뒤에 `(`를 자동으로 추가하며, 이 경우 `)`도 추가될 수 있습니다.", "c_cpp.configuration.filesExclude.markdownDescription": "폴더를 제외하기 위한 glob 패턴을 구성합니다(`#C_Cpp.exclusionPolicy#`가 변경된 경우 파일도). 이는 C/C++ 확장에만 해당하며 `#files.exclude#`와 더불어 사용되지만 `#files.exclude#`와 달리 현재 작업 영역 폴더 외부의 경로에도 적용되며 탐색기 보기에서 제거되지 않습니다. [glob 패턴](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options)에 대해 자세히 알아보세요.", @@ -427,8 +428,8 @@ "c_cpp.walkthrough.create.cpp.file.title": "C++ 파일 만들기", "c_cpp.walkthrough.create.cpp.file.description": "C++를 [열거나](command:toSide:workbench.action.files.openFile) [만드세요](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D). \"helloworld.cpp\"와 같이 \".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[Window 다시 로드](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": "VS용 개발자 명령 프롬프트 시작", + "c_cpp.walkthrough.command.prompt.description": "Microsoft Visual Studio C++ 컴파일러를 사용하는 경우 C++ 확장을 사용하려면 VS용 개발자 명령 프롬프트에서 VS Code를 실행해야 합니다. 다시 시작하려면 오른쪽의 지침을 따르세요.\n[Window 다시 로드](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++- 활성 파일 빌드 및 디버그\"를 선택합니다.", diff --git a/Extension/i18n/kor/src/Debugger/ParsedEnvironmentFile.i18n.json b/Extension/i18n/kor/src/Debugger/ParsedEnvironmentFile.i18n.json index 0886012f73..8cd48a24b6 100644 --- a/Extension/i18n/kor/src/Debugger/ParsedEnvironmentFile.i18n.json +++ b/Extension/i18n/kor/src/Debugger/ParsedEnvironmentFile.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "ignoring.lines.in.envfile": "{0} {1}에서 구문 분석할 수 없는 줄을 무시하는 중: " -} \ No newline at end of file + "ignoring.lines.in.envfile": "{0} {1} 에서 구문 분석할 수 없는 줄을 무시하는 중: " +} diff --git a/Extension/i18n/kor/src/Debugger/attachToProcess.i18n.json b/Extension/i18n/kor/src/Debugger/attachToProcess.i18n.json index 7f73c5da24..96348c5273 100644 --- a/Extension/i18n/kor/src/Debugger/attachToProcess.i18n.json +++ b/Extension/i18n/kor/src/Debugger/attachToProcess.i18n.json @@ -4,12 +4,12 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.path.and.server.address.required": "디버그 구성에서 {0}을 사용하려면 {1} 및 {2}이(가) 있어야 합니다.", - "no.pipetransport.useextendedremote": "선택한 디버그 구성에 {0} 또는 {1}이(가) 포함되어 있지 않습니다.", + "debugger.path.and.server.address.required": "디버그 구성에서 {0} 을 사용하려면 {1} 및 {2} 이(가) 있어야 합니다.", + "no.pipetransport.useextendedremote": "선택한 디버그 구성에 {0} 또는 {1} 이(가) 포함되어 있지 않습니다.", "select.process.attach": "연결할 프로세스 선택", "process.not.selected": "프로세스가 선택되지 않았습니다.", "pipe.failed": "파이프 전송이 OS 및 프로세스를 가져오지 못했습니다.", "no.process.list": "전송 연결이 프로세스 목록을 가져올 수 없습니다.", "failed.to.make.gdb.connection": "다음 GDB 연결을 만들지 못했습니다. \"{0}\"", "failed.to.parse.processes": "다음 프로세스를 구문 분석하지 못했습니다. \"{0}\"" -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/kor/src/Debugger/configurationProvider.i18n.json index 826cc718f7..b0db5a64d5 100644 --- a/Extension/i18n/kor/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/kor/src/Debugger/configurationProvider.i18n.json @@ -13,19 +13,19 @@ "debugger.launchConfig": "시작 구성:", "vs.code.1.69+.required": "'deploySteps'에는 VS Code 1.69 이상이 필요합니다.", "running.deploy.steps": "배포 단계 실행 중...", - "compiler.path.not.exists": "{0}을(를) 찾을 수 없습니다. {1} 작업이 무시됩니다.", + "compiler.path.not.exists": "{0} 을(를) 찾을 수 없습니다. {1} 작업이 무시됩니다.", "pre.Launch.Task": "preLaunchTask: {0}", - "debugger.path.not.exists": "{0} 디버거를 찾을 수 없습니다. {1}에 대한 디버그 구성은 무시됩니다.", + "debugger.path.not.exists": "{0} 디버거를 찾을 수 없습니다. {1} 에 대한 디버그 구성은 무시됩니다.", "build.and.debug.active.file": "활성 파일 빌드 및 디버그", - "cl.exe.not.available": "{0} 빌드 및 디버그는 VS의 개발자 명령 프롬프트에서 VS Code를 실행하는 경우에만 사용할 수 있습니다.", + "cl.exe.not.available": "{0} 은(는) VS Code가 {1} 에서 실행되는 경우에만 사용할 수 있습니다.", "lldb.find.failed": "lldb-mi 실행 파일에 대한 '{0}' 종속성이 없습니다.", "lldb.search.paths": "다음에서 검색됨:", "lldb.install.help": "이 문제를 해결하려면 Apple App Store를 통해 XCode를 설치하거나, 터미널 창에서 '{0}'을(를) 실행하여 XCode 명령줄 도구를 설치하세요.", - "envfile.failed": "{0}을(를) 사용하지 못했습니다. 이유: {1}", + "envfile.failed": "{0} 을(를) 사용하지 못했습니다. 이유: {1}", "replacing.sourcepath": "{0} '{1}'을(를) '{2}'(으)로 바꾸는 중입니다.", "replacing.targetpath": "{0} '{1}'을(를) '{2}'(으)로 바꾸는 중입니다.", "replacing.editorPath": "{0} '{1}'을(를) '{2}'(으)로 바꾸는 중입니다.", - "resolving.variables.in.sourcefilemap": "{0}에서 변수를 확인하는 중...", + "resolving.variables.in.sourcefilemap": "{0} 에서 변수를 확인하는 중...", "open.envfile": "{0} 열기", "recently.used.task": "최근에 사용한 앱", "configured.task": "구성된 작업", @@ -38,9 +38,9 @@ "incorrect.files.type.copyFile": "\"files\"는 {0} 단계에서 문자열 또는 문자열 배열이어야 합니다.", "missing.properties.ssh": "\"host\" 및 \"command\"는 ssh 단계에 필요합니다.", "missing.properties.shell": "\"command\"는 셸 단계에 필요합니다.", - "deploy.step.type.not.supported": "배포 단계 유형 {0}은(는) 지원되지 않습니다.", + "deploy.step.type.not.supported": "배포 단계 유형 {0} 은(는) 지원되지 않습니다.", "unexpected.os": "예기치 않은 OS 유형", "path.to.pipe.program": "{0} 같은 파이프 프로그램의 전체 경로", - "enable.pretty.printing": "{0}에 자동 서식 지정 사용", + "enable.pretty.printing": "{0} 에 자동 서식 지정 사용", "enable.intel.disassembly.flavor": "디스어셈블리 버전을 {0}(으)로 설정" -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/Debugger/configurations.i18n.json b/Extension/i18n/kor/src/Debugger/configurations.i18n.json index c7ab7e23bb..642128a9e3 100644 --- a/Extension/i18n/kor/src/Debugger/configurations.i18n.json +++ b/Extension/i18n/kor/src/Debugger/configurations.i18n.json @@ -6,17 +6,17 @@ { "enter.program.name": "프로그램 이름 입력(예: {0})", "launch.string": "시작", - "launch.with": "{0}을(를) 사용하여 시작합니다.", + "launch.with": "{0} 을(를) 사용하여 시작합니다.", "attach.string": "연결", - "attach.with": "{0}과(와) 연결합니다.", + "attach.with": "{0} 과(와) 연결합니다.", "pipe.launch": "파이프 시작", - "pipe.launch.with": "{0}을(를) 사용한 파이프 시작입니다.", + "pipe.launch.with": "{0} 을(를) 사용한 파이프 시작입니다.", "pipe.attach": "파이프 연결", - "pipe.attach.with": "{0}을(를) 사용한 파이프 연결입니다.", + "pipe.attach.with": "{0} 을(를) 사용한 파이프 연결입니다.", "launch.with.vs.debugger": "Visual Studio C/C++ 디버거를 사용하여 시작합니다.", "attach.with.vs.debugger": "Visual Studio C/C++ 디버거를 사용하여 프로세스에 연결합니다.", "bash.on.windows.launch": "Windows 시작의 Bash", - "launch.bash.windows": "{0}을(를) 사용하여 Windows에서 Bash를 시작합니다.", + "launch.bash.windows": "{0} 을(를) 사용하여 Windows에서 Bash를 시작합니다.", "bash.on.windows.attach": "Windows 연결의 Bash", - "remote.attach.bash.windows": "{0}을(를) 사용하여 Windows의 Bash에서 실행되는 원격 프로세스에 연결합니다." -} \ No newline at end of file + "remote.attach.bash.windows": "{0} 을(를) 사용하여 Windows의 Bash에서 실행되는 원격 프로세스에 연결합니다." +} diff --git a/Extension/i18n/kor/src/Debugger/nativeAttach.i18n.json b/Extension/i18n/kor/src/Debugger/nativeAttach.i18n.json index fde7300cc7..e20cbcea2e 100644 --- a/Extension/i18n/kor/src/Debugger/nativeAttach.i18n.json +++ b/Extension/i18n/kor/src/Debugger/nativeAttach.i18n.json @@ -5,8 +5,8 @@ // Do not edit this file. It is machine generated. { "os.not.supported": "운영 체제 \"{0}\"은(는) 지원되지 않습니다.", - "timeout.processList.spawn": "{1}초 후에 \"{0}\" 시간이 초과되었습니다.", + "timeout.processList.spawn": "{1} 초 후에 \"{0}\" 시간이 초과되었습니다.", "cancel.processList.spawn": "\"{0}\"이(가) 취소되었습니다.", "error.processList.spawn": "\"{0}\"이(가) 코드 \"{1}\"(으)로 종료되었습니다.", "failed.processList.spawn": "\"{0}\"을(를) 생성하지 못했습니다." -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/kor/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..0ca285c6e9 --- /dev/null +++ b/Extension/i18n/kor/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Copilot 요약 생성", + "copilot.disclaimer": "AI 생성 콘텐츠가 잘못되었을 수 있습니다." +} \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/client.i18n.json b/Extension/i18n/kor/src/LanguageServer/client.i18n.json index 6959b3a1e7..c442741131 100644 --- a/Extension/i18n/kor/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/client.i18n.json @@ -7,7 +7,7 @@ "select.compiler": "IntelliSense에 구성할 컴파일러 선택", "configure.intelliSense.forFolder": "'{0}' 폴더에 대해 IntelliSense를 어떻게 구성하시겠습니까?", "configure.intelliSense.thisFolder": "이 폴더에 IntelliSense를 어떻게 구성하려고 하나요?", - "found.string": "{0}에서 찾음", + "found.string": "{0} 에서 찾음", "use.compiler": "{0} 사용", "configuration.providers": "구성 공급자", "compilers": "컴파일러", @@ -23,13 +23,13 @@ "unable.to.start": "C/C++ 언어 서버를 시작할 수 없습니다. IntelliSense 기능을 사용할 수 없습니다. 오류: {0}", "server.crashed.restart": "언어 서버가 중단되었습니다. 다시 시작하는 중입니다...", "server.crashed2": "지난 3분 동안 언어 서버에서 크래시가 5회 발생했습니다. 다시 시작되지 않습니다.", - "loggingLevel.changed": "{0}이(가) {1}(으)로 변경되었습니다.", + "loggingLevel.changed": "{0} 이(가) {1}(으)로 변경되었습니다.", "dismiss.button": "해제", "disable.warnings.button": "경고 사용 안 함", - "unable.to.provide.configuration": "{0}은(는) '{1}'에 대한 IntelliSense 구성 정보를 제공할 수 없습니다. '{2}' 구성의 설정이 대신 사용됩니다.", + "unable.to.provide.configuration": "{0} 은(는) '{1}'에 대한 IntelliSense 구성 정보를 제공할 수 없습니다. '{2}' 구성의 설정이 대신 사용됩니다.", "config.not.found": "요청된 구성 이름을 찾을 수 없음: {0}", "unsupported.client": "지원되지 않는 클라이언트", - "timed.out": "{0}ms 후 시간이 초과되었습니다.", + "timed.out": "{0} ms 후 시간이 초과되었습니다.", "update.intellisense.time": "IntelliSense 시간(초) 업데이트: {0}", "configurations.received": "사용자 지정 구성이 수신됨:", "browse.configuration.received": "사용자 지정 찾아보기 구성이 수신됨: {0}", @@ -38,4 +38,4 @@ "handle.extract.new.function": "NewFunction", "handle.extract.error": "함수로 추출 실패: {0}", "invalid.edit": "함수로 추출하지 못했습니다. 잘못된 편집이 생성되었습니다. '{0}'" -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/LanguageServer/codeAnalysis.i18n.json b/Extension/i18n/kor/src/LanguageServer/codeAnalysis.i18n.json index 8f7e8c21df..fe4272ef01 100644 --- a/Extension/i18n/kor/src/LanguageServer/codeAnalysis.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/codeAnalysis.i18n.json @@ -11,5 +11,5 @@ "clear.all.type.problems": "모든 {0} 문제 해결", "clear.this.problem": "이 {0} 문제 해결", "fix.this.problem": "이 {0} 문제 해결", - "show.documentation.for": "{0}에 대한 문서 표시" -} \ No newline at end of file + "show.documentation.for": "{0} 에 대한 문서 표시" +} diff --git a/Extension/i18n/kor/src/LanguageServer/configurations.i18n.json b/Extension/i18n/kor/src/LanguageServer/configurations.i18n.json index 79b57e0535..b46603e18c 100644 --- a/Extension/i18n/kor/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/configurations.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "incompatible.intellisense.mode": "IntelliSense 모드 {0}은(는) 컴파일러 경로와 호환되지 않습니다.", - "failed.to.create.config.folder": "{0}을(를) 만들지 못했습니다.", + "incompatible.intellisense.mode": "IntelliSense 모드 {0} 은(는) 컴파일러 경로와 호환되지 않습니다.", + "failed.to.create.config.folder": "{0} 을(를) 만들지 못했습니다.", "invalid.configuration.file": "구성 파일이 잘못되었습니다. 배열에 구성이 하나 이상 있어야 합니다.", "unknown.properties.version": "c_cpp_properties.json에 알 수 없는 버전 번호가 있습니다. 일부 기능이 예상대로 작동하지 않을 수 있습니다.", "update.properties.failed": "\"{0}\"을(를) 업데이트하지 못했습니다(쓰기 권한이 있어야 함).", @@ -15,8 +15,8 @@ "cannot.resolve.compiler.path": "입력이 잘못되었습니다. 컴파일러 경로를 확인할 수 없습니다.", "path.is.not.a.file": "경로가 파일이 아닙니다. {0}", "path.is.not.a.directory": "경로가 디렉터리가 아닙니다. {0}", - "duplicate.name": "{0}은(는) 중복됩니다. 구성 이름은 고유해야 합니다.", - "cannot.find2": "\"{0}\"을(를) 찾을 수 없습니다.", + "duplicate.name": "{0} 은(는) 중복됩니다. 구성 이름은 고유해야 합니다.", "multiple.paths.not.allowed": "여러 경로는 허용되지 않습니다.", + "multiple.paths.should.be.separate.entries": "여러 경로는 배열에서 별도의 항목이어야 합니다.", "paths.are.not.directories": "경로는 디렉터리가 아닙니다. {0}" -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/kor/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/kor/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/extension.i18n.json b/Extension/i18n/kor/src/LanguageServer/extension.i18n.json index 5b547e76b7..d7dfb9d834 100644 --- a/Extension/i18n/kor/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "문서가 변경되어 코드 분석 수정 사항을 적용할 수 없습니다.", "prerelease.message": "C/C++ 확장의 시험판 버전을 사용할 수 있습니다. 전환하시겠습니까?", "yes.button": "예", - "no.button": "아니요" + "no.button": "아니요", + "copilot.hover.unavailable": "Copilot 요약을 사용할 수 없습니다.", + "copilot.hover.excluded": "이 기호의 정의 또는 선언이 포함된 파일은 Copilot에서 사용되지 않도록 제외되었습니다.", + "copilot.hover.unavailable.symbol": "이 기호에는 Copilot 요약을 사용할 수 없습니다.", + "copilot.hover.error": "Copilot 요약을 생성하는 동안 오류가 발생했습니다." } \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/kor/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/kor/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/references.i18n.json b/Extension/i18n/kor/src/LanguageServer/references.i18n.json index 773efeadc4..0969c7ac0f 100644 --- a/Extension/i18n/kor/src/LanguageServer/references.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/references.i18n.json @@ -28,8 +28,8 @@ "started": "시작되었습니다.", "processing.source": "소스를 처리하고 있습니다.", "searching.files": "파일을 검색하고 있습니다.", - "files.searched": "{0}/{1}개 파일이 검색되었습니다.{2}", - "files.confirmed": "{0}/{1}개 파일이 확인되었습니다.{2}", + "files.searched": "{0}/{1} 개 파일이 검색되었습니다.{2}", + "files.confirmed": "{0}/{1} 개 파일이 확인되었습니다.{2}", "c.cpp.peek.references": "C/C++ Peek 참조", - "some.references.may.be.missing": "[경고] {0}을(를) 시작할 때 작업 영역 구문 분석이 완료되지 않았으므로 일부 참조가 없을 수 있습니다." -} \ No newline at end of file + "some.references.may.be.missing": "[경고] {0} 을(를) 시작할 때 작업 영역 구문 분석이 완료되지 않았으므로 일부 참조가 없을 수 있습니다." +} diff --git a/Extension/i18n/kor/src/SSH/commandInteractors.i18n.json b/Extension/i18n/kor/src/SSH/commandInteractors.i18n.json index 05724c463b..050148ea9c 100644 --- a/Extension/i18n/kor/src/SSH/commandInteractors.i18n.json +++ b/Extension/i18n/kor/src/SSH/commandInteractors.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "failed.to.connect": "{0}에 연결하지 못했습니다." -} \ No newline at end of file + "failed.to.connect": "{0} 에 연결하지 못했습니다." +} diff --git a/Extension/i18n/kor/src/SSH/sshHosts.i18n.json b/Extension/i18n/kor/src/SSH/sshHosts.i18n.json index 2b3eba04b1..1c6701a30b 100644 --- a/Extension/i18n/kor/src/SSH/sshHosts.i18n.json +++ b/Extension/i18n/kor/src/SSH/sshHosts.i18n.json @@ -5,7 +5,7 @@ // Do not edit this file. It is machine generated. { "failed.to.find.user.info.for.SSH": "SSH에 대한 사용자 정보를 찾지 못했습니다. 'snap'을 사용하여 VS Code를 설치한 것이 원인일 수 있습니다. SSH 기능을 사용하려는 경우 'deb' 패키지를 사용하여 VS Code를 다시 설치하세요.", - "failed.to.parse.SSH.config": "SSH 구성 파일 {0}을(를) 구문 분석하지 못했습니다. {1}", - "failed.to.read.file": "파일 {0}을(를) 읽지 못했습니다.", + "failed.to.parse.SSH.config": "SSH 구성 파일 {0} 을(를) 구문 분석하지 못했습니다. {1}", + "failed.to.read.file": "파일 {0} 을(를) 읽지 못했습니다.", "failed.to.write.file": "{0} 파일에 쓰지 못했습니다." -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/common.i18n.json b/Extension/i18n/kor/src/common.i18n.json index bbeb36d78e..820fe88849 100644 --- a/Extension/i18n/kor/src/common.i18n.json +++ b/Extension/i18n/kor/src/common.i18n.json @@ -6,12 +6,12 @@ { "failed.to.parse.json": "주석 또는 후행 쉼표로 인해 json 파일을 구문 분석하지 못했습니다.", "extension.not.ready": "C/C++ 확장을 아직 설치하고 있습니다. 자세한 내용은 출력 창을 참조하세요.", - "refer.read.me": "문제 해결 정보를 보려면 {0}을(를) 참조하세요. 이슈는 {1}에서 만들 수 있습니다.", + "refer.read.me": "문제 해결 정보를 보려면 {0} 을(를) 참조하세요. 이슈는 {1} 에서 만들 수 있습니다.", "process.exited": "프로세스가 {0} 코드로 종료됨", "process.succeeded": "프로세스가 성공적으로 실행되었습니다.", - "killing.process": "프로세스 {0}종료 중", - "warning.file.missing": "경고: 필요한 파일 {0}이(가) 없습니다.", + "killing.process": "프로세스 {0} 종료 중", + "warning.file.missing": "경고: 필요한 파일 {0} 이(가) 없습니다.", "warning.debugging.not.tested": "경고: 디버깅이 이 플랫폼에서 테스트되지 않았습니다.", "reload.workspace.for.changes": "설정 변경 내용을 적용하려면 작업 영역을 다시 로드합니다.", "reload.string": "다시 로드" -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/expand.i18n.json b/Extension/i18n/kor/src/expand.i18n.json index 53936ce20b..d2ef28ccfd 100644 --- a/Extension/i18n/kor/src/expand.i18n.json +++ b/Extension/i18n/kor/src/expand.i18n.json @@ -5,8 +5,8 @@ // Do not edit this file. It is machine generated. { "max.recursion.reached": "최대 문자열 확장 재귀에 도달했습니다. 순환 참조가 발생할 수 있습니다.", - "invalid.var.reference": "문자열 {1}의 잘못된 변수 참조 {0}", - "env.var.not.found": "환경 변수 {0}을(를) 찾을 수 없습니다.", + "invalid.var.reference": "문자열 {1} 의 잘못된 변수 참조 {0}", + "env.var.not.found": "환경 변수 {0} 을(를) 찾을 수 없습니다.", "commands.not.supported": "{0} 문자열에는 명령이 지원되지 않습니다.", "exception.executing.command": "{1} {2} 문자열에 대해 {0} 명령을 실행하는 동안 예외가 발생했습니다." -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/main.i18n.json b/Extension/i18n/kor/src/main.i18n.json index c6a8aeb7ff..75c534b07a 100644 --- a/Extension/i18n/kor/src/main.i18n.json +++ b/Extension/i18n/kor/src/main.i18n.json @@ -4,10 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "macos.version.deprecated": "{0}보다 최신 버전의 C/C++ 확장에는 macOS 버전 {1} 이상이 필요합니다.", + "macos.version.deprecated": "{0} 보다 최신 버전의 C/C++ 확장에는 macOS 버전 {1} 이상이 필요합니다.", "intellisense.disabled": "IntelliSenseEngine이 비활성화되었습니다.", "more.info.button": "더 많은 정보", "ignore.button": "무시", "vsix.platform.incompatible": "설치된 C/C++ 확장이 시스템과 일치하지 않습니다.", "vsix.platform.mismatching": "설치된 C/C++ 확장이 시스템과 호환되지만 일치하지 않습니다." -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/nativeStrings.i18n.json b/Extension/i18n/kor/src/nativeStrings.i18n.json index 6307a0846f..93b3cb6be0 100644 --- a/Extension/i18n/kor/src/nativeStrings.i18n.json +++ b/Extension/i18n/kor/src/nativeStrings.i18n.json @@ -25,11 +25,11 @@ "request_wait_error": "요청을 기다리는 동안 예기치 않은 오류가 발생했습니다. {0}", "errored_with": "다음으로 인해 {0} 오류가 발생했습니다. {1}", "file_open_failed": "{0} 파일을 열지 못했습니다.", - "default_query_failed": "{0}의 기본 포함 경로 및 정의를 쿼리하지 못했습니다.", - "failed_call": "{0}을(를) 호출하지 못했습니다.", + "default_query_failed": "{0} 의 기본 포함 경로 및 정의를 쿼리하지 못했습니다.", + "failed_call": "{0} 을(를) 호출하지 못했습니다.", "quick_info_failed": "요약 정보 작업 실패: {0}", - "create_intellisense_client_failed": "IntelliSense 클라이언트 {0}을(를) 만들지 못했습니다.", - "intellisense_spawn_failed": "IntelliSense 프로세스 {0}을(를) 생성하지 못했습니다.", + "create_intellisense_client_failed": "IntelliSense 클라이언트 {0} 을(를) 만들지 못했습니다.", + "intellisense_spawn_failed": "IntelliSense 프로세스 {0} 을(를) 생성하지 못했습니다.", "browse_engine_update_thread_join_failed": "browse_engine_update_thread.join()을 호출하는 동안 오류가 발생했습니다. {0}", "already_open_different_casing": "이 파일({0})은 편집기에서 이미 열려 있지만 대/소문자가 다릅니다. 이 파일 복사본에서 IntelliSense 기능을 사용할 수 없습니다.", "intellisense_client_disconnected": "서버에서 IntelliSense 클라이언트의 연결이 끊어졌습니다. {0}", @@ -38,26 +38,26 @@ "reset_timestamp_failed": "중단하는 동안 타임스탬프를 다시 설정하지 못했습니다. 오류 = {0}: {1}", "update_timestamp_failed": "타임스탬프를 업데이트할 수 없습니다. 오류 = {0}: {1}", "finalize_updates_failed": "파일 업데이트를 완료할 수 없습니다. 오류 = {0}: {1}", - "not_directory_with_mode": "{0}은(는) 디렉터리가 아닙니다(st_mode={1}).", - "retrieve_fs_info_failed": "{0}의 파일 시스템 정보를 검색할 수 없습니다. 오류 = {1}", - "not_directory": "{0}은(는) 디렉터리가 아닙니다.", + "not_directory_with_mode": "{0} 은(는) 디렉터리가 아닙니다(st_mode={1}).", + "retrieve_fs_info_failed": "{0} 의 파일 시스템 정보를 검색할 수 없습니다. 오류 = {1}", + "not_directory": "{0} 은(는) 디렉터리가 아닙니다.", "file_discovery_aborted": "파일 검색이 중단되었습니다.", "aborting_tag_parse": "{0} 및 종속성의 태그 구문 분석을 중단하는 중", "aborting_tag_parse_at_root": "루트에서 태그 구문 분석을 중단합니다.", "unable_to_retrieve_to_reset_timestamps": "타임스탬프를 다시 설정할 DB 레코드를 검색할 수 없습니다. 오류 = {0}", - "failed_to_reset_timestamps_for": "{0}에 대한 타임스탬프를 다시 설정하지 못했습니다. 오류 = {1}", + "failed_to_reset_timestamps_for": "{0} 에 대한 타임스탬프를 다시 설정하지 못했습니다. 오류 = {1}", "no_suitable_complier": "적합한 컴파일러를 찾을 수 없습니다. c_cpp_properties.json에서 \"compilerPath\"를 설정하세요.", "compiler_include_not_found": "컴파일러 포함 경로를 찾을 수 없음: {0}", "intellisense_not_responding": "IntelliSense 엔진이 응답하지 않습니다. 태그 파서를 대신 사용합니다.", - "tag_parser_will_be_used": "태그 파서는 {0}의 IntelliSense 작업에 사용됩니다.", - "error_squiggles_disabled_in": "{0}에서 오류 표시선을 사용할 수 없습니다.", + "tag_parser_will_be_used": "태그 파서는 {0} 의 IntelliSense 작업에 사용됩니다.", + "error_squiggles_disabled_in": "{0} 에서 오류 표시선을 사용할 수 없습니다.", "processing_folder_nonrecursive": "폴더를 처리하는 중(비재귀적): {0}", "processing_folder_recursive": "폴더를 처리하는 중(재귀적): {0}", "file_exclude": "파일 제외: {0}", "search_exclude": "검색 제외: {0}", - "discovery_files_processed": "파일 검색 중: {0}개 파일 처리됨", + "discovery_files_processed": "파일 검색 중: {0} 개 파일 처리됨", "files_removed_from_database": "{0} 파일이 데이터베이스에서 제거되었습니다.", - "parsing_files_processed": "구문 분석하는 중: {0}개 파일이 처리됨", + "parsing_files_processed": "구문 분석하는 중: {0} 개 파일이 처리됨", "shutting_down_intellisense": "IntelliSense 서버를 종료하는 중: {0}", "resetting_intellisense": "IntelliSense 서버를 다시 설정하는 중: {0}", "code_browsing_initialized": "코드 검색 서비스가 초기화되었습니다.", @@ -70,7 +70,7 @@ "parsing_remaining_files": "나머지 파일을 구문 분석하는 중...", "done_parsing_remaining_files": "나머지 파일의 구문 분석을 완료했습니다.", "using_configuration": "구성을 사용하는 중: \"{0}\"", - "include_path_suggestions_discovered": "{0}개 포함 경로 제안이 검색되었습니다.", + "include_path_suggestions_discovered": "{0} 개 포함 경로 제안이 검색되었습니다.", "checking_for_syntax_errors": "구문 오류를 확인하는 중: {0}", "intellisense_engine_is": "IntelliSense 엔진 = {0}.", "will_use_tag_parser_when_includes_dont_resolve": "이 확장은 #includes가 확인되지 않을 때 IntelliSense에 태그 파서를 사용합니다.", @@ -85,13 +85,13 @@ "replaced_placeholder_file_record": "바뀐 자리 표시자 파일 레코드", "tag_parsing_file": "태그 구문 분석 파일: {0}", "tag_parsing_error": "태그 구문 분석 오류(기호를 찾을 수 없는 경우 무시할 수 있음):", - "reset_timestamp_for": "{0}에 대한 타임스탬프 다시 설정", + "reset_timestamp_for": "{0} 에 대한 타임스탬프 다시 설정", "remove_file_failed": "파일을 제거하지 못했습니다. {0}", "regex_parse_error": "Regex 구문 분석 오류 - vscode 패턴: {0}, regex: {1}, 오류 메시지: {2}", "terminating_child_process": "자식 프로세스를 종료하는 중: {0}", "still_alive_killing": "계속 활성화되어 있습니다. 종료하는 중...", "giving_up": "포기", - "not_exited_yet": "아직 종료되지 않았습니다. {0}밀리초 동안 일시 중지된 후 다시 시도합니다.", + "not_exited_yet": "아직 종료되지 않았습니다. {0} 밀리초 동안 일시 중지된 후 다시 시도합니다.", "failed_to_spawn_process": "프로세스를 생성하지 못했습니다. 오류: {0}({1})", "offering_completion": "완료 제공 중", "compiler_on_machine": "머신에 있는 컴파일러(경로: '{0}')에서 기본값을 가져오는 중입니다.", @@ -100,7 +100,7 @@ "intellisense_client_not_available_quick_info": "IntelliSense 클라이언트를 사용할 수 없습니다. 요약 정보에 태그 파서를 사용합니다.", "tag_parser_quick_info": "요약 정보에 태그 파서를 사용하는 중", "closing_communication_channel": "통신 채널을 닫는 중입니다.", - "sending_compilation_args": "{0}에 대한 컴파일 인수를 보내는 중", + "sending_compilation_args": "{0} 에 대한 컴파일 인수를 보내는 중", "include_label": "포함: {0}", "framework_label": "프레임워크: {0}", "define_label": "정의: {0}", @@ -136,9 +136,9 @@ "cant_find_or_run_process": "process_name을 찾거나 실행할 수 없습니다.", "child_exec_failed": "자식 실행 실패 {0}", "could_not_communicate_with_child_process": "자식 프로세스와 통신할 수 없습니다.", - "arg_failed": "{0}개 실패", + "arg_failed": "{0} 개 실패", "failed_to_set_flag": "{0} 플래그를 설정하지 못했습니다.", - "unable_to_create": "{0}을(를) 만들 수 없습니다.", + "unable_to_create": "{0} 을(를) 만들 수 없습니다.", "failed_to_set_stdout_flag": "stdin {0} 플래그를 설정하지 못했습니다.", "failed_to_set_stdin_flag": "stdout {0} 플래그를 설정하지 못했습니다.", "failed_to_set_stderr_flag": "stderr {0} 플래그를 설정하지 못했습니다.", @@ -147,10 +147,10 @@ "process_failed_to_run": "프로세스를 실행하지 못했습니다.", "compiler_in_compilerpath_not_found": "지정한 컴파일러를 찾을 수 없습니다. {0}", "config_data_invalid": "구성 데이터가 잘못됨, {0}", - "cmake_executable_not_found": "{0}에서 CMake 실행 파일을 찾을 수 없음", + "cmake_executable_not_found": "{0} 에서 CMake 실행 파일을 찾을 수 없음", "no_args_provider": "인수 공급자가 없음", "invalid_file_path": "잘못된 파일 경로 {0}", - "cant_create_intellisense_client_for": "{0}에 대한 IntelliSense 클라이언트를 만들 수 없음", + "cant_create_intellisense_client_for": "{0} 에 대한 IntelliSense 클라이언트를 만들 수 없음", "suffix_declaration": "선언", "suffix_type_alias": "형식 별칭", "fallback_to_32_bit_mode": "컴파일러가 64비트를 지원하지 않습니다. 32비트 intelliSenseMode로 대체하는 중입니다.", @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "컴파일러를 쿼리하지 못했습니다. 64비트 intelliSenseMode로 대체하는 중입니다.", "fallback_to_no_bitness": "컴파일러를 쿼리하지 못했습니다. 0비트로 대체하는 중입니다.", "intellisense_client_creation_aborted": "IntelliSense 클라이언트 만들기가 중단되었습니다. {0}", - "include_errors_config_provider_intellisense_disabled ": "configurationProvider 설정에서 제공하는 정보를 기준으로 #include 오류가 검색되었습니다. 태그 파서가 이 변환 단위({0})에 적합한 IntelliSense 기능을 제공합니다.", - "include_errors_config_provider_squiggles_disabled ": "configurationProvider 설정에서 제공하는 정보를 기준으로 #include 오류가 검색되었습니다. 이 변환 단위({0})에서 물결선을 사용할 수 없습니다.", + "include_errors_config_provider_intellisense_disabled": "configurationProvider 설정에서 제공하는 정보를 기준으로 #include 오류가 검색되었습니다. 태그 파서가 이 변환 단위({0})에 적합한 IntelliSense 기능을 제공합니다.", + "include_errors_config_provider_squiggles_disabled": "configurationProvider 설정에서 제공하는 정보를 기준으로 #include 오류가 검색되었습니다. 이 변환 단위({0})에서 물결선을 사용할 수 없습니다.", "preprocessor_keyword": "전처리기 키워드", "c_keyword": "C 키워드", "cpp_keyword": "C++ 키워드", @@ -220,14 +220,14 @@ "compiler_path_empty": "명시적으로 빈 compilerPath로 인해 컴파일러 쿼리를 건너뜁니다.", "msvc_intellisense_specified": "MSVC intelliSenseMode를 지정했습니다. 컴파일러 cl.exe에 대해 구성합니다.", "unable_to_configure_cl_exe": "컴파일러 cl.exe를 구성할 수 없습니다.", - "querying_compiler_default_target": "명령줄 \"{0}\" {1}을(를) 사용하여 컴파일러의 기본 대상을 쿼리하는 중", + "querying_compiler_default_target": "명령줄 \"{0}\" {1} 을(를) 사용하여 컴파일러의 기본 대상을 쿼리하는 중", "compiler_default_target": "컴파일러가 기본 대상 값을 반환함: {0}", - "c_querying_compiler_default_standard": "명령줄 {0}을(를) 사용하여 기본 C 언어 표준에 대한 컴파일러를 쿼리하는 중", - "cpp_querying_compiler_default_standard": "명령줄 {0}을(를) 사용하여 기본 C++ 언어 표준에 대한 컴파일러를 쿼리하는 중", + "c_querying_compiler_default_standard": "명령줄 {0} 을(를) 사용하여 기본 C 언어 표준에 대한 컴파일러를 쿼리하는 중", + "cpp_querying_compiler_default_standard": "명령줄 {0} 을(를) 사용하여 기본 C++ 언어 표준에 대한 컴파일러를 쿼리하는 중", "detected_language_standard_version": "언어 표준 버전이 검색됨: {0}", "unhandled_default_target_detected": "처리되지 않은 기본 컴파일러 대상 값이 검색됨: {0}", "unhandled_target_arg_detected": "처리되지 않은 대상 인수 값이 검색됨: {0}", - "memory_limit_shutting_down_intellisense": "IntelliSense 서버 {0}을(를) 종료하는 중입니다. 메모리 사용량이 {1}MB이며 {2}MB 한도를 초과했습니다.", + "memory_limit_shutting_down_intellisense": "IntelliSense 서버 {0} 을(를) 종료하는 중입니다. 메모리 사용량이 {1}MB이며 {2}MB 한도를 초과했습니다.", "failed_to_query_for_standard_version": "기본 표준 버전에 대해 경로 \"{0}\"에서 컴파일러를 쿼리하지 못했습니다. 이 컴파일러에 대해서는 컴파일러 쿼리를 사용할 수 없습니다.", "unrecognized_language_standard_version": "컴파일러 쿼리에서 인식할 수 없는 언어 표준 버전을 반환했습니다. 지원되는 최신 버전이 대신 사용됩니다.", "intellisense_process_crash_detected": "IntelliSense 프로세스 크래시가 감지되었습니다.", @@ -235,7 +235,7 @@ "return_values_label": "반환 값:", "nvcc_compiler_not_found": "nvcc 컴파일러를 찾을 수 없음: {0}", "nvcc_host_compiler_not_found": "nvcc 호스트 컴파일러를 찾을 수 없음: {0}", - "invoking_nvcc": "명령줄 {0}을(를) 사용하여 nvcc를 호출하는 중", + "invoking_nvcc": "명령줄 {0} 을(를) 사용하여 nvcc를 호출하는 중", "nvcc_host_compile_command_not_found": "nvcc의 출력에서 호스트 컴파일 명령을 찾을 수 없습니다.", "unable_to_locate_forced_include": "강제 포함을 찾을 수 없음: {0}", "inline_macro": "인라인 매크로", @@ -245,11 +245,11 @@ "multiple_locations_note": "여러 위치", "folder_tag": "폴더", "file_tag": "파일", - "compiler_default_language_standard_version_old": "컴파일러가 기본 언어 표준 버전 {0}을(를) 반환했습니다. 이 버전은 이전 버전이므로 새 버전 {1}을(를) 기본으로 사용하려고 합니다.", + "compiler_default_language_standard_version_old": "컴파일러가 기본 언어 표준 버전 {0} 을(를) 반환했습니다. 이 버전은 이전 버전이므로 새 버전 {1} 을(를) 기본으로 사용하려고 합니다.", "unexpected_output_from_clang_tidy": "clang-tidy에서 예기치 않은 출력: {0}. 예상: {1}.", "generate_doxygen_comment": "Doxygen 주석 생성", - "offer_create_declaration": "{1}에서 ‘{0}’의 선언 만들기", - "offer_create_definition": "{1}에서 ‘{0}’의 정의 만들기", + "offer_create_declaration": "{1} 에서 ‘{0}’의 선언 만들기", + "offer_create_definition": "{1} 에서 ‘{0}’의 정의 만들기", "function_definition_not_found": "'{0}'에 대한 함수 정의를 찾을 수 없습니다.", "cm_attributes": "특성", "cm_bases": "Bases", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "이 함수는 값을 참조로 반환해야 합니다. C 코드는 참조를 반환할 수 없습니다.", "refactor_extract_xborder_jump": "선택된 코드와 주변 코드 사이에 점프가 있습니다.", "refactor_extract_missing_return": "선택된 코드에서 일부 제어 경로가 반환 값 설정 없이 종료됩니다. 이는 스칼라, 숫자 및 포인터 반환 형식에 대해서만 지원됩니다.", - "expand_selection": "선택 영역 확장('함수로 추출'을 사용하도록 설정)" -} \ No newline at end of file + "expand_selection": "선택 영역 확장('함수로 추출'을 사용하도록 설정)", + "file_not_found_in_path2": "compile_commands.json 파일에서 \"{0}\"을(를) 찾을 수 없습니다. '{1}' 폴더의 c_cpp_properties.json 'includePath'가 대신 이 파일에 사용됩니다.", + "copilot_hover_link": "Copilot 요약 생성" +} diff --git a/Extension/i18n/kor/src/platform.i18n.json b/Extension/i18n/kor/src/platform.i18n.json index 2bd9fa87ae..fd8983efb3 100644 --- a/Extension/i18n/kor/src/platform.i18n.json +++ b/Extension/i18n/kor/src/platform.i18n.json @@ -6,5 +6,5 @@ { "unknown.os.platform": "알 수 없는 OS 플랫폼", "missing.plist.productversion": "SystemVersion.plist에서 ProduceVersion을 가져올 수 없음", - "missing.darwin.systemversion.file": "{0}에서 SystemVersion.plist를 찾지 못했습니다." -} \ No newline at end of file + "missing.darwin.systemversion.file": "{0} 에서 SystemVersion.plist를 찾지 못했습니다." +} diff --git a/Extension/i18n/kor/ui/settings.html.i18n.json b/Extension/i18n/kor/ui/settings.html.i18n.json index be74f775fe..b94b35336d 100644 --- a/Extension/i18n/kor/ui/settings.html.i18n.json +++ b/Extension/i18n/kor/ui/settings.html.i18n.json @@ -16,7 +16,7 @@ "intellisense.configurations": "IntelliSense 구성", "intellisense.configurations.description": "이 편집기를 사용하여 기본 {0} 파일에 정의된 IntelliSense 설정을 편집합니다. 이 편집기에서 변경한 내용은 선택한 구성에만 적용됩니다. 한 번에 여러 구성을 편집하려면 {1}(으)로 이동합니다.", "configuration.name": "구성 이름", - "configuration.name.description": "구성을 식별하는 이름입니다. {0}, {1} 및 {2}은(는) 해당 플랫폼에서 자동으로 선택되는 구성의 특수 식별자입니다.", + "configuration.name.description": "구성을 식별하는 이름입니다. {0}, {1} 및 {2} 은(는) 해당 플랫폼에서 자동으로 선택되는 구성의 특수 식별자입니다.", "select.configuration.to.edit": "편집할 구성 세트를 선택합니다.", "add.configuration.button": "구성 추가", "configuration.name.input": "구성 이름...", @@ -27,15 +27,15 @@ "specify.a.compiler": "컴파일러 경로를 지정하거나 드롭다운 목록에서 검색된 컴파일러 경로를 선택합니다.", "no.compiler.paths.detected": "(검색된 컴파일러 경로가 없음)", "compiler.args": "컴파일러 인수", - "compiler.arguments": "사용된 포함 또는 정의를 수정하기 위한 컴파일러 인수입니다. {0}, {1} 등. 공백으로 구분된 추가 인수를 사용하는 인수는 배열에 별도의 인수로 입력해야 합니다(예: {2}의 경우 {3}을(를) 사용하세요).", + "compiler.arguments": "사용된 포함 또는 정의를 수정하기 위한 컴파일러 인수입니다. {0}, {1} 등. 공백으로 구분된 추가 인수를 사용하는 인수는 배열에 별도의 인수로 입력해야 합니다(예: {2} 의 경우 {3} 을(를) 사용하세요).", "one.argument.per.line": "줄당 하나의 인수입니다.", "intellisense.mode": "IntelliSense 모드", "intellisense.mode.description": "MSVC, gcc 또는 Clang의 플랫폼 및 아키텍처 변형에 매핑되는 사용할 IntelliSense 모드입니다. 설정되지 않거나 {0}(으)로 설정된 경우 확장에서 해당 플랫폼의 기본값을 선택합니다. Windows의 경우 기본값인 {1}(으)로 설정되고, Linux의 경우 기본값인 {2}(으)로 설정되며, macOS의 경우 기본값인 {3}(으)로 설정됩니다. {4} 모드를 재정의하려면 특정 IntelliSense 모드를 선택합니다. {5} 변형(예: {6})만 지정하는 IntelliSense 모드는 레거시 모드이며 호스트 플랫폼에 따라 {7} 변형으로 자동으로 변환됩니다.", "include.path": "경로 포함", - "include.path.description": "포함 경로는 소스 파일에 포함된 헤더 파일(예: {0})을 포함하는 폴더입니다. 포함된 헤더 파일을 검색하는 동안 사용할 IntelliSense 엔진의 경로 목록을 지정합니다. 이러한 경로 검색은 비재귀적입니다. 재귀적 검색을 나타내려면 {1}을(를) 지정합니다. 예를 들어 {2}은(는) 모든 하위 디렉터리를 검색하지만 {3}은(는) 그러지 않습니다. Visual Studio가 설치된 Windows를 사용하거나 {4} 설정에 컴파일러가 지정된 경우 이 목록에 시스템 포함 경로를 나열할 필요가 없습니다.", + "include.path.description": "포함 경로는 소스 파일에 포함된 헤더 파일(예: {0})을 포함하는 폴더입니다. 포함된 헤더 파일을 검색하는 동안 사용할 IntelliSense 엔진의 경로 목록을 지정합니다. 이러한 경로 검색은 비재귀적입니다. 재귀적 검색을 나타내려면 {1} 을(를) 지정합니다. 예를 들어 {2} 은(는) 모든 하위 디렉터리를 검색하지만 {3} 은(는) 그러지 않습니다. Visual Studio가 설치된 Windows를 사용하거나 {4} 설정에 컴파일러가 지정된 경우 이 목록에 시스템 포함 경로를 나열할 필요가 없습니다.", "one.include.path.per.line": "줄당 하나의 포함 경로입니다.", "defines": "정의", - "defines.description": "파일을 구문 분석하는 동안 사용할 IntelliSense 엔진의 전처리기 정의 목록입니다. 필요에 따라 {0}을(를) 사용하여 값(예: {1})을 설정할 수 있습니다.", + "defines.description": "파일을 구문 분석하는 동안 사용할 IntelliSense 엔진의 전처리기 정의 목록입니다. 필요에 따라 {0} 을(를) 사용하여 값(예: {1})을 설정할 수 있습니다.", "one.definition.per.line": "줄당 하나의 정의입니다.", "c.standard": "C 표준", "c.standard.description": "IntelliSense에 사용할 C 언어 표준의 버전입니다. 참고: GNU 표준은 GNU 정의를 가져오기 위해 설정된 컴파일러를 쿼리하는 데만 사용되며, IntelliSense는 해당 C 표준 버전을 에뮬레이트합니다.", @@ -43,7 +43,7 @@ "cpp.standard.description": "IntelliSense에 사용할 C++ 언어 표준의 버전입니다. 참고: GNU 표준은 GNU 정의를 가져오기 위해 설정된 컴파일러를 쿼리하는 데만 사용되며, IntelliSense는 해당 C++ 표준 버전을 에뮬레이트합니다.", "advanced.settings": "고급 설정", "configuration.provider": "구성 공급자", - "configuration.provider.description": "소스 파일에 대한 IntelliSense 구성 정보를 제공할 수 있는 VS Code 확장의 ID입니다. 예를 들어 VS Code 확장 ID {0}을(를) 사용하여 CMake 도구 확장의 구성 정보를 제공합니다.", + "configuration.provider.description": "소스 파일에 대한 IntelliSense 구성 정보를 제공할 수 있는 VS Code 확장의 ID입니다. 예를 들어 VS Code 확장 ID {0} 을(를) 사용하여 CMake 도구 확장의 구성 정보를 제공합니다.", "windows.sdk.version": "Windows SDK 버전", "windows.sdk.version.description": "Windows에서 사용할 Windows SDK 포함 경로의 버전입니다(예: {0}).", "mac.framework.path": "Mac 프레임워크 경로", @@ -55,14 +55,15 @@ "dot.config": "Dot Config", "dot.config.description": "Kconfig 시스템에서 만든 .config 파일의 경로입니다. Kconfig 시스템은 프로젝트를 빌드하기 위한 모든 정의가 포함된 파일을 생성합니다. Kconfig 시스템을 사용하는 프로젝트의 예로는 Linux 커널 및 NuttX RTOS가 있습니다.", "compile.commands": "컴파일 명령", - "compile.commands.description": "작업 영역의 {0} 파일 전체 경로입니다. 이 파일에서 검색된 포함 경로 및 정의가 {1} 및 {2} 설정에 설정된 값 대신 사용됩니다. 사용자가 편집기에서 연 파일에 해당하는 변환 단위에 대한 항목이 컴파일 명령 데이터베이스에 포함되지 않는 경우, 경고 메시지가 나타나고 확장에서 대신 {3} 및 {4} 설정을 사용합니다.", + "compile.commands.description": "작업 영역에 대한 {0} 파일의 경로 목록입니다. 이러한 파일에서 검색된 포함 경로 및 정의는 {1} 및 {2} 설정에 설정된 값 대신 사용됩니다. 컴파일 명령 데이터베이스에 편집기에서 연 파일에 해당하는 번역 단위에 대한 항목이 없으면 경고 메시지가 나타나고 확장 프로그램에서 {3} 및 {4} 설정을 대신 사용합니다.", + "one.compile.commands.path.per.line": "줄당 하나의 컴파일 명령 경로입니다.", "merge.configurations": "구성 병합", "merge.configurations.description": "{0}(또는 선택)인 경우, 포함 경로, 정의 및 강제 포함을 구성 제공자의 경로와 병합합니다.", "browse.path": "찾아보기: 경로", - "browse.path.description": "태그 파서가 소스 파일에 포함된 헤더를 검색할 경로의 목록입니다. 생략된 경우 {0}이(가) {1}(으)로 사용됩니다. 기본적으로 이 경로 검색은 재귀적입니다. 비재귀적 검색을 나타내려면 {2}을(를) 지정합니다. 예: {3}은(는) 모든 하위 디렉터리를 검색하지만 {4}은(는) 하위 디렉터리를 검색하지 않습니다.", + "browse.path.description": "태그 파서가 소스 파일에 포함된 헤더를 검색할 경로의 목록입니다. 생략된 경우 {0} 이(가) {1}(으)로 사용됩니다. 기본적으로 이 경로 검색은 재귀적입니다. 비재귀적 검색을 나타내려면 {2} 을(를) 지정합니다. 예: {3} 은(는) 모든 하위 디렉터리를 검색하지만 {4} 은(는) 하위 디렉터리를 검색하지 않습니다.", "one.browse.path.per.line": "줄당 하나의 검색 경로입니다.", "limit.symbols": "찾아보기: 포함된 헤더로 기호 제한", - "limit.symbols.checkbox": "{0}(또는 선택)인 경우 태그 파서는 {1}의 원본 파일에 직접 또는 간접적으로 포함된 코드 파일만 구문 분석합니다. {2}인 경우(또는 선택하지 않은 경우) 태그 파서는 {3} 목록에 지정된 경로에 있는 모든 코드 파일을 구문 분석합니다.", + "limit.symbols.checkbox": "{0}(또는 선택)인 경우 태그 파서는 {1} 의 원본 파일에 직접 또는 간접적으로 포함된 코드 파일만 구문 분석합니다. {2} 인 경우(또는 선택하지 않은 경우) 태그 파서는 {3} 목록에 지정된 경로에 있는 모든 코드 파일을 구문 분석합니다.", "database.filename": "찾아보기: 데이터베이스 파일 이름", "database.filename.description": "생성된 기호 데이터베이스의 경로입니다. 이 경로는 태그 파서의 기호 데이터베이스를 작업 영역의 기본 스토리지 위치가 아닌 다른 곳에 저장하도록 확장에 지시합니다. 상대 경로가 지정된 경우 작업 영역 폴더 자체가 아니라 작업 영역의 기본 스토리지 위치에 대해 상대적으로 만들어집니다. {0} 변수를 사용하여 작업 영역 폴더에 상대적인 경로를 지정할 수 있습니다(예: {1})." -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json index cf38995b8a..f5a7d59b30 100644 --- a/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json +++ b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -7,12 +7,12 @@ "walkthrough.linux.title.run.and.debug.your.file": "Linux에서 C++ 파일 실행 및 디버그", "walkthrough.linux.run.and.debug.your.file": "VS Code에서 C++ 파일을 실행하고 디버그하려면:", "walkthrough.linux.instructions1": "실행하고 디버그할 C++ 원본 파일을 엽니다. 이 파일이 편집기에서 활성화되어 있는지(현재 표시되고 선택되어 있는지) 확인하세요.", - "walkthrough.linux.press.f5": "{0}을(를) 누릅니다. 또는 기본 메뉴에서 {1}을(를) 선택합니다.", + "walkthrough.linux.press.f5": "{0} 을(를) 누릅니다. 또는 기본 메뉴에서 {1} 을(를) 선택합니다.", "walkthrough.linux.run": "실행", "walkthrough.linux.start.debugging": "디버깅 시작", - "walkthrough.linux.select.compiler": "{0}을(를) 선택합니다.", - "walkthrough.linux.choose.build.active.file": "{0}을(를) 선택합니다.", + "walkthrough.linux.select.compiler": "{0} 을(를) 선택합니다.", + "walkthrough.linux.choose.build.active.file": "{0} 을(를) 선택합니다.", "walkthrough.linux.build.and.debug.active.file": "활성 파일 빌드 및 디버그", "walkthrough.linux.after.running": "처음으로 C++ 파일을 실행하고 디버깅한 후 프로젝트의 {0} 폴더 안에 {1} 및 {2}(이)라는 두 개의 새 파일이 있음을 알 수 있습니다.", - "walkthrough.linux.for.more.complex": "더 복잡한 빌드 및 디버그 시나리오의 경우 {0} 및 {1}에서 빌드 작업 및 디버그 구성을 사용자 지정할 수 있습니다. 예를 들어 명령줄에서 빌드할 때 일반적으로 컴파일러에 인수를 전달하는 경우 {3} 속성을 사용하여 {2}에서 해당 인수를 지정할 수 있습니다. 마찬가지로 {4}에서 디버깅을 위해 프로그램에 전달할 인수를 정의할 수 있습니다." -} \ No newline at end of file + "walkthrough.linux.for.more.complex": "더 복잡한 빌드 및 디버그 시나리오의 경우 {0} 및 {1} 에서 빌드 작업 및 디버그 구성을 사용자 지정할 수 있습니다. 예를 들어 명령줄에서 빌드할 때 일반적으로 컴파일러에 인수를 전달하는 경우 {3} 속성을 사용하여 {2} 에서 해당 인수를 지정할 수 있습니다. 마찬가지로 {4} 에서 디버깅을 위해 프로그램에 전달할 인수를 정의할 수 있습니다." +} diff --git a/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json index 3eda44f925..97e0609e4b 100644 --- a/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json +++ b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -7,12 +7,12 @@ "walkthrough.mac.title.run.and.debug.your.file": "macOS에서 C++ 파일 실행 및 디버그", "walkthrough.mac.run.and.debug.your.file": "VS Code에서 C++ 파일을 실행하고 디버그하려면:", "walkthrough.mac.instructions1": "실행하고 디버그할 C++ 원본 파일을 엽니다. 이 파일이 편집기에서 활성화되어 있는지(현재 표시되고 선택되어 있는지) 확인하세요.", - "walkthrough.mac.press.f5": "{0}을(를) 누릅니다. 또는 기본 메뉴에서 {1}을(를) 선택합니다.", + "walkthrough.mac.press.f5": "{0} 을(를) 누릅니다. 또는 기본 메뉴에서 {1} 을(를) 선택합니다.", "walkthrough.mac.run": "실행", "walkthrough.mac.start.debugging": "디버깅 시작", - "walkthrough.mac.select.compiler": "{0}을(를) 선택합니다.", - "walkthrough.mac.choose.build.active.file": "{0}을(를) 선택합니다.", + "walkthrough.mac.select.compiler": "{0} 을(를) 선택합니다.", + "walkthrough.mac.choose.build.active.file": "{0} 을(를) 선택합니다.", "walkthrough.mac.build.and.debug.active.file": "활성 파일 빌드 및 디버그", "walkthrough.mac.after.running": "처음으로 C++ 파일을 실행하고 디버깅한 후 프로젝트의 {0} 폴더 안에 {1} 및 {2}(이)라는 두 개의 새 파일이 있음을 알 수 있습니다.", - "walkthrough.mac.for.more.complex": "더 복잡한 빌드 및 디버그 시나리오의 경우 {0} 및 {1}에서 빌드 작업 및 디버그 구성을 사용자 지정할 수 있습니다. 예를 들어 명령줄에서 빌드할 때 일반적으로 컴파일러에 인수를 전달하는 경우 {3} 속성을 사용하여 {2}에서 해당 인수를 지정할 수 있습니다. 마찬가지로 {4}에서 디버깅을 위해 프로그램에 전달할 인수를 정의할 수 있습니다." -} \ No newline at end of file + "walkthrough.mac.for.more.complex": "더 복잡한 빌드 및 디버그 시나리오의 경우 {0} 및 {1} 에서 빌드 작업 및 디버그 구성을 사용자 지정할 수 있습니다. 예를 들어 명령줄에서 빌드할 때 일반적으로 컴파일러에 인수를 전달하는 경우 {3} 속성을 사용하여 {2} 에서 해당 인수를 지정할 수 있습니다. 마찬가지로 {4} 에서 디버깅을 위해 프로그램에 전달할 인수를 정의할 수 있습니다." +} diff --git a/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json index 67088e66cc..5ef2e95691 100644 --- a/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json +++ b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -7,12 +7,12 @@ "walkthrough.windows.title.run.and.debug.your.file": "Windows에서 C++ 파일 실행 및 디버그", "walkthrough.windows.run.and.debug.your.file": "VS Code에서 C++ 파일을 실행하고 디버그하려면:", "walkthrough.windows.instructions1": "실행하고 디버그할 C++ 원본 파일을 엽니다. 이 파일이 편집기에서 활성화되어 있는지(현재 표시되고 선택되어 있는지) 확인하세요.", - "walkthrough.windows.press.f5": "{0}을(를) 누릅니다. 또는 기본 메뉴에서 {1}을(를) 선택합니다.", + "walkthrough.windows.press.f5": "{0} 을(를) 누릅니다. 또는 기본 메뉴에서 {1} 을(를) 선택합니다.", "walkthrough.windows.run": "실행", "walkthrough.windows.start.debugging": "디버깅 시작", - "walkthrough.windows.select.compiler": "{0}을(를) 선택합니다.", - "walkthrough.windows.choose.build.active.file": "{0}을(를) 선택합니다.", + "walkthrough.windows.select.compiler": "{0} 을(를) 선택합니다.", + "walkthrough.windows.choose.build.active.file": "{0} 을(를) 선택합니다.", "walkthrough.windows.build.and.debug.active.file": "활성 파일 빌드 및 디버그", "walkthrough.windows.after.running": "처음으로 C++ 파일을 실행하고 디버깅한 후 프로젝트의 {0} 폴더 안에 {1} 및 {2}(이)라는 두 개의 새 파일이 있음을 알 수 있습니다.", - "walkthrough.windows.for.more.complex": "더 복잡한 빌드 및 디버그 시나리오의 경우 {0} 및 {1}에서 빌드 작업 및 디버그 구성을 사용자 지정할 수 있습니다. 예를 들어 명령줄에서 빌드할 때 일반적으로 컴파일러에 인수를 전달하는 경우 {3} 속성을 사용하여 {2}에서 해당 인수를 지정할 수 있습니다. 마찬가지로 {4}에서 디버깅을 위해 프로그램에 전달할 인수를 정의할 수 있습니다." -} \ No newline at end of file + "walkthrough.windows.for.more.complex": "더 복잡한 빌드 및 디버그 시나리오의 경우 {0} 및 {1} 에서 빌드 작업 및 디버그 구성을 사용자 지정할 수 있습니다. 예를 들어 명령줄에서 빌드할 때 일반적으로 컴파일러에 인수를 전달하는 경우 {3} 속성을 사용하여 {2} 에서 해당 인수를 지정할 수 있습니다. 마찬가지로 {4} 에서 디버깅을 위해 프로그램에 전달할 인수를 정의할 수 있습니다." +} diff --git a/Extension/i18n/kor/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/kor/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index 0e4eb2779e..11e8b5abc2 100644 --- a/Extension/i18n/kor/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/kor/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // 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가 다시 시작되고 이 연습으로 다시 돌아옵니다. " -} \ No newline at end of file + "walkthrough.windows.title.open.dev.command.prompt": "{0} 사용하여 다시 시작", + "walkthrough.windows.background.dev.command.prompt": " MSVC 컴파일러와 함께 Windows 컴퓨터를 사용하고 있으므로 모든 환경 변수를 올바르게 설정하려면 {0} 에서 VS Code를 시작해야 합니다. {1} 을(를) 사용하여 다시 시작하려면 다음을 수행하세요.", + "walkthrough.open.command.prompt": "Windows 시작 메뉴에 \"{1}\"을(를) 입력하여 {0} 을(를) 엽니다. {2} 을(를) 선택하여 현재 열려 있는 폴더로 자동으로 이동합니다.", + "walkthrough.windows.press.f5": "명령 프롬프트에 \"{0}\"을(를) 입력하고 Enter 키를 누릅니다. 이렇게 하면 VS Code가 다시 시작되고 이 연습으로 다시 돌아옵니다. " +} diff --git a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index 21d96a14fd..a0648ddaa6 100644 --- a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -5,21 +5,19 @@ // Do not edit this file. It is machine generated. { "walkthrough.windows.install.compiler": "Windows에 C++ 컴파일러 설치", - "walkthrough.windows.text1": "Windows용 C++ 개발을 수행하는 경우 MSVC(Microsoft Visual C++) 컴파일러 도구 집합을 설치하는 것이 좋습니다. Windows에서 Linux를 대상으로 하는 경우 {0}을(를) 확인하세요. 또는 {1}할 수 있습니다.", + "walkthrough.windows.text1": "Windows용 C++ 개발을 수행하는 경우 MSVC(Microsoft Visual C++) 컴파일러 도구 집합을 설치하는 것이 좋습니다. Windows에서 Linux를 대상으로 하는 경우 {0} 을(를) 확인하세요. 또는 {1} 할 수 있습니다.", "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.text2": "MSVC를 설치하려면 Visual Studio {1} 페이지에서 {0} 을(를) 다운로드합니다.", "walkthrough.windows.build.tools1": "Visual Studio 2022용 빌드 도구", "walkthrough.windows.link.downloads": "다운로드", - "walkthrough.windows.text3": "Visual Studio 설치 프로그램에서 {0} 워크로드를 확인하고 {1}을(를) 선택합니다.", + "walkthrough.windows.text3": "Visual Studio 설치 프로그램에서 {0} 워크로드를 확인하고 {1} 을(를) 선택합니다.", "walkthrough.windows.build.tools2": "C++ 빌드 도구", "walkthrough.windows.link.install": "설치", "walkthrough.windows.note1": "메모", "walkthrough.windows.note1.text": "현재 C++ 코드베이스를 개발하는 데 적극적으로 사용 중인 유효한 Visual Studio 라이선스(Community, Pro 또는 Enterprise)가 있는 한 Visual Studio Build Tools의 C++ 도구 집합을 Visual Studio Code와 함께 사용하여 모든 C++ 코드베이스를 컴파일, 빌드 및 확인할 수 있습니다.", - "walkthrough.windows.open.command.prompt": "Windows 시작 메뉴에서 '개발자'를 입력하여 {0}을(를) 엽니다.", - "walkthrough.windows.command.prompt.name1": "VS용 개발자 명령 프롬프트", - "walkthrough.windows.check.install": "VS용 개발자 명령 프롬프트에 {0}을(를) 입력하여 MSVC 설치를 확인합니다. 버전 및 기본 사용 설명과 함께 저작권 메시지가 표시되어야 합니다.", + "walkthrough.windows.open.command.prompt": "Windows 시작 메뉴에 '{1}'을(를) 입력하여 {0} 을(를) 엽니다.", + "walkthrough.windows.check.install": "{1} 에 {0} 을(를) 입력하여 MSVC 설치를 확인하세요. 버전 및 기본 사용 설명과 함께 저작권 메시지가 표시될 것입니다.", "walkthrough.windows.note2": "메모", - "walkthrough.windows.note2.text": "명령줄 또는 VS Code에서 MSVC를 사용하려면 {0}에서 실행해야 합니다. {1}, {2} 또는 Windows 명령 프롬프트와 같은 일반 셸에는 필요한 경로 환경 변수가 설정되어 있지 않습니다.", - "walkthrough.windows.command.prompt.name2": "VS용 개발자 명령 프롬프트" -} \ No newline at end of file + "walkthrough.windows.note2.text": "명령줄 또는 VS Code에서 MSVC를 사용하려면 {0} 에서 실행해야 합니다. {1}, {2} 또는 Windows 명령 프롬프트와 같은 일반 셸에는 필요한 경로 환경 변수가 설정되어 있지 않습니다." +} diff --git a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index ba8c49b02b..9ea099fe09 100644 --- a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,14 +10,12 @@ "walkthrough.windows.note1": "메모", "walkthrough.windows.note1.text": "현재 C++ 코드베이스를 개발하는 데 적극적으로 사용 중인 유효한 Visual Studio 라이선스(Community, Pro 또는 Enterprise)가 있는 한 Visual Studio Build Tools의 C++ 도구 집합을 Visual Studio Code와 함께 사용하여 모든 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.open.command.prompt": "Windows 시작 메뉴에 '{1}'을(를) 입력하여 {0} 을(를) 엽니다.", + "walkthrough.windows.check.install": "{1} 에 {0} 을(를) 입력하여 MSVC 설치를 확인하세요. 버전 및 기본 사용 설명과 함께 저작권 메시지가 표시될 것입니다.", "walkthrough.windows.note2": "메모", - "walkthrough.windows.note2.text": "명령줄 또는 VS Code에서 MSVC를 사용하려면 {0}에서 실행해야 합니다. {1}, {2} 또는 Windows 명령 프롬프트와 같은 일반 셸에는 필요한 경로 환경 변수가 설정되어 있지 않습니다.", - "walkthrough.windows.command.prompt.name2": "VS용 개발자 명령 프롬프트", + "walkthrough.windows.note2.text": "명령줄 또는 VS Code에서 MSVC를 사용하려면 {0} 에서 실행해야 합니다. {1}, {2} 또는 Windows 명령 프롬프트와 같은 일반 셸에는 필요한 경로 환경 변수가 설정되어 있지 않습니다.", "walkthrough.windows.other.compilers": "기타 컴파일러 옵션", - "walkthrough.windows.text3": "Windows에서 Linux를 대상으로 하는 경우 {0}을(를) 확인하세요. {1}을(를) 수행할 수도 있습니다.", + "walkthrough.windows.text3": "Windows에서 Linux를 대상으로 하는 경우 {0} 을(를) 확인하세요. {1} 을(를) 수행할 수도 있습니다.", "walkthrough.windows.link.title1": "VS Code에서 C++ 및 Linux용 Windows 하위 시스템(WSL) 사용", "walkthrough.windows.link.title2": "MinGW로 Windows에 GCC 설치" -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index ba8c49b02b..9ea099fe09 100644 --- a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,14 +10,12 @@ "walkthrough.windows.note1": "메모", "walkthrough.windows.note1.text": "현재 C++ 코드베이스를 개발하는 데 적극적으로 사용 중인 유효한 Visual Studio 라이선스(Community, Pro 또는 Enterprise)가 있는 한 Visual Studio Build Tools의 C++ 도구 집합을 Visual Studio Code와 함께 사용하여 모든 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.open.command.prompt": "Windows 시작 메뉴에 '{1}'을(를) 입력하여 {0} 을(를) 엽니다.", + "walkthrough.windows.check.install": "{1} 에 {0} 을(를) 입력하여 MSVC 설치를 확인하세요. 버전 및 기본 사용 설명과 함께 저작권 메시지가 표시될 것입니다.", "walkthrough.windows.note2": "메모", - "walkthrough.windows.note2.text": "명령줄 또는 VS Code에서 MSVC를 사용하려면 {0}에서 실행해야 합니다. {1}, {2} 또는 Windows 명령 프롬프트와 같은 일반 셸에는 필요한 경로 환경 변수가 설정되어 있지 않습니다.", - "walkthrough.windows.command.prompt.name2": "VS용 개발자 명령 프롬프트", + "walkthrough.windows.note2.text": "명령줄 또는 VS Code에서 MSVC를 사용하려면 {0} 에서 실행해야 합니다. {1}, {2} 또는 Windows 명령 프롬프트와 같은 일반 셸에는 필요한 경로 환경 변수가 설정되어 있지 않습니다.", "walkthrough.windows.other.compilers": "기타 컴파일러 옵션", - "walkthrough.windows.text3": "Windows에서 Linux를 대상으로 하는 경우 {0}을(를) 확인하세요. {1}을(를) 수행할 수도 있습니다.", + "walkthrough.windows.text3": "Windows에서 Linux를 대상으로 하는 경우 {0} 을(를) 확인하세요. {1} 을(를) 수행할 수도 있습니다.", "walkthrough.windows.link.title1": "VS Code에서 C++ 및 Linux용 Windows 하위 시스템(WSL) 사용", "walkthrough.windows.link.title2": "MinGW로 Windows에 GCC 설치" -} \ No newline at end of file +} diff --git a/Extension/i18n/plk/Reinstalling the Extension.md.i18n.json b/Extension/i18n/plk/Reinstalling the Extension.md.i18n.json index 7e7ef000be..6360203873 100644 --- a/Extension/i18n/plk/Reinstalling the Extension.md.i18n.json +++ b/Extension/i18n/plk/Reinstalling the Extension.md.i18n.json @@ -16,6 +16,6 @@ "reinstall.extension.text5": "W systemie Windows:", "reinstall.extension.text6": "W systemie Linux:", "reinstall.extension.text7": "Następnie zainstaluj ponownie za pośrednictwem interfejsu użytkownika platformy handlowej w programie VS Code.", - "reinstall.extension.text8": "Jeśli poprawna wersja rozszerzenia nie zostanie wdrożona przez VS Code, poprawny VSIX dla Twojego systemu może być {0}i zainstalowany przy użyciu opcji „Zainstaluj z VSIX...” w menu „...” w UI rynku w VS Code.", + "reinstall.extension.text8": "Jeśli poprawna wersja rozszerzenia nie zostanie wdrożona przez VS Code, poprawny VSIX dla Twojego systemu może być {0} i zainstalowany przy użyciu opcji „Zainstaluj z VSIX...” w menu „...” w UI rynku w VS Code.", "download.vsix.link.title": "Pobrano z witryny internetowej platformy handlowej programu VS Code" -} \ No newline at end of file +} diff --git a/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json index 7fa4581cea..090adce930 100644 --- a/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "Argumenty kompilatora do modyfikowania użytych dołączeń lub definicji, np. `-nostdinc++`, `-m32` itp. Argumenty, które przyjmują dodatkowe argumenty rozdzielone spacjami, powinny być wprowadzane jako osobne argumenty w tablicy, na przykład dla argumentu `--sysroot ` należy użyć `\"--sysroot\", \"\"`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Wersja standardu języka C, która ma być używana na potrzeby funkcji IntelliSense. Uwaga: standardy GNU są używane tylko do wykonywania zapytań względem kompilatora w celu pobrania dyrektyw define systemu GNU, a funkcja IntelliSense będzie emulować odpowiednią wersję standardu języka C.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Wersja standardu języka C++, która ma być używana na potrzeby funkcji IntelliSense. Uwaga: standardy GNU są używane tylko do wykonywania zapytań względem kompilatora w celu pobrania dyrektyw define systemu GNU, a funkcja IntelliSense będzie emulować odpowiednią wersję standardu języka C++.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Pełna ścieżka do pliku `compile_commands.json` na potrzeby obszaru roboczego.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Pełna ścieżka lub lista pełnych ścieżek do plików `compile_commands.json` dla obszaru roboczego.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Lista ścieżek na potrzeby aparatu funkcji IntelliSense, która ma być używana podczas wyszukiwania dołączanych nagłówków. Wyszukiwanie w tych ścieżkach nie jest rekurencyjne. Uściślij za pomocą znaku `**`, aby wskazać wyszukiwanie rekurencyjne. Na przykład wyrażenie `${workspaceFolder}/**` powoduje przeszukiwanie wszystkich podkatalogów, podczas gdy wyrażenie `${workspaceFolder}` tego nie robi. Zazwyczaj nie powinno to zawierać elementów dołączanych systemu; zamiast tego ustaw `C_Cpp.default.compilerPath`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Lista ścieżek, których aparat IntelliSense ma używać podczas wyszukiwania dołączanych nagłówków ze struktur na komputerach Mac. Obsługiwane tylko w konfiguracji dla komputerów Mac.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Wersja ścieżki dołączania zestawu Microsoft Windows SDK do użycia w systemie Windows, np. `10.0.17134.0`.", diff --git a/Extension/i18n/plk/package.i18n.json b/Extension/i18n/plk/package.i18n.json index 8fb0a91bf0..712597c86c 100644 --- a/Extension/i18n/plk/package.i18n.json +++ b/Extension/i18n/plk/package.i18n.json @@ -7,7 +7,7 @@ "c_cpp.subheaders.intelliSense.title": "IntelliSense", "c_cpp.subheaders.formatting.title": "Formatowanie", "c_cpp.subheaders.codeDocumentation.title": "Dokumentacja dotyczące kodu", - "c_cpp.subheaders.codeAnalysis.title": "Code Analysis", + "c_cpp.subheaders.codeAnalysis.title": "Analiza kodu", "c_cpp.subheaders.debugging.title": "Debugowanie", "c_cpp.subheaders.resourceManagement.title": "Zarządzanie zasobami", "c_cpp.subheaders.miscellaneous.title": "Różne", @@ -63,7 +63,7 @@ "c_cpp.configuration.references.maxMemory.markdownDescription": "Mniej procesów „Znajdź wszystkie odwołania” i „Zmień nazwę” będzie buforowanych i uruchamianych współbieżnie po przekroczeniu tego użycia pamięci (w MB). Wartość domyślna `null` (pusta) używa wartości dziedziczonej z elementu `#C_Cpp.maxMemory#`.", "c_cpp.configuration.codeAnalysis.maxConcurrentThreads.markdownDescription": "Maksymalna liczba współbieżnych wątków do użycia na potrzeby analizy kodu. Wartość domyślna `null` (pusta) używa połowy wartości elementu `#C_Cpp.maxConcurrentThreads#`.", "c_cpp.configuration.codeAnalysis.maxMemory.markdownDescription": "Mniej procesów analizy kodu będzie uruchamianych współbieżnie po przekroczeniu tego użycia pamięci (w MB). Wartość domyślna `null` (pusta) używa wartości dziedziczonej z elementu `#C_Cpp.maxMemory#`.", - "c_cpp.configuration.codeAnalysis.updateDelay.markdownDescription": "Steruje opóźnieniem w milisekundach zanim rozszerzenie Code Analysis rozpocznie przetwarzanie po wyzwoleniu zapisu z edycji, gdy właściwość `#files.autoSave#` ma wartość `afterDelay`, a właściwość `#C_Cpp.codeAnalysis.runAutomatically#` ma wartość `true`.", + "c_cpp.configuration.codeAnalysis.updateDelay.markdownDescription": "Steruje opóźnieniem w milisekundach, zanim analiza kodu rozpocznie przetwarzanie po wyzwoleniu zapisu z edycji, gdy właściwość `#files.autoSave#` ma wartość `afterDelay`, a właściwość `#C_Cpp.codeAnalysis.runAutomatically#` ma wartość `true`.", "c_cpp.configuration.codeAnalysis.exclude.markdownDescription": "Skonfiguruj wzorce globalne dla wykluczania folderów i plików na potrzeby analizy kodu. Pliki, które nie znajdują się w folderze obszaru roboczego, są zawsze wykluczone. Dziedziczy wartości z elementów `#files.exclude#` i `#C_Cpp.files.exclude#`. Przeczytaj więcej o [wzorcach globalnych](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", "c_cpp.configuration.codeAnalysis.excludeBoolean.markdownDescription": "Wzorzec globalny do dopasowywania ścieżek do plików. Aby włączyć lub wyłączyć wzorzec, ustaw na wartość `true` lub `false`.", "c_cpp.configuration.codeAnalysis.excludeWhen.markdownDescription": "Dodatkowe sprawdzenie elementów równorzędnych pasującego pliku. Użyj ciągu `$(basename)` jako zmiennej dla nazwy pasującego pliku.", @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "Pokaż polecenie „Wyczyść wszystko” (jeśli istnieje wiele typów problemów), „Wyczyść wszystkie ” (jeśli istnieje wiele problemów dotyczących ), a także działanie kodu „Wyczyść to”", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "W przypadku wartości `true` formatowanie będzie uruchamiane w wierszach zmienionych przez akcje kodu „Rozwiąż”.", "c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "W przypadku wartości `true` analiza kodu przy użyciu polecenia `clang-tidy` zostanie włączona i zostanie uruchomiona po otwarciu lub zapisaniu pliku, jeśli parametr `#C_Cpp.codeAnalysis.runAutomatically#` ma wartość `true` (wartość domyślna).", - "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Pełna ścieżka pliku wykonywalnego `clang-tidy`. Jeśli nie zostanie określony, a element `clang-tidy` jest dostępny w ścieżce środowiska, jest używany. Jeśli ścieżka środowiska nie zostanie znaleziona, zostanie użyty element `clang-tidy` w pakiecie z rozszerzeniem.", + "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Pełna ścieżka pliku wykonywalnego `clang-tidy`. Jeśli nie zostanie określona, a element `clang-tidy` jest dostępny w ścieżce środowiska, zostanie on użyty, chyba że wersja w pakiecie z rozszerzeniem jest nowsza. Jeśli ścieżka środowiska nie zostanie znaleziona, zostanie użyty element `clang-tidy` w pakiecie z rozszerzeniem.", "c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "Określa konfigurację `clang-tidy` w formacie YAML/JSON: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{klucz: x, wartość: y}]}`. Gdy wartość jest pusta, element `clang-tidy` podejmie próbę znalezienia pliku o nazwie `clang-tidy` dla każdego pliku źródłowego w jego katalogach nadrzędnych.", "c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "Określa konfigurację `clang-tidy` w formacie YAML/JSON, który ma być używany jako rezerwowy, gdy konfiguracja `#C_Cpp.codeAnalysis.clangTidy.config#` nie jest ustawiona i nie znaleziono pliku `.clang-tidy`: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{klucz: x, wartość: y}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Rozszerzone wyrażenie regularne (ERE) POSIX pasujące do nazw nagłówków do diagnostyki wyjściowej. Diagnostyka z głównego pliku każdej jednostki tłumaczenia jest zawsze wyświetlana. Zmienna `${workspaceFolder}` jest obsługiwana (i jest używana jako domyślna wartość rezerwowa, jeśli plik `.clang-tidy` nie istnieje). Jeśli ta opcja nie ma wartości `null` (pusta), zastępuje opcję `HeaderFilterRegex` w pliku `.clang-tidy`, jeśli istnieje.", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "Pełny blok kodu, który został wprowadzony w jednym wierszu, jest pozostawiany w jednym wierszu, niezależnie od wartości ustawień elementu `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "Dowolny kod, w którym otwierający i zamykający nawias klamrowy został wprowadzony w jednym wierszu, jest pozostawiany w jednym wierszu, niezależnie od wartości ustawień elementu `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "Bloki kodu są zawsze formatowane na podstawie wartości ustawień `C_Cpp.vcFormat.newLine.*`.", - "c_cpp.configuration.clang_format_path.markdownDescription": "Pełna ścieżka do pliku wykonywalnego elementu `clang-format`. Jeśli nie zostanie ona określona, a element `clang-format` będzie dostępny w ścieżce środowiska, to zostanie on użyty. Jeśli nie zostanie znaleziony w ścieżce środowiska, zostanie użyty element `clang-format` powiązany z danym rozszerzeniem.", + "c_cpp.configuration.clang_format_path.markdownDescription": "Pełna ścieżka do pliku wykonywalnego elementu `clang-format`. Jeśli nie zostanie określona, a element `clang-format` jest dostępny w ścieżce środowiska, zostanie on użyty, chyba że wersja w pakiecie z rozszerzeniem jest nowsza. Jeśli nie zostanie znaleziony w ścieżce środowiska, zostanie użyty element `clang-format` w pakiecie z rozszerzeniem.", "c_cpp.configuration.clang_format_style.markdownDescription": "Styl kodowania, obecnie obsługiwane: `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`. Użyj elementu `file`, aby załadować styl z pliku `.clang-format` znajdującego się w bieżącym lub nadrzędnym katalogu lub ścieżki `file:<ścieżka>/.clang-format`, aby odwołać się do określonej ścieżki. Użyj składni `{klucz: wartość, ...}`, aby ustawić określone parametry. Na przykład styl `Visual Studio` jest podobny do następującego: `{ 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": "Nazwa wstępnie zdefiniowanego stylu używana jako rezerwa w przypadku, gdy plik `clang-format` zostanie wywołany przy użyciu stylu `file`, natomiast plik `.clang-format` nie zostanie znaleziony. Możliwe wartości to `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`, `none`, bądź użycie składni `{klucz: wartość, ...}` do ustawienia określonych parametrów. Na przykład styl `Visual Studio` jest podobny do następującego: `{ 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": "Jeśli jest ustawiony, zastępuje zachowanie sortowania dołączanych elementów określane za pomocą parametru `SortIncludes`.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "Określa, kiedy rozszerzenie ma używać ustawienia `#files.exclude#` (oraz `#C_Cpp.files.exclude#`) podczas ustalania, które pliki powinny być dodawane do bazy danych nawigacji kodu w trakcie przechodzenia przez ścieżki w tablicy `browse.path`. Jeśli ustawienie `#files.exclude#` zawiera tylko foldery, wtedy opcja `checkFolders` jest najlepszym wyborem, który zwiększy szybkość, przy jakiej rozszerzenie może inicjować bazę danych nawigacji kodu.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "Filtry wykluczeń będą oceniane tylko raz dla danego folderu (pojedyncze pliki nie są sprawdzane).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "Filtry wykluczeń będą oceniane w stosunku do każdego napotkanego pliku lub folderu.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Znak używany jako separator ścieżki na potrzeby wyników automatycznego uzupełniania dyrektywy `#include`.", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Znak używany jako separator ścieżek dla wygenerowanych ścieżek użytkowników.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "W przypadku wartości `true` etykietki narzędzi najechania kursorem oraz automatycznego uzupełniania będą wyświetlać tylko określone etykiety komentarzy ze strukturą. W przeciwnym razie wyświetlane będą wszystkie komentarze.", "c_cpp.configuration.doxygen.generateOnType.description": "Określa, czy komentarz Doxygen ma być wstawiany automatycznie po wpisaniu wybranego stylu komentarza.", "c_cpp.configuration.doxygen.generatedStyle.description": "Ciąg znaków używany jako wiersz początkowy komentarza Doxygen.", @@ -253,6 +253,7 @@ "c_cpp.configuration.hover.description": "W przypadku wyłączenia szczegóły dotyczące umieszczania wskaźnika myszy nie będą już udostępniane przez serwer języka.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "Włącz usługi integracji dla elementu [vcpkg dependency manager](https://aka.ms/vcpkg/).", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "Dodaj ścieżki dołączania z plików `nan` i `node-addon-api`, jeśli są one zależnościami.", + "c_cpp.configuration.copilotHover.markdownDescription": "W przypadku wartości `disabled` po najechaniu kursorem nie będą wyświetlane żadne informacje funkcji Copilot.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Jeśli ma wartość `true`, element „Symbol zmiany nazwy” będzie wymagać prawidłowego identyfikatora C/C++.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Jeśli ma wartość `true`, autouzupełnianie będzie automatycznie dodawać znak `(` po wywołaniach funkcji, a w niektórych przypadkach może również dodawać znak `)`, zależnie od ustawienia `#editor.autoClosingBrackets#`.", "c_cpp.configuration.filesExclude.markdownDescription": "Skonfiguruj wzorce globalne na potrzeby wykluczania folderów (i plików w przypadku zmiany zasad `#C_Cpp.exclusionPolicy#`). Są one specyficzne dla rozszerzenia języka C/C++ i są dodatkiem do elementu `#files.exclude#`, ale w przeciwieństwie do elementu `#files.exclude#` mają również zastosowanie do ścieżek spoza bieżącego folderu obszaru roboczego i nie są usuwane z widoku Eksploratora. Przeczytaj więcej o [wzorcach globalnych](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", @@ -425,10 +426,10 @@ "c_cpp.walkthrough.compilers.found.description": "Rozszerzenie języka C++ działa z kompilatorem języka C++. Wybierz jedną z tych, które są już na Twojej maszynie, klikając poniższy przycisk.\n[Select my Default Compiler](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)", "c_cpp.walkthrough.compilers.found.altText": "Obraz przedstawiający wybieranie domyślnego kompilatora za pomocą narzędzia QuickPick oraz listę kompilatorów znalezionych na maszynach użytkowników, z których jeden jest zaznaczony.", "c_cpp.walkthrough.create.cpp.file.title": "Tworzenie pliku C++", - "c_cpp.walkthrough.create.cpp.file.description": "[Otwórz](command:toSide:workbench.action.files.openFile) lub [utwórz](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) plik C++. Pamiętaj, aby zapisać go z rozszerzeniem „.cpp” (na przykład „helloworld.cpp”). \n[Utwórz plik C++](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", + "c_cpp.walkthrough.create.cpp.file.description": "[Otwórz](command:toSide:workbench.action.files.openFile) lub [utwórz](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) plik C++. Pamiętaj, aby zapisać go z rozszerzeniem „.cpp” (na przykład „helloworld.cpp”). \n[Utwórz plik C++ ](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", "c_cpp.walkthrough.create.cpp.file.altText": "Otwórz plik C++ lub folder z projektem C++.", - "c_cpp.walkthrough.command.prompt.title": "Uruchamianie z wiersza polecenia dla deweloperów", - "c_cpp.walkthrough.command.prompt.description": "Jeśli korzystasz z kompilatora języka C++ programu Microsoft Visual Studio, rozszerzenie języka C++ wymaga uruchomienia edytora VS Code z poziomu wiersza polecenia dla deweloperów. Postępuj zgodnie z instrukcjami po prawej stronie, aby uruchomić ponownie.\n[Załaduj ponownie okno](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": "Uruchom z wiersz polecenia dla deweloperów dla programu VS", + "c_cpp.walkthrough.command.prompt.description": "W przypadku korzystania z kompilatora języka C++ programu Microsoft Visual Studio rozszerzenie języka C++ wymaga uruchomienia programu VS Code z wiersza polecenia dla deweloperów dla programu VS. Postępuj zgodnie z instrukcjami po prawej stronie, aby uruchomić ponownie.\n[Załaduj ponownie okno](command:workbench.action.reloadWindow)", "c_cpp.walkthrough.run.debug.title": "Uruchamianie i debugowanie pliku C++", "c_cpp.walkthrough.run.debug.mac.description": "Otwórz plik C++ i kliknij przycisk odtwarzania w prawym górnym rogu edytora lub naciśnij klawisz F5, gdy korzystasz z pliku. Wybierz pozycję „clang++ — kompiluj i debuguj aktywny plik\", aby uruchomić go za pomocą debugera.", "c_cpp.walkthrough.run.debug.linux.description": "Otwórz plik C++ i kliknij przycisk odtwarzania w prawym górnym rogu edytora lub naciśnij klawisz F5, gdy korzystasz z pliku. Wybierz pozycję „g++ — kompiluj i debuguj aktywny plik\", aby uruchomić go za pomocą debugera.", diff --git a/Extension/i18n/plk/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/plk/src/Debugger/configurationProvider.i18n.json index 290a1f405b..4f963898f9 100644 --- a/Extension/i18n/plk/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/plk/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "Nie można odnaleźć debugera {0}. Konfiguracja debugowania dla {1} jest ignorowana.", "build.and.debug.active.file": "Kompiluj i debuguj aktywny plik", - "cl.exe.not.available": "{0} — funkcji kompilacji i debugowania można używać tylko wtedy, gdy program VS Code został uruchomiony z wiersza polecenia dla deweloperów w programie VS.", + "cl.exe.not.available": "Możliwe jest używanie opcji {0} w przypadku, gdy program VS Code zostanie uruchomiony z {1}.", "lldb.find.failed": "Brak zależności „{0}” dla pliku wykonywalnego lldb-mi.", "lldb.search.paths": "Wyszukano w:", "lldb.install.help": "Aby rozwiązać ten problem, zainstaluj środowisko XCode za pośrednictwem sklepu Apple App Store lub zainstaluj narzędzia wiersza polecenia środowiska XCode, uruchamiając polecenie „{0}” w oknie terminala.", diff --git a/Extension/i18n/plk/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/plk/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..0ee5e0e2a4 --- /dev/null +++ b/Extension/i18n/plk/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Generuj podsumowanie funkcji Copilot", + "copilot.disclaimer": "Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna." +} \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/configurations.i18n.json b/Extension/i18n/plk/src/LanguageServer/configurations.i18n.json index 78643cd5c3..da0ae0632c 100644 --- a/Extension/i18n/plk/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/plk/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "Ścieżka nie jest plikiem: {0}", "path.is.not.a.directory": "Ścieżka nie jest katalogiem: {0}", "duplicate.name": "Element {0} jest duplikatem. Nazwa konfiguracji musi być unikatowa.", - "cannot.find2": "Nie można znaleźć elementu „{0}”.", "multiple.paths.not.allowed": "Wiele ścieżek jest niedozwolonych.", + "multiple.paths.should.be.separate.entries": "Wiele ścieżek powinno być osobnymi wpisami w tablicy.", "paths.are.not.directories": "Ścieżki nie są katalogami: {0}" } \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/plk/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/plk/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/extension.i18n.json b/Extension/i18n/plk/src/LanguageServer/extension.i18n.json index fcf4c8d988..b434aa693f 100644 --- a/Extension/i18n/plk/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/plk/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "Nie można rozwiązać problemu z analizą kodu, ponieważ dokument został zmieniony.", "prerelease.message": "Dostępna jest wersja wstępna rozszerzenia C/C++. Czy chcesz się na nią przełączyć?", "yes.button": "Tak", - "no.button": "Nie" + "no.button": "Nie", + "copilot.hover.unavailable": "Podsumowanie Copilot jest niedostępne.", + "copilot.hover.excluded": "Plik zawierający definicję lub deklarację tego symbolu został wykluczony z używania z copilotem.", + "copilot.hover.unavailable.symbol": "Podsumowanie Copilot jest niedostępne dla tego symbolu.", + "copilot.hover.error": "Wystąpił błąd podczas generowania podsumowania funkcji Copilot." } \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/plk/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/plk/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/plk/src/nativeStrings.i18n.json b/Extension/i18n/plk/src/nativeStrings.i18n.json index 99d46898c6..cd9de4b4d5 100644 --- a/Extension/i18n/plk/src/nativeStrings.i18n.json +++ b/Extension/i18n/plk/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "Nie można wykonać zapytania dotyczącego kompilatora. Powrót do 64-bitowego trybu intelliSenseMode.", "fallback_to_no_bitness": "Nie można wykonać zapytania dotyczącego kompilatora. Powrót do braku liczby bitów.", "intellisense_client_creation_aborted": "Przerwano tworzenie klienta IntelliSense: {0}", - "include_errors_config_provider_intellisense_disabled ": "Wykryto błędy #include na podstawie informacji podanych przez ustawienie configurationProvider. Funkcje IntelliSense dla tej jednostki tłumaczeniowej ({0}) będą udostępniane przez analizator tagów.", - "include_errors_config_provider_squiggles_disabled ": "Wykryto błędy #include na podstawie informacji podanych przez ustawienie configurationProvider. Zygzaki dla tej jednostki tłumaczeniowej ({0}) są wyłączone.", + "include_errors_config_provider_intellisense_disabled": "Wykryto błędy #include na podstawie informacji podanych przez ustawienie configurationProvider. Funkcje IntelliSense dla tej jednostki tłumaczeniowej ({0}) będą udostępniane przez analizator tagów.", + "include_errors_config_provider_squiggles_disabled": "Wykryto błędy #include na podstawie informacji podanych przez ustawienie configurationProvider. Zygzaki dla tej jednostki tłumaczeniowej ({0}) są wyłączone.", "preprocessor_keyword": "słowo kluczowe preprocesora", "c_keyword": "Słowo kluczowe języka C", "cpp_keyword": "Słowo kluczowe języka C++", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "Funkcja musiałaby zwracać wartość przez referencję. W kodzie języka C nie można zwracać referencji.", "refactor_extract_xborder_jump": "Występują skoki między zaznaczonym kodem a otaczającym kodem.", "refactor_extract_missing_return": "W zaznaczonym kodzie niektóre ścieżki kontroli kończą działanie bez ustawienia zwracanej wartości. Jest to obsługiwane tylko w przypadku zwracanych typów skalarnych, liczbowych i wskaźnikowych.", - "expand_selection": "Rozwiń wybór (aby włączyć opcję „Wyodrębnij do funkcji”)" + "expand_selection": "Rozwiń wybór (aby włączyć opcję „Wyodrębnij do funkcji”)", + "file_not_found_in_path2": "Nie znaleziono elementu „{0}” w plikach compile_commands.json. Zamiast tego dla tego pliku zostanie użyty element „includePath” z c_cpp_properties.json w folderze „{1}”.", + "copilot_hover_link": "Generuj podsumowanie funkcji Copilot" } \ No newline at end of file diff --git a/Extension/i18n/plk/ui/settings.html.i18n.json b/Extension/i18n/plk/ui/settings.html.i18n.json index 232d523122..de59af40d5 100644 --- a/Extension/i18n/plk/ui/settings.html.i18n.json +++ b/Extension/i18n/plk/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "Dot Config", "dot.config.description": "Ścieżka do pliku .config utworzonego przez system Kconfig. System Kconfig generuje plik ze wszystkimi definicjami na potrzeby kompilowania projektu. Przykłady projektów używających systemu Kconfig to jądro systemu Linux i system NuttX RTOS.", "compile.commands": "Polecenia kompilacji", - "compile.commands.description": "Pełna ścieżka do pliku {0} dla obszaru roboczego. Ścieżki dołączania i definicje wykryte w tym pliku będą używane zamiast wartości określonych dla ustawień {1} i {2}. Jeśli baza danych poleceń kompilacji nie zawiera wpisu dla jednostki translacji odpowiadającej plikowi, który został otwarty w edytorze, pojawi się komunikat ostrzegawczy, a rozszerzenie użyje zamiast tego ustawień {3} i {4}.", + "compile.commands.description": "Lista ścieżek do plików {0} dla obszaru roboczego. Ścieżki uwzględniania i definicje wykryte w tych plikach będą używane zamiast wartości określonych dla ustawień {1} i {2}. Jeśli baza danych poleceń kompilacji nie zawiera wpisu dla jednostki translacji odpowiadającej plikowi, który został otwarty w edytorze, pojawi się komunikat ostrzegawczy, a rozszerzenie użyje zamiast tego ustawień {3} i {4}.", + "one.compile.commands.path.per.line": "Jedna ścieżka poleceń kompilacji na wiersz.", "merge.configurations": "Scal konfiguracje", "merge.configurations.description": "Jeśli wartość jest równa {0} (lub jest zaznaczona), scala ścieżki dołączenia, definiuje i wymusza dołączenie ze ścieżkami od dostawcy konfiguracji.", "browse.path": "Przeglądaj: ścieżka", diff --git a/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json index d8fe509ad3..b7385c2a3e 100644 --- a/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json +++ b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -14,5 +14,5 @@ "walkthrough.linux.choose.build.active.file": "Wybierz kompilację {0}.", "walkthrough.linux.build.and.debug.active.file": "Kompiluj i debuguj aktywny plik", "walkthrough.linux.after.running": "Po uruchomieniu i debugowaniu pliku C++ po raz pierwszy zobaczysz dwa nowe pliki w folderze {0} projektu: {1} i {2}.", - "walkthrough.linux.for.more.complex": "W przypadku bardziej złożonych scenariuszy kompilacji i debugowania można dostosować zadania kompilacji i konfiguracje debugowania w pozycjach {0} i {1}. Na przykład jeśli zwykle przekazujesz argumenty do kompilatora podczas kompilowania z poziomu wiersza polecenia, możesz określić te argumenty w pozycji{2} przy użyciu właściwości {3}. Podobnie można zdefiniować argumenty do przekazania do programu na potrzeby debugowania w pozycji{4}." -} \ No newline at end of file + "walkthrough.linux.for.more.complex": "W przypadku bardziej złożonych scenariuszy kompilacji i debugowania można dostosować zadania kompilacji i konfiguracje debugowania w pozycjach {0} i {1}. Na przykład jeśli zwykle przekazujesz argumenty do kompilatora podczas kompilowania z poziomu wiersza polecenia, możesz określić te argumenty w pozycji {2} przy użyciu właściwości {3}. Podobnie można zdefiniować argumenty do przekazania do programu na potrzeby debugowania w pozycji {4}." +} diff --git a/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json index 5eb3b97119..bbb608d3b6 100644 --- a/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json +++ b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -14,5 +14,5 @@ "walkthrough.mac.choose.build.active.file": "Wybierz kompilację {0}.", "walkthrough.mac.build.and.debug.active.file": "Kompiluj i debuguj aktywny plik", "walkthrough.mac.after.running": "Po uruchomieniu i debugowaniu pliku C++ po raz pierwszy zobaczysz dwa nowe pliki w folderze {0} projektu: {1} i {2}.", - "walkthrough.mac.for.more.complex": "W przypadku bardziej złożonych scenariuszy kompilacji i debugowania można dostosować zadania kompilacji i konfiguracje debugowania w pozycjach {0} i {1}. Na przykład jeśli zwykle przekazujesz argumenty do kompilatora podczas kompilowania z poziomu wiersza polecenia, możesz określić te argumenty w pozycji{2} przy użyciu właściwości {3}. Podobnie można zdefiniować argumenty do przekazania do programu na potrzeby debugowania w pozycji{4}." -} \ No newline at end of file + "walkthrough.mac.for.more.complex": "W przypadku bardziej złożonych scenariuszy kompilacji i debugowania można dostosować zadania kompilacji i konfiguracje debugowania w pozycjach {0} i {1}. Na przykład jeśli zwykle przekazujesz argumenty do kompilatora podczas kompilowania z poziomu wiersza polecenia, możesz określić te argumenty w pozycji {2} przy użyciu właściwości {3}. Podobnie można zdefiniować argumenty do przekazania do programu na potrzeby debugowania w pozycji {4}." +} diff --git a/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json index 5df9ae4cb7..4595ce32c0 100644 --- a/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json +++ b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -14,5 +14,5 @@ "walkthrough.windows.choose.build.active.file": "Wybierz kompilację {0}.", "walkthrough.windows.build.and.debug.active.file": "Kompiluj i debuguj aktywny plik", "walkthrough.windows.after.running": "Po uruchomieniu i debugowaniu pliku C++ po raz pierwszy zobaczysz dwa nowe pliki w folderze {0} projektu: {1} i {2}.", - "walkthrough.windows.for.more.complex": "W przypadku bardziej złożonych scenariuszy kompilacji i debugowania można dostosować zadania kompilacji i konfiguracje debugowania w pozycjach {0} i {1}. Na przykład jeśli zwykle przekazujesz argumenty do kompilatora podczas kompilowania z poziomu wiersza polecenia, możesz określić te argumenty w pozycji{2} przy użyciu właściwości {3}. Podobnie można zdefiniować argumenty do przekazania do programu na potrzeby debugowania w pozycji{4}." -} \ No newline at end of file + "walkthrough.windows.for.more.complex": "W przypadku bardziej złożonych scenariuszy kompilacji i debugowania można dostosować zadania kompilacji i konfiguracje debugowania w pozycjach {0} i {1}. Na przykład jeśli zwykle przekazujesz argumenty do kompilatora podczas kompilowania z poziomu wiersza polecenia, możesz określić te argumenty w pozycji {2} przy użyciu właściwości {3}. Podobnie można zdefiniować argumenty do przekazania do programu na potrzeby debugowania w pozycji {4}." +} diff --git a/Extension/i18n/plk/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/plk/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index 44bbedf7f7..d7cf404d3f 100644 --- a/Extension/i18n/plk/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/plk/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "walkthrough.windows.title.open.dev.command.prompt": "Uruchom ponownie przy użyciu wiersza polecenia dla deweloperów", - "walkthrough.windows.background.dev.command.prompt": " Ponieważ używasz maszyny z systemem Windows z kompilatorem MSVC, uruchom edytor VS Code z wiersza polecenia dla deweloperów, aby wszystkie zmienne środowiskowe zostały prawidłowo skonfigurowane. Aby uruchomić ponownie przy użyciu wiersza polecenia dla deweloperów:", - "walkthrough.open.command.prompt": "Otwórz wiersz polecenia dla deweloperów dla edytora VS, wpisując „deweloper” w menu Start systemu Windows. Wybierz wiersz polecenia dla deweloperów dla edytora VS, który automatycznie przejdzie do bieżącego otwartego folderu.", - "walkthrough.windows.press.f5": "Wpisz „code” w wierszu polecenia i naciśnij klawisz Enter. To powinno ponownie uruchomić edytor VS Code i przenieść Cię z powrotem do tego przewodnika. " + "walkthrough.windows.title.open.dev.command.prompt": "Uruchom ponownie przy użyciu {0}", + "walkthrough.windows.background.dev.command.prompt": " Używasz komputera z systemem Windows i kompilatorem programu Microsoft Visual C++ z {0}, więc musisz uruchomić program VS Code od początku, aby wszystkie zmienne środowiskowe zostały poprawnie ustawione. Aby ponownie uruchomić przy użyciu {1}:", + "walkthrough.open.command.prompt": "Otwórz pozycję {0}, wpisując „{1}” w menu Start systemu Windows. Wybierz {2}, który automatycznie przeniesie do bieżącego otwartego folderu.", + "walkthrough.windows.press.f5": "Wpisz „{0}” w wierszu polecenia i naciśnij klawisz Enter. To powinno ponownie uruchomić program VS Code i przenieść Cię z powrotem do tego przewodnika. " } \ No newline at end of file diff --git a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index ea8f9bc4b9..891e84c911 100644 --- a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "Zainstaluj", "walkthrough.windows.note1": "Uwaga", "walkthrough.windows.note1.text": "Zestawu narzędzi języka C++ z narzędzi Visual Studio Build Tools wraz z programem Visual Studio Code można używać do kompilowania, tworzenia i weryfikowania dowolnej bazy kodu języka C++, o ile masz również ważną licencję programu Visual Studio (Community, Pro lub Enterprise), której aktywnie używasz do opracowywania tej bazy kodu języka C++.", - "walkthrough.windows.open.command.prompt": "Otwórz pozycję {0}, wpisując „deweloper” w menu Start systemu Windows.", - "walkthrough.windows.command.prompt.name1": "Wiersz polecenia Developer dla programu VS", - "walkthrough.windows.check.install": "Sprawdź instalację programu MSVC, wpisując {0} w wierszu polecenia dewelopera dla programu VS. Powinien zostać wyświetlony komunikat o prawach autorskich z wersją i opisem użycia podstawowego.", + "walkthrough.windows.open.command.prompt": "Otwórz pozycję {0}, wpisując „{1}” w menu Start systemu Windows.", + "walkthrough.windows.check.install": "Sprawdź instalację MSVC, wpisując {0} w {1}. Powinien zostać wyświetlony komunikat o prawach autorskich z wersją i podstawowym opisem dotyczącym użycia.", "walkthrough.windows.note2": "Uwaga", - "walkthrough.windows.note2.text": "Aby użyć programu MSVC z wiersza polecenia lub programu VS Code, należy uruchomić z {0}. Zwykła powłoka, taka jak {1}, {2} lub wiersz polecenia systemu Windows, nie ma ustawionych wymaganych zmiennych środowiskowych ścieżki.", - "walkthrough.windows.command.prompt.name2": "Wiersz polecenia dla deweloperów dla programu VS" + "walkthrough.windows.note2.text": "Aby użyć programu MSVC z wiersza polecenia lub programu VS Code, należy uruchomić z {0}. Zwykła powłoka, taka jak {1}, {2} lub wiersz polecenia systemu Windows, nie ma ustawionych wymaganych zmiennych środowiskowych ścieżki." } \ No newline at end of file diff --git a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 24a8856488..211ffd2a00 100644 --- a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Notatka", "walkthrough.windows.note1.text": "Zestawu narzędzi języka C++ z narzędzi Visual Studio Build Tools wraz z programem Visual Studio Code można używać do kompilowania, tworzenia i weryfikowania dowolnej bazy kodu języka C++, o ile masz również ważną licencję programu Visual Studio (Community, Pro lub Enterprise), której aktywnie używasz do opracowywania tej bazy kodu języka C++.", "walkthrough.windows.verify.compiler": "Weryfikowanie instalacji kompilatora", - "walkthrough.windows.open.command.prompt": "Otwórz pozycję {0}, wpisując „deweloper” w menu Start systemu Windows.", - "walkthrough.windows.command.prompt.name1": "Wiersz polecenia Developer dla programu VS", - "walkthrough.windows.check.install": "Sprawdź instalację programu MSVC, wpisując {0} w wierszu polecenia dewelopera dla programu VS. Powinien zostać wyświetlony komunikat o prawach autorskich z wersją i opisem użycia podstawowego.", + "walkthrough.windows.open.command.prompt": "Otwórz pozycję {0}, wpisując „{1}” w menu Start systemu Windows.", + "walkthrough.windows.check.install": "Sprawdź instalację MSVC, wpisując {0} w {1}. Powinien zostać wyświetlony komunikat o prawach autorskich z wersją i podstawowym opisem dotyczącym użycia.", "walkthrough.windows.note2": "Notatka", "walkthrough.windows.note2.text": "Aby użyć programu MSVC z wiersza polecenia lub programu VS Code, należy uruchomić z {0}. Zwykła powłoka, taka jak {1}, {2} lub wiersz polecenia systemu Windows, nie ma ustawionych wymaganych zmiennych środowiskowych ścieżki.", - "walkthrough.windows.command.prompt.name2": "Wiersz polecenia dla deweloperów dla programu VS", "walkthrough.windows.other.compilers": "Inne opcje kompilatora", "walkthrough.windows.text3": "Jeśli zamierzasz korzystać z systemu Linux z poziomu systemu Windows, sprawdź {0}. Możesz też {1}.", "walkthrough.windows.link.title1": "Używanie języka C++ i podsystemu Windows dla systemu Linux (WSL) w programie VS Code", diff --git a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 24a8856488..211ffd2a00 100644 --- a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Notatka", "walkthrough.windows.note1.text": "Zestawu narzędzi języka C++ z narzędzi Visual Studio Build Tools wraz z programem Visual Studio Code można używać do kompilowania, tworzenia i weryfikowania dowolnej bazy kodu języka C++, o ile masz również ważną licencję programu Visual Studio (Community, Pro lub Enterprise), której aktywnie używasz do opracowywania tej bazy kodu języka C++.", "walkthrough.windows.verify.compiler": "Weryfikowanie instalacji kompilatora", - "walkthrough.windows.open.command.prompt": "Otwórz pozycję {0}, wpisując „deweloper” w menu Start systemu Windows.", - "walkthrough.windows.command.prompt.name1": "Wiersz polecenia Developer dla programu VS", - "walkthrough.windows.check.install": "Sprawdź instalację programu MSVC, wpisując {0} w wierszu polecenia dewelopera dla programu VS. Powinien zostać wyświetlony komunikat o prawach autorskich z wersją i opisem użycia podstawowego.", + "walkthrough.windows.open.command.prompt": "Otwórz pozycję {0}, wpisując „{1}” w menu Start systemu Windows.", + "walkthrough.windows.check.install": "Sprawdź instalację MSVC, wpisując {0} w {1}. Powinien zostać wyświetlony komunikat o prawach autorskich z wersją i podstawowym opisem dotyczącym użycia.", "walkthrough.windows.note2": "Notatka", "walkthrough.windows.note2.text": "Aby użyć programu MSVC z wiersza polecenia lub programu VS Code, należy uruchomić z {0}. Zwykła powłoka, taka jak {1}, {2} lub wiersz polecenia systemu Windows, nie ma ustawionych wymaganych zmiennych środowiskowych ścieżki.", - "walkthrough.windows.command.prompt.name2": "Wiersz polecenia dla deweloperów dla programu VS", "walkthrough.windows.other.compilers": "Inne opcje kompilatora", "walkthrough.windows.text3": "Jeśli zamierzasz korzystać z systemu Linux z poziomu systemu Windows, sprawdź {0}. Możesz też {1}.", "walkthrough.windows.link.title1": "Używanie języka C++ i podsystemu Windows dla systemu Linux (WSL) w programie VS Code", diff --git a/Extension/i18n/ptb/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/ptb/c_cpp_properties.schema.json.i18n.json index 96be96a646..0b887d3945 100644 --- a/Extension/i18n/ptb/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/ptb/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "Argumentos do compilador para modificar as inclusões ou definições usadas, por exemplo `-nostdinc++`, `-m32`, etc. Argumentos que usam argumentos adicionais delimitados por espaço devem ser inseridos como argumentos separados na matriz, por exemplo para `--sysroot ` use `\"--sysroot\", \"\"`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Versão do padrão da linguagem C a ser usada para o IntelliSense. Observação: os padrões GNU são usados apenas para consultar o compilador de conjunto para obter definições GNU e o IntelliSense emulará a versão padrão do C equivalente.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Versão do padrão da linguagem C++ a ser usada para o IntelliSense. Observação: os padrões GNU são usados apenas para consultar o compilador de conjunto para obter definições de GNU e o IntelliSense emulará a versão do C++ padrão equivalente.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Caminho completo para o arquivo `compile_commands.json` para o espaço de trabalho.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Caminho completo ou uma lista de caminhos completos para arquivos `compile_commands.json` para o espaço de trabalho.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Uma lista de caminhos para o mecanismo IntelliSense usar ao pesquisar cabeçalhos incluídos. A pesquisa nesses caminhos não é recursiva. Especifique `**` para indicar pesquisa recursiva. Por exemplo, `${workspaceFolder}/**` irá pesquisar em todos os subdiretórios enquanto `${workspaceFolder}` não irá. Normalmente, isso não deve incluir inclusões de sistema; em vez disso, defina `C_Cpp.default.compilerPath`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Uma lista de caminhos para o mecanismo IntelliSense usar durante a pesquisa de cabeçalhos incluídos nas estruturas do Mac. Suportado apenas na configuração do Mac.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "A versão do SDK do Windows inclui o caminho a ser usado no Windows, por exemplo, `10.0.17134.0`.", diff --git a/Extension/i18n/ptb/package.i18n.json b/Extension/i18n/ptb/package.i18n.json index 1b4cbfd31b..28e49bd288 100644 --- a/Extension/i18n/ptb/package.i18n.json +++ b/Extension/i18n/ptb/package.i18n.json @@ -7,7 +7,7 @@ "c_cpp.subheaders.intelliSense.title": "IntelliSense", "c_cpp.subheaders.formatting.title": "Formatação", "c_cpp.subheaders.codeDocumentation.title": "Documentação do Código", - "c_cpp.subheaders.codeAnalysis.title": "Code Analysis", + "c_cpp.subheaders.codeAnalysis.title": "Análise de código", "c_cpp.subheaders.debugging.title": "Depurando", "c_cpp.subheaders.resourceManagement.title": "Gerenciamento de Recursos", "c_cpp.subheaders.miscellaneous.title": "Diversos", @@ -39,7 +39,7 @@ "c_cpp.command.RunCodeAnalysisOnActiveFile.title": "Executar Análise de Código no Arquivo Ativo", "c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "Executar Análise de Código em Abrir Arquivos", "c_cpp.command.RunCodeAnalysisOnAllFiles.title": "Executar Análise de Código em Todos os Arquivos", - "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Limpar Todos os Problemas de Code Analysis", + "c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Limpar todos os problemas de Análise de código", "c_cpp.command.BuildAndDebugFile.title": "Depurar Arquivo C/C++", "c_cpp.command.BuildAndRunFile.title": "Executar Arquivo C/C++", "c_cpp.command.AddDebugConfiguration.title": "Adicionar a Configuração de Depuração", @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "Mostrar 'Limpar tudo' (se houver vários tipos de problema), 'Limpar todos os ' (se houver vários problemas para o ), e 'Limpar isso' para código de ações", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "Se for `true`, a formatação será executada nas linhas alteradas pelas ações de código 'Corrigir'.", "c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "Se for `true`, a análise de código usando `clang-tidy` será habilitada e será executada depois que um arquivo for aberto ou salvo se `#C_Cpp.codeAnalysis.runAutomatically#` for `true` (o padrão).", - "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "O caminho completo do executável `clang-tidy`. Se não for especificado, o `clang-tidy` estará disponível no caminho do ambiente usado. Se não for encontrado no caminho do ambiente, o `clang-tidy` empacotado com a extensão será usado.", + "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "O caminho completo do executável `clang-tidy`. Se não for especificado, e o `clang-tidy` estiver disponível no caminho do ambiente, ele será usado, a menos que a versão fornecida com a extensão seja mais recente. Se não for encontrado no caminho do ambiente, o `clang-tidy` empacotado com a extensão será usado.", "c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "Especifica uma configuração `clang-tidy` no formato YAML/JSON: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{chave: x, valor: y}]}`. Quando o valor estiver vazio, `clang-tidy` tentará localizar um arquivo chamado `.clang-tidy` para cada arquivo de origem em seus diretórios pai.", "c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "Especifica uma configuração `clang-tidy` no formato YAML/JSON a ser usada como fallback quando `#C_Cpp.codeAnalysis.clangTidy.config#` não estiver definido e nenhum arquivo `.clang-tidy` for encontrado: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{chave: x, valor: y}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Uma expressão regular estendida (ERE) que corresponde ao nome do cabeçalho a partir do qual o diagnóstico deve ser gerado. Os diagnósticos do arquivo principal de cada unidade de tradução são sempre exibidos. A variável `${workspaceFolder}` é suportada (e será usada como o valor de fallback padrão se o arquivo `.clang-tidy` não existir). Se esta opção não for `null` (vazia), ela substituirá a opção `HeaderFilterRegex` em um arquivo `.clang-tidy`, se houver.", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "Um bloco de código completo inserido em uma linha é mantido em uma linha, independentemente dos valores de qualquer uma das configurações `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "Qualquer código onde a chave de abertura e fechamento é inserida em uma linha é mantido em uma linha, independentemente dos valores de qualquer uma das configurações `C_Cpp.vcFormat.newLine.*`.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "Os blocos de código são sempre formatados com base nos valores das configurações `C_Cpp.vcFormat.newLine. *`.", - "c_cpp.configuration.clang_format_path.markdownDescription": "O caminho completo do executável `clang-format`. Se não for especificado, o `clang-format` estará disponível no caminho do ambiente usado. Se não for encontrado no caminho do ambiente, o `clang-format` empacotado com a extensão será usado.", + "c_cpp.configuration.clang_format_path.markdownDescription": "O caminho completo do executável `clang-format`. Se não for especificado, e o `clang-format` estiver disponível no caminho do ambiente, ele será usado, a menos que a versão fornecida com a extensão seja mais recente. Se não for encontrado no caminho do ambiente, o `clang-format` empacotado com a extensão será usado.", "c_cpp.configuration.clang_format_style.markdownDescription": "Estilo de codificação, atualmente suporta: `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`. Use `file` para carregar o estilo de um arquivo `.clang-format` no diretório atual ou pai, ou use `file:/.clang-format` para referenciar um caminho específico. Use `{chave: valor, ...}` para definir parâmetros específicos. Por exemplo, o estilo `Visual Studio` é semelhante a: `{ 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": "Nome do estilo predefinido usado como fallback no caso de `clang-format` ser invocado com o estilo `file`, mas o arquivo `.clang-format` não for encontrado. Os valores possíveis são `Visual Studio`,`LLVM`, `Google`,`Chromium`, `Mozilla`,`WebKit`, `Microsoft`, `GNU`, `none` ou use `{key: value, .. .}` para definir parâmetros específicos. Por exemplo, o estilo `Visual Studio` é semelhante a: `{BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifier: - 4, NamespaceIndentation: All, FixNamespaceComments: false}`.", "c_cpp.configuration.clang_format_sortIncludes.markdownDescription": "Se definido, substitui o comportamento de classificação de inclusão determinado pelo parâmetro `SortIncludes`.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "Instrui a extensão quando usar a configuração `#files.exclude#` (e `#C_Cpp.files.exclude#`) ao determinar quais arquivos devem ser adicionados ao banco de dados de navegação de código enquanto percorre os caminhos em `browse.path` matriz. Se sua configuração `#files.exclude#` contém apenas pastas, então `checkFolders` é a melhor escolha e aumentará a velocidade na qual a extensão pode inicializar o banco de dados de navegação de código.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "Os filtros de exclusão serão avaliados apenas uma vez por pasta (arquivos individuais não são verificados).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "Os filtros de exclusão serão avaliados em relação a todos os arquivos e pastas encontrados.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "O caractere usado como separador de caminho para resultados de preenchimento automático de `#include`.", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "O caractere usado como separador de caminho para caminhos de usuário gerados.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Se for `true`, as dicas de passar o mouse e autocompletar exibirão apenas alguns rótulos de comentários estruturados. Caso contrário, todos os comentários serão exibidos.", "c_cpp.configuration.doxygen.generateOnType.description": "Controle se o comentário Doxygen deve ser inserido automaticamente depois de digitar o estilo de comentário escolhido.", "c_cpp.configuration.doxygen.generatedStyle.description": "A cadeia de caracteres usada como a linha inicial do comentário Doxygen.", @@ -253,6 +253,7 @@ "c_cpp.configuration.hover.description": "Se desabilitado, os detalhes do hover não são mais fornecidos pelo servidor de idiomas.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "Habilitar os serviços de integração para o [gerenciador de dependências vcpkg](https://aka.ms/vcpkg/).", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "Adicione caminhos de inclusão de `nan` e `node-addon-api` quando forem dependências.", + "c_cpp.configuration.copilotHover.markdownDescription": "Se `disabled`, nenhuma informação do Copilot será exibida em Hover.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Se `true`, 'Renomear Símbolo' exigirá um identificador C/C++ válido.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Se `true`, autocomplete adicionará automaticamente `(` após chamadas de função, neste caso `)` também pode ser adicionado, dependendo do valor da configuração `#editor.autoClosingBrackets#`.", "c_cpp.configuration.filesExclude.markdownDescription": "Configure padrões glob para excluir pastas (e arquivos se `#C_Cpp.exclusionPolicy#` for alterado). Esses são específicos para a extensão C/C++ e são adicionais a `#files.exclude#`, mas ao contrário de `#files.exclude#`, eles também se aplicam a caminhos fora do espaço de trabalho atual e não são removidos da visualização do Explorer. Saiba mais sobre [glob patterns](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", @@ -427,12 +428,12 @@ "c_cpp.walkthrough.create.cpp.file.title": "Criar um arquivo C++", "c_cpp.walkthrough.create.cpp.file.description": "[Abrir](command:toSide:workbench.action.files.openFile) ou [criar](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) em C++ arquivo. Certifique-se de salvá-lo com a extensão \".cpp\", como \"helloworld.cpp\".\n[Criar um arquivo C++](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", "c_cpp.walkthrough.create.cpp.file.altText": "Abra um arquivo C++ ou uma pasta com um projeto C++.", - "c_cpp.walkthrough.command.prompt.title": "Iniciar no prompt de comando do desenvolvedor", - "c_cpp.walkthrough.command.prompt.description": "Ao usar o compilador Microsoft Visual Studio C++, a extensão C++ exige que você inicie o VS Code no prompt de comando do desenvolvedor. Siga as instruções à direita para reiniciar.\n[Recarregar Janela](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": "Iniciar do Prompt de Comando do Desenvolvedor para VS", + "c_cpp.walkthrough.command.prompt.description": "Ao usar o compilador Microsoft Visual Studio C++, a extensão C++ exige que você inicie o VS Code a partir do Prompt de Comando do Desenvolvedor para o VS. Siga as instruções à direita para relançar.\n[Recarregar Janela](command:workbench.action.reloadWindow)", "c_cpp.walkthrough.run.debug.title": "Executar e depurar o arquivo C++", - "c_cpp.walkthrough.run.debug.mac.description": "Abra seu arquivo C++ e clique no botão play no canto superior direito do editor ou pressione F5 quando estiver no arquivo. Selecione \"clang++ - Construir e depurar arquivo ativo\" para executar com o depurador.", - "c_cpp.walkthrough.run.debug.linux.description": "Abra seu arquivo C++ e clique no botão play no canto superior direito do editor ou pressione F5 quando estiver no arquivo. Selecione \"g++ - Construir e depurar arquivo ativo\" para executar com o depurador.", - "c_cpp.walkthrough.run.debug.windows.description": "Abra seu arquivo C++ e clique no botão play no canto superior direito do editor ou pressione F5 quando estiver no arquivo. Selecione \"cl.exe - Construir e depurar arquivo ativo\" para executar com o depurador.", + "c_cpp.walkthrough.run.debug.mac.description": "Abra seu arquivo C++ e clique no botão play no canto superior direito do editor ou pressione F5 quando estiver no arquivo. Selecione \"clang++ - Compilar e depurar arquivo ativo\" para executar com o depurador.", + "c_cpp.walkthrough.run.debug.linux.description": "Abra seu arquivo C++ e clique no botão play no canto superior direito do editor ou pressione F5 quando estiver no arquivo. Selecione \"g++ - Compilar e depurar arquivo ativo\" para executar com o depurador.", + "c_cpp.walkthrough.run.debug.windows.description": "Abra seu arquivo C++ e clique no botão play no canto superior direito do editor ou pressione F5 quando estiver no arquivo. Selecione \"cl.exe - Compilar e depurar arquivo ativo\" para executar com o depurador.", "c_cpp.walkthrough.run.debug.windows.altText": "Imagem mostrando um ponto de interrupção em um arquivo C++, o botão f5 e o símbolo de execução no canto superior direito", "c_cpp.walkthrough.customize.debugging.title": "Personalizar a depuração", "c_cpp.walkthrough.customize.debugging.mac.description": "Para personalizar a configuração de depuração, selecione o Explorer na barra de atividades e abra uma pasta que inclua o arquivo C++. Abra o arquivo C++ e selecione \"Adicionar Configuração de Depuração\" à direita do botão reproduzir. A nova configuração de depuração é salva no arquivo launch.json do projeto. \n[Saiba mais](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)", diff --git a/Extension/i18n/ptb/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/ptb/src/Debugger/configurationProvider.i18n.json index b37bea2731..0cf1700d2e 100644 --- a/Extension/i18n/ptb/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/ptb/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "Não foi possível localizar o {0} depurador. A configuração de depuração para {1} é ignorada.", "build.and.debug.active.file": "Compilar e depurar o arquivo ativo", - "cl.exe.not.available": "A criação e a depuração de {0} só podem ser usadas quando o VS Code é executado por meio do Prompt de Comando do Desenvolvedor para VS.", + "cl.exe.not.available": "{0} só pode ser usado quando o VS Code é executado a partir do {1}.", "lldb.find.failed": "Dependência ausente '{0}' no executável lldb-mi.", "lldb.search.paths": "Pesquisado em:", "lldb.install.help": "Para resolver esse problema, instale o XCode por meio da Apple App Store ou instale as Ferramentas de Linha de Comando do XCode executando '{0}' em uma janela de Terminal.", diff --git a/Extension/i18n/ptb/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/ptb/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..0c95ceba05 --- /dev/null +++ b/Extension/i18n/ptb/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Gerar resumo do Copilot", + "copilot.disclaimer": "O conteúdo gerado pela IA pode estar incorreto." +} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/configurations.i18n.json b/Extension/i18n/ptb/src/LanguageServer/configurations.i18n.json index 0ca57b0b97..b0beff6bae 100644 --- a/Extension/i18n/ptb/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/ptb/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "O caminho não é um arquivo: {0}", "path.is.not.a.directory": "O caminho não é um diretório: {0}", "duplicate.name": "{0} é uma duplicata. O nome da configuração deve ser exclusivo.", - "cannot.find2": "Não é possível localizar \"{0}\".", "multiple.paths.not.allowed": "Vários caminhos não são permitidos.", + "multiple.paths.should.be.separate.entries": "Vários caminhos devem ser entradas separadas em uma matriz.", "paths.are.not.directories": "Os caminhos não são diretórios: {0}" } \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/ptb/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/ptb/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/extension.i18n.json b/Extension/i18n/ptb/src/LanguageServer/extension.i18n.json index 8c8660acc4..596850296d 100644 --- a/Extension/i18n/ptb/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/ptb/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "Não foi possível aplicar a correção de análise de código porque o documento foi alterado.", "prerelease.message": "Uma versão de pré-lançamento da extensão C/C++ está disponível. Deseja alternar para ela?", "yes.button": "Sim", - "no.button": "Não" + "no.button": "Não", + "copilot.hover.unavailable": "O resumo do Copilot não está disponível.", + "copilot.hover.excluded": "O arquivo que contém a definição ou declaração deste símbolo foi excluído do uso com o Copilot.", + "copilot.hover.unavailable.symbol": "O resumo do Copilot não está disponível para este símbolo.", + "copilot.hover.error": "Ocorreu um erro ao gerar o resumo do Copilot." } \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/ptb/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/ptb/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/nativeStrings.i18n.json b/Extension/i18n/ptb/src/nativeStrings.i18n.json index 1201657f2e..bff77952d2 100644 --- a/Extension/i18n/ptb/src/nativeStrings.i18n.json +++ b/Extension/i18n/ptb/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "Falha ao consultar o compilador. Voltando para o intelliSenseMode de 64 bits.", "fallback_to_no_bitness": "Falha ao consultar o compilador. Voltando para nenhum número de bit.", "intellisense_client_creation_aborted": "Criação de cliente do IntelliSense anulada: {0}", - "include_errors_config_provider_intellisense_disabled ": "#inclui erros detectados com base nas informações fornecidas pela configuração configurationProvider. Os recursos do IntelliSense para essa unidade de conversão ({0}) serão fornecidos pelo Analisador de Marca.", - "include_errors_config_provider_squiggles_disabled ": "#inclui erros detectados com base nas informações fornecidas pela configuração configurationProvider. Os rabiscos estão desabilitados para esta unidade de tradução ({0}).", + "include_errors_config_provider_intellisense_disabled": "#inclui erros detectados com base nas informações fornecidas pela configuração configurationProvider. Os recursos do IntelliSense para essa unidade de conversão ({0}) serão fornecidos pelo Analisador de Marca.", + "include_errors_config_provider_squiggles_disabled": "#inclui erros detectados com base nas informações fornecidas pela configuração configurationProvider. Os rabiscos estão desabilitados para esta unidade de tradução ({0}).", "preprocessor_keyword": "palavra-chave do pré-processador", "c_keyword": "Palavra-chave C", "cpp_keyword": "Palavra-chave C++", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "A função teria que retornar um valor por referência. O código C não pode retornar referências.", "refactor_extract_xborder_jump": "Saltos entre o código selecionado e o código ao redor estão presentes.", "refactor_extract_missing_return": "No código selecionado, alguns caminhos de controle são encerrados sem definir o valor retornado. Isso tem suporte apenas para os tipos de retorno escalar, numérico e de ponteiro.", - "expand_selection": "Expandir seleção (para habilitar \"Extrair para função\")" + "expand_selection": "Expandir seleção (para habilitar \"Extrair para função\")", + "file_not_found_in_path2": "\"{0}\" não encontrado nos arquivos compile_commands.json. \"includePath\" de c_cpp_properties.json na pasta \"{1}\" será usado para esse arquivo.", + "copilot_hover_link": "Gerar resumo do Copilot" } \ No newline at end of file diff --git a/Extension/i18n/ptb/ui/settings.html.i18n.json b/Extension/i18n/ptb/ui/settings.html.i18n.json index 3b8868583e..41323f5076 100644 --- a/Extension/i18n/ptb/ui/settings.html.i18n.json +++ b/Extension/i18n/ptb/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "Configuração de Ponto", "dot.config.description": "Um caminho para um arquivo .config criado pelo sistema Kconfig. O sistema Kconfig gera um arquivo com todas as definições para construir um projeto. Exemplos de projetos que utilizam o sistema Kconfig são o Kernel Linux e o NuttX RTOS.", "compile.commands": "Compilar comandos", - "compile.commands.description": "O caminho completo para o arquivo {0} para o workspace. Os caminhos de inclusão e as definições descobertas neste arquivo serão usados no lugar dos valores definidos para as configurações {1} e {2}. Se o banco de dados de comandos de compilação não contiver uma entrada para a unidade de tradução que corresponda ao arquivo aberto no editor, uma mensagem de aviso será exibida e, em vez disso, a extensão usará as configurações {3} e {4}.", + "compile.commands.description": "Uma lista de caminhos para arquivos {0} do espaço de trabalho. Os caminhos de inclusão e as definições descobertos nesses arquivos serão usados em vez dos valores definidos para as configurações {1} e {2}. Se o banco de dados de comandos de compilação não contiver uma entrada para a unidade de tradução que corresponde ao arquivo aberto no editor, uma mensagem de aviso será exibida e a extensão usará as configurações {3} e {4}.", + "one.compile.commands.path.per.line": "Um caminho de comandos de compilação por linha.", "merge.configurations": "Mesclar as configurações", "merge.configurations.description": "Quando definido como {0} (ou verificado), mesclar os caminhos de inclusão, definições e inclusões forçadas com aqueles de um provedor de configuração.", "browse.path": "Procurar: caminho", diff --git a/Extension/i18n/ptb/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/ptb/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index 1884b7bcb1..4a188415ae 100644 --- a/Extension/i18n/ptb/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/ptb/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "walkthrough.windows.title.open.dev.command.prompt": "Reiniciar usando o prompt de comando do desenvolvedor", - "walkthrough.windows.background.dev.command.prompt": " Você está usando uma máquina Windows com o compilador MSVC, então você precisa iniciar o VS Code a partir do prompt de comando do desenvolvedor para que todas as variáveis de ambiente sejam definidas corretamente. Para reiniciar usando o prompt de comando do desenvolvedor:", - "walkthrough.open.command.prompt": "Abra o prompt de Comando do Desenvolvedor para VS digitando \"desenvolvedor\" no menu Iniciar do Windows. Selecione o prompt de Comando do Desenvolvedor para VS, que navegará automaticamente para sua pasta aberta atual.", - "walkthrough.windows.press.f5": "Digite \"código\" no prompt de comando e pressione enter. Isso deve reiniciar o VS Code e levá-lo de volta a este passo a passo. " + "walkthrough.windows.title.open.dev.command.prompt": "Reiniciar usando o {0}", + "walkthrough.windows.background.dev.command.prompt": " Você está usando um computador Windows com o compilador do MSVC, portanto, é necessário iniciar o VS Code a partir do {0} para que todas as variáveis de ambiente sejam definidas corretamente. Para reiniciar usando o {1}:", + "walkthrough.open.command.prompt": "Abra o {0} digitando \"{1}\" no menu Iniciar do Windows. Selecione o {2}, que navegará automaticamente para a pasta atualmente aberta.", + "walkthrough.windows.press.f5": "Digite \"{0}\" na solicitação de comando e pressione enter. Isso deve relançar o VS Code e levá-lo de volta a este tutorial. " } \ No newline at end of file diff --git a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index 69ca126dc1..266c47a6eb 100644 --- a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "Instalar", "walkthrough.windows.note1": "Observação", "walkthrough.windows.note1.text": "Você pode usar o conjunto de ferramentas C++ das Ferramentas de Build do Visual Studio junto com o Visual Studio Code para compilar, construir e verificar qualquer base de código C++, contanto que também tenha uma licença válida do Visual Studio (Community, Pro ou Enterprise) que esteja ativamente usando para desenvolver essa base de código C++.", - "walkthrough.windows.open.command.prompt": "Abra o {0} digitando 'desenvolvedor' no menu Iniciar do Windows.", - "walkthrough.windows.command.prompt.name1": "Prompt de comando developer para VS", - "walkthrough.windows.check.install": "Verifique a instalação do MSVC digitando {0} no Prompt de comando do desenvolvedor para VS. Você deve ver uma mensagem de copyright com a versão e a descrição básica de uso.", + "walkthrough.windows.open.command.prompt": "Abra o {0} digitando '{1}' no menu Iniciar do Windows.", + "walkthrough.windows.check.install": "Verifique sua instalação do MSVC digitando {0} no {1}. Você deverá ver uma mensagem de copyright com a versão e a descrição básica de uso.", "walkthrough.windows.note2": "Observação", - "walkthrough.windows.note2.text": "Para usar o MSVC a partir da linha de comando ou Código VS, você deve executar a partir de um {0}. Um shell comum como {1}, {2} ou o prompt de comando do Windows não possui as variáveis ​​de ambiente de caminho necessárias definidas.", - "walkthrough.windows.command.prompt.name2": "Prompt de comando do desenvolvedor para VS" + "walkthrough.windows.note2.text": "Para usar o MSVC a partir da linha de comando ou Código VS, você deve executar a partir de um {0}. Um shell comum como {1}, {2} ou o prompt de comando do Windows não possui as variáveis ​​de ambiente de caminho necessárias definidas." } \ No newline at end of file diff --git a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 43c5f573bc..d96d0bc9c4 100644 --- a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Observação", "walkthrough.windows.note1.text": "Você pode usar o conjunto de ferramentas C++ das Ferramentas de Build do Visual Studio junto com o Visual Studio Code para compilar, construir e verificar qualquer base de código C++, contanto que também tenha uma licença válida do Visual Studio (Community, Pro ou Enterprise) que esteja ativamente usando para desenvolver essa base de código C++.", "walkthrough.windows.verify.compiler": "Verificando a instalação do compilador", - "walkthrough.windows.open.command.prompt": "Abra o {0} digitando 'desenvolvedor' no menu Iniciar do Windows.", - "walkthrough.windows.command.prompt.name1": "Prompt de comando developer para VS", - "walkthrough.windows.check.install": "Verifique a instalação do MSVC digitando {0} no Prompt de comando do desenvolvedor para VS. Você deve ver uma mensagem de copyright com a versão e a descrição básica de uso.", + "walkthrough.windows.open.command.prompt": "Abra o {0} digitando '{1}' no menu Iniciar do Windows.", + "walkthrough.windows.check.install": "Verifique sua instalação do MSVC digitando {0} no {1}. Você deverá ver uma mensagem de copyright com a versão e a descrição básica de uso.", "walkthrough.windows.note2": "Observação", "walkthrough.windows.note2.text": "Para usar o MSVC a partir da linha de comando ou Código VS, você deve executar a partir de um {0}. Um shell comum como {1}, {2} ou o prompt de comando do Windows não possui as variáveis ​​de ambiente de caminho necessárias definidas.", - "walkthrough.windows.command.prompt.name2": "Prompt de comando do desenvolvedor para VS", "walkthrough.windows.other.compilers": "Outras opções do compilador", "walkthrough.windows.text3": "Se você está segmentando o Linux a partir do Windows, verifique {0}. Ou você pode {1}.", "walkthrough.windows.link.title1": "Usando C++ e Subsistema Windows para Linux (WSL) no código VS", diff --git a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 43c5f573bc..d96d0bc9c4 100644 --- a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Observação", "walkthrough.windows.note1.text": "Você pode usar o conjunto de ferramentas C++ das Ferramentas de Build do Visual Studio junto com o Visual Studio Code para compilar, construir e verificar qualquer base de código C++, contanto que também tenha uma licença válida do Visual Studio (Community, Pro ou Enterprise) que esteja ativamente usando para desenvolver essa base de código C++.", "walkthrough.windows.verify.compiler": "Verificando a instalação do compilador", - "walkthrough.windows.open.command.prompt": "Abra o {0} digitando 'desenvolvedor' no menu Iniciar do Windows.", - "walkthrough.windows.command.prompt.name1": "Prompt de comando developer para VS", - "walkthrough.windows.check.install": "Verifique a instalação do MSVC digitando {0} no Prompt de comando do desenvolvedor para VS. Você deve ver uma mensagem de copyright com a versão e a descrição básica de uso.", + "walkthrough.windows.open.command.prompt": "Abra o {0} digitando '{1}' no menu Iniciar do Windows.", + "walkthrough.windows.check.install": "Verifique sua instalação do MSVC digitando {0} no {1}. Você deverá ver uma mensagem de copyright com a versão e a descrição básica de uso.", "walkthrough.windows.note2": "Observação", "walkthrough.windows.note2.text": "Para usar o MSVC a partir da linha de comando ou Código VS, você deve executar a partir de um {0}. Um shell comum como {1}, {2} ou o prompt de comando do Windows não possui as variáveis ​​de ambiente de caminho necessárias definidas.", - "walkthrough.windows.command.prompt.name2": "Prompt de comando do desenvolvedor para VS", "walkthrough.windows.other.compilers": "Outras opções do compilador", "walkthrough.windows.text3": "Se você está segmentando o Linux a partir do Windows, verifique {0}. Ou você pode {1}.", "walkthrough.windows.link.title1": "Usando C++ e Subsistema Windows para Linux (WSL) no código VS", diff --git a/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json index 37330ce654..11fc21591f 100644 --- a/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "Аргументы компилятора для изменения используемых включений или определений, например `-nostdinc++`, `-m32` и т. д. Аргументы, которые принимают дополнительные аргументы, разделенные пробелами, должны быть введены как отдельные аргументы в массиве, например для `--sysroot ` используйте `\"--sysroot\", \"\"`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Версия стандарта языка C, используемая для IntelliSense. Примечание: стандарты GNU используются только для запроса определений GNU у установленного компилятора, а IntelliSense будет эмулировать эквивалентную версию стандарта C.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Версия стандарта языка C++, используемая для IntelliSense. Примечание: стандарты 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.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.windowsSdkVersion": "Версия пути включения Windows SDK для использования в Windows, например `10.0.17134.0`.", diff --git a/Extension/i18n/rus/package.i18n.json b/Extension/i18n/rus/package.i18n.json index f36089737a..23b673f016 100644 --- a/Extension/i18n/rus/package.i18n.json +++ b/Extension/i18n/rus/package.i18n.json @@ -7,7 +7,7 @@ "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.codeAnalysis.title": "Анализ кода", "c_cpp.subheaders.debugging.title": "Отладка", "c_cpp.subheaders.resourceManagement.title": "Управление ресурсами", "c_cpp.subheaders.miscellaneous.title": "Прочее", @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "Отображение действий кода \"Очистить все проблемы\" (при множестве типов проблем), \"Очистить все проблемы типа <тип>\" (при множестве проблем определенного <типа>) и \"Очистить эту проблему\".", "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` доступен в переменной среды PATH, используется именно он. Если `clang-tidy` не найден в переменной среды PATH, будет использоваться, связанный с расширением.", + "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "Полный путь к исполняемому файлу `clang-tidy`. Если не указано иное, а `clang-tidy` доступен в пути к среде, используется этот путь, если только версия, поставляемая в комплекте с расширением, не является более новой. Если `clang-tidy` не найден в переменной среды PATH, будет использоваться, связанный с расширением.", "c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "Задает конфигурацию `clang-tidy` в формате YAML/JSON: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{ключ: x, значение: y}]}`. Если значение пусто, `clang-tidy` попытается найти файл с именем `.clang-tidy` для каждого исходного файла в его родительских каталогах.", "c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "Задает конфигурацию `clang-tidy` в формате YAML/JSON, которая будет использоваться в качестве резервной, если не задана конфигурация `#C_Cpp.codeAnalysis.clangTidy.config#`, а файл `.clang-tidy` не найден: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{ключ: x, значение: y}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Расширенное регулярное выражение (ERE) POSIX, соответствующее именам заголовков для вывода диагностики. Диагностика основного файла каждой единицы трансляции отображается всегда. Поддерживается переменная `${workspaceFolder}` (и используется в качестве резервного значения по умолчанию, если файл `.clang-tidy` не существует). Если данный параметр не имеет значение `null` (пусто), он переопределяет параметр `HeaderFilterRegex` в файле `.clang-tidy` (если таковой существует).", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "Полный блок кода, введенный в одной строке, остается в ней вне зависимости от значений параметров `C_Cpp.vcFormat.newLine.*`.", "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_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:/.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": "Имя предварительно определенного стиля, используемое в качестве резервного варианта при вызове `clang-format` со стилем `file`, когда файл `.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`.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "Предписывает расширению, когда использовать параметр `#files.exclude#` (и `#C_Cpp.files.exclude#`) при определении файлов, которые нужно добавить в базу данных навигации по коду при обходе путей в массиве `browse.path`. Если параметр `#files.exclude#` содержит только папки, то вариант `checkFolders` подходит лучше всего и увеличивает скорость, с которой расширение может инициализировать базу данных навигации по коду.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "Фильтры исключения будут вычисляться только один раз для папки (отдельные файлы не проверяются).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "Фильтры исключения будут вычисляться для каждого найденного файла и папки.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Символ, используемый в качестве разделителя пути для результатов автозавершения `#include`.", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Символ, используемый в качестве разделителя путей для созданных путей пользователей.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Если выбрано значение `true`, в подсказках при наведении указателя и автозавершении будут отображаться только определенные метки со структурированными комментариями. В противном случае отображаются все комментарии.", "c_cpp.configuration.doxygen.generateOnType.description": "Определяет, следует ли автоматически вставлять комментарий Doxygen после ввода выбранного стиля комментария.", "c_cpp.configuration.doxygen.generatedStyle.description": "Строка символов, используемая в качестве начальной строки комментария Doxygen.", @@ -253,6 +253,7 @@ "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.copilotHover.markdownDescription": "Если параметр `отключен`, сведения о Copilot не будут отображаться при наведении указателя мыши.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Если этот параметр имеет значение `true`, для операции 'Переименование символа' потребуется указать допустимый идентификатор C/C++.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Если присвоено значение `true`, автозаполнение автоматически добавит `(` после вызовов функции, при этом также может добавляться `)` в зависимости от значения параметра `#editor.autoClosingBrackets#`.", "c_cpp.configuration.filesExclude.markdownDescription": "Настройка стандартных масок для исключения папок (и файлов, если внесено изменение в `#C_Cpp.exclusionPolicy#`). Они специфичны для расширения C/C++ и дополняют `#files.exclude#`, но в отличие от `#files.exclude#` они применяются также к путям вне папки используемой рабочей области и не удаляются из представления обозревателя. Дополнительные сведения о [шаблонах глобусов](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", @@ -427,8 +428,8 @@ "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.command.prompt.title": "Запустить из Командная строка разработчика для VS", + "c_cpp.walkthrough.command.prompt.description": "При использовании компилятора Microsoft Visual Studio C++ расширение C++ требует запуска VS Code из командной строки разработчика для VS. Для перезапуска следуйте инструкциям справа.\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++ — сборка и отладка активного файла\" для запуска с отладчиком.", diff --git a/Extension/i18n/rus/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/rus/src/Debugger/configurationProvider.i18n.json index a81ff7b48f..743211eba0 100644 --- a/Extension/i18n/rus/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/rus/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "ЗадачаПредварительногоЗапуска: {0}", "debugger.path.not.exists": "Не удается найти отладчик {0}. Конфигурация отладки для {1} игнорируется.", "build.and.debug.active.file": "сборка и отладка активного файла", - "cl.exe.not.available": "Сборку и отладку {0} можно использовать только при запуске VS Code из Командной строки разработчика для VS.", + "cl.exe.not.available": "{0} можно использовать только при запуске VS Code из {1}.", "lldb.find.failed": "Отсутствует зависимость \"{0}\" для исполняемого файла lldb-mi.", "lldb.search.paths": "Поиск был выполнен в следующих расположениях:", "lldb.install.help": "Чтобы устранить эту проблему, установите XCode через Apple App Store или установите средства командной строки XCode, выполнив команду \"{0}\" в окне терминала.", diff --git a/Extension/i18n/rus/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/rus/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..780bae43ba --- /dev/null +++ b/Extension/i18n/rus/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Создать сводку Copilot", + "copilot.disclaimer": "Содержимое, создаваемое ИИ, может быть некорректным." +} \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/configurations.i18n.json b/Extension/i18n/rus/src/LanguageServer/configurations.i18n.json index 439b47ca72..d33ef90cd8 100644 --- a/Extension/i18n/rus/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/rus/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "Путь не является файлом: {0}", "path.is.not.a.directory": "Путь не является каталогом: {0}", "duplicate.name": "{0} является дубликатом. Имя конфигурации должно быть уникальным.", - "cannot.find2": "Не удается найти \"{0}\".", "multiple.paths.not.allowed": "Запрещено использовать несколько путей.", + "multiple.paths.should.be.separate.entries": "Несколько путей должны быть отдельными записями в массиве.", "paths.are.not.directories": "Пути не являются каталогами: {0}" } \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/rus/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/rus/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/extension.i18n.json b/Extension/i18n/rus/src/LanguageServer/extension.i18n.json index 64b084f3bd..8e84945347 100644 --- a/Extension/i18n/rus/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/rus/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "Не удалось применить исправление анализа кода, так как документ был изменен.", "prerelease.message": "Доступна предварительная версия расширения C/C++. Переключиться на нее?", "yes.button": "Да", - "no.button": "Нет" + "no.button": "Нет", + "copilot.hover.unavailable": "Сводка Copilot недоступна.", + "copilot.hover.excluded": "Файл, содержащий определение или объявление этого символа, исключен из использования с Copilot.", + "copilot.hover.unavailable.symbol": "Сводка Copilot недоступна для этого символа.", + "copilot.hover.error": "При создании сводки Copilot возникла ошибка." } \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/rus/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/rus/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/rus/src/nativeStrings.i18n.json b/Extension/i18n/rus/src/nativeStrings.i18n.json index ad08527be8..3441843beb 100644 --- a/Extension/i18n/rus/src/nativeStrings.i18n.json +++ b/Extension/i18n/rus/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "Не удалось запросить сведения от компилятора. Возврат к 64-разрядному режиму IntelliSenseMode.", "fallback_to_no_bitness": "Не удалось запросить сведения от компилятора. Возврат к режиму без использования разрядности.", "intellisense_client_creation_aborted": "Создание клиента IntelliSense прервано: {0}", - "include_errors_config_provider_intellisense_disabled ": "обнаружены ошибки #include на основе сведений, предоставленных параметром configurationProvider. Функции IntelliSense для этой записи преобразования ({0}) будут предоставлены анализатором тегов.", - "include_errors_config_provider_squiggles_disabled ": "Обнаружены ошибки #include на основе сведений, предоставленных параметром configurationProvider. Волнистые линии для этой записи преобразования ({0}) отключены.", + "include_errors_config_provider_intellisense_disabled": "обнаружены ошибки #include на основе сведений, предоставленных параметром configurationProvider. Функции IntelliSense для этой записи преобразования ({0}) будут предоставлены анализатором тегов.", + "include_errors_config_provider_squiggles_disabled": "Обнаружены ошибки #include на основе сведений, предоставленных параметром configurationProvider. Волнистые линии для этой записи преобразования ({0}) отключены.", "preprocessor_keyword": "ключевое слово препроцессора", "c_keyword": "Ключевое слово C", "cpp_keyword": "Ключевое слово C++", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "Функция предполагает возврат значения по ссылке. Код C не может возвращать ссылки.", "refactor_extract_xborder_jump": "Есть переходы между выбранным кодом и окружающим его кодом.", "refactor_extract_missing_return": "В выбранном коде некоторые контрольные пути завершаются без установки возвращаемого значения. Это поддерживается только для скалярных, числовых типов возвращаемого значения и типов возвращаемого значения-указателей.", - "expand_selection": "Развернуть выделенный фрагмент (чтобы включить функцию \"Извлечение в функцию\")" + "expand_selection": "Развернуть выделенный фрагмент (чтобы включить функцию \"Извлечение в функцию\")", + "file_not_found_in_path2": "\"{0}\" не найден в файлах compile_commands.json. Вместо него для этого файла будет использоваться \"includePath\" из файла c_cpp_properties.json в папке \"{1}\".", + "copilot_hover_link": "Создать сводку Copilot" } \ No newline at end of file diff --git a/Extension/i18n/rus/ui/settings.html.i18n.json b/Extension/i18n/rus/ui/settings.html.i18n.json index 9782616943..9bc1eb5fe9 100644 --- a/Extension/i18n/rus/ui/settings.html.i18n.json +++ b/Extension/i18n/rus/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "Конфигурация dot", "dot.config.description": "Путь к файлу CONFIG, созданному системой Kconfig. Система Kconfig создает файл со всеми определениями для сборки проекта. Примеры проектов, в которых используется система Kconfig: ядро Linux и NuttX RTOS.", "compile.commands": "Команды компиляции", - "compile.commands.description": "Полный путь к файлу {0} для рабочей области. Обнаруженные в этом файле пути для включений и определения будут использоваться вместо значений, заданных для параметров {1} и {2}. Если база данных команд сборки не содержит запись для единицы трансляции, соответствующей открытому в редакторе файлу, то появится предупреждающее сообщение и расширение будет использовать параметры {3} и {4}.", + "compile.commands.description": "Список путей к файлам {0} для рабочей области. Пути включения и определения, обнаруженные в этих файлах, будут использоваться вместо значений, установленных для настроек {1} и {2}. Если в базе данных команд компиляции нет записи для единицы перевода, соответствующей файлу, который вы открыли в редакторе, появится предупреждающее сообщение, а расширение вместо этого будет использовать настройки {3} и {4}.", + "one.compile.commands.path.per.line": "Один путь команд компиляции на строку.", "merge.configurations": "Объединение конфигураций", "merge.configurations.description": "При значении {0} (или если установлен флажок) пути включения, определения и принудительные включения будут объединены с аналогичными элементами от поставщика конфигурации.", "browse.path": "Обзор: путь", diff --git a/Extension/i18n/rus/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/rus/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index 44e0e346db..6e672957d1 100644 --- a/Extension/i18n/rus/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/rus/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // 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": "Откройте командную строку разработчика для VS, введя \"developer\" в меню \"Пуск\" Windows. Выберите командную строку разработчика для VS, которая автоматически перейдет к вашей текущей открытой папке.", - "walkthrough.windows.press.f5": "Введите \"code\" в командную строку и нажмите ВВОД. Это должно перезапустить VS Code и вернуть вас к этому пошаговому руководству. " + "walkthrough.windows.title.open.dev.command.prompt": "Перезапустить с помощью {0}", + "walkthrough.windows.background.dev.command.prompt": " Вы используете компьютер Windows с компилятором MSVC, поэтому вам необходимо запустить VS Code из {0}, чтобы все переменные среды были установлены правильно. Для перезапуска с помощью {1}:", + "walkthrough.open.command.prompt": "Откройте {0}, введя \"{1}\" в меню \"Пуск\" в Windows. Выберите {2}. Вы автоматически перейдете к текущей открытой папке.", + "walkthrough.windows.press.f5": "Введите \"{0}\" в командную строку и нажмите ВВОД. Это должно перезапустить VS Code и вернуть вас к этому пошаговому руководству. " } \ No newline at end of file diff --git a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index 8d9617282c..01693b4e8d 100644 --- a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "Установка", "walkthrough.windows.note1": "Примечание", "walkthrough.windows.note1.text": "Вы можете использовать набор инструментов C++ из пакета Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой базы кода C++, если у вас есть действующая лицензия Visual Studio (Community, Pro или Enterprise), которой вы активно пользуетесь для разработки этой базы кода C++.", - "walkthrough.windows.open.command.prompt": "Откройте {0}, введя команду \"developer\" в меню \"Пуск\" в Windows.", - "walkthrough.windows.command.prompt.name1": "Командная строка разработчика для VS", - "walkthrough.windows.check.install": "Проверьте установку MSVC, введя {0} в командной строке разработчика для VS. Должно появиться сообщение об авторских правах с номером версии и кратким описанием использования.", + "walkthrough.windows.open.command.prompt": "Откройте {0}, введя \"{1}\" в меню \"Пуск\" в Windows.", + "walkthrough.windows.check.install": "Проверьте установку MSVC, введя \"{0}\" в {1}. Должно появиться сообщение об авторских правах с номером версии и кратким описанием использования.", "walkthrough.windows.note2": "Примечание", - "walkthrough.windows.note2.text": "Чтобы использовать MSVC из командной строки или VS Code, требуется запуск из {0}. В обычной среде, например в {1}, в {2} или в командной строке Windows, не заданы необходимые переменные среды \"path\".", - "walkthrough.windows.command.prompt.name2": "Командная строка разработчика для VS" + "walkthrough.windows.note2.text": "Чтобы использовать MSVC из командной строки или VS Code, требуется запуск из {0}. В обычной среде, например в {1}, в {2} или в командной строке Windows, не заданы необходимые переменные среды \"path\"." } \ No newline at end of file diff --git a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index b671e3e71e..9671f9cf6e 100644 --- a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Примечание", "walkthrough.windows.note1.text": "Вы можете использовать набор инструментов C++ из пакета Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой базы кода C++, если у вас есть действующая лицензия Visual Studio (Community, Pro или Enterprise), которой вы активно пользуетесь для разработки этой базы кода C++.", "walkthrough.windows.verify.compiler": "Проверка установки компилятора", - "walkthrough.windows.open.command.prompt": "Откройте {0}, введя команду \"developer\" в меню \"Пуск\" в Windows.", - "walkthrough.windows.command.prompt.name1": "Командная строка разработчика для VS", - "walkthrough.windows.check.install": "Проверьте установку MSVC, введя {0} в командной строке разработчика для VS. Должно появиться сообщение об авторских правах с номером версии и кратким описанием использования.", + "walkthrough.windows.open.command.prompt": "Откройте {0}, введя \"{1}\" в меню \"Пуск\" в Windows.", + "walkthrough.windows.check.install": "Проверьте установку MSVC, введя \"{0}\" в {1}. Должно появиться сообщение об авторских правах с номером версии и кратким описанием использования.", "walkthrough.windows.note2": "Примечание", "walkthrough.windows.note2.text": "Чтобы использовать MSVC из командной строки или VS Code, требуется запуск из {0}. В обычной среде, например в {1}, в {2} или в командной строке Windows, не заданы необходимые переменные среды \"path\".", - "walkthrough.windows.command.prompt.name2": "Командная строка разработчика для VS", "walkthrough.windows.other.compilers": "Другие параметры компилятора", "walkthrough.windows.text3": "Если вы нацеливаетесь на Linux из Windows, ознакомьтесь с {0}. Также вы можете {1}.", "walkthrough.windows.link.title1": "Использование C++ и подсистемы Windows для Linux в VS Code", diff --git a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index b671e3e71e..9671f9cf6e 100644 --- a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,12 +10,10 @@ "walkthrough.windows.note1": "Примечание", "walkthrough.windows.note1.text": "Вы можете использовать набор инструментов C++ из пакета Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой базы кода C++, если у вас есть действующая лицензия Visual Studio (Community, Pro или Enterprise), которой вы активно пользуетесь для разработки этой базы кода C++.", "walkthrough.windows.verify.compiler": "Проверка установки компилятора", - "walkthrough.windows.open.command.prompt": "Откройте {0}, введя команду \"developer\" в меню \"Пуск\" в Windows.", - "walkthrough.windows.command.prompt.name1": "Командная строка разработчика для VS", - "walkthrough.windows.check.install": "Проверьте установку MSVC, введя {0} в командной строке разработчика для VS. Должно появиться сообщение об авторских правах с номером версии и кратким описанием использования.", + "walkthrough.windows.open.command.prompt": "Откройте {0}, введя \"{1}\" в меню \"Пуск\" в Windows.", + "walkthrough.windows.check.install": "Проверьте установку MSVC, введя \"{0}\" в {1}. Должно появиться сообщение об авторских правах с номером версии и кратким описанием использования.", "walkthrough.windows.note2": "Примечание", "walkthrough.windows.note2.text": "Чтобы использовать MSVC из командной строки или VS Code, требуется запуск из {0}. В обычной среде, например в {1}, в {2} или в командной строке Windows, не заданы необходимые переменные среды \"path\".", - "walkthrough.windows.command.prompt.name2": "Командная строка разработчика для VS", "walkthrough.windows.other.compilers": "Другие параметры компилятора", "walkthrough.windows.text3": "Если вы нацеливаетесь на Linux из Windows, ознакомьтесь с {0}. Также вы можете {1}.", "walkthrough.windows.link.title1": "Использование C++ и подсистемы Windows для Linux в VS Code", diff --git a/Extension/i18n/trk/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/trk/c_cpp_properties.schema.json.i18n.json index 18993a2cf4..4a90f6d798 100644 --- a/Extension/i18n/trk/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/trk/c_cpp_properties.schema.json.i18n.json @@ -9,7 +9,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "Kullanılan içermeleri veya tanımları değiştirmek için derleyici bağımsız değişkenleri (örneğin, `-nostdinc++`, `-m32` vb.). Boşlukla ayrılmış ek bağımsız değişkenler alan bağımsız değişkenler, diziye ayrı bağımsız değişkenler olarak girilmelidir. Örneğin `--sysroot ` için `\"--sysroot\", \"\"` bağımsız değişkenlerini kullanın.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "IntelliSense için kullanılacak C dil standardı sürümü. Not: GNU standartları yalnızca GNU tanımlarını almak için ayarlanan derleyiciyi sorgulamak amacıyla kullanılır ve IntelliSense eşdeğer C standart sürümüne öykünür.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "IntelliSense için kullanılacak C++ dil standardı sürümü. Not: GNU standartları yalnızca GNU tanımlarını almak için ayarlanan derleyiciyi sorgulamak amacıyla kullanılır ve IntelliSense, eşdeğer C++ standart sürümüne öykünür.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Çalışma alanı için `compile_commands.json` dosyasının tam yolu.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Çalışma alanı için `compile_commands.json` dosyalarının tam yolu veya tam yolların listesi.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "IntelliSense altyapısının eklenen üst bilgileri ararken kullanacağı yol listesi. Bu yollarda arama özyinelemeli değildir. Özyinelemeli aramayı göstermek için `**` belirtin. Örneğin: `${workspaceFolder}/**` tüm alt dizinlerde ararken `${workspaceFolder}` aramaz. Bu genellikle sistem eklemelerini içermemelidir, bunun yerine `C_Cpp.default.compilerPath` ayarını belirleyin.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Mac çerçevelerinden eklenen üst bilgileri ararken IntelliSense altyapısı tarafından kullanılacak yolların listesi. Yalnızca Mac yapılandırmalarında desteklenir.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Windows üzerinde kullanılacak Windows SDK ekleme yolunun sürümü, ör. `10.0.17134.0`.", diff --git a/Extension/i18n/trk/package.i18n.json b/Extension/i18n/trk/package.i18n.json index dbfed7ef84..0db522a1a9 100644 --- a/Extension/i18n/trk/package.i18n.json +++ b/Extension/i18n/trk/package.i18n.json @@ -77,7 +77,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "'Tümünü temizle' (birden çok sorun türü varsa), 'Tüm temizle' ( için birden çok sorun varsa) ve 'Bunu temizle' kod eylemlerini göster", "c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "`true` ise biçimlendirme 'Düzelt' kod eylemlerinin değiştirdiği satırlarda çalıştırılacaktır.", "c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "`True` ise `clang-tidy` kullanan kod analizi etkinleştirilir ve `#C_Cpp.codeAnalysis.runAutomatically#` değeri `true` (varsayılan) ise dosya açıldıktan veya kaydedildikten sonra çalıştırılır.", - "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "`clang-tidy` yürütülebilir dosyasının tam yolu. Belirtilmemişse ve ortam yolunda `clang-tidy` mevcutsa, bu kullanılır. Ortam yolunda bulunamazsa, uzantıyla birlikte gelen `clang-tidy` kullanılacaktır.", + "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "`clang-tidy` yürütülebilir dosyasının tam yolu. Belirtilmezse ve ortam yolunda `clang-tidy` kullanılabiliyorsa, uzantıyla birlikte paket olarak gelen sürüm daha yeni olmadıkça bu yürütülebilir dosya kullanılır. Ortam yolunda bulunmuyorsa, uzantı ile paket olarak gelen bir `clang-tidy` kullanılır.", "c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "YAML/JSON biçiminde bir `clang-tidy` yapılandırmasını belirtir: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{anahtar: x, değer: y}]}`. Değer boş olduğunda, `clang-tidy`, üst dizinlerinde her kaynak dosya için `clang-tidy` adlı bir dosya bulmayı dener.", "c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "`#C_Cpp.codeAnalysis.clangTidy.config#` ayarlanmamışsa ve hiçbir `.clang-tidy` dosyası bulunamasa geri dönüş olarak kullanılacak YAML/JSON biçiminde bir `clang-tidy` yapılandırmasını belirtir: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{anahtar: x, değer: y}]}`.", "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Tanılama çıktısı alınacak başlıkların adlarıyla eşleşen bir POSIX genişletilmiş normal ifadesi (ERE). Her çeviri biriminin ana dosyasındaki tanılamalar her zaman görüntülenir. `${workspaceFolder}` değişkeni desteklenir (ve `.clang-tidy` dosyası yoksa varsayılan geri dönüş değeri olarak kullanılır). Bu seçenek `null` (boş) değilse, varsa `.clang-tidy` dosyasındaki `HeaderFilterRegex` seçeneğini geçersiz kılar.", @@ -175,7 +175,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "Tek satıra girilen tam kod bloğu, `C_Cpp.vcFormat.newLine.*` ayarlarının herhangi birinin değerinden bağımsız olarak tek satırda tutulur.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "Açma ve kapama küme ayracının tek bir satırda girildiği tüm kodlar, `C_Cpp.vcFormat.newLine.*` ayarlarının herhangi birinin değerinden bağımsız olarak tek satırda tutulur.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "Kod blokları her zaman `C_Cpp.vcFormat.newLine.*` ayarlarının değerlerine göre biçimlendirilir.", - "c_cpp.configuration.clang_format_path.markdownDescription": "`clang-format` yürütülebilir dosyasının tam yolu. Belirtilmezse ve ortam yolunda `clang-format` kullanılabiliyorsa bu kullanılır. Ortam yolunda bulunamazsa uzantı ile paketlenmiş bir `clang-format` kullanılır.", + "c_cpp.configuration.clang_format_path.markdownDescription": "`clang-format` yürütülebilir dosyasının tam yolu. Belirtilmezse ve ortam yolunda `clang-format` kullanılabiliyorsa, uzantıyla birlikte paket olarak gelen sürüm daha yeni olmadıkça bu yürütülebilir dosya kullanılır. Ortam yolunda bulunmuyorsa, uzantı ile paket olarak gelen bir `clang-format` kullanılır.", "c_cpp.configuration.clang_format_style.markdownDescription": "Kodlama stili şu anda şunları destekliyor: `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`. Geçerli veya üst dizindeki `.clang-format` dosyasından stili yüklemek için `file` kullanın veya belirli bir yola başvurmak için `file:/.clang-format` kullanın. Belirli parametreleri ayarlamak için `{anahtar: değer, ...}` kullanın. Örneğin, `Visual Studio` stili şuna benzer: `{ 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": "`clang-format`, `file` stiliyle çağrıldığında geri dönüş olarak kullanılan önceden tanımlı stilin adı, ancak `.clang-format` dosyası bulunamadı. Olası değerler: `Visual Studio`, `LLVM`, `Google`, `Chromium`, `Mozilla`, `WebKit`, `Microsoft`, `GNU`, `none` veya belirli parametreleri ayarlamak için `{anahtar: değer, ...}` kullanın. Örneğin, `Visual Studio` stili şuna benzer: `{ 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": "Ayarlanırsa, `SortIncludes` parametresi tarafından belirlenen ekleme sıralama davranışını geçersiz kılar.", @@ -205,7 +205,7 @@ "c_cpp.configuration.exclusionPolicy.markdownDescription": "`browse.path` dizisindeki yollarda dolaşırken, kod gezinti veritabanına hangi dosyaların ekleneceği belirlendiği sırada uzantıya `#files.exclude#` (ve `#C_Cpp.files.exclude#`) ayarının ne zaman kullanılacağını söyler. `#files.exclude#` ayarınız yalnızca klasörler içeriyorsa, `checkFolders` en iyi seçimdir ve uzantının kod gezinti veritabanını başlatabilme hızını artırır.", "c_cpp.configuration.exclusionPolicy.checkFolders.description": "Dışlama filtreleri, klasör başına yalnızca bir kez değerlendirilir (dosyalar tek tek denetlenmez).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "Dışlama filtreleri, karşılaşılan her dosya ve klasörle değerlendirilecek.", - "c_cpp.configuration.preferredPathSeparator.markdownDescription": "`#include` otomatik tamamlama sonuçları için yol ayırıcısı olarak kullanılan karakter.", + "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Oluşturulan kullanıcı yolları için yol ayırıcı olarak kullanılan karakter.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "`true` ise, üzerine gelme ve otomatik tamamlama araç ipuçları, yapılandırılmış açıklamaların yalnızca belirli etiketlerini görüntüler. Aksi halde tüm açıklamalar görüntülenir.", "c_cpp.configuration.doxygen.generateOnType.description": "Seçilen açıklama stilini girdikten sonra Doxygen açıklamasının otomatik olarak eklenip eklenmeyeceğini kontrol eder.", "c_cpp.configuration.doxygen.generatedStyle.description": "Doxygen açıklamasının başlangıç satırı olarak kullanılan karakter dizesi.", @@ -253,6 +253,7 @@ "c_cpp.configuration.hover.description": "Devre dışı bırakılırsa üzerine gelme ayrıntıları artık dil sunucusu tarafından sağlanmaz.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "[vcpkg bağımlılık yöneticisi](https://aka.ms/vcpkg/) için tümleştirme hizmetlerini etkinleştirin.", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "`nan` ve `node-addon-api` bağımlılık olduğunda bunlardan ekleme yolları ekleyin.", + "c_cpp.configuration.copilotHover.markdownDescription": "`disabled` ise Hover'da Copilot bilgisi görünmez.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "`true` ise, 'Sembolü Yeniden Adlandır' işlemi için geçerli bir C/C++ tanımlayıcısı gerekir.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "`true` ise otomatik tamamla özelliği, işlev çağrılarından sonra otomatik olarak `(` ekler. Bazı durumlarda `#editor.autoClosingBrackets#` ayarının değerine bağlı olarak `)` karakteri de eklenebilir.", "c_cpp.configuration.filesExclude.markdownDescription": "Klasörleri (ve `#C_Cpp.exclusionPolicy#` değiştirilirse dosyaları) hariç tutmak için glob desenlerini yapılandırın. Bunlar, C/C++ uzantısına özgüdür ve `#files.exclude#` öğesine ek olarak, ancak `#files.exclude#` öğesinden farklı olarak, geçerli çalışma alanı klasörünün dışındaki yollara da uygulanırlar ve Explorer görünümünden kaldırılmazlar. [Glob desenleri](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options) ile ilgili daha fazla bilgi edinin.", @@ -427,12 +428,12 @@ "c_cpp.walkthrough.create.cpp.file.title": "C++ dosyası oluşturun", "c_cpp.walkthrough.create.cpp.file.description": "[Aç](command:toSide:workbench.action.files.openFile) veya [create](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) bir C++ dosya. \"helloworld.cpp\" gibi \".cpp\" uzantısıyla kaydettiğinizden emin olun.\n[Bir C++ Dosyası Oluşturun](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", "c_cpp.walkthrough.create.cpp.file.altText": "Bir C++ dosyası veya bir klasörü C++ projesiyle açın.", - "c_cpp.walkthrough.command.prompt.title": "Geliştirici komut istemini kullanarak yeniden başlat", - "c_cpp.walkthrough.command.prompt.description": "Microsoft Visual Studio C++ derleyicisini kullanırken, C++ uzantısı, geliştirici komut isteminden VS Code'u başlatmanızı gerektirir. Yeniden başlatmak için sağdaki talimatları izleyin.\n[Yeniden Yükleme Penceresi](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": "VS için Geliştirici Komut İstemi'den başlat", + "c_cpp.walkthrough.command.prompt.description": "Microsoft Visual Studio C++ derleyicisini kullanırken, C++ uzantısı, VS için Geliştirici Komut İsteminden VS Code'u başlatmanızı gerektirir. Yeniden başlatmak için sağdaki talimatları izleyin.\n[Yeniden Yükleme Penceresi](command:workbench.action.reloadWindow)", "c_cpp.walkthrough.run.debug.title": "C++ dosyanızı çalıştırın ve hata ayıklayın", - "c_cpp.walkthrough.run.debug.mac.description": "C++ dosyanızı açın ve düzenleyicinin sağ üst köşesindeki oynat düğmesine tıklayın veya dosyadayken F5'e basın. Hata ayıklayıcı ile çalıştırmak için \"clang++ - Etkin dosya oluştur ve hata ayıkla\" seçeneğini seçin.", - "c_cpp.walkthrough.run.debug.linux.description": "C++ dosyanızı açın ve düzenleyicinin sağ üst köşesindeki oynat düğmesine tıklayın veya dosyadayken F5'e basın. Hata ayıklayıcı ile çalıştırmak için \"g++ - Aktif dosya oluştur ve hata ayıkla\"yı seçin.", - "c_cpp.walkthrough.run.debug.windows.description": "C++ dosyanızı açın ve düzenleyicinin sağ üst köşesindeki oynat düğmesine tıklayın veya dosyadayken F5'e basın. Hata ayıklayıcı ile çalıştırmak için \"cl.exe - Etkin dosya oluştur ve hata ayıkla\" seçeneğini seçin.", + "c_cpp.walkthrough.run.debug.mac.description": "C++ dosyanızı açın ve düzenleyicinin sağ üst köşesindeki oynat düğmesine tıklayın veya dosyadayken F5'e basın. Hata ayıklayıcı ile çalıştırmak için \"clang++ - Etkin dosya derle ve hata ayıkla\" seçeneğini seçin.", + "c_cpp.walkthrough.run.debug.linux.description": "C++ dosyanızı açın ve düzenleyicinin sağ üst köşesindeki oynat düğmesine tıklayın veya dosyadayken F5'e basın. Hata ayıklayıcı ile çalıştırmak için \"g++ - Aktif dosya derle ve hata ayıkla\"yı seçin.", + "c_cpp.walkthrough.run.debug.windows.description": "C++ dosyanızı açın ve düzenleyicinin sağ üst köşesindeki oynat düğmesine tıklayın veya dosyadayken F5'e basın. Hata ayıklayıcı ile çalıştırmak için \"cl.exe - Etkin dosya derle ve hata ayıkla\" seçeneğini seçin.", "c_cpp.walkthrough.run.debug.windows.altText": "C++ dosyasında bir kesme noktası, f5 düğmesi ve sağ üstte çalıştır simgesini gösteren resim", "c_cpp.walkthrough.customize.debugging.title": "Hata ayıklamayı özelleştir", "c_cpp.walkthrough.customize.debugging.mac.description": "Hata ayıklama yapılandırmanızı özelleştirmek için etkinlik çubuğunda Gezgin'i seçin ve C++ dosyanızı içeren bir klasörü açın. C++ dosyasını açın ve oynat düğmesinin sağındaki \"Hata Ayıklama Yapılandırması Ekle\" seçeneğini seçin. Yeni hata ayıklama yapılandırması projenizin launch.json dosyasına kaydedilir. \n[Learn More](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)", diff --git a/Extension/i18n/trk/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/trk/src/Debugger/configurationProvider.i18n.json index b55087bdcc..3867fc2898 100644 --- a/Extension/i18n/trk/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/trk/src/Debugger/configurationProvider.i18n.json @@ -17,7 +17,7 @@ "pre.Launch.Task": "preLaunchTask: {0}", "debugger.path.not.exists": "{0} Hata ayıklayıcı bulunamadı. {1} için hata ayıklama yapılandırması yok sayıldı.", "build.and.debug.active.file": "etkin dosyayı derle ve dosyada hata ayıkla", - "cl.exe.not.available": "{0} derlemesi ve hata ayıklama yalnızca VS Code, VS için Geliştirici Komut İstemi'nden çalıştırıldığında kullanılabilir.", + "cl.exe.not.available": "{0} yalnızca VS Code {1} öğesinden çalıştırıldığında kullanılabilir.", "lldb.find.failed": "lldb-mi yürütülebilir dosyası için '{0}' bağımlılığı eksik.", "lldb.search.paths": "Şurada arandı:", "lldb.install.help": "Bu sorunu çözmek için, Apple App Store üzerinden XCode'u yükleyin ya da bir Terminal penceresinde '{0}' çalıştırarak XCode Komut Satırı Araçları'nı yükleyin.", diff --git a/Extension/i18n/trk/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json b/Extension/i18n/trk/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json new file mode 100644 index 0000000000..44b2993726 --- /dev/null +++ b/Extension/i18n/trk/src/LanguageServer/Providers/CopilotHoverProvider.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "generate.copilot.description": "Copilot özeti oluştur", + "copilot.disclaimer": "Yapay zeka tarafından oluşturulan içerik yanlış olabilir." +} \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/configurations.i18n.json b/Extension/i18n/trk/src/LanguageServer/configurations.i18n.json index fc6ec17724..a9e5c26f25 100644 --- a/Extension/i18n/trk/src/LanguageServer/configurations.i18n.json +++ b/Extension/i18n/trk/src/LanguageServer/configurations.i18n.json @@ -16,7 +16,7 @@ "path.is.not.a.file": "Yol bir dosya değil: {0}", "path.is.not.a.directory": "Yol bir dizin değil: {0}", "duplicate.name": "{0} yineleniyor. Yapılandırma adı benzersiz olmalıdır.", - "cannot.find2": "\"{0}\" bulunamıyor.", "multiple.paths.not.allowed": "Birden fazla yola izin verilmez.", + "multiple.paths.should.be.separate.entries": "Birden çok yol bir dizideki ayrı girişler olmalıdır.", "paths.are.not.directories": "Yollar dizin değil: {0}" } \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/trk/src/LanguageServer/copilotProviders.i18n.json new file mode 100644 index 0000000000..a0179ba567 --- /dev/null +++ b/Extension/i18n/trk/src/LanguageServer/copilotProviders.i18n.json @@ -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. +{ + "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" +} \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/extension.i18n.json b/Extension/i18n/trk/src/LanguageServer/extension.i18n.json index e6392051e4..1456a43e45 100644 --- a/Extension/i18n/trk/src/LanguageServer/extension.i18n.json +++ b/Extension/i18n/trk/src/LanguageServer/extension.i18n.json @@ -19,5 +19,9 @@ "code.action.aborted": "Belge değiştiğinden kod analizi düzeltmesi uygulanamadı.", "prerelease.message": "C/C++ uzantısının yayın öncesi bir sürümü var. Buna geçmek ister misiniz?", "yes.button": "Evet", - "no.button": "Hayır" + "no.button": "Hayır", + "copilot.hover.unavailable": "Copilot özeti kullanılamıyor.", + "copilot.hover.excluded": "Bu simgenin tanımını veya bildirimini içeren dosya Copilot ile kullanımdan dışlandı.", + "copilot.hover.unavailable.symbol": "Copilot özeti bu sembol için kullanılamıyor.", + "copilot.hover.error": "Copilot özeti oluşturulurken bir hata oluştu." } \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/trk/src/LanguageServer/lmTool.i18n.json new file mode 100644 index 0000000000..91d03284dc --- /dev/null +++ b/Extension/i18n/trk/src/LanguageServer/lmTool.i18n.json @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * 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. +{ + "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", + "copilot.cppcontext.error": "Error while retrieving the #cpp context." +} \ No newline at end of file diff --git a/Extension/i18n/trk/src/nativeStrings.i18n.json b/Extension/i18n/trk/src/nativeStrings.i18n.json index fdabcb71aa..6feae95679 100644 --- a/Extension/i18n/trk/src/nativeStrings.i18n.json +++ b/Extension/i18n/trk/src/nativeStrings.i18n.json @@ -159,8 +159,8 @@ "fallback_to_64_bit_mode2": "Derleyici sorgulanamadı. 64 bit intelliSenseMode'a geri dönülüyor.", "fallback_to_no_bitness": "Derleyici sorgulanamadı. Bit genişliği yok durumuna geri dönülüyor.", "intellisense_client_creation_aborted": "IntelliSense istemcisi oluşturma işlemi durduruldu: {0}", - "include_errors_config_provider_intellisense_disabled ": "configurationProvider ayarı tarafından sağlanan bilgilere göre #include hataları saptandı. Bu çeviri birimi ({0}) için IntelliSense özellikleri Etiket Ayrıştırıcısı tarafından sağlanır.", - "include_errors_config_provider_squiggles_disabled ": "configurationProvider ayarı tarafından sağlanan bilgilere göre #include hataları saptandı. Bu çeviri birimi ({0}) için dalgalı çizgiler devre dışı bırakıldı.", + "include_errors_config_provider_intellisense_disabled": "configurationProvider ayarı tarafından sağlanan bilgilere göre #include hataları saptandı. Bu çeviri birimi ({0}) için IntelliSense özellikleri Etiket Ayrıştırıcısı tarafından sağlanır.", + "include_errors_config_provider_squiggles_disabled": "configurationProvider ayarı tarafından sağlanan bilgilere göre #include hataları saptandı. Bu çeviri birimi ({0}) için dalgalı çizgiler devre dışı bırakıldı.", "preprocessor_keyword": "ön işlemci anahtar sözcüğü", "c_keyword": "C anahtar sözcüğü", "cpp_keyword": "C++ anahtar sözcüğü", @@ -315,5 +315,7 @@ "refactor_extract_reference_return_c_code": "İşlevin başvuruya göre bir değer döndürmesi gerekiyor. C kodu başvuruları döndüremiyor.", "refactor_extract_xborder_jump": "Seçili kod ile çevreleyen kod arasında atlamalar var.", "refactor_extract_missing_return": "Seçili kodda bazı denetim yolları, dönüş değeri ayarlanmadan çıkış yapıyor. Bu durum yalnızca skaler, sayısal ve işaretçi dönüş türlerinde desteklenir.", - "expand_selection": "Seçimi genişlet (\"İşleve çıkar\" seçeneğini etkinleştirmek için)" + "expand_selection": "Seçimi genişlet (\"İşleve çıkar\" seçeneğini etkinleştirmek için)", + "file_not_found_in_path2": "\"{0}\" compile_commands.json dosyaları içinde bulunamadı. Bu dosya yerine '{1}' klasöründeki c_cpp_properties.json dosyasında bulunan 'includePath' kullanılacak.", + "copilot_hover_link": "Copilot özeti oluştur" } \ No newline at end of file diff --git a/Extension/i18n/trk/ui/settings.html.i18n.json b/Extension/i18n/trk/ui/settings.html.i18n.json index 3b025007cb..795b15feaa 100644 --- a/Extension/i18n/trk/ui/settings.html.i18n.json +++ b/Extension/i18n/trk/ui/settings.html.i18n.json @@ -55,7 +55,8 @@ "dot.config": "Nokta Yapılandırması", "dot.config.description": "Kconfig sistemi tarafından oluşturulan bir .config dosyasının yolu. Kconfig sistemi, bir proje oluşturmak için tüm tanımlamaları içeren bir dosya oluşturur. Kconfig sistemini kullanan projelere örnek olarak Linux Çekirdeği ve NuttX RTOS verilebilir.", "compile.commands": "Derleme komutları", - "compile.commands.description": "Çalışma alanı için {0} dosyasının tam yolu. {1} ve {2} ayarları için ayarlanan değerler yerine bu dosyada bulunan içerme yolları ve tanımlar kullanılır. Derleme komutları veritabanı, düzenleyicide açtığınız dosyaya karşılık gelen çeviri birimi için bir giriş içermiyorsa, bir uyarı mesajı görüntülenir ve uzantı bunun yerine {3} ve {4} ayarlarını kullanır.", + "compile.commands.description": "Çalışma alanıyla ilgili {0} dosyalarına giden yolların listesi. Bu dosyalarda bulunan ekleme yolları ve tanımları {1} ve {2} ayarları için belirlenen değerlerin yerine kullanılır. Derleme komutları veritabanı düzenleyicide açtığınız dosyaya karşılık gelen çeviri birimi için bir giriş içermiyorsa, bir uyarı iletisi görünür ve bu durumda uzantı {3} ve {4} ayarlarını kullanır.", + "one.compile.commands.path.per.line": "Satır başına bir derleme komutları yolu.", "merge.configurations": "Yapılandırmaları birleştir", "merge.configurations.description": "{0} (veya işaretli) olduğunda, dahil etme yollarını, tanımları ve bir yapılandırma sağlayıcısından gelenlerle zorunlu dahil etmeleri birleştir.", "browse.path": "Gözat: yol", diff --git a/Extension/i18n/trk/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json b/Extension/i18n/trk/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json index 62fe69edb4..9159abf1b0 100644 --- a/Extension/i18n/trk/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json +++ b/Extension/i18n/trk/walkthrough/devcommandprompt/open-developer-command-prompt.md.i18n.json @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "walkthrough.windows.title.open.dev.command.prompt": "Geliştirici komut istemini kullanarak yeniden başlatın", - "walkthrough.windows.background.dev.command.prompt": " MSVC derleyicili bir Windows makinesi kullanıyorsunuz, dolayısıyla tüm ortam değişkenlerinin doğru ayarlanması için geliştirici komut isteminden VS Code'u başlatmanız gerekiyor. Geliştirici komut istemini kullanarak yeniden başlatmak için:", - "walkthrough.open.command.prompt": "Windows Başlat menüsüne \"geliştirici\" yazarak VS için Geliştirici Komut İstemi'ni açın. Geçerli açık klasörünüze otomatik olarak gidecek olan VS için Geliştirici Komut İstemi'ni seçin.", - "walkthrough.windows.press.f5": "Komut istemine \"kod\" yazın ve enter tuşuna basın. Bu, VS Code'u yeniden başlatmalı ve sizi bu izlenecek yola geri götürmelidir." + "walkthrough.windows.title.open.dev.command.prompt": "Sayfayı kullanarak yeniden {0}", + "walkthrough.windows.background.dev.command.prompt": " MSVC derleyicili bir Windows makinesi kullanıyorsunuz, dolayısıyla tüm ortam değişkenlerinin doğru ayarlanması için {0} öğesinden VS Code'u başlatmanız gerekiyor. {1} kullanarak yeniden başlatmak için:", + "walkthrough.open.command.prompt": "Windows Başlat menüsüne “{1}” yazarak {0} öğesini açın. Mevcut açık klasörünüze otomatik olarak gidecek olan {2} öğesini seçin.", + "walkthrough.windows.press.f5": "Komut istemine \"{0}\" yazın ve enter tuşuna basın. Bu, VS Code'u yeniden başlatmalı ve sizi bu izlenecek yola geri götürmelidir. " } \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json index 5473c3d9ec..69029f98d1 100644 --- a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -16,10 +16,8 @@ "walkthrough.windows.link.install": "Yükle", "walkthrough.windows.note1": "Not", "walkthrough.windows.note1.text": "Herhangi bir C++ kod temelini derlemek, oluşturmak ve doğrulamak için Visual Studio Code ile birlikte Visual Studio Derleme Araçları’nda bulunan C++ araç takımını kullanabilirsiniz. Bunun yanı sıra, bu C++ kod temelini geliştirmek için etkin olarak kullandığınız geçerli bir Visual Studio lisansına (Community, Pro veya Enterprise) sahip olursunuz.", - "walkthrough.windows.open.command.prompt": "Windows Başlat menüsüne 'geliştirici' yazarak {0} açın.", - "walkthrough.windows.command.prompt.name1": "VS için Developer Komut İstemi", - "walkthrough.windows.check.install": "VS için Geliştirici Komut İstemi’ne {0} yazarak MSVC yüklemenizi denetleyin. Sürüm ve temel kullanım açıklamasını içeren bir telif hakkı iletisi göreceksiniz.", + "walkthrough.windows.open.command.prompt": "Windows Başlat menüsüne '{1}' yazarak {0} öğesini açın.", + "walkthrough.windows.check.install": "{1} içine {0} yazarak MSVC yüklemenizi kontrol edin. Sürüm ve temel kullanım açıklamasını içeren bir telif hakkı iletisi göreceksiniz.", "walkthrough.windows.note2": "Not", - "walkthrough.windows.note2.text": "Komut satırından veya VS Code’dan MSVC’yi kullanmak için şuradan çalıştırmanız gerek: {0}. {1}, {2} veya Windows komut istemi gibi sıradan bir kabuk gerekli yol ortam değişkenleri kümesi içermez.", - "walkthrough.windows.command.prompt.name2": "VS için Geliştirici Komut İstemi" + "walkthrough.windows.note2.text": "Komut satırından veya VS Code’dan MSVC’yi kullanmak için şuradan çalıştırmanız gerek: {0}. {1}, {2} veya Windows komut istemi gibi sıradan bir kabuk gerekli yol ortam değişkenleri kümesi içermez." } \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 4012a3d4a0..be4ac4563e 100644 --- a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -10,14 +10,12 @@ "walkthrough.windows.note1": "Not", "walkthrough.windows.note1.text": "Herhangi bir C++ kod temelini derlemek, oluşturmak ve doğrulamak için Visual Studio Code ile birlikte Visual Studio Derleme Araçları’nda bulunan C++ araç takımını kullanabilirsiniz. Bunun yanı sıra, bu C++ kod temelini geliştirmek için etkin olarak kullandığınız geçerli bir Visual Studio lisansına (Community, Pro veya Enterprise) sahip olursunuz.", "walkthrough.windows.verify.compiler": "Derleyici yüklemesi doğrulanıyor", - "walkthrough.windows.open.command.prompt": "Windows Başlat menüsüne 'geliştirici' yazarak {0} açın.", - "walkthrough.windows.command.prompt.name1": "VS için Developer Komut İstemi", - "walkthrough.windows.check.install": "VS için Geliştirici Komut İstemi’ne {0} yazarak MSVC yüklemenizi denetleyin. Sürüm ve temel kullanım açıklamasını içeren bir telif hakkı iletisi göreceksiniz.", + "walkthrough.windows.open.command.prompt": "Windows Başlat menüsüne '{1}' yazarak {0} öğesini açın.", + "walkthrough.windows.check.install": "{1} içine {0} yazarak MSVC yüklemenizi kontrol edin. Sürüm ve temel kullanım açıklamasını içeren bir telif hakkı iletisi göreceksiniz.", "walkthrough.windows.note2": "Not", "walkthrough.windows.note2.text": "Komut satırından veya VS Code’dan MSVC’yi kullanmak için şuradan çalıştırmanız gerek: {0}. {1}, {2} veya Windows komut istemi gibi sıradan bir kabuk gerekli yol ortam değişkenleri kümesi içermez.", - "walkthrough.windows.command.prompt.name2": "VS için Geliştirici Komut İstemi", "walkthrough.windows.other.compilers": "Diğer derleme seçenekleri", "walkthrough.windows.text3": "Windows'tan Linux'u hedefliyorsanız {0}‘a bakın. Veya, {1}.", "walkthrough.windows.link.title1": "VS Code'da Linux için C++’yı ve Windows Alt Sistemi’ni (WSL) kullanma", "walkthrough.windows.link.title2": "MinGW ile Windows’a GCC'yi yükleme" -} \ No newline at end of file +} diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 4012a3d4a0..be4ac4563e 100644 --- a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -10,14 +10,12 @@ "walkthrough.windows.note1": "Not", "walkthrough.windows.note1.text": "Herhangi bir C++ kod temelini derlemek, oluşturmak ve doğrulamak için Visual Studio Code ile birlikte Visual Studio Derleme Araçları’nda bulunan C++ araç takımını kullanabilirsiniz. Bunun yanı sıra, bu C++ kod temelini geliştirmek için etkin olarak kullandığınız geçerli bir Visual Studio lisansına (Community, Pro veya Enterprise) sahip olursunuz.", "walkthrough.windows.verify.compiler": "Derleyici yüklemesi doğrulanıyor", - "walkthrough.windows.open.command.prompt": "Windows Başlat menüsüne 'geliştirici' yazarak {0} açın.", - "walkthrough.windows.command.prompt.name1": "VS için Developer Komut İstemi", - "walkthrough.windows.check.install": "VS için Geliştirici Komut İstemi’ne {0} yazarak MSVC yüklemenizi denetleyin. Sürüm ve temel kullanım açıklamasını içeren bir telif hakkı iletisi göreceksiniz.", + "walkthrough.windows.open.command.prompt": "Windows Başlat menüsüne '{1}' yazarak {0} öğesini açın.", + "walkthrough.windows.check.install": "{1} içine {0} yazarak MSVC yüklemenizi kontrol edin. Sürüm ve temel kullanım açıklamasını içeren bir telif hakkı iletisi göreceksiniz.", "walkthrough.windows.note2": "Not", "walkthrough.windows.note2.text": "Komut satırından veya VS Code’dan MSVC’yi kullanmak için şuradan çalıştırmanız gerek: {0}. {1}, {2} veya Windows komut istemi gibi sıradan bir kabuk gerekli yol ortam değişkenleri kümesi içermez.", - "walkthrough.windows.command.prompt.name2": "VS için Geliştirici Komut İstemi", "walkthrough.windows.other.compilers": "Diğer derleme seçenekleri", "walkthrough.windows.text3": "Windows'tan Linux'u hedefliyorsanız {0}‘a bakın. Veya, {1}.", "walkthrough.windows.link.title1": "VS Code'da Linux için C++’yı ve Windows Alt Sistemi’ni (WSL) kullanma", "walkthrough.windows.link.title2": "MinGW ile Windows’a GCC'yi yükleme" -} \ No newline at end of file +} diff --git a/Extension/package.json b/Extension/package.json index f183a39f5c..beb9757a5f 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -2,7 +2,7 @@ "name": "cpptools", "displayName": "C/C++", "description": "C/C++ IntelliSense, debugging, and code browsing.", - "version": "1.23.0-main", + "version": "1.23.4-main", "publisher": "ms-vscode", "icon": "LanguageCCPP_color_128x.png", "readme": "README.md", @@ -38,7 +38,8 @@ "Snippets" ], "enabledApiProposals": [ - "terminalDataWriteEvent" + "terminalDataWriteEvent", + "chatParticipantAdditions" ], "capabilities": { "untrustedWorkspaces": { @@ -693,7 +694,23 @@ "scope": "machine-overridable" }, "C_Cpp.default.compileCommands": { - "type": "string", + "oneOf": [ + { + "type": "string", + "default": "" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true, + "default": [] + } + ], + "default": [ + "" + ], "markdownDescription": "%c_cpp.configuration.default.compileCommands.markdownDescription%", "scope": "machine-overridable" }, @@ -3313,6 +3330,16 @@ "default": false, "markdownDescription": "%c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription%", "scope": "application" + }, + "C_Cpp.copilotHover": { + "type": "string", + "enum": [ + "default", + "disabled" + ], + "default": "default", + "markdownDescription": "%c_cpp.configuration.copilotHover.markdownDescription%", + "scope": "window" } } } @@ -6511,13 +6538,12 @@ "translations-generate": "set NODE_OPTIONS=--no-experimental-fetch && gulp translations-generate", "translations-import": "gulp translations-import", "import-edge-strings": "ts-node -T ./.scripts/import_edge_strings.ts", - "prep:dts": "yarn verify dts --quiet || (npx @vscode/dts dev && npx @vscode/dts main)", + "prep:dts": "yarn verify dts --quiet || (npx @vscode/dts main && npx @vscode/dts dev && yarn verify proposals)", "build": "yarn prep:dts && echo [Building TypeScript code] && tsc --build tsconfig.json" }, "devDependencies": { "@octokit/rest": "^20.1.1", "@types/glob": "^7.2.0", - "@types/minimatch": "^3.0.5", "@types/mocha": "^10.0.6", "@types/node": "^20.14.2", "@types/node-fetch": "^2.6.11", @@ -6569,7 +6595,7 @@ "comment-json": "^4.2.3", "escape-string-regexp": "^2.0.0", "glob": "^7.2.3", - "minimatch": "^3.0.5", + "minimatch": "^4.2.0", "mkdirp": "^3.0.1", "node-fetch": "^2.7.0", "node-loader": "^2.0.0", diff --git a/Extension/package.nls.json b/Extension/package.nls.json index 7f784f7c99..67a3bcb3da 100644 --- a/Extension/package.nls.json +++ b/Extension/package.nls.json @@ -173,7 +173,7 @@ ] }, "c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": { - "message": "The full path of the `clang-tidy` executable. If not specified, and `clang-tidy` is available in the environment path, that is used. If not found in the environment path, the `clang-tidy` bundled with the extension will be used.", + "message": "The full path of the `clang-tidy` executable. If not specified, and `clang-tidy` is available in the environment path, that is used unless the version bundled with the extension is newer. If not found in the environment path, the `clang-tidy` bundled with the extension will be used.", "comment": [ "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." ] @@ -410,7 +410,12 @@ "c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "Spaces are removed before every semicolon.", "c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "A space is inserted after every semicolon.", "c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "Spaces between unary operators and operands are removed.", - "c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "Spaces around binary operators.", + "c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": { + "message": "Spaces around binary operators.", + "comment": [ + "The term \"binary operators\" refers to operators that takes two operands and not operators on binary numbers." + ] + }, "c_cpp.configuration.vcFormat.space.aroundAssignmentOperator.description": "Spaces around assignment operators.", "c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.description": "Spaces around pointer and reference operators.", "c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "Pointer and reference operators are aligned to the left.", @@ -441,7 +446,7 @@ ] }, "c_cpp.configuration.clang_format_path.markdownDescription": { - "message": "The full path of the `clang-format` executable. If not specified, and `clang-format` is available in the environment path, that is used. If not found in the environment path, the `clang-format` bundled with the extension will be used.", + "message": "The full path of the `clang-format` executable. If not specified, and `clang-format` is available in the environment path, that is used unless the version bundled with the extension is newer. If not found in the environment path, the `clang-format` bundled with the extension will be used.", "comment": [ "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." ] @@ -561,7 +566,7 @@ "c_cpp.configuration.exclusionPolicy.checkFolders.description": "The exclusion filters will only be evaluated once per folder (individual files are not checked).", "c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "The exclusion filters will be evaluated against every file and folder encountered.", "c_cpp.configuration.preferredPathSeparator.markdownDescription": { - "message": "The character used as a path separator for `#include` auto-completion results.", + "message": "The character used as a path separator for generated user paths.", "comment": [ "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." ] @@ -768,6 +773,12 @@ "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." ] }, + "c_cpp.configuration.copilotHover.markdownDescription": { + "message": "If `disabled`, no Copilot information will appear in Hover.", + "comment": [ + "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." + ] + }, "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": { "message": "If `true`, 'Rename Symbol' will require a valid C/C++ identifier.", "comment": [ @@ -987,8 +998,18 @@ "c_cpp.walkthrough.create.cpp.file.title": "Create a C++ file", "c_cpp.walkthrough.create.cpp.file.description": "[Open](command:toSide:workbench.action.files.openFile) or [create](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) a C++ file. Be sure to save it with the \".cpp\" extension, such as \"helloworld.cpp\". \n[Create a C++ File](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)", "c_cpp.walkthrough.create.cpp.file.altText": "Open a C++ file or a folder with a C++ project.", - "c_cpp.walkthrough.command.prompt.title": "Launch from the developer command prompt", - "c_cpp.walkthrough.command.prompt.description": "When using the Microsoft Visual Studio C++ compiler, the C++ extension requires you to launch VS Code from the developer command prompt. Follow the instructions on the right to relaunch.\n[Reload Window](command:workbench.action.reloadWindow)", + "c_cpp.walkthrough.command.prompt.title": { + "message": "Launch from the Developer Command Prompt for VS", + "comment": [ + "Don't translate the product name \"Developer Command Prompt for VS\"." + ] + }, + "c_cpp.walkthrough.command.prompt.description": { + "message": "When using the Microsoft Visual Studio C++ compiler, the C++ extension requires you to launch VS Code from the Developer Command Prompt for VS. Follow the instructions on the right to relaunch.\n[Reload Window](command:workbench.action.reloadWindow)", + "comment": [ + "Don't translate the product name \"Developer Command Prompt for VS\"." + ] + }, "c_cpp.walkthrough.run.debug.title": "Run and debug your C++ file", "c_cpp.walkthrough.run.debug.mac.description": "Open your C++ file and click on the play button in the top right corner of the editor, or press F5 when on the file. Select \"clang++ - Build and debug active file\" to run with the debugger.", "c_cpp.walkthrough.run.debug.linux.description": "Open your C++ file and click on the play button in the top right corner of the editor, or press F5 when on the file. Select \"g++ - Build and debug active file\" to run with the debugger.", diff --git a/Extension/src/Debugger/configurationProvider.ts b/Extension/src/Debugger/configurationProvider.ts index 067983feac..f4f8745016 100644 --- a/Extension/src/Debugger/configurationProvider.ts +++ b/Extension/src/Debugger/configurationProvider.ts @@ -584,7 +584,10 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv private showErrorIfClNotAvailable(_configurationLabel: string): boolean { if (!process.env.DevEnvDir || process.env.DevEnvDir.length === 0) { - void vscode.window.showErrorMessage(localize("cl.exe.not.available", "{0} build and debug is only usable when VS Code is run from the Developer Command Prompt for VS.", "cl.exe")); + void vscode.window.showErrorMessage(localize({ + key: "cl.exe.not.available", + comment: ["{0} is a command option in a menu. {1} is the product name \"Developer Command Prompt for VS\"."] + }, "{0} is only usable when VS Code is run from the {1}.", `cl.exe ${this.buildAndDebugActiveFileStr()}`, "Developer Command Prompt for VS")); return true; } return false; diff --git a/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts b/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts new file mode 100644 index 0000000000..05a5ecb8c7 --- /dev/null +++ b/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts @@ -0,0 +1,148 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +import * as vscode from 'vscode'; +import { Position, ResponseError } from 'vscode-languageclient'; +import * as nls from 'vscode-nls'; +import { DefaultClient, GetCopilotHoverInfoParams, GetCopilotHoverInfoRequest, GetCopilotHoverInfoResult } from '../client'; +import { RequestCancelled, ServerCancelled } from '../protocolFilter'; +import { CppSettings } from '../settings'; + +nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); +const localize: nls.LocalizeFunc = nls.loadMessageBundle(); + +export class CopilotHoverProvider implements vscode.HoverProvider { + private client: DefaultClient; + private currentDocument: vscode.TextDocument | undefined; + private currentPosition: vscode.Position | undefined; + private currentCancellationToken: vscode.CancellationToken | undefined; + private waiting: boolean = false; + private ready: boolean = false; + private cancelled: boolean = false; + private cancelledDocument: vscode.TextDocument | undefined; + private cancelledPosition: vscode.Position | undefined; + private content: string | undefined; + constructor(client: DefaultClient) { + this.client = client; + } + + public async provideHover(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken): Promise { + await this.client.ready; + + const settings: CppSettings = new CppSettings(vscode.workspace.getWorkspaceFolder(document.uri)?.uri); + if (settings.hover === "disabled") { + return undefined; + } + + const newHover = this.isNewHover(document, position); + if (newHover) { + this.reset(); + } + + // Wait for the main hover provider to finish and confirm it has content. + const hoverProvider = this.client.getHoverProvider(); + if (!await hoverProvider?.contentReady) { + return undefined; + } + + if (token.isCancellationRequested) { + throw new vscode.CancellationError(); + } + this.currentCancellationToken = token; + + if (!newHover) { + if (this.ready) { + const contentMarkdown = new vscode.MarkdownString(`$(sparkle) Copilot\n\n${this.content}`, true); + return new vscode.Hover(contentMarkdown); + } + if (this.waiting) { + const loadingMarkdown = new vscode.MarkdownString("$(sparkle) $(loading~spin)", true); + return new vscode.Hover(loadingMarkdown); + } + } + + this.currentDocument = document; + this.currentPosition = position; + const commandString = "$(sparkle) [" + localize("generate.copilot.description", "Generate Copilot summary") + "](command:C_Cpp.ShowCopilotHover \"" + localize("copilot.disclaimer", "AI-generated content may be incorrect.") + "\")"; + const commandMarkdown = new vscode.MarkdownString(commandString); + commandMarkdown.supportThemeIcons = true; + commandMarkdown.isTrusted = { enabledCommands: ["C_Cpp.ShowCopilotHover"] }; + return new vscode.Hover(commandMarkdown); + } + + public showWaiting(): void { + this.waiting = true; + } + + public showContent(content: string): void { + this.ready = true; + this.content = content; + } + + public getCurrentHoverDocument(): vscode.TextDocument | undefined { + return this.currentDocument; + } + + public getCurrentHoverPosition(): vscode.Position | undefined { + return this.currentPosition; + } + + public getCurrentHoverCancellationToken(): vscode.CancellationToken | undefined { + return this.currentCancellationToken; + } + + public async getRequestInfo(document: vscode.TextDocument, position: vscode.Position): Promise { + let response: GetCopilotHoverInfoResult; + const params: GetCopilotHoverInfoParams = { + textDocument: { uri: document.uri.toString() }, + position: Position.create(position.line, position.character) + }; + + await this.client.ready; + if (this.currentCancellationToken?.isCancellationRequested) { + throw new vscode.CancellationError(); + } + + try { + response = await this.client.languageClient.sendRequest(GetCopilotHoverInfoRequest, params, this.currentCancellationToken); + } catch (e: any) { + if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { + throw new vscode.CancellationError(); + } + throw e; + } + + return response; + } + + public isCancelled(document: vscode.TextDocument, position: vscode.Position): boolean { + if (this.cancelled && this.cancelledDocument === document && this.cancelledPosition === position) { + // Cancellation is being acknowledged. + this.cancelled = false; + this.cancelledDocument = undefined; + this.cancelledPosition = undefined; + return true; + } + return false; + } + + public reset(): void { + // If there was a previous call, cancel it. + if (this.waiting) { + this.cancelled = true; + this.cancelledDocument = this.currentDocument; + this.cancelledPosition = this.currentPosition; + } + this.waiting = false; + this.ready = false; + this.content = undefined; + this.currentDocument = undefined; + this.currentPosition = undefined; + this.currentCancellationToken = undefined; + } + + public isNewHover(document: vscode.TextDocument, position: vscode.Position): boolean { + return !(this.currentDocument === document && this.currentPosition?.line === position.line && (this.currentPosition?.character === position.character || this.currentPosition?.character === position.character - 1)); + } +} diff --git a/Extension/src/LanguageServer/Providers/HoverProvider.ts b/Extension/src/LanguageServer/Providers/HoverProvider.ts index 0a4cd6eab6..4bc8bae199 100644 --- a/Extension/src/LanguageServer/Providers/HoverProvider.ts +++ b/Extension/src/LanguageServer/Providers/HoverProvider.ts @@ -4,17 +4,30 @@ * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; import { Position, ResponseError, TextDocumentPositionParams } from 'vscode-languageclient'; +import { ManualSignal } from '../../Utility/Async/manualSignal'; import { DefaultClient, HoverRequest } from '../client'; import { RequestCancelled, ServerCancelled } from '../protocolFilter'; import { CppSettings } from '../settings'; export class HoverProvider implements vscode.HoverProvider { private client: DefaultClient; + private lastContent: vscode.MarkdownString[] | undefined; + private readonly hasContent = new ManualSignal(true); constructor(client: DefaultClient) { this.client = client; } public async provideHover(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken): Promise { + this.hasContent.reset(); + const copilotHoverProvider = this.client.getCopilotHoverProvider(); + if (copilotHoverProvider) { + // Check if this is a reinvocation from Copilot. + if (!copilotHoverProvider.isNewHover(document, position) && this.lastContent) { + this.hasContent.resolve(this.lastContent.length > 0); + return new vscode.Hover(this.lastContent); + } + } + const settings: CppSettings = new CppSettings(vscode.workspace.getWorkspaceFolder(document.uri)?.uri); if (settings.hover === "disabled") { return undefined; @@ -52,6 +65,12 @@ export class HoverProvider implements vscode.HoverProvider { hoverResult.range.end.line, hoverResult.range.end.character); } + this.hasContent.resolve(strings.length > 0); + this.lastContent = strings; return new vscode.Hover(strings, range); } + + get contentReady(): Promise { + return this.hasContent; + } } diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index e46743815e..7a840a795f 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -43,6 +43,7 @@ import { localizedStringCount, lookupString } from '../nativeStrings'; import { SessionState } from '../sessionState'; import * as telemetry from '../telemetry'; import { TestHook, getTestHook } from '../testHook'; +import { CopilotHoverProvider } from './Providers/CopilotHoverProvider'; import { HoverProvider } from './Providers/HoverProvider'; import { CodeAnalysisDiagnosticIdentifiersAndUri, @@ -57,7 +58,7 @@ import { DataBinding } from './dataBinding'; import { cachedEditorConfigSettings, getEditorConfigSettings } from './editorConfig'; import { CppSourceStr, clients, configPrefix, updateLanguageConfigurations, usesCrashHandler, watchForCrashes } from './extension'; import { LocalizeStringParams, getLocaleId, getLocalizedString } from './localization'; -import { PersistentFolderState, PersistentWorkspaceState } from './persistentState'; +import { PersistentFolderState, PersistentState, PersistentWorkspaceState } from './persistentState'; import { RequestCancelled, ServerCancelled, createProtocolFilter } from './protocolFilter'; import * as refs from './references'; import { CppSettings, OtherSettings, SettingsParams, WorkspaceFolderSettingsParams } from './settings'; @@ -478,6 +479,7 @@ interface CodeAnalysisParams { interface FinishedRequestCustomConfigParams { uri: string; + isProviderRegistered: boolean; } export interface TextDocumentWillSaveParams { @@ -526,6 +528,7 @@ interface DidChangeActiveEditorParams { } interface GetIncludesParams { + fileUri: string; maxDepth: number; } @@ -533,6 +536,16 @@ export interface GetIncludesResult { includedFiles: string[]; } +export interface GetCopilotHoverInfoParams { + textDocument: TextDocumentIdentifier; + position: Position; +} + +export interface GetCopilotHoverInfoResult { + content: string; + files: string[]; +} + export interface ChatContextResult { language: string; standardVersion: string; @@ -541,6 +554,29 @@ export interface ChatContextResult { targetArchitecture: string; } +export interface FileContextResult { + compilerArguments: string[]; +} + +export interface ProjectContextResult { + language: string; + standardVersion: string; + compiler: string; + targetPlatform: string; + targetArchitecture: string; + fileContext: FileContextResult; +} + +interface FolderFilesEncodingChanged { + uri: string; + filesEncoding: string; +} + +interface FilesEncodingChanged { + workspaceFallbackEncoding?: string; + foldersFilesEncoding: FolderFilesEncodingChanged[]; +} + // Requests const PreInitializationRequest: RequestType = new RequestType('cpptools/preinitialize'); const InitializationRequest: RequestType = new RequestType('cpptools/initialize'); @@ -554,13 +590,15 @@ export const FormatDocumentRequest: RequestType = new RequestType('cpptools/formatRange'); export const FormatOnTypeRequest: RequestType = new RequestType('cpptools/formatOnType'); export const HoverRequest: RequestType = new RequestType('cpptools/hover'); +export const GetCopilotHoverInfoRequest: RequestType = new RequestType('cpptools/getCopilotHoverInfo'); const CreateDeclarationOrDefinitionRequest: RequestType = new RequestType('cpptools/createDeclDef'); const ExtractToFunctionRequest: RequestType = new RequestType('cpptools/extractToFunction'); const GoToDirectiveInGroupRequest: RequestType = new RequestType('cpptools/goToDirectiveInGroup'); const GenerateDoxygenCommentRequest: RequestType = new RequestType('cpptools/generateDoxygenComment'); const ChangeCppPropertiesRequest: RequestType = new RequestType('cpptools/didChangeCppProperties'); const IncludesRequest: RequestType = new RequestType('cpptools/getIncludes'); -const CppContextRequest: RequestType = new RequestType('cpptools/getChatContext'); +const CppContextRequest: RequestType = new RequestType('cpptools/getChatContext'); +const ProjectContextRequest: RequestType = new RequestType('cpptools/getProjectContext'); // Notifications to the server const DidOpenNotification: NotificationType = new NotificationType('textDocument/didOpen'); @@ -617,6 +655,7 @@ const ReportCodeAnalysisTotalNotification: NotificationType = new Notifi const DoxygenCommentGeneratedNotification: NotificationType = new NotificationType('cpptools/insertDoxygenComment'); const CanceledReferencesNotification: NotificationType = new NotificationType('cpptools/canceledReferences'); const IntelliSenseResultNotification: NotificationType = new NotificationType('cpptools/intelliSenseResult'); +const FilesEncodingChangedNotification: NotificationType = new NotificationType('cpptools/filesEncodingChanged'); let failureMessageShown: boolean = false; @@ -762,7 +801,7 @@ export interface Client { PauseCodeAnalysis(): void; ResumeCodeAnalysis(): void; CancelCodeAnalysis(): void; - handleConfigurationSelectCommand(): Promise; + handleConfigurationSelectCommand(config?: string): Promise; handleConfigurationProviderSelectCommand(): Promise; handleShowActiveCodeAnalysisCommands(): Promise; handleShowIdleCodeAnalysisCommands(): Promise; @@ -790,8 +829,11 @@ export interface Client { getShowConfigureIntelliSenseButton(): boolean; setShowConfigureIntelliSenseButton(show: boolean): void; addTrustedCompiler(path: string): Promise; - getIncludes(maxDepth: number, token: vscode.CancellationToken): Promise; - getChatContext(token: vscode.CancellationToken): Promise; + getCopilotHoverProvider(): CopilotHoverProvider | undefined; + getIncludes(uri: vscode.Uri, maxDepth: number): Promise; + getChatContext(uri: vscode.Uri, token: vscode.CancellationToken): Promise; + getProjectContext(uri: vscode.Uri): Promise; + filesEncodingChanged(filesEncodingChanged: FilesEncodingChanged): void; } export function createClient(workspaceFolder?: vscode.WorkspaceFolder): Client { @@ -824,11 +866,14 @@ export class DefaultClient implements Client { private settingsTracker: SettingsTracker; private loggingLevel: number = 1; private configurationProvider?: string; + private hoverProvider: HoverProvider | undefined; + private copilotHoverProvider: CopilotHoverProvider | undefined; public lastCustomBrowseConfiguration: PersistentFolderState | undefined; public lastCustomBrowseConfigurationProviderId: PersistentFolderState | undefined; public lastCustomBrowseConfigurationProviderVersion: PersistentFolderState | undefined; public currentCaseSensitiveFileSupport: PersistentWorkspaceState | undefined; + public currentCopilotHoverEnabled: PersistentWorkspaceState | undefined; private registeredProviders: PersistentFolderState | undefined; private configStateReceived: ConfigStateReceived = { compilers: false, compileCommands: false, configProviders: undefined, timeout: false }; @@ -941,7 +986,8 @@ export class DefaultClient implements Client { private static readonly compileCommandsLabel: string = "compile_commands.json"; private static readonly compilersLabel: string = "compilers"; - public async showSelectIntelliSenseConfiguration(paths: string[], compilersOnly?: boolean): Promise { + public async showSelectIntelliSenseConfiguration(paths: string[], preferredPathSeparator: string, compilersOnly?: boolean): Promise { + paths = paths.map(p => p.replace(/[\\/]/g, preferredPathSeparator)); const options: vscode.QuickPickOptions = {}; options.placeHolder = compilersOnly || !vscode.workspace.workspaceFolders || !this.RootFolder ? localize("select.compiler", "Select a compiler to configure for IntelliSense") : @@ -1034,7 +1080,13 @@ export class DefaultClient implements Client { installShown = false; } paths.push(localize("noConfig.string", "Do not configure with a compiler (not recommended)")); - const index: number = await this.showSelectIntelliSenseConfiguration(paths, showCompilersOnly); + let preferredPathSeparator: string = settings.preferredPathSeparator; + if (preferredPathSeparator === "Forward Slash") { + preferredPathSeparator = "/"; + } else if (preferredPathSeparator === "Backslash") { + preferredPathSeparator = "\\"; + } + const index: number = await this.showSelectIntelliSenseConfiguration(paths, preferredPathSeparator, showCompilersOnly); let action: string = ""; let configurationSelected: boolean = false; const fromStatusBarButton: boolean = !showCompilersOnly; @@ -1085,7 +1137,9 @@ export class DefaultClient implements Client { } else { action = "select compiler"; const newCompiler: string = util.isCl(paths[index]) ? "cl.exe" : paths[index]; + settings.defaultCompilerPath = newCompiler; + settings.defaultCompilerPath = settings.defaultCompilerPath.replace(/[\\/]/g, preferredPathSeparator); await this.configuration.updateCompilerPathIfSet(newCompiler); void SessionState.trustedCompilerFound.set(true); } @@ -1233,6 +1287,8 @@ export class DefaultClient implements Client { void vscode.window.showErrorMessage(localize("unable.to.start", "Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: {0}", additionalInfo)); } } + + this.updateActiveDocumentTextOptions(); } private async init(rootUri: vscode.Uri | undefined, isFirstClient: boolean) { @@ -1258,8 +1314,16 @@ export class DefaultClient implements Client { this.registerFileWatcher(); initializedClientCount = 0; this.inlayHintsProvider = new InlayHintsProvider(); + this.hoverProvider = new HoverProvider(this); - this.disposables.push(vscode.languages.registerHoverProvider(util.documentSelector, new HoverProvider(this))); + const settings: CppSettings = new CppSettings(); + this.currentCopilotHoverEnabled = new PersistentWorkspaceState("cpp.copilotHover", settings.copilotHover); + if (settings.copilotHover === "enabled" || + (settings.copilotHover === "default" && await telemetry.isFlightEnabled("CppCopilotHover"))) { + this.copilotHoverProvider = new CopilotHoverProvider(this); + this.disposables.push(vscode.languages.registerHoverProvider(util.documentSelector, this.copilotHoverProvider)); + } + this.disposables.push(vscode.languages.registerHoverProvider(util.documentSelector, this.hoverProvider)); this.disposables.push(vscode.languages.registerInlayHintsProvider(util.documentSelector, this.inlayHintsProvider)); this.disposables.push(vscode.languages.registerRenameProvider(util.documentSelector, new RenameProvider(this))); this.disposables.push(vscode.languages.registerReferenceProvider(util.documentSelector, new FindAllReferencesProvider(this))); @@ -1277,7 +1341,6 @@ export class DefaultClient implements Client { this.codeFoldingProvider = new FoldingRangeProvider(this); this.codeFoldingProviderDisposable = vscode.languages.registerFoldingRangeProvider(util.documentSelector, this.codeFoldingProvider); - const settings: CppSettings = new CppSettings(); if (settings.isEnhancedColorizationEnabled && semanticTokensLegend) { this.semanticTokensProvider = new SemanticTokensProvider(); this.semanticTokensProviderDisposable = vscode.languages.registerDocumentSemanticTokensProvider(util.documentSelector, this.semanticTokensProvider, semanticTokensLegend); @@ -1285,6 +1348,12 @@ export class DefaultClient implements Client { // Listen for messages from the language server. this.registerNotifications(); + + // If a file is already open when we activate, sometimes we don't get any notifications about visible + // or active text editors, visible ranges, or text selection. As a workaround, we trigger + // onDidChangeVisibleTextEditors here. + const cppEditors: vscode.TextEditor[] = vscode.window.visibleTextEditors.filter(e => util.isCpp(e.document)); + await this.onDidChangeVisibleTextEditors(cppEditors); } // update all client configurations @@ -1324,7 +1393,13 @@ export class DefaultClient implements Client { DefaultClient.isStarted.resolve(); } - private getWorkspaceFolderSettings(workspaceFolderUri: vscode.Uri | undefined, settings: CppSettings, otherSettings: OtherSettings): WorkspaceFolderSettingsParams { + private getWorkspaceFolderSettings(workspaceFolderUri: vscode.Uri | undefined, workspaceFolder: vscode.WorkspaceFolder | undefined, settings: CppSettings, otherSettings: OtherSettings): WorkspaceFolderSettingsParams { + const filesEncoding: string = otherSettings.filesEncoding; + let filesEncodingChanged: boolean = false; + if (workspaceFolder) { + const lastFilesEncoding: PersistentFolderState = new PersistentFolderState("CPP.lastFilesEncoding", filesEncoding, workspaceFolder); + filesEncodingChanged = lastFilesEncoding.Value !== filesEncoding; + } const result: WorkspaceFolderSettingsParams = { uri: workspaceFolderUri?.toString(), intelliSenseEngine: settings.intelliSenseEngine, @@ -1421,7 +1496,8 @@ export class DefaultClient implements Client { doxygenSectionTags: settings.doxygenSectionTags, filesExclude: otherSettings.filesExclude, filesAutoSaveAfterDelay: otherSettings.filesAutoSaveAfterDelay, - filesEncoding: otherSettings.filesEncoding, + filesEncoding: filesEncoding, + filesEncodingChanged: filesEncodingChanged, searchExclude: otherSettings.searchExclude, editorAutoClosingBrackets: otherSettings.editorAutoClosingBrackets, editorInlayHintsEnabled: otherSettings.editorInlayHintsEnabled, @@ -1437,10 +1513,10 @@ export class DefaultClient implements Client { const workspaceFolderSettingsParams: WorkspaceFolderSettingsParams[] = []; if (vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0) { for (const workspaceFolder of vscode.workspace.workspaceFolders) { - workspaceFolderSettingsParams.push(this.getWorkspaceFolderSettings(workspaceFolder.uri, new CppSettings(workspaceFolder.uri), new OtherSettings(workspaceFolder.uri))); + workspaceFolderSettingsParams.push(this.getWorkspaceFolderSettings(workspaceFolder.uri, workspaceFolder, new CppSettings(workspaceFolder.uri), new OtherSettings(workspaceFolder.uri))); } } else { - workspaceFolderSettingsParams.push(this.getWorkspaceFolderSettings(this.RootUri, workspaceSettings, workspaceOtherSettings)); + workspaceFolderSettingsParams.push(this.getWorkspaceFolderSettings(this.RootUri, undefined, workspaceSettings, workspaceOtherSettings)); } return workspaceFolderSettingsParams; } @@ -1452,9 +1528,16 @@ export class DefaultClient implements Client { if (this.currentCaseSensitiveFileSupport && workspaceSettings.isCaseSensitiveFileSupportEnabled !== this.currentCaseSensitiveFileSupport.Value) { void util.promptForReloadWindowDueToSettingsChange(); } + if (this.currentCopilotHoverEnabled && workspaceSettings.copilotHover !== this.currentCopilotHoverEnabled.Value) { + void util.promptForReloadWindowDueToSettingsChange(); + } + const workspaceFallbackEncoding: string = workspaceOtherSettings.filesEncoding; + const lastWorkspaceFallbackEncoding: PersistentState = new PersistentState("CPP.lastWorkspaceFallbackEncoding", workspaceFallbackEncoding); + const workspaceFallbackEncodingChanged = lastWorkspaceFallbackEncoding.Value !== workspaceFallbackEncoding; return { filesAssociations: workspaceOtherSettings.filesAssociations, - workspaceFallbackEncoding: workspaceOtherSettings.filesEncoding, + workspaceFallbackEncoding: workspaceFallbackEncoding, + workspaceFallbackEncodingChanged: workspaceFallbackEncodingChanged, maxConcurrentThreads: workspaceSettings.maxConcurrentThreads, maxCachedProcesses: workspaceSettings.maxCachedProcesses, maxMemory: workspaceSettings.maxMemory, @@ -1474,6 +1557,7 @@ export class DefaultClient implements Client { codeAnalysisMaxConcurrentThreads: workspaceSettings.codeAnalysisMaxConcurrentThreads, codeAnalysisMaxMemory: workspaceSettings.codeAnalysisMaxMemory, codeAnalysisUpdateDelay: workspaceSettings.codeAnalysisUpdateDelay, + copilotHover: workspaceSettings.copilotHover, workspaceFolderSettings: workspaceFolderSettingsParams }; } @@ -1584,6 +1668,12 @@ export class DefaultClient implements Client { // We manually restart the language server so tell the LanguageClient not to do it automatically for us. return { action: CloseAction.DoNotRestart, message }; } + }, + markdown: { + isTrusted: true + // TODO: support for icons in markdown is not yet in the released version of vscode-languageclient. + // Based on PR (https://github.com/microsoft/vscode-languageserver-node/pull/1504) + //supportThemeIcons: true } // TODO: should I set the output channel? Does this sort output between servers? @@ -1593,6 +1683,7 @@ export class DefaultClient implements Client { languageClient = new LanguageClient(`cpptools`, serverOptions, clientOptions); languageClient.onNotification(DebugProtocolNotification, logDebugProtocol); languageClient.onNotification(DebugLogNotification, logLocalized); + languageClient.onNotification(LogTelemetryNotification, (e) => this.logTelemetry(e)); languageClient.registerProposedFeatures(); await languageClient.start(); @@ -2012,8 +2103,9 @@ export class DefaultClient implements Client { } public async provideCustomConfiguration(docUri: vscode.Uri): Promise { + let isProviderRegistered: boolean = false; const onFinished: () => void = () => { - void this.languageClient.sendNotification(FinishedRequestCustomConfig, { uri: docUri.toString() }); + void this.languageClient.sendNotification(FinishedRequestCustomConfig, { uri: docUri.toString(), isProviderRegistered }); }; try { const providerId: string | undefined = this.configurationProvider; @@ -2024,6 +2116,7 @@ export class DefaultClient implements Client { if (!provider || !provider.isReady) { return; } + isProviderRegistered = true; const resultCode = await this.provideCustomConfigurationAsync(docUri, provider); telemetry.logLanguageServerEvent('provideCustomConfiguration', { providerId, resultCode }); } finally { @@ -2207,17 +2300,31 @@ export class DefaultClient implements Client { await this.languageClient.sendNotification(DidOpenNotification, params); } - public async getIncludes(maxDepth: number, token: vscode.CancellationToken): Promise { - const params: GetIncludesParams = { maxDepth: maxDepth }; + /** + * Copilot completion-related requests (e.g. getIncludes and getProjectContext) will have their cancellation tokens cancelled + * if the current request times out (showing the user completion results without context info), + * but the results can still be used for future requests (due to caching) so it's better to return results instead of cancelling. + * This is different behavior from the getChatContext, which does handle cancel requests, since the request blocks + * the UI results and always re-requests (no caching). + */ + + public async getIncludes(uri: vscode.Uri, maxDepth: number): Promise { + const params: GetIncludesParams = { fileUri: uri.toString(), maxDepth }; await this.ready; - return DefaultClient.withLspCancellationHandling( - () => this.languageClient.sendRequest(IncludesRequest, params, token), token); + return this.languageClient.sendRequest(IncludesRequest, params); } - public async getChatContext(token: vscode.CancellationToken): Promise { + public async getProjectContext(uri: vscode.Uri): Promise { + const params: TextDocumentIdentifier = { uri: uri.toString() }; + await this.ready; + return this.languageClient.sendRequest(ProjectContextRequest, params); + } + + public async getChatContext(uri: vscode.Uri, token: vscode.CancellationToken): Promise { + const params: TextDocumentIdentifier = { uri: uri.toString() }; await withCancellation(this.ready, token); return DefaultClient.withLspCancellationHandling( - () => this.languageClient.sendRequest(CppContextRequest, null, token), token); + () => this.languageClient.sendRequest(CppContextRequest, params, token), token); } /** @@ -2311,7 +2418,6 @@ export class DefaultClient implements Client { throw e; } } - if (token.isCancellationRequested) { throw new vscode.CancellationError(); } @@ -2353,7 +2459,6 @@ export class DefaultClient implements Client { this.languageClient.onNotification(ReloadWindowNotification, () => void util.promptForReloadWindowDueToSettingsChange()); this.languageClient.onNotification(UpdateTrustedCompilersNotification, (e) => void this.addTrustedCompiler(e.compilerPath)); - this.languageClient.onNotification(LogTelemetryNotification, (e) => this.logTelemetry(e)); this.languageClient.onNotification(ReportStatusNotification, (e) => void this.updateStatus(e)); this.languageClient.onNotification(ReportTagParseStatusNotification, (e) => this.updateTagParseStatus(e)); this.languageClient.onNotification(CompileCommandsPathsNotification, (e) => void this.promptCompileCommands(e)); @@ -2372,6 +2477,7 @@ export class DefaultClient implements Client { this.languageClient.onNotification(ReportCodeAnalysisTotalNotification, (e) => this.updateCodeAnalysisTotal(e)); this.languageClient.onNotification(DoxygenCommentGeneratedNotification, (e) => void this.insertDoxygenComment(e)); this.languageClient.onNotification(CanceledReferencesNotification, this.serverCanceledReferences); + this.languageClient.onNotification(FilesEncodingChangedNotification, (e) => this.filesEncodingChanged(e)); } private handleIntelliSenseResult(intelliSenseResult: IntelliSenseResult): void { @@ -2571,7 +2677,8 @@ export class DefaultClient implements Client { } let foundGlobMatch: boolean = false; for (const assoc in assocs) { - if (minimatch(filePath, assoc)) { + const matcher = new minimatch.Minimatch(assoc); + if (matcher.match(filePath)) { foundGlobMatch = true; break; // Assoc matched a glob pattern. } @@ -3241,11 +3348,11 @@ export class DefaultClient implements Client { /** * command handlers */ - public async handleConfigurationSelectCommand(): Promise { + public async handleConfigurationSelectCommand(config?: string): Promise { await this.ready; const configNames: string[] | undefined = this.configuration.ConfigurationNames; if (configNames) { - const index: number = await ui.showConfigurations(configNames); + const index: number = config ? configNames.indexOf(config) : await ui.showConfigurations(configNames); if (index < 0) { return; } @@ -4010,6 +4117,28 @@ export class DefaultClient implements Client { compilerDefaults = await this.requestCompiler(path); DebugConfigurationProvider.ClearDetectedBuildTasks(); } + + public getHoverProvider(): HoverProvider | undefined { + return this.hoverProvider; + } + + public getCopilotHoverProvider(): CopilotHoverProvider | undefined { + return this.copilotHoverProvider; + } + + public filesEncodingChanged(filesEncodingChanged: FilesEncodingChanged): void { + if (filesEncodingChanged.workspaceFallbackEncoding !== undefined) { + const lastWorkspaceFallbackEncoding: PersistentState = new PersistentState("CPP.lastWorkspaceFallbackEncoding", ""); + lastWorkspaceFallbackEncoding.Value = filesEncodingChanged.workspaceFallbackEncoding; + } + for (const folderFilesEncoding of filesEncodingChanged.foldersFilesEncoding) { + const workspaceFolder: vscode.WorkspaceFolder | undefined = vscode.workspace.getWorkspaceFolder(vscode.Uri.parse(folderFilesEncoding.uri)); + if (workspaceFolder !== undefined) { + const lastFilesEncoding: PersistentFolderState = new PersistentFolderState("CPP.lastFilesEncoding", "", workspaceFolder); + lastFilesEncoding.Value = folderFilesEncoding.filesEncoding; + } + } + } } function getLanguageServerFileName(): string { @@ -4121,6 +4250,9 @@ class NullClient implements Client { getShowConfigureIntelliSenseButton(): boolean { return false; } setShowConfigureIntelliSenseButton(show: boolean): void { } addTrustedCompiler(path: string): Promise { return Promise.resolve(); } - getIncludes(maxDepth: number, token: vscode.CancellationToken): Promise { return Promise.resolve({} as GetIncludesResult); } - getChatContext(token: vscode.CancellationToken): Promise { return Promise.resolve({} as ChatContextResult); } + getCopilotHoverProvider(): CopilotHoverProvider | undefined { return undefined; } + getIncludes(uri: vscode.Uri, maxDepth: number): Promise { return Promise.resolve({} as GetIncludesResult); } + getChatContext(uri: vscode.Uri, token: vscode.CancellationToken): Promise { return Promise.resolve({} as ChatContextResult); } + getProjectContext(uri: vscode.Uri): Promise { return Promise.resolve({} as ProjectContextResult); } + filesEncodingChanged(filesEncodingChanged: FilesEncodingChanged): void { } } diff --git a/Extension/src/LanguageServer/configurations.ts b/Extension/src/LanguageServer/configurations.ts index 3339514cc2..62718852a0 100644 --- a/Extension/src/LanguageServer/configurations.ts +++ b/Extension/src/LanguageServer/configurations.ts @@ -78,8 +78,8 @@ export interface Configuration { defines?: string[]; intelliSenseMode?: string; intelliSenseModeIsExplicit?: boolean; - compileCommandsInCppPropertiesJson?: string; - compileCommands?: string; + compileCommandsInCppPropertiesJson?: string[]; + compileCommands?: string[]; forcedInclude?: string[]; configurationProviderInCppPropertiesJson?: string; configurationProvider?: string; @@ -136,9 +136,9 @@ export class CppProperties { private currentConfigurationIndex: PersistentFolderState | undefined; private configFileWatcher: vscode.FileSystemWatcher | null = null; private configFileWatcherFallbackTime: Date = new Date(); // Used when file watching fails. - private compileCommandsFile: vscode.Uri | undefined | null = undefined; + private compileCommandsFiles: Set = new Set(); private compileCommandsFileWatchers: fs.FSWatcher[] = []; - private compileCommandsFileWatcherFallbackTime: Date = new Date(); // Used when file watching fails. + private compileCommandsFileWatcherFallbackTime: Map = new Map(); // Used when file watching fails. private defaultCompilerPath: string | null = null; private knownCompilers?: KnownCompiler[]; private defaultCStandard: string | null = null; @@ -389,7 +389,8 @@ export class CppProperties { configuration.windowsSdkVersion = this.defaultWindowsSdkVersion; } if (isUnset(settings.defaultCompilerPath) && this.defaultCompilerPath && - (isUnset(settings.defaultCompileCommands) || settings.defaultCompileCommands === "") && !configuration.compileCommands) { + (isUnset(settings.defaultCompileCommands) || settings.defaultCompileCommands?.length === 0) && + (isUnset(configuration.compileCommands) || configuration.compileCommands?.length === 0)) { // compile_commands.json already specifies a compiler. compilerPath overrides the compile_commands.json compiler so // don't set a default when compileCommands is in use. @@ -684,7 +685,7 @@ export class CppProperties { this.parsePropertiesFile(); // Clear out any modifications we may have made internally. const config: Configuration | undefined = this.CurrentConfiguration; if (config) { - config.compileCommands = path; + config.compileCommands = [path]; this.writeToJson(); } // Any time parsePropertiesFile is called, configurationJson gets @@ -938,7 +939,7 @@ export class CppProperties { configuration.macFrameworkPath = this.updateConfigurationStringArray(configuration.macFrameworkPath, settings.defaultMacFrameworkPath, env); configuration.windowsSdkVersion = this.updateConfigurationString(configuration.windowsSdkVersion, settings.defaultWindowsSdkVersion, env); configuration.forcedInclude = this.updateConfigurationPathsArray(configuration.forcedInclude, settings.defaultForcedInclude, env, false); - configuration.compileCommands = this.updateConfigurationString(configuration.compileCommands, settings.defaultCompileCommands, env); + configuration.compileCommands = this.updateConfigurationStringArray(configuration.compileCommands, settings.defaultCompileCommands, env); configuration.compilerArgs = this.updateConfigurationStringArray(configuration.compilerArgs, settings.defaultCompilerArgs, env); configuration.cStandard = this.updateConfigurationString(configuration.cStandard, settings.defaultCStandard, env); configuration.cppStandard = this.updateConfigurationString(configuration.cppStandard, settings.defaultCppStandard, env); @@ -1092,7 +1093,13 @@ export class CppProperties { } if (configuration.compileCommands) { - configuration.compileCommands = this.resolvePath(configuration.compileCommands); + configuration.compileCommands = configuration.compileCommands.map((path: string) => this.resolvePath(path)); + configuration.compileCommands.forEach((path: string) => { + if (!this.compileCommandsFileWatcherFallbackTime.has(path)) { + // Start tracking the fallback time for a new path. + this.compileCommandsFileWatcherFallbackTime.set(path, new Date()); + } + }); } if (configuration.forcedInclude) { @@ -1104,12 +1111,33 @@ export class CppProperties { } } + this.clearStaleCompileCommandsFileWatcherFallbackTimes(); this.updateCompileCommandsFileWatchers(); if (!this.configurationIncomplete) { this.onConfigurationsChanged(); } } + private clearStaleCompileCommandsFileWatcherFallbackTimes(): void { + // We need to keep track of relevant timestamps, so we cannot simply clear all entries. + // Instead, we clear entries that are no longer relevant. + const trackedCompileCommandsPaths: Set = new Set(); + this.configurationJson?.configurations.forEach((config: Configuration) => { + config.compileCommands?.forEach((path: string) => { + const compileCommandsFile = this.resolvePath(path); + if (compileCommandsFile.length > 0) { + trackedCompileCommandsPaths.add(compileCommandsFile); + } + }); + }); + + for (const path of this.compileCommandsFileWatcherFallbackTime.keys()) { + if (!trackedCompileCommandsPaths.has(path)) { + this.compileCommandsFileWatcherFallbackTime.delete(path); + } + } + } + private compileCommandsFileWatcherTimer?: NodeJS.Timeout; private compileCommandsFileWatcherFiles: Set = new Set(); @@ -1121,12 +1149,12 @@ export class CppProperties { this.compileCommandsFileWatchers = []; // reset it const filePaths: Set = new Set(); this.configurationJson.configurations.forEach(c => { - if (c.compileCommands) { - const fileSystemCompileCommandsPath: string = this.resolvePath(c.compileCommands); - if (fs.existsSync(fileSystemCompileCommandsPath)) { - filePaths.add(fileSystemCompileCommandsPath); + c.compileCommands?.forEach((path: string) => { + const compileCommandsFile: string = this.resolvePath(path); + if (fs.existsSync(compileCommandsFile)) { + filePaths.add(compileCommandsFile); } - } + }); }); try { filePaths.forEach((path: string) => { @@ -1389,6 +1417,18 @@ export class CppProperties { return; } + private forceCompileCommandsAsArray(compileCommandsInCppPropertiesJson: any): string[] | undefined { + if (util.isString(compileCommandsInCppPropertiesJson) && compileCommandsInCppPropertiesJson.length > 0) { + return [compileCommandsInCppPropertiesJson]; + } else if (util.isArrayOfString(compileCommandsInCppPropertiesJson)) { + const filteredArray: string[] = compileCommandsInCppPropertiesJson.filter(value => value.length > 0); + if (filteredArray.length > 0) { + return filteredArray; + } + } + return undefined; + } + private parsePropertiesFile(): boolean { if (!this.propertiesFile) { this.configurationJson = undefined; @@ -1418,6 +1458,13 @@ export class CppProperties { } } } + + // Configuration.compileCommands is allowed to be defined as a string in the schema, but we send an array to the language server. + // For having a predictable behavior, we convert it here to an array of strings. + for (let i: number = 0; i < newJson.configurations.length; i++) { + newJson.configurations[i].compileCommands = this.forceCompileCommandsAsArray(newJson.configurations[i].compileCommands); + } + this.configurationJson = newJson; if (this.CurrentConfigurationIndex < 0 || this.CurrentConfigurationIndex >= newJson.configurations.length) { const index: number | undefined = this.getConfigIndexForPlatform(newJson); @@ -1767,6 +1814,11 @@ export class CppProperties { const configurations: ConfigurationJson = jsonc.parse(configurationsText, undefined, true) as any; const currentConfiguration: Configuration = configurations.configurations[this.CurrentConfigurationIndex]; + // Configuration.compileCommands is allowed to be defined as a string in the schema, but we send an array to the language server. + // For having a predictable behavior, we convert it here to an array of strings. + // Squiggles are still handled for both cases. + currentConfiguration.compileCommands = this.forceCompileCommandsAsArray(currentConfiguration.compileCommands); + let curTextStartOffset: number = 0; if (!currentConfiguration.name) { return; @@ -1846,9 +1898,9 @@ export class CppProperties { curText = curText.substring(0, nextNameStart2); } if (this.prevSquiggleMetrics.get(currentConfiguration.name) === undefined) { - this.prevSquiggleMetrics.set(currentConfiguration.name, { PathNonExistent: 0, PathNotAFile: 0, PathNotADirectory: 0, CompilerPathMissingQuotes: 0, CompilerModeMismatch: 0, MultiplePathsNotAllowed: 0 }); + this.prevSquiggleMetrics.set(currentConfiguration.name, { PathNonExistent: 0, PathNotAFile: 0, PathNotADirectory: 0, CompilerPathMissingQuotes: 0, CompilerModeMismatch: 0, MultiplePathsNotAllowed: 0, MultiplePathsShouldBeSeparated: 0 }); } - const newSquiggleMetrics: { [key: string]: number } = { PathNonExistent: 0, PathNotAFile: 0, PathNotADirectory: 0, CompilerPathMissingQuotes: 0, CompilerModeMismatch: 0, MultiplePathsNotAllowed: 0 }; + const newSquiggleMetrics: { [key: string]: number } = { PathNonExistent: 0, PathNotAFile: 0, PathNotADirectory: 0, CompilerPathMissingQuotes: 0, CompilerModeMismatch: 0, MultiplePathsNotAllowed: 0, MultiplePathsShouldBeSeparated: 0 }; const isWindows: boolean = os.platform() === 'win32'; // TODO: Add other squiggles. @@ -1893,9 +1945,10 @@ export class CppProperties { } } } - if (currentConfiguration.compileCommands) { - paths.push(`${currentConfiguration.compileCommands}`); - } + + currentConfiguration.compileCommands?.forEach((file: string) => { + paths.push(`${file}`); + }); if (currentConfiguration.compilerPath) { // Unlike other cases, compilerPath may not start or end with " due to trimming of whitespace and the possibility of compiler args. @@ -1909,6 +1962,8 @@ export class CppProperties { const forcedeIncludeEnd: number = forcedIncludeStart === -1 ? -1 : curText.indexOf("]", forcedIncludeStart); const compileCommandsStart: number = curText.search(/\s*\"compileCommands\"\s*:\s*\"/); const compileCommandsEnd: number = compileCommandsStart === -1 ? -1 : curText.indexOf('"', curText.indexOf('"', curText.indexOf(":", compileCommandsStart)) + 1); + const compileCommandsArrayStart: number = curText.search(/\s*\"compileCommands\"\s*:\s*\[/); + const compileCommandsArrayEnd: number = compileCommandsArrayStart === -1 ? -1 : curText.indexOf("]", curText.indexOf("[", curText.indexOf(":", compileCommandsArrayStart)) + 1); const compilerPathStart: number = curText.search(/\s*\"compilerPath\"\s*:\s*\"/); const compilerPathValueStart: number = curText.indexOf('"', curText.indexOf(":", compilerPathStart)); const compilerPathEnd: number = compilerPathStart === -1 ? -1 : curText.indexOf('"', compilerPathValueStart + 1) + 1; @@ -2087,8 +2142,7 @@ export class CppProperties { newSquiggleMetrics.PathNonExistent++; } else { // Check for file versus path mismatches. - if ((curOffset >= forcedIncludeStart && curOffset <= forcedeIncludeEnd) || - (curOffset >= compileCommandsStart && curOffset <= compileCommandsEnd)) { + if (curOffset >= forcedIncludeStart && curOffset <= forcedeIncludeEnd) { if (expandedPaths.length > 1) { message = localize("multiple.paths.not.allowed", "Multiple paths are not allowed."); newSquiggleMetrics.MultiplePathsNotAllowed++; @@ -2098,6 +2152,20 @@ export class CppProperties { continue; } + message = localize("path.is.not.a.file", "Path is not a file: {0}", expandedPaths[0]); + newSquiggleMetrics.PathNotAFile++; + } + } else if ((curOffset >= compileCommandsStart && curOffset <= compileCommandsEnd) || + (curOffset >= compileCommandsArrayStart && curOffset <= compileCommandsArrayEnd)) { + if (expandedPaths.length > 1) { + message = localize("multiple.paths.should.be.separate.entries", "Multiple paths should be separate entries in an array."); + newSquiggleMetrics.MultiplePathsShouldBeSeparated++; + } else { + const resolvedPath = this.resolvePath(expandedPaths[0]); + if (util.checkFileExistsSync(resolvedPath)) { + continue; + } + message = localize("path.is.not.a.file", "Path is not a file: {0}", expandedPaths[0]); newSquiggleMetrics.PathNotAFile++; } @@ -2180,6 +2248,9 @@ export class CppProperties { if (newSquiggleMetrics.MultiplePathsNotAllowed !== this.prevSquiggleMetrics.get(currentConfiguration.name)?.MultiplePathsNotAllowed) { changedSquiggleMetrics.MultiplePathsNotAllowed = newSquiggleMetrics.MultiplePathsNotAllowed; } + if (newSquiggleMetrics.MultiplePathsShouldBeSeparated !== this.prevSquiggleMetrics.get(currentConfiguration.name)?.MultiplePathsShouldBeSeparated) { + changedSquiggleMetrics.MultiplePathsShouldBeSeparated = newSquiggleMetrics.MultiplePathsShouldBeSeparated; + } if (Object.keys(changedSquiggleMetrics).length > 0) { telemetry.logLanguageServerEvent("ConfigSquiggles", undefined, changedSquiggleMetrics); } @@ -2302,23 +2373,30 @@ export class CppProperties { public checkCompileCommands(): void { // Check for changes in case of file watcher failure. - const compileCommands: string | undefined = this.CurrentConfiguration?.compileCommands; + const compileCommands: string[] | undefined = this.CurrentConfiguration?.compileCommands; if (!compileCommands) { return; } - const compileCommandsFile: string | undefined = this.resolvePath(compileCommands); - fs.stat(compileCommandsFile, (err, stats) => { - if (err) { - if (err.code === "ENOENT" && this.compileCommandsFile) { - this.compileCommandsFileWatchers = []; // reset file watchers - this.onCompileCommandsChanged(compileCommandsFile); - this.compileCommandsFile = null; // File deleted + compileCommands.forEach((path: string) => { + const compileCommandsFile: string | undefined = this.resolvePath(path); + fs.stat(compileCommandsFile, (err, stats) => { + if (err) { + if (err.code === "ENOENT" && this.compileCommandsFiles.has(compileCommandsFile)) { + this.compileCommandsFileWatchers.forEach((watcher: fs.FSWatcher) => watcher.close()); + this.compileCommandsFileWatchers = []; // reset file watchers + this.onCompileCommandsChanged(compileCommandsFile); + this.compileCommandsFiles.delete(compileCommandsFile); // File deleted + } + } else { + const compileCommandsLastChanged: Date | undefined = this.compileCommandsFileWatcherFallbackTime.get(compileCommandsFile); + if (!this.compileCommandsFiles.has(compileCommandsFile) || + (compileCommandsLastChanged !== undefined && stats.mtime > compileCommandsLastChanged)) { + this.compileCommandsFileWatcherFallbackTime.set(compileCommandsFile, new Date()); + this.onCompileCommandsChanged(compileCommandsFile); + this.compileCommandsFiles.add(compileCommandsFile); // File created. + } } - } else if (stats.mtime > this.compileCommandsFileWatcherFallbackTime) { - this.compileCommandsFileWatcherFallbackTime = new Date(); - this.onCompileCommandsChanged(compileCommandsFile); - this.compileCommandsFile = vscode.Uri.file(compileCommandsFile); // File created. - } + }); }); } diff --git a/Extension/src/LanguageServer/copilotProviders.ts b/Extension/src/LanguageServer/copilotProviders.ts index f23554f76d..d955356c8f 100644 --- a/Extension/src/LanguageServer/copilotProviders.ts +++ b/Extension/src/LanguageServer/copilotProviders.ts @@ -5,9 +5,16 @@ 'use strict'; import * as vscode from 'vscode'; +import * as nls from 'vscode-nls'; import * as util from '../common'; -import { ChatContextResult, GetIncludesResult } from './client'; -import { getActiveClient } from './extension'; +import * as logger from '../logger'; +import * as telemetry from '../telemetry'; +import { GetIncludesResult } from './client'; +import { getClients } from './extension'; +import { getCompilerArgumentFilterMap, getProjectContext } from './lmTool'; + +nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); +const localize: nls.LocalizeFunc = nls.loadMessageBundle(); export interface CopilotTrait { name: string; @@ -34,35 +41,113 @@ export async function registerRelatedFilesProvider(): Promise { for (const languageId of ['c', 'cpp', 'cuda-cpp']) { api.registerRelatedFilesProvider( { extensionId: util.extensionContext.extension.id, languageId }, - async (_uri: vscode.Uri, context: { flags: Record }, token: vscode.CancellationToken) => { - - const getIncludesHandler = async () => (await getIncludesWithCancellation(1, token))?.includedFiles.map(file => vscode.Uri.file(file)) ?? []; - const getTraitsHandler = async () => { - const chatContext: ChatContextResult | undefined = await (getActiveClient().getChatContext(token) ?? undefined); - - if (!chatContext) { - return undefined; + async (uri: vscode.Uri, context: { flags: Record }) => { + const start = performance.now(); + const telemetryProperties: Record = {}; + const telemetryMetrics: Record = {}; + try { + const getIncludesHandler = async () => (await getIncludes(uri, 1))?.includedFiles.map(file => vscode.Uri.file(file)) ?? []; + const getTraitsHandler = async () => { + const projectContext = await getProjectContext(uri, context, telemetryProperties, telemetryMetrics); + + if (!projectContext) { + return undefined; + } + + let traits: CopilotTrait[] = [ + { name: "intelliSenseDisclaimer", value: '', includeInPrompt: true, promptTextOverride: `IntelliSense is currently configured with the following compiler information. It reflects the active configuration, and the project may have more configurations targeting different platforms.` }, + { name: "intelliSenseDisclaimerBeginning", value: '', includeInPrompt: true, promptTextOverride: `Beginning of IntelliSense information.` } + ]; + if (projectContext.language) { + traits.push({ name: "language", value: projectContext.language, includeInPrompt: true, promptTextOverride: `The language is ${projectContext.language}.` }); + } + if (projectContext.compiler) { + traits.push({ name: "compiler", value: projectContext.compiler, includeInPrompt: true, promptTextOverride: `This project compiles using ${projectContext.compiler}.` }); + } + if (projectContext.standardVersion) { + traits.push({ name: "standardVersion", value: projectContext.standardVersion, includeInPrompt: true, promptTextOverride: `This project uses the ${projectContext.standardVersion} language standard.` }); + } + if (projectContext.targetPlatform) { + traits.push({ name: "targetPlatform", value: projectContext.targetPlatform, includeInPrompt: true, promptTextOverride: `This build targets ${projectContext.targetPlatform}.` }); + } + if (projectContext.targetArchitecture) { + traits.push({ name: "targetArchitecture", value: projectContext.targetArchitecture, includeInPrompt: true, promptTextOverride: `This build targets ${projectContext.targetArchitecture}.` }); + } + + if (projectContext.compiler) { + // We will process compiler arguments based on copilotcppXXXCompilerArgumentFilters and copilotcppCompilerArgumentDirectAskMap feature flags. + // The copilotcppXXXCompilerArgumentFilters are maps. The keys are regex strings for filtering and the values, if not empty, + // are the prompt text to use when no arguments are found. + // copilotcppCompilerArgumentDirectAskMap map individual matched argument to a prompt text. + // For duplicate matches, the last one will be used. + const filterMap = getCompilerArgumentFilterMap(projectContext.compiler, context); + if (filterMap !== undefined) { + const directAskMap: Record = context.flags.copilotcppCompilerArgumentDirectAskMap ? JSON.parse(context.flags.copilotcppCompilerArgumentDirectAskMap as string) : {}; + let directAsks: string = ''; + const remainingArguments: string[] = []; + + for (const key in filterMap) { + if (!key) { + continue; + } + + const matchedArgument = projectContext.compilerArguments[key] as string; + if (matchedArgument?.length > 0) { + if (directAskMap[matchedArgument]) { + directAsks += `${directAskMap[matchedArgument]} `; + } else { + remainingArguments.push(matchedArgument); + } + } else if (filterMap[key]) { + // Use the prompt text in the absence of argument. + directAsks += `${filterMap[key]} `; + } + } + + if (remainingArguments.length > 0) { + const compilerArgumentsValue = remainingArguments.join(", "); + traits.push({ name: "compilerArguments", value: compilerArgumentsValue, includeInPrompt: true, promptTextOverride: `The compiler arguments include: ${compilerArgumentsValue}.` }); + } + + if (directAsks) { + traits.push({ name: "directAsks", value: directAsks, includeInPrompt: true, promptTextOverride: directAsks }); + } + } + } + + traits.push({ name: "intelliSenseDisclaimerEnd", value: '', includeInPrompt: true, promptTextOverride: `End of IntelliSense information.` }); + + const includeTraitsArray = context.flags.copilotcppIncludeTraits ? context.flags.copilotcppIncludeTraits as string[] : []; + const includeTraits = new Set(includeTraitsArray); + telemetryProperties["includeTraits"] = includeTraitsArray.join(','); + + // standardVersion trait is enabled by default. + traits = traits.filter(trait => includeTraits.has(trait.name) || trait.name === 'standardVersion'); + + telemetryProperties["traits"] = traits.map(trait => trait.name).join(','); + return traits.length > 0 ? traits : undefined; + }; + + // Call both handlers in parallel + const traitsPromise = getTraitsHandler(); + const includesPromise = getIncludesHandler(); + + return { entries: await includesPromise, traits: await traitsPromise }; + } + catch (exception) { + try { + const err: Error = exception as Error; + logger.getOutputChannelLogger().appendLine(localize("copilot.relatedfilesprovider.error", "Error while retrieving result. Reason: {0}", err.message)); } - - let traits: CopilotTrait[] = [ - { name: "language", value: chatContext.language, includeInPrompt: true, promptTextOverride: `The language is ${chatContext.language}.` }, - { name: "compiler", value: chatContext.compiler, includeInPrompt: true, promptTextOverride: `This project compiles using ${chatContext.compiler}.` }, - { name: "standardVersion", value: chatContext.standardVersion, includeInPrompt: true, promptTextOverride: `This project uses the ${chatContext.standardVersion} language standard.` }, - { name: "targetPlatform", value: chatContext.targetPlatform, includeInPrompt: true, promptTextOverride: `This build targets ${chatContext.targetPlatform}.` }, - { name: "targetArchitecture", value: chatContext.targetArchitecture, includeInPrompt: true, promptTextOverride: `This build targets ${chatContext.targetArchitecture}.` } - ]; - - const excludeTraits = context.flags.copilotcppExcludeTraits as string[] ?? []; - traits = traits.filter(trait => !excludeTraits.includes(trait.name)); - - return traits.length > 0 ? traits : undefined; - }; - - // Call both handlers in parallel - const traitsPromise = ((context.flags.copilotcppTraits as boolean) ?? false) ? getTraitsHandler() : Promise.resolve(undefined); - const includesPromise = getIncludesHandler(); - - return { entries: await includesPromise, traits: await traitsPromise }; + catch { + // Intentionally swallow any exception. + } + telemetryProperties["error"] = "true"; + throw exception; // Throw the exception for auto-retry. + } finally { + telemetryMetrics['duration'] = performance.now() - start; + telemetry.logCopilotEvent('RelatedFilesProvider', telemetryProperties, telemetryMetrics); + } } ); } @@ -72,10 +157,10 @@ export async function registerRelatedFilesProvider(): Promise { } } -async function getIncludesWithCancellation(maxDepth: number, token: vscode.CancellationToken): Promise { - const activeClient = getActiveClient(); - const includes = await activeClient.getIncludes(maxDepth, token); - const wksFolder = activeClient.RootUri?.toString(); +async function getIncludes(uri: vscode.Uri, maxDepth: number): Promise { + const client = getClients().getClientFor(uri); + const includes = await client.getIncludes(uri, maxDepth); + const wksFolder = client.RootUri?.toString(); if (!wksFolder) { return includes; diff --git a/Extension/src/LanguageServer/editorConfig.ts b/Extension/src/LanguageServer/editorConfig.ts index 21a73673c6..4f330073aa 100644 --- a/Extension/src/LanguageServer/editorConfig.ts +++ b/Extension/src/LanguageServer/editorConfig.ts @@ -5,7 +5,9 @@ 'use strict'; import * as fs from 'fs'; +import { Minimatch } from 'minimatch'; import * as path from 'path'; +import { isWindows } from '../constants'; export const cachedEditorConfigSettings: Map = new Map(); @@ -61,13 +63,25 @@ export function mapWrapToEditorConfig(value: string | undefined): string { return "never"; } -function matchesSection(filePath: string, section: string): boolean { - const fileName: string = path.basename(filePath); - // Escape all regex special characters except '*' and '?'. - // Convert wildcards '*' to '.*' and '?' to '.'. - const sectionPattern = section.replace(/[.+^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '.*').replace(/\?/g, '.'); - const regex: RegExp = new RegExp(`^${sectionPattern}$`); - return regex.test(fileName); +export function matchesSection(pathPrefix: string, filePath: string, section: string): boolean { + // The following code is copied from: https://github.com/editorconfig/editorconfig-core-js + const matchOptions = { matchBase: true, dot: true }; + pathPrefix = pathPrefix.replace(/[?*+@!()|[\]{}]/g, '\\$&'); + pathPrefix = pathPrefix.replace(/^#/, '\\#'); + switch (section.indexOf('/')) { + case -1: + section = `**/${section}`; + break; + case 0: + section = section.substring(1); + break; + default: + break; + } + section = section.replace(/\\\\/g, '\\\\\\\\'); + section = section.replace(/\*\*/g, '{*,**/**/**}'); + const matcher = new Minimatch(`${pathPrefix}/${section}`, matchOptions); + return matcher.match(filePath); } function parseEditorConfigContent(content: string): Record { @@ -95,9 +109,9 @@ function parseEditorConfigContent(content: string): Record { let value: any = values.join('=').trim(); // Convert boolean-like and numeric values. - if (value.toLowerCase() === 'true') { + if (value === 'true') { value = true; - } else if (value.toLowerCase() === 'false') { + } else if (value === 'false') { value = false; } else if (!isNaN(Number(value))) { value = Number(value); @@ -123,6 +137,10 @@ function getEditorConfig(filePath: string): any { let currentDir: string = path.dirname(filePath); const rootDir: string = path.parse(currentDir).root; + if (isWindows) { + filePath = filePath.replace(/\\/g, '/'); + } + // Traverse from the file's directory to the root directory. for (; ;) { const editorConfigPath: string = path.join(currentDir, '.editorconfig'); @@ -138,12 +156,17 @@ function getEditorConfig(filePath: string): any { }; } + let currentDirForwardSlashes: string = currentDir; + if (isWindows) { + currentDirForwardSlashes = currentDir.replace(/\\/g, '/'); + } + // Match sections and combine configurations. Object.keys(configData).forEach((section: string) => { - if (section !== '*' && matchesSection(filePath, section)) { + if (section !== '*' && matchesSection(currentDirForwardSlashes, filePath, section)) { combinedConfig = { - ...combinedConfig, - ...configData[section] + ...configData[section], + ...combinedConfig }; } }); diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index 02dd3e8861..a7fbecb074 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -11,15 +11,17 @@ import * as StreamZip from 'node-stream-zip'; import * as os from 'os'; import * as path from 'path'; import * as vscode from 'vscode'; -import { Range } from 'vscode-languageclient'; +import { CancellationToken, Range } from 'vscode-languageclient'; import * as nls from 'vscode-nls'; import { TargetPopulation } from 'vscode-tas-client'; import * as which from 'which'; import { logAndReturn } from '../Utility/Async/returns'; import * as util from '../common'; +import { modelSelector } from '../constants'; import { getCrashCallStacksChannel } from '../logger'; import { PlatformInformation } from '../platform'; import * as telemetry from '../telemetry'; +import { CopilotHoverProvider } from './Providers/CopilotHoverProvider'; import { Client, DefaultClient, DoxygenCodeActionCommandArguments, openFileVersions } from './client'; import { ClientCollection } from './clientCollection'; import { CodeActionDiagnosticInfo, CodeAnalysisDiagnosticIdentifiersAndUri, codeAnalysisAllFixes, codeAnalysisCodeToFixes, codeAnalysisFileToCodeActions } from './codeAnalysis'; @@ -28,6 +30,7 @@ import { CppBuildTaskProvider } from './cppBuildTaskProvider'; import { getCustomConfigProviders } from './customProviders'; import { getLanguageConfig } from './languageConfig'; import { CppConfigurationLanguageModelTool } from './lmTool'; +import { getLocaleId } from './localization'; import { PersistentState } from './persistentState'; import { NodeType, TreeNode } from './referencesModel'; import { CppSettings } from './settings'; @@ -423,6 +426,7 @@ export async function registerCommands(enabled: boolean): Promise { commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ExtractToFreeFunction', enabled ? () => onExtractToFunction(true, false) : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ExtractToMemberFunction', enabled ? () => onExtractToFunction(false, true) : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ExpandSelection', enabled ? (r: Range) => onExpandSelection(r) : onDisabledCommand)); + commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ShowCopilotHover', enabled ? () => onCopilotHover() : onDisabledCommand)); } function onDisabledCommand() { @@ -584,13 +588,13 @@ async function installCompiler(sender?: any): Promise { telemetry.logLanguageServerEvent('installCompiler', telemetryProperties); } -async function onSelectConfiguration(): Promise { +async function onSelectConfiguration(config?: string): Promise { if (!isFolderOpen()) { void vscode.window.showInformationMessage(localize("configuration.select.first", 'Open a folder first to select a configuration.')); } else { // This only applies to the active client. You cannot change the configuration for // a client that is not active since that client's UI will not be visible. - return clients.ActiveClient.handleConfigurationSelectCommand(); + return clients.ActiveClient.handleConfigurationSelectCommand(config); } } @@ -1387,3 +1391,154 @@ export async function preReleaseCheck(): Promise { } } } + +// This uses several workarounds for interacting with the hover feature. +// A proposal for dynamic hover content would help, such as the one here (https://github.com/microsoft/vscode/issues/195394) +async function onCopilotHover(): Promise { + telemetry.logLanguageServerEvent("CopilotHover"); + + // Check if the user has access to vscode language model. + const vscodelm = (vscode as any).lm; + if (!vscodelm) { + return; + } + + const copilotHoverProvider = clients.getDefaultClient().getCopilotHoverProvider(); + if (!copilotHoverProvider) { + return; + } + + const hoverDocument = copilotHoverProvider.getCurrentHoverDocument(); + const hoverPosition = copilotHoverProvider.getCurrentHoverPosition(); + if (!hoverDocument || !hoverPosition) { + return; + } + + // Prep hover with wait message. + copilotHoverProvider.showWaiting(); + + if (copilotHoverProvider.isCancelled(hoverDocument, hoverPosition)) { + return; + } + + // Move the cursor to the hover position, but don't focus the editor. + await vscode.window.showTextDocument(hoverDocument, { preserveFocus: true, selection: new vscode.Selection(hoverPosition, hoverPosition) }); + + if (!await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition)) { + return; + } + + // Gather the content for the query from the client. + const requestInfo = await copilotHoverProvider.getRequestInfo(hoverDocument, hoverPosition); + try { + for (const file of requestInfo.files) { + const fileUri = vscode.Uri.file(file); + if (await vscodelm.fileIsIgnored(fileUri, copilotHoverProvider.getCurrentHoverCancellationToken() ?? CancellationToken.None)) { + telemetry.logLanguageServerEvent("CopilotHover", { "Message": "Copilot summary is not available due to content exclusion." }); + await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, localize("copilot.hover.unavailable", "Copilot summary is not available.") + "\n\n" + + localize("copilot.hover.excluded", "The file containing this symbol's definition or declaration has been excluded from use with Copilot.")); + return; + } + } + } catch (err) { + if (err instanceof Error) { + await reportCopilotFailure(copilotHoverProvider, hoverDocument, hoverPosition, err.name); + } + return; + } + if (requestInfo.content.length === 0) { + // Context is not available for this symbol. + telemetry.logLanguageServerEvent("CopilotHover", { "Message": "Copilot summary is not available for this symbol." }); + await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, localize("copilot.hover.unavailable.symbol", "Copilot summary is not available for this symbol.")); + return; + } + + const locale = getLocaleId(); + + const messages = [ + vscode.LanguageModelChatMessage + .User(requestInfo.content + locale)]; + + const [model] = await vscodelm.selectChatModels(modelSelector); + + let chatResponse: vscode.LanguageModelChatResponse | undefined; + try { + chatResponse = await model.sendRequest( + messages, + {}, + copilotHoverProvider.getCurrentHoverCancellationToken() + ); + } catch (err) { + if (err instanceof vscode.LanguageModelError) { + console.log(err.message, err.code, err.cause); + await reportCopilotFailure(copilotHoverProvider, hoverDocument, hoverPosition, err.code); + } else { + throw err; + } + return; + } + + // Ensure we have a valid response from Copilot. + if (!chatResponse) { + await reportCopilotFailure(copilotHoverProvider, hoverDocument, hoverPosition, "Invalid chat response from Copilot."); + return; + } + + let content: string = ''; + + try { + for await (const fragment of chatResponse.text) { + content += fragment; + } + } catch (err) { + if (err instanceof vscode.LanguageModelError) { + console.log(err.message, err.code, err.cause); + await reportCopilotFailure(copilotHoverProvider, hoverDocument, hoverPosition, err.code); + } else if (err instanceof Error) { + console.log(err.message, err.cause); + await reportCopilotFailure(copilotHoverProvider, hoverDocument, hoverPosition, err.name); + } + return; + } + + if (content.length === 0) { + await reportCopilotFailure(copilotHoverProvider, hoverDocument, hoverPosition, "No content in response from Copilot."); + return; + } + + await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, content); +} + +async function reportCopilotFailure(copilotHoverProvider: CopilotHoverProvider, hoverDocument: vscode.TextDocument, hoverPosition: vscode.Position, errorMessage: string): Promise { + telemetry.logLanguageServerEvent("CopilotHoverError", { "ErrorMessage": errorMessage }); + // Display the localized default failure message in the hover. + await showCopilotContent(copilotHoverProvider, hoverDocument, hoverPosition, localize("copilot.hover.error", "An error occurred while generating Copilot summary.")); +} + +async function showCopilotContent(copilotHoverProvider: CopilotHoverProvider, hoverDocument: vscode.TextDocument, hoverPosition: vscode.Position, content?: string): Promise { + // Check if the cursor has been manually moved by the user. If so, exit. + const currentCursorPosition = vscode.window.activeTextEditor?.selection.active; + if (!currentCursorPosition?.isEqual(hoverPosition)) { + // Reset implies cancellation, but we need to ensure cancellation is acknowledged before returning. + copilotHoverProvider.reset(); + } + + if (copilotHoverProvider.isCancelled(hoverDocument, hoverPosition)) { + return false; + } + + await vscode.commands.executeCommand('cursorMove', { to: 'right' }); + await vscode.commands.executeCommand('editor.action.showHover', { focus: 'noAutoFocus' }); + + if (content) { + copilotHoverProvider.showContent(content); + } + + if (copilotHoverProvider.isCancelled(hoverDocument, hoverPosition)) { + return false; + } + await vscode.commands.executeCommand('cursorMove', { to: 'left' }); + await vscode.commands.executeCommand('editor.action.showHover', { focus: 'noAutoFocus' }); + + return true; +} diff --git a/Extension/src/LanguageServer/lmTool.ts b/Extension/src/LanguageServer/lmTool.ts index c3fad8b6eb..1ede1d0264 100644 --- a/Extension/src/LanguageServer/lmTool.ts +++ b/Extension/src/LanguageServer/lmTool.ts @@ -5,13 +5,20 @@ 'use strict'; import * as vscode from 'vscode'; -import { localize } from 'vscode-nls'; +import * as nls from 'vscode-nls'; import * as util from '../common'; import * as logger from '../logger'; import * as telemetry from '../telemetry'; -import { ChatContextResult } from './client'; +import { ChatContextResult, ProjectContextResult } from './client'; import { getClients } from './extension'; +import { checkDuration } from './utils'; +nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); +const localize: nls.LocalizeFunc = nls.loadMessageBundle(); + +const MSVC: string = 'MSVC'; +const Clang: string = 'Clang'; +const GCC: string = 'GCC'; const knownValues: { [Property in keyof ChatContextResult]?: { [id: string]: string } } = { language: { 'c': 'C', @@ -19,9 +26,9 @@ const knownValues: { [Property in keyof ChatContextResult]?: { [id: string]: str 'cuda-cpp': 'CUDA C++' }, compiler: { - 'msvc': 'MSVC', - 'clang': 'Clang', - 'gcc': 'GCC' + 'msvc': MSVC, + 'clang': Clang, + 'gcc': GCC }, standardVersion: { 'c++98': 'C++98', @@ -31,7 +38,7 @@ const knownValues: { [Property in keyof ChatContextResult]?: { [id: string]: str 'c++17': 'C++17', 'c++20': 'C++20', 'c++23': 'C++23', - 'c90': "C90", + 'c89': "C89", 'c99': "C99", 'c11': "C11", 'c17': "C17", @@ -44,6 +51,148 @@ const knownValues: { [Property in keyof ChatContextResult]?: { [id: string]: str } }; +function formatChatContext(context: ChatContextResult | ProjectContextResult): void { + type KnownKeys = 'language' | 'standardVersion' | 'compiler' | 'targetPlatform'; + for (const key in knownValues) { + const knownKey = key as KnownKeys; + if (knownValues[knownKey] && context[knownKey]) { + // Clear the value if it's not in the known values. + context[knownKey] = knownValues[knownKey][context[knownKey]] || ""; + } + } +} + +export interface ProjectContext { + language: string; + standardVersion: string; + compiler: string; + targetPlatform: string; + targetArchitecture: string; + compilerArguments: Record; +} + +export function getCompilerArgumentFilterMap(compiler: string, context: { flags: Record }): Record | undefined { + // The copilotcppXXXCompilerArgumentFilters are maps. + // The keys are regex strings and the values, if not empty, are the prompt text to use when no arguments are found. + let filterMap: Record | undefined; + try { + switch (compiler) { + case MSVC: + if (context.flags.copilotcppMsvcCompilerArgumentFilter !== undefined) { + filterMap = JSON.parse(context.flags.copilotcppMsvcCompilerArgumentFilter as string); + } + break; + case Clang: + if (context.flags.copilotcppClangCompilerArgumentFilter !== undefined) { + filterMap = JSON.parse(context.flags.copilotcppClangCompilerArgumentFilter as string); + } + break; + case GCC: + if (context.flags.copilotcppGccCompilerArgumentFilter !== undefined) { + filterMap = JSON.parse(context.flags.copilotcppGccCompilerArgumentFilter as string); + } + break; + } + } + catch { + // Intentionally swallow any exception. + } + return filterMap; +} + +function filterCompilerArguments(compiler: string, compilerArguments: string[], context: { flags: Record }, telemetryProperties: Record): Record { + const filterMap = getCompilerArgumentFilterMap(compiler, context); + if (filterMap === undefined) { + return {}; + } + + const combinedArguments = compilerArguments.join(' '); + const result: Record = {}; + const filteredCompilerArguments: string[] = []; + for (const key in filterMap) { + if (!key) { + continue; + } + const filter = new RegExp(key, 'g'); + const filtered = combinedArguments.match(filter); + if (filtered) { + filteredCompilerArguments.push(...filtered); + result[key] = filtered[filtered.length - 1]; + } + } + + if (filteredCompilerArguments.length > 0) { + // Telemetry to learn about the argument distribution. The filtered arguments are expected to be non-PII. + telemetryProperties["filteredCompilerArguments"] = filteredCompilerArguments.join(','); + } + + const filters = Object.keys(filterMap).filter(filter => !!filter).join(','); + if (filters) { + telemetryProperties["filters"] = filters; + } + + return result; +} + +export async function getProjectContext(uri: vscode.Uri, context: { flags: Record }, telemetryProperties: Record, telemetryMetrics: Record): Promise { + try { + const projectContext = await checkDuration(async () => await getClients()?.ActiveClient?.getProjectContext(uri) ?? undefined); + telemetryMetrics["projectContextDuration"] = projectContext.duration; + if (!projectContext.result) { + return undefined; + } + + const originalStandardVersion = projectContext.result.standardVersion; + + formatChatContext(projectContext.result); + + const result: ProjectContext = { + language: projectContext.result.language, + standardVersion: projectContext.result.standardVersion, + compiler: projectContext.result.compiler, + targetPlatform: projectContext.result.targetPlatform, + targetArchitecture: projectContext.result.targetArchitecture, + compilerArguments: {} + }; + + if (projectContext.result.language) { + telemetryProperties["language"] = projectContext.result.language; + } + if (projectContext.result.compiler) { + telemetryProperties["compiler"] = projectContext.result.compiler; + } + if (projectContext.result.standardVersion) { + telemetryProperties["standardVersion"] = projectContext.result.standardVersion; + } + else { + if (originalStandardVersion) { + telemetryProperties["originalStandardVersion"] = originalStandardVersion; + } + } + if (projectContext.result.targetPlatform) { + telemetryProperties["targetPlatform"] = projectContext.result.targetPlatform; + } + if (projectContext.result.targetArchitecture) { + telemetryProperties["targetArchitecture"] = projectContext.result.targetArchitecture; + } + telemetryMetrics["compilerArgumentCount"] = projectContext.result.fileContext.compilerArguments.length; + result.compilerArguments = filterCompilerArguments(projectContext.result.compiler, projectContext.result.fileContext.compilerArguments, context, telemetryProperties); + + return result; + } + catch (exception) { + try { + const err: Error = exception as Error; + logger.getOutputChannelLogger().appendLine(localize("copilot.projectcontext.error", "Error while retrieving the project context. Reason: {0}", err.message)); + } + catch { + // Intentionally swallow any exception. + } + telemetryProperties["projectContextError"] = "true"; + throw exception; // Throw the exception for auto-retry. + } +} + export class CppConfigurationLanguageModelTool implements vscode.LanguageModelTool { public async invoke(options: vscode.LanguageModelToolInvocationOptions, token: vscode.CancellationToken): Promise { return new vscode.LanguageModelToolResult([ @@ -58,18 +207,12 @@ export class CppConfigurationLanguageModelTool implements vscode.LanguageModelTo return 'The active document is not a C, C++, or CUDA file.'; } - const chatContext: ChatContextResult | undefined = await (getClients()?.ActiveClient?.getChatContext(token) ?? undefined); + const chatContext: ChatContextResult | undefined = await (getClients()?.ActiveClient?.getChatContext(currentDoc.uri, token) ?? undefined); if (!chatContext) { return 'No configuration information is available for the active document.'; } - for (const key in knownValues) { - const knownKey = key as keyof ChatContextResult; - if (knownValues[knownKey] && chatContext[knownKey]) { - // Clear the value if it's not in the known values. - chatContext[knownKey] = knownValues[knownKey][chatContext[knownKey]] || ""; - } - } + formatChatContext(chatContext); let contextString = ""; if (chatContext.language) { @@ -100,7 +243,7 @@ export class CppConfigurationLanguageModelTool implements vscode.LanguageModelTo telemetryProperties["error"] = "true"; return ""; } finally { - telemetry.logLanguageModelToolEvent('cpp', telemetryProperties); + telemetry.logCopilotEvent('Chat/Tool/cpp', telemetryProperties); } } diff --git a/Extension/src/LanguageServer/persistentState.ts b/Extension/src/LanguageServer/persistentState.ts index e96be7a0e9..7eb96ab5f8 100644 --- a/Extension/src/LanguageServer/persistentState.ts +++ b/Extension/src/LanguageServer/persistentState.ts @@ -19,6 +19,11 @@ class PersistentStateBase { this.defaultvalue = defaultValue; this.state = state; this.curvalue = defaultValue; + + // Ensure the default is written to the state store. + if (this.state && this.state.get(this.key) === undefined) { + void this.state.update(this.key, this.defaultvalue); + } } public get Value(): T { diff --git a/Extension/src/LanguageServer/protocolFilter.ts b/Extension/src/LanguageServer/protocolFilter.ts index b292c67b16..9829f0a138 100644 --- a/Extension/src/LanguageServer/protocolFilter.ts +++ b/Extension/src/LanguageServer/protocolFilter.ts @@ -8,7 +8,6 @@ import * as path from 'path'; import * as vscode from 'vscode'; import { Middleware } from 'vscode-languageclient'; import * as util from '../common'; -import { logAndReturn } from '../Utility/Async/returns'; import { Client } from './client'; import { clients } from './extension'; import { shouldChangeFromCToCpp } from './utils'; @@ -16,8 +15,6 @@ import { shouldChangeFromCToCpp } from './utils'; export const RequestCancelled: number = -32800; export const ServerCancelled: number = -32802; -let anyFileOpened: boolean = false; - export function createProtocolFilter(): Middleware { return { didOpen: async (document, sendMessage) => { @@ -43,16 +40,7 @@ export function createProtocolFilter(): Middleware { // client.takeOwnership() will call client.TrackedDocuments.add() again, but that's ok. It's a Set. client.onDidOpenTextDocument(document); client.takeOwnership(document); - void sendMessage(document).then(() => { - // For a file already open when we activate, sometimes we don't get any notifications about visible - // or active text editors, visible ranges, or text selection. As a workaround, we trigger - // onDidChangeVisibleTextEditors here, only for the first file opened. - if (!anyFileOpened) { - anyFileOpened = true; - const cppEditors: vscode.TextEditor[] = vscode.window.visibleTextEditors.filter(e => util.isCpp(e.document)); - client.onDidChangeVisibleTextEditors(cppEditors).catch(logAndReturn.undefined); - } - }); + void sendMessage(document); } } }, diff --git a/Extension/src/LanguageServer/references.ts b/Extension/src/LanguageServer/references.ts index 0fc3d2fbb6..e8e3567b7b 100644 --- a/Extension/src/LanguageServer/references.ts +++ b/Extension/src/LanguageServer/references.ts @@ -13,6 +13,7 @@ import * as telemetry from '../telemetry'; import { DefaultClient } from './client'; import { PersistentState } from './persistentState'; import { FindAllRefsView } from './referencesView'; +import { CppSettings } from './settings'; nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); const localize: nls.LocalizeFunc = nls.loadMessageBundle(); @@ -469,19 +470,24 @@ export class ReferencesManager { } if (this.referencesStartedWhileTagParsing) { + const showLog: boolean = util.getNumericLoggingLevel(new CppSettings().loggingLevel) >= 3; const msg: string = localize("some.references.may.be.missing", "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.", referencesCommandModeToString(this.client.ReferencesCommandMode)); if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) { if (this.referencesChannel) { this.referencesChannel.appendLine(msg); this.referencesChannel.appendLine(""); - this.referencesChannel.show(true); + if (showLog) { + this.referencesChannel.show(true); + } } } else if (this.client.ReferencesCommandMode === ReferencesCommandMode.Find) { const logChannel: vscode.OutputChannel = logger.getOutputChannel(); logChannel.appendLine(msg); logChannel.appendLine(""); - logChannel.show(true); + if (showLog) { + logChannel.show(true); + } } } diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index 8e8d6c0654..8b682f4836 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -131,6 +131,7 @@ export interface WorkspaceFolderSettingsParams { filesExclude: Excludes; filesAutoSaveAfterDelay: boolean; filesEncoding: string; + filesEncodingChanged: boolean; searchExclude: Excludes; editorAutoClosingBrackets: string; editorInlayHintsEnabled: boolean; @@ -141,6 +142,7 @@ export interface WorkspaceFolderSettingsParams { export interface SettingsParams { filesAssociations: Associations; workspaceFallbackEncoding: string; + workspaceFallbackEncodingChanged: boolean; maxConcurrentThreads: number | null; maxCachedProcesses: number | null; maxMemory: number | null; @@ -161,6 +163,7 @@ export interface SettingsParams { codeAnalysisMaxMemory: number | null; codeAnalysisUpdateDelay: number; workspaceFolderSettings: WorkspaceFolderSettingsParams[]; + copilotHover: string; } function getTarget(): vscode.ConfigurationTarget { @@ -399,7 +402,17 @@ export class CppSettings extends Settings { public get defaultDotconfig(): string | undefined { return changeBlankStringToUndefined(this.getAsStringOrUndefined("default.dotConfig")); } public get defaultMacFrameworkPath(): string[] | undefined { return this.getArrayOfStringsWithUndefinedDefault("default.macFrameworkPath"); } public get defaultWindowsSdkVersion(): string | undefined { return changeBlankStringToUndefined(this.getAsStringOrUndefined("default.windowsSdkVersion")); } - public get defaultCompileCommands(): string | undefined { return changeBlankStringToUndefined(this.getAsStringOrUndefined("default.compileCommands")); } + public get defaultCompileCommands(): string[] | undefined { + const value: any = super.Section.get("default.compileCommands"); + if (isString(value)) { + return value.length > 0 ? [value] : undefined; + } + if (isArrayOfString(value)) { + const result = value.filter(x => x.length > 0); + return result.length > 0 ? result : undefined; + } + return undefined; + } public get defaultForcedInclude(): string[] | undefined { return this.getArrayOfStringsWithUndefinedDefault("default.forcedInclude"); } public get defaultIntelliSenseMode(): string | undefined { return this.getAsStringOrUndefined("default.intelliSenseMode"); } public get defaultCompilerPath(): string | null { return this.getAsString("default.compilerPath", true); } @@ -454,6 +467,17 @@ export class CppSettings extends Settings { && this.intelliSenseEngine.toLowerCase() === "default" && vscode.workspace.getConfiguration("workbench").get("colorTheme") !== "Default High Contrast"; } + public get copilotHover(): string { + if (!(vscode as any).lm) { + return "disabled"; + } + const val = super.Section.get("copilotHover"); + if (val === undefined) { + return "default"; + } + return val as string; + } + public get formattingEngine(): string { return this.getAsString("formatting"); } public get vcFormatIndentBraces(): boolean { return this.getAsBoolean("vcFormat.indent.braces"); } public get vcFormatIndentMultiLineRelativeTo(): string { return this.getAsString("vcFormat.indent.multiLineRelativeTo"); } @@ -638,7 +662,7 @@ export class CppSettings extends Settings { } if (isArrayOfString(value)) { - if (setting.items.enum && !allowUndefinedEnums) { + if (setting.items?.enum !== undefined && !allowUndefinedEnums) { if (!value.every(x => this.isValidEnum(setting.items.enum, x))) { return setting.default; } diff --git a/Extension/src/LanguageServer/settingsPanel.ts b/Extension/src/LanguageServer/settingsPanel.ts index 4522091d02..a13ef8109c 100644 --- a/Extension/src/LanguageServer/settingsPanel.ts +++ b/Extension/src/LanguageServer/settingsPanel.ts @@ -337,7 +337,7 @@ export class SettingsPanel { this.configValues.macFrameworkPath = splitEntries(message.value); break; case elementId.compileCommands: - this.configValues.compileCommands = message.value || undefined; + this.configValues.compileCommands = splitEntries(message.value); break; case elementId.dotConfig: this.configValues.dotConfig = message.value || undefined; diff --git a/Extension/src/LanguageServer/settingsTracker.ts b/Extension/src/LanguageServer/settingsTracker.ts index 9cad273f50..fef9ae2fea 100644 --- a/Extension/src/LanguageServer/settingsTracker.ts +++ b/Extension/src/LanguageServer/settingsTracker.ts @@ -108,6 +108,11 @@ export class SettingsTracker { return ""; } return val; + } else if (curSetting["oneOf"]) { + // Currently only C_Cpp.default.compileCommands uses this case. + if (curSetting["oneOf"].some((x: any) => this.typeMatch(val, x.type))) { + return val; + } } else if (val === curSetting["default"]) { // C_Cpp.default.browse.path is a special case where the default value is null and doesn't match the type definition. return val; @@ -206,7 +211,7 @@ export class SettingsTracker { if (value && value.length > maxSettingLengthForTelemetry) { value = value.substring(0, maxSettingLengthForTelemetry) + "..."; } - return {key: key, value: value}; + return { key: key, value: value }; } return undefined; } diff --git a/Extension/src/LanguageServer/utils.ts b/Extension/src/LanguageServer/utils.ts index e8c8073ee1..3a46a486a9 100644 --- a/Extension/src/LanguageServer/utils.ts +++ b/Extension/src/LanguageServer/utils.ts @@ -112,3 +112,9 @@ export async function withCancellation(promise: Promise, token: vscode.Can }); }); } + +export async function checkDuration(fn: () => Promise): Promise<{ result: T; duration: number }> { + const start = performance.now(); + const result = await fn(); + return { result, duration: performance.now() - start }; +} diff --git a/Extension/src/constants.ts b/Extension/src/constants.ts index e38b513df2..059bac203b 100644 --- a/Extension/src/constants.ts +++ b/Extension/src/constants.ts @@ -13,3 +13,6 @@ export const isLinux = OperatingSystem === 'linux'; // if you want to see the output of verbose logging, set this to true. export const verboseEnabled = false; + +// Model selector for Copilot features +export const modelSelector = { vendor: 'copilot', family: 'gpt-4' }; diff --git a/Extension/src/main.ts b/Extension/src/main.ts index e15389ddac..f8d5bcd33f 100644 --- a/Extension/src/main.ts +++ b/Extension/src/main.ts @@ -221,6 +221,7 @@ function sendTelemetry(info: PlatformInformation): void { default: break; } + telemetryProperties['appName'] = vscode.env.appName; Telemetry.logDebuggerEvent("acquisition", telemetryProperties); logMachineIdMappings().catch(logAndReturn.undefined); } diff --git a/Extension/src/nativeStrings.json b/Extension/src/nativeStrings.json index 50e9e0ab01..2cbed668c2 100644 --- a/Extension/src/nativeStrings.json +++ b/Extension/src/nativeStrings.json @@ -157,8 +157,8 @@ "fallback_to_64_bit_mode2": "Failed to query compiler. Falling back to 64-bit intelliSenseMode.", "fallback_to_no_bitness": "Failed to query compiler. Falling back to no bitness.", "intellisense_client_creation_aborted": "IntelliSense client creation aborted: {0}", - "include_errors_config_provider_intellisense_disabled ": "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.", - "include_errors_config_provider_squiggles_disabled ": "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).", + "include_errors_config_provider_intellisense_disabled": "#include errors detected based on information provided by the configurationProvider setting. IntelliSense features for this translation unit ({0}) will be provided by the Tag Parser.", + "include_errors_config_provider_squiggles_disabled": "#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit ({0}).", "preprocessor_keyword": { "text": "preprocessor keyword", "hint": "Refers to C/C++ processor keywords" @@ -478,5 +478,7 @@ "refactor_extract_reference_return_c_code": "The function would have to return a value by reference. C code cannot return references.", "refactor_extract_xborder_jump": "Jumps between the selected code and the surrounding code are present.", "refactor_extract_missing_return": "In the selected code, some control paths exit without setting the return value. This is supported only for scalar, numeric, and pointer return types.", - "expand_selection": "Expand selection (to enable 'Extract to function')" + "expand_selection": "Expand selection (to enable 'Extract to function')", + "file_not_found_in_path2": "\"{0}\" not found in compile_commands.json files. 'includePath' from c_cpp_properties.json in folder '{1}' will be used for this file instead.", + "copilot_hover_link": "Generate Copilot summary" } diff --git a/Extension/src/telemetry.ts b/Extension/src/telemetry.ts index 600ffa4c45..7c8a003759 100644 --- a/Extension/src/telemetry.ts +++ b/Extension/src/telemetry.ts @@ -83,6 +83,10 @@ export async function isExperimentEnabled(experimentName: string): Promise { const experimentationService: IExperimentationService | undefined = await getExperimentationService(); const isEnabled: boolean | undefined = experimentationService?.getTreatmentVariable("vscode", experimentName); return isEnabled ?? false; @@ -123,10 +127,10 @@ export function logLanguageServerEvent(eventName: string, properties?: Record, metrics?: Record): void { +export function logCopilotEvent(eventName: string, properties?: Record, metrics?: Record): void { const sendTelemetry = () => { if (experimentationTelemetry) { - const eventNamePrefix: string = "C_Cpp/Copilot/Chat/Tool/"; + const eventNamePrefix: string = "C_Cpp/Copilot/"; experimentationTelemetry.sendTelemetryEvent(eventNamePrefix + eventName, properties, metrics); } }; diff --git a/Extension/test/scenarios/SingleRootProject/tests/copilotProviders.test.ts b/Extension/test/scenarios/SingleRootProject/tests/copilotProviders.test.ts index 54052e122d..31b7615a4f 100644 --- a/Extension/test/scenarios/SingleRootProject/tests/copilotProviders.test.ts +++ b/Extension/test/scenarios/SingleRootProject/tests/copilotProviders.test.ts @@ -9,24 +9,30 @@ import * as proxyquire from 'proxyquire'; import * as sinon from 'sinon'; import * as vscode from 'vscode'; import * as util from '../../../../src/common'; -import { ChatContextResult, DefaultClient, GetIncludesResult } from '../../../../src/LanguageServer/client'; +import { DefaultClient, GetIncludesResult } from '../../../../src/LanguageServer/client'; +import { ClientCollection } from '../../../../src/LanguageServer/clientCollection'; import { CopilotApi, CopilotTrait } from '../../../../src/LanguageServer/copilotProviders'; import * as extension from '../../../../src/LanguageServer/extension'; +import * as lmTool from '../../../../src/LanguageServer/lmTool'; +import { ProjectContext } from '../../../../src/LanguageServer/lmTool'; +import * as telemetry from '../../../../src/telemetry'; -describe('registerRelatedFilesProvider', () => { +describe('copilotProviders Tests', () => { let moduleUnderTest: any; let mockCopilotApi: sinon.SinonStubbedInstance; - let getActiveClientStub: sinon.SinonStub; + let getClientsStub: sinon.SinonStub; let activeClientStub: sinon.SinonStubbedInstance; let vscodeGetExtensionsStub: sinon.SinonStub; let callbackPromise: Promise<{ entries: vscode.Uri[]; traits?: CopilotTrait[] }> | undefined; let vscodeExtension: vscode.Extension; + let telemetryStub: sinon.SinonStub; - const includedFiles = process.platform === 'win32' ? + const includedFiles: string[] = process.platform === 'win32' ? ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] : ['/system/include/vector', '/system/include/string', '/home/src/my_project/foo.h']; - const rootUri = vscode.Uri.file(process.platform === 'win32' ? 'C:\\src\\my_project' : '/home/src/my_project'); - const expectedInclude = process.platform === 'win32' ? 'file:///c%3A/src/my_project/foo.h' : 'file:///home/src/my_project/foo.h'; + const rootUri: vscode.Uri = vscode.Uri.file(process.platform === 'win32' ? 'C:\\src\\my_project' : '/home/src/my_project'); + const expectedInclude: string = process.platform === 'win32' ? 'file:///c%3A/src/my_project/foo.h' : 'file:///home/src/my_project/foo.h'; + const sourceFileUri: vscode.Uri = vscode.Uri.file(process.platform === 'win32' ? 'file:///c%3A/src/my_project/foo.cpp' : 'file:///home/src/my_project/foo.cpp'); beforeEach(() => { proxyquire.noPreserveCache(); // Tells proxyquire to not fetch the module from cache @@ -66,27 +72,32 @@ describe('registerRelatedFilesProvider', () => { }; activeClientStub = sinon.createStubInstance(DefaultClient); - getActiveClientStub = sinon.stub(extension, 'getActiveClient').returns(activeClientStub); + const clientsStub = sinon.createStubInstance(ClientCollection); + getClientsStub = sinon.stub(extension, 'getClients').returns(clientsStub); + clientsStub.getClientFor.returns(activeClientStub); activeClientStub.getIncludes.resolves({ includedFiles: [] }); + telemetryStub = sinon.stub(telemetry, 'logCopilotEvent').returns(); }); afterEach(() => { sinon.restore(); }); - const arrange = ({ vscodeExtension, getIncludeFiles, chatContext, rootUri, flags }: - { vscodeExtension?: vscode.Extension; getIncludeFiles?: GetIncludesResult; chatContext?: ChatContextResult; rootUri?: vscode.Uri; flags?: Record } = - { vscodeExtension: undefined, getIncludeFiles: undefined, chatContext: undefined, rootUri: undefined, flags: {} } + const arrange = ({ vscodeExtension, getIncludeFiles, projectContext, rootUri, flags }: + { vscodeExtension?: vscode.Extension; getIncludeFiles?: GetIncludesResult; projectContext?: ProjectContext; rootUri?: vscode.Uri; flags?: Record } = + { vscodeExtension: undefined, getIncludeFiles: undefined, projectContext: undefined, rootUri: undefined, flags: {} } ) => { activeClientStub.getIncludes.resolves(getIncludeFiles); - activeClientStub.getChatContext.resolves(chatContext); + sinon.stub(lmTool, 'getProjectContext').resolves(projectContext); sinon.stub(activeClientStub, 'RootUri').get(() => rootUri); mockCopilotApi.registerRelatedFilesProvider.callsFake((_providerId: { extensionId: string; languageId: string }, callback: (uri: vscode.Uri, context: { flags: Record }, cancellationToken: vscode.CancellationToken) => Promise<{ entries: vscode.Uri[]; traits?: CopilotTrait[] }>) => { - const tokenSource = new vscode.CancellationTokenSource(); - try { - callbackPromise = callback(vscode.Uri.parse('file:///test-extension-path'), { flags: flags ?? {} }, tokenSource.token); - } finally { - tokenSource.dispose(); + if (_providerId.languageId === 'cpp') { + const tokenSource = new vscode.CancellationTokenSource(); + try { + callbackPromise = callback(sourceFileUri, { flags: flags ?? {} }, tokenSource.token); + } finally { + tokenSource.dispose(); + } } return { @@ -97,7 +108,7 @@ describe('registerRelatedFilesProvider', () => { vscodeGetExtensionsStub = sinon.stub(vscode.extensions, 'getExtension').returns(vscodeExtension); }; - it('should register provider', async () => { + it('should register provider.', async () => { arrange( { vscodeExtension: vscodeExtension } ); @@ -108,13 +119,13 @@ describe('registerRelatedFilesProvider', () => { ok(mockCopilotApi.registerRelatedFilesProvider.calledWithMatch(sinon.match({ extensionId: 'test-extension-id', languageId: sinon.match.in(['c', 'cpp', 'cuda-cpp']) })), 'registerRelatedFilesProvider should be called with the correct providerId and languageId'); }); - it('should not add #cpp traits when ChatContext isn\'t available.', async () => { + it('should not provide project context traits when project context isn\'t available.', async () => { arrange({ vscodeExtension: vscodeExtension, getIncludeFiles: { includedFiles }, - chatContext: undefined, + projectContext: undefined, rootUri, - flags: { copilotcppTraits: true } + flags: {} }); await moduleUnderTest.registerRelatedFilesProvider(); @@ -122,7 +133,7 @@ describe('registerRelatedFilesProvider', () => { ok(vscodeGetExtensionsStub.calledOnce, 'vscode.extensions.getExtension should be called once'); ok(mockCopilotApi.registerRelatedFilesProvider.calledWithMatch(sinon.match({ extensionId: 'test-extension-id', languageId: sinon.match.in(['c', 'cpp', 'cuda-cpp']) })), 'registerRelatedFilesProvider should be called with the correct providerId and languageId'); - ok(getActiveClientStub.callCount !== 0, 'getActiveClient should be called'); + ok(getClientsStub.callCount !== 0, 'getClients should be called'); ok(callbackPromise, 'callbackPromise should be defined'); ok(result, 'result should be defined'); ok(result.entries.length === 1, 'result.entries should have 1 included file'); @@ -130,122 +141,258 @@ describe('registerRelatedFilesProvider', () => { ok(result.traits === undefined, 'result.traits should be undefined'); }); - it('should not add #cpp traits when copilotcppTraits flag is false.', async () => { + const projectContextNoArgs: ProjectContext = { + language: 'C++', + standardVersion: 'C++20', + compiler: 'MSVC', + targetPlatform: 'Windows', + targetArchitecture: 'x64', + compilerArguments: {} + }; + + it('provides standardVersion trait by default.', async () => { arrange({ vscodeExtension: vscodeExtension, getIncludeFiles: { includedFiles }, - chatContext: { - language: 'c++', - standardVersion: 'c++20', - compiler: 'msvc', - targetPlatform: 'windows', - targetArchitecture: 'x64' - }, + projectContext: projectContextNoArgs, rootUri, - flags: { copilotcppTraits: false } + flags: {} }); await moduleUnderTest.registerRelatedFilesProvider(); const result = await callbackPromise; - ok(vscodeGetExtensionsStub.calledOnce, 'vscode.extensions.getExtension should be called once'); - ok(mockCopilotApi.registerRelatedFilesProvider.calledWithMatch(sinon.match({ extensionId: 'test-extension-id', languageId: sinon.match.in(['c', 'cpp', 'cuda-cpp']) })), 'registerRelatedFilesProvider should be called with the correct providerId and languageId'); - ok(getActiveClientStub.callCount !== 0, 'getActiveClient should be called'); - ok(callbackPromise, 'callbackPromise should be defined'); ok(result, 'result should be defined'); - ok(result.entries.length === 1, 'result.entries should have 1 included file'); - ok(result.entries[0].toString() === expectedInclude, `result.entries should have "${expectedInclude}"`); - ok(result.traits === undefined, 'result.traits should be undefined'); + ok(result.traits, 'result.traits should be defined'); + ok(result.traits.length === 1, 'result.traits should have 1 trait'); + ok(result.traits.find((trait) => trait.name === 'standardVersion'), 'result.traits should have a standardVersion trait'); + ok(result.traits.find((trait) => trait.name === 'standardVersion')?.value === 'C++20', 'result.traits should have a standardVersion trait with value "C++20"'); + ok(result.traits.find((trait) => trait.name === 'standardVersion')?.includeInPrompt, 'result.traits should have a standardVersion trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'standardVersion')?.promptTextOverride === 'This project uses the C++20 language standard.', 'result.traits should have a standardVersion trait with promptTextOverride'); }); - it('should add #cpp traits when copilotcppTraits flag is true.', async () => { + it('provides traits per copilotcppIncludeTraits.', async () => { arrange({ vscodeExtension: vscodeExtension, getIncludeFiles: { includedFiles }, - chatContext: { - language: 'c++', - standardVersion: 'c++20', - compiler: 'msvc', - targetPlatform: 'windows', - targetArchitecture: 'x64' - }, + projectContext: projectContextNoArgs, rootUri, - flags: { copilotcppTraits: true } + flags: { copilotcppIncludeTraits: ['intelliSenseDisclaimer', 'intelliSenseDisclaimerBeginning', 'language', 'compiler', 'targetPlatform', 'targetArchitecture', 'intelliSenseDisclaimerEnd'] } }); await moduleUnderTest.registerRelatedFilesProvider(); const result = await callbackPromise; + ok(result, 'result should be defined'); + ok(result.traits, 'result.traits should be defined'); + ok(result.traits.length === 8, 'result.traits should have 8 traits if none are excluded'); + ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimer'), 'result.traits should have a intellisense trait'); + ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimer')?.includeInPrompt, 'result.traits should have a intellisense trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimer')?.promptTextOverride === 'IntelliSense is currently configured with the following compiler information. It reflects the active configuration, and the project may have more configurations targeting different platforms.', 'result.traits should have a intellisense trait with promptTextOverride'); + ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerBeginning'), 'result.traits should have a intellisenseBegin trait'); + ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerBeginning')?.includeInPrompt, 'result.traits should have a intellisenseBegin trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerBeginning')?.promptTextOverride === 'Beginning of IntelliSense information.', 'result.traits should have a intellisenseBegin trait with promptTextOverride'); + ok(result.traits.find((trait) => trait.name === 'language'), 'result.traits should have a language trait'); + ok(result.traits.find((trait) => trait.name === 'language')?.value === 'C++', 'result.traits should have a language trait with value "C++"'); + ok(result.traits.find((trait) => trait.name === 'language')?.includeInPrompt, 'result.traits should have a language trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'language')?.promptTextOverride === 'The language is C++.', 'result.traits should have a language trait with promptTextOverride'); + ok(result.traits.find((trait) => trait.name === 'compiler'), 'result.traits should have a compiler trait'); + ok(result.traits.find((trait) => trait.name === 'compiler')?.value === 'MSVC', 'result.traits should have a compiler trait with value "MSVC"'); + ok(result.traits.find((trait) => trait.name === 'compiler')?.includeInPrompt, 'result.traits should have a compiler trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'compiler')?.promptTextOverride === 'This project compiles using MSVC.', 'result.traits should have a compiler trait with promptTextOverride'); + ok(result.traits.find((trait) => trait.name === 'standardVersion'), 'result.traits should have a standardVersion trait'); + ok(result.traits.find((trait) => trait.name === 'standardVersion')?.value === 'C++20', 'result.traits should have a standardVersion trait with value "C++20"'); + ok(result.traits.find((trait) => trait.name === 'standardVersion')?.includeInPrompt, 'result.traits should have a standardVersion trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'standardVersion')?.promptTextOverride === 'This project uses the C++20 language standard.', 'result.traits should have a standardVersion trait with promptTextOverride'); + ok(result.traits.find((trait) => trait.name === 'targetPlatform'), 'result.traits should have a targetPlatform trait'); + ok(result.traits.find((trait) => trait.name === 'targetPlatform')?.value === 'Windows', 'result.traits should have a targetPlatform trait with value "Windows"'); + ok(result.traits.find((trait) => trait.name === 'targetPlatform')?.includeInPrompt, 'result.traits should have a targetPlatform trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'targetPlatform')?.promptTextOverride === 'This build targets Windows.', 'result.traits should have a targetPlatform trait with promptTextOverride'); + ok(result.traits.find((trait) => trait.name === 'targetArchitecture'), 'result.traits should have a targetArchitecture trait'); + ok(result.traits.find((trait) => trait.name === 'targetArchitecture')?.value === 'x64', 'result.traits should have a targetArchitecture trait with value "x64"'); + ok(result.traits.find((trait) => trait.name === 'targetArchitecture')?.includeInPrompt, 'result.traits should have a targetArchitecture trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'targetArchitecture')?.promptTextOverride === 'This build targets x64.', 'result.traits should have a targetArchitecture trait with promptTextOverride'); + ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerEnd'), 'result.traits should have a intellisenseEnd trait'); + ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerEnd')?.includeInPrompt, 'result.traits should have a intellisenseEnd trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerEnd')?.promptTextOverride === 'End of IntelliSense information.', 'result.traits should have a intellisenseEnd trait with promptTextOverride'); + }); + + it('handles errors during provider registration.', async () => { + arrange({}); + + await moduleUnderTest.registerRelatedFilesProvider(); + ok(vscodeGetExtensionsStub.calledOnce, 'vscode.extensions.getExtension should be called once'); - ok(mockCopilotApi.registerRelatedFilesProvider.calledThrice, 'registerRelatedFilesProvider should be called three times'); - ok(mockCopilotApi.registerRelatedFilesProvider.calledWithMatch(sinon.match({ extensionId: 'test-extension-id', languageId: sinon.match.in(['c', 'cpp', 'cuda-cpp']) })), 'registerRelatedFilesProvider should be called with the correct providerId and languageId'); - ok(getActiveClientStub.callCount !== 0, 'getActiveClient should be called'); - ok(callbackPromise, 'callbackPromise should be defined'); + ok(mockCopilotApi.registerRelatedFilesProvider.notCalled, 'registerRelatedFilesProvider should not be called'); + }); + + const projectContext: ProjectContext = { + language: 'C++', + standardVersion: 'C++17', + compiler: 'MSVC', + targetPlatform: 'Windows', + targetArchitecture: 'x64', + compilerArguments: { "/std:c++\d+": '/std:c++17', "/GR-?": '/GR-', "/EH[ascr-]+": '/EHs-c-', "/await": '/await' } + }; + + it('provides compiler argument traits.', async () => { + arrange({ + vscodeExtension: vscodeExtension, + getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, + projectContext: projectContext, + rootUri: vscode.Uri.file('C:\\src\\my_project'), + flags: { + copilotcppIncludeTraits: ['compilerArguments'], + copilotcppMsvcCompilerArgumentFilter: '{"/std:c++\d+": "", "/GR-?": "", "/EH[ascr-]+": "", "/await": ""}' + } + }); + await moduleUnderTest.registerRelatedFilesProvider(); + + const result = await callbackPromise; + ok(result, 'result should be defined'); - ok(result.entries.length === 1, 'result.entries should have 1 included file'); - ok(result.entries[0].toString() === expectedInclude, `result.entries should have "${expectedInclude}"`); ok(result.traits, 'result.traits should be defined'); - ok(result.traits.length === 5, 'result.traits should have 5 traits'); - ok(result.traits[0].name === 'language', 'result.traits[0].name should be "language"'); - ok(result.traits[0].value === 'c++', 'result.traits[0].value should be "c++"'); - ok(result.traits[0].includeInPrompt, 'result.traits[0].includeInPrompt should be true'); - ok(result.traits[0].promptTextOverride === 'The language is c++.', 'result.traits[0].promptTextOverride should be "The language is c++."'); - ok(result.traits[1].name === 'compiler', 'result.traits[1].name should be "compiler"'); - ok(result.traits[1].value === 'msvc', 'result.traits[1].value should be "msvc"'); - ok(result.traits[1].includeInPrompt, 'result.traits[1].includeInPrompt should be true'); - ok(result.traits[1].promptTextOverride === 'This project compiles using msvc.', 'result.traits[1].promptTextOverride should be "This project compiles using msvc."'); - ok(result.traits[2].name === 'standardVersion', 'result.traits[2].name should be "standardVersion"'); - ok(result.traits[2].value === 'c++20', 'result.traits[2].value should be "c++20"'); - ok(result.traits[2].includeInPrompt, 'result.traits[2].includeInPrompt should be true'); - ok(result.traits[2].promptTextOverride === 'This project uses the c++20 language standard.', 'result.traits[2].promptTextOverride should be "This project uses the c++20 language standard."'); - ok(result.traits[3].name === 'targetPlatform', 'result.traits[3].name should be "targetPlatform"'); - ok(result.traits[3].value === 'windows', 'result.traits[3].value should be "windows"'); - ok(result.traits[3].includeInPrompt, 'result.traits[3].includeInPrompt should be true'); - ok(result.traits[3].promptTextOverride === 'This build targets windows.', 'result.traits[3].promptTextOverride should be "This build targets windows."'); - ok(result.traits[4].name === 'targetArchitecture', 'result.traits[4].name should be "targetArchitecture"'); - ok(result.traits[4].value === 'x64', 'result.traits[4].value should be "x64"'); - ok(result.traits[4].includeInPrompt, 'result.traits[4].includeInPrompt should be true'); - ok(result.traits[4].promptTextOverride === 'This build targets x64.', 'result.traits[4].promptTextOverride should be "This build targets x64."'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments'), 'result.traits should have a compiler arguments trait'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.value === '/std:c++17, /GR-, /EHs-c-, /await', 'result.traits should have a compiler arguments trait with value "/std:c++17, /GR-, /EHs-c-, /await"'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.includeInPrompt, 'result.traits should have a compiler arguments trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.promptTextOverride === 'The compiler arguments include: /std:c++17, /GR-, /EHs-c-, /await.', 'result.traits should have a compiler arguments trait with promptTextOverride'); + ok(!result.traits.find((trait) => trait.name === 'directAsks'), 'result.traits should not have a direct asks trait'); }); - it('should exclude #cpp traits per copilotcppExcludeTraits.', async () => { - const excludeTraits = ['compiler', 'targetPlatform']; + it('provide direct ask traits of compiler arguments.', async () => { arrange({ vscodeExtension: vscodeExtension, - getIncludeFiles: { includedFiles }, - chatContext: { - language: 'c++', - standardVersion: 'c++20', - compiler: 'msvc', - targetPlatform: 'windows', - targetArchitecture: 'x64' + getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, + projectContext: projectContext, + rootUri: vscode.Uri.file('C:\\src\\my_project'), + flags: { + copilotcppIncludeTraits: ['directAsks', 'compilerArguments'], + copilotcppMsvcCompilerArgumentFilter: '{"/std:c++\d+": "", "/await": "", "/GR-?": "", "/EH[ascr-]+": ""}', + copilotcppCompilerArgumentDirectAskMap: '{"/GR-": "Do not generate code using RTTI keywords.", "/EHs-c-": "Do not generate code using exception handling keywords."}' + } + }); + await moduleUnderTest.registerRelatedFilesProvider(); + + const result = await callbackPromise; + + ok(result, 'result should be defined'); + ok(result.traits, 'result.traits should be defined'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments'), 'result.traits should have a compiler arguments trait'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.value === '/std:c++17, /await', 'result.traits should have a compiler arguments trait with value "/std:c++17, /await"'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.includeInPrompt, 'result.traits should have a compiler arguments trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.promptTextOverride === 'The compiler arguments include: /std:c++17, /await.', 'result.traits should have a compiler arguments trait with promptTextOverride'); + ok(result.traits.find((trait) => trait.name === 'directAsks'), 'result.traits should have a direct asks trait'); + ok(result.traits.find((trait) => trait.name === 'directAsks')?.value === 'Do not generate code using RTTI keywords. Do not generate code using exception handling keywords. ', 'result.traits should have a direct asks value'); + ok(result.traits.find((trait) => trait.name === 'directAsks')?.includeInPrompt, 'result.traits should have a direct asks trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'directAsks')?.promptTextOverride === 'Do not generate code using RTTI keywords. Do not generate code using exception handling keywords. ', 'result.traits should have a direct ask trait with promptTextOverride'); + ok(telemetryStub.calledOnce, 'Telemetry should be called once'); + ok(telemetryStub.calledWithMatch('RelatedFilesProvider', sinon.match({ + "includeTraits": 'directAsks,compilerArguments', + 'traits': 'standardVersion,compilerArguments,directAsks' + }), sinon.match({ + 'duration': sinon.match.number + }))); + }); + + it('ignore compilerArguments trait if empty.', async () => { + arrange({ + vscodeExtension: vscodeExtension, + getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, + projectContext: projectContext, + rootUri: vscode.Uri.file('C:\\src\\my_project'), + flags: { + copilotcppIncludeTraits: ['directAsks', 'compilerArguments'], + copilotcppMsvcCompilerArgumentFilter: '{"/std:c++\d+": "", "/await": "", "/GR-?": "", "/EH[ascr-]+": ""}', + copilotcppCompilerArgumentDirectAskMap: '{"/GR-": "abc.", "/EHs-c-": "def.", "/std:c++17": "ghi.", "/await": "jkl."}' + } + }); + await moduleUnderTest.registerRelatedFilesProvider(); + + const result = await callbackPromise; + + ok(result, 'result should be defined'); + ok(result.traits, 'result.traits should be defined'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments') === undefined, 'result.traits should not have a compiler arguments trait'); + ok(result.traits.find((trait) => trait.name === 'directAsks'), 'result.traits should have a direct asks trait'); + ok(telemetryStub.calledOnce, 'Telemetry should be called once'); + ok(telemetryStub.calledWithMatch('RelatedFilesProvider', sinon.match({ + "includeTraits": 'directAsks,compilerArguments', + 'traits': 'standardVersion,directAsks' + }))); + }); + + it('uses only last argument from the duplicates.', async () => { + arrange({ + vscodeExtension: vscodeExtension, + getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, + projectContext: { + language: 'C++', + standardVersion: 'C++20', + compiler: 'MSVC', + targetPlatform: 'Windows', + targetArchitecture: 'x64', + compilerArguments: { "/std:c++\d+": '/std:c++20', "/await": '/await' } }, - rootUri, - flags: { copilotcppTraits: true, copilotcppExcludeTraits: excludeTraits } + rootUri: vscode.Uri.file('C:\\src\\my_project'), + flags: { + copilotcppIncludeTraits: ['compilerArguments'], + copilotcppMsvcCompilerArgumentFilter: '{"/std:c++\d+": "", "/await": ""}' + } }); await moduleUnderTest.registerRelatedFilesProvider(); const result = await callbackPromise; - ok(vscodeGetExtensionsStub.calledOnce, 'vscode.extensions.getExtension should be called once'); - ok(mockCopilotApi.registerRelatedFilesProvider.calledThrice, 'registerRelatedFilesProvider should be called three times'); - ok(mockCopilotApi.registerRelatedFilesProvider.calledWithMatch(sinon.match({ extensionId: 'test-extension-id', languageId: sinon.match.in(['c', 'cpp', 'cuda-cpp']) })), 'registerRelatedFilesProvider should be called with the correct providerId and languageId'); - ok(getActiveClientStub.callCount !== 0, 'getActiveClient should be called'); - ok(callbackPromise, 'callbackPromise should be defined'); ok(result, 'result should be defined'); - ok(result.entries.length === 1, 'result.entries should have 1 included file'); - ok(result.entries[0].toString() === expectedInclude, `result.entries should have "${expectedInclude}"`); ok(result.traits, 'result.traits should be defined'); - ok(result.traits.length === 3, 'result.traits should have 3 traits'); - ok(result.traits.filter(trait => excludeTraits.includes(trait.name)).length === 0, 'result.traits should not include excluded traits'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments'), 'result.traits should have a compiler arguments trait'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.value === '/std:c++20, /await', 'result.traits should have a compiler arguments trait with value "/std:c++20, /await"'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.includeInPrompt, 'result.traits should have a compiler arguments trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.promptTextOverride === 'The compiler arguments include: /std:c++20, /await.', 'result.traits should have a compiler arguments trait with promptTextOverride'); }); - it('should handle errors during provider registration', async () => { - arrange({}); + it('provides direct asks trait for absence of arguments.', async () => { + arrange({ + vscodeExtension: vscodeExtension, + getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, + projectContext: projectContextNoArgs, + rootUri: vscode.Uri.file('C:\\src\\my_project'), + flags: { + copilotcppIncludeTraits: ['directAsks'], + copilotcppMsvcCompilerArgumentFilter: + '{"/FOO": "/FOO is not set.", "/BAR": "/BAR is not set."}' + } + }); + await moduleUnderTest.registerRelatedFilesProvider(); + + const result = await callbackPromise; + + ok(result, 'result should be defined'); + ok(result.traits, 'result.traits should be defined'); + ok(result.traits.find((trait) => trait.name === 'directAsks'), 'result.traits should have a direct asks trait'); + ok(result.traits.find((trait) => trait.name === 'directAsks')?.value === '/FOO is not set. /BAR is not set. ', 'result.traits should have a direct asks value'); + ok(result.traits.find((trait) => trait.name === 'directAsks')?.includeInPrompt, 'result.traits should have a direct asks trait with includeInPrompt true'); + ok(result.traits.find((trait) => trait.name === 'directAsks')?.promptTextOverride === "/FOO is not set. /BAR is not set. ", 'result.traits should have a direct ask trait with promptTextOverride'); + }); + it('does not accept empty regex.', async () => { + arrange({ + vscodeExtension: vscodeExtension, + getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, + projectContext: projectContextNoArgs, + rootUri: vscode.Uri.file('C:\\src\\my_project'), + flags: { + copilotcppIncludeTraits: ['directAsks'], + copilotcppMsvcCompilerArgumentFilter: + '{"": "Empty regex not allowed."}' + } + }); await moduleUnderTest.registerRelatedFilesProvider(); - ok(vscodeGetExtensionsStub.calledOnce, 'vscode.extensions.getExtension should be called once'); - ok(mockCopilotApi.registerRelatedFilesProvider.notCalled, 'registerRelatedFilesProvider should not be called'); + const result = await callbackPromise; + + ok(result, 'result should be defined'); + ok(result.traits, 'result.traits should be defined'); + ok(result.traits.find((trait) => trait.name === 'directAsks') === undefined, 'result.traits should not have a direct asks trait'); }); }); diff --git a/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts b/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts new file mode 100644 index 0000000000..01f55c98bf --- /dev/null +++ b/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts @@ -0,0 +1,438 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ + +import { ok } from 'assert'; +import { afterEach, beforeEach, describe, it } from 'mocha'; +import * as sinon from 'sinon'; +import * as vscode from 'vscode'; +import * as util from '../../../../src/common'; +import { ChatContextResult, DefaultClient, ProjectContextResult } from '../../../../src/LanguageServer/client'; +import { ClientCollection } from '../../../../src/LanguageServer/clientCollection'; +import * as extension from '../../../../src/LanguageServer/extension'; +import { CppConfigurationLanguageModelTool, getProjectContext } from '../../../../src/LanguageServer/lmTool'; +import * as telemetry from '../../../../src/telemetry'; + +describe('CppConfigurationLanguageModelTool Tests', () => { + let mockLanguageModelToolInvocationOptions: sinon.SinonStubbedInstance>; + let activeClientStub: sinon.SinonStubbedInstance; + let mockTextEditorStub: MockTextEditor; + let mockTextDocumentStub: sinon.SinonStubbedInstance; + let telemetryStub: sinon.SinonStub; + + class MockLanguageModelToolInvocationOptions implements vscode.LanguageModelToolInvocationOptions { + tokenizationOptions?: vscode.LanguageModelToolTokenizationOptions | undefined; + toolInvocationToken: undefined; + input: undefined; + } + class MockTextEditor implements vscode.TextEditor { + constructor(selection: vscode.Selection, selections: readonly vscode.Selection[], visibleRanges: readonly vscode.Range[], options: vscode.TextEditorOptions, document: vscode.TextDocument, viewColumn?: vscode.ViewColumn) { + this.selection = selection; + this.selections = selections; + this.visibleRanges = visibleRanges; + this.options = options; + this.viewColumn = viewColumn; + this.document = document; + } + selection: vscode.Selection; + selections: readonly vscode.Selection[]; + visibleRanges: readonly vscode.Range[]; + options: vscode.TextEditorOptions; + viewColumn: vscode.ViewColumn | undefined; + edit(_callback: (editBuilder: vscode.TextEditorEdit) => void, _options?: { readonly undoStopBefore: boolean; readonly undoStopAfter: boolean }): Thenable { + throw new Error('Method not implemented.'); + } + insertSnippet(_snippet: vscode.SnippetString, _location?: vscode.Position | vscode.Range | readonly vscode.Position[] | readonly vscode.Range[], _options?: { readonly undoStopBefore: boolean; readonly undoStopAfter: boolean }): Thenable { + throw new Error('Method not implemented.'); + } + setDecorations(_decorationType: vscode.TextEditorDecorationType, _rangesOrOptions: readonly vscode.Range[] | readonly vscode.DecorationOptions[]): void { + throw new Error('Method not implemented.'); + } + revealRange(_range: vscode.Range, _revealType?: vscode.TextEditorRevealType): void { + throw new Error('Method not implemented.'); + } + show(_column?: vscode.ViewColumn): void { + throw new Error('Method not implemented.'); + } + hide(): void { + throw new Error('Method not implemented.'); + } + document: vscode.TextDocument; + } + class MockTextDocument implements vscode.TextDocument { + uri: vscode.Uri; + constructor(uri: vscode.Uri, fileName: string, isUntitled: boolean, languageId: string, version: number, isDirty: boolean, isClosed: boolean, eol: vscode.EndOfLine, lineCount: number) { + this.uri = uri; + this.fileName = fileName; + this.isUntitled = isUntitled; + this.languageId = languageId; + this.version = version; + this.isDirty = isDirty; + this.isClosed = isClosed; + this.eol = eol; + this.lineCount = lineCount; + } + fileName: string; + isUntitled: boolean; + languageId: string; + version: number; + isDirty: boolean; + isClosed: boolean; + save(): Thenable { + throw new Error('Method not implemented.'); + } + eol: vscode.EndOfLine; + lineCount: number; + + lineAt(line: number): vscode.TextLine; + // eslint-disable-next-line @typescript-eslint/unified-signatures + lineAt(position: vscode.Position): vscode.TextLine; + lineAt(_arg: number | vscode.Position): vscode.TextLine { + throw new Error('Method not implemented.'); + } + offsetAt(_position: vscode.Position): number { + throw new Error('Method not implemented.'); + } + positionAt(_offset: number): vscode.Position { + throw new Error('Method not implemented.'); + } + getText(_range?: vscode.Range): string { + throw new Error('Method not implemented.'); + } + getWordRangeAtPosition(_position: vscode.Position, _regex?: RegExp): vscode.Range | undefined { + throw new Error('Method not implemented.'); + } + validateRange(_range: vscode.Range): vscode.Range { + throw new Error('Method not implemented.'); + } + validatePosition(_position: vscode.Position): vscode.Position { + throw new Error('Method not implemented.'); + } + } + beforeEach(() => { + sinon.stub(util, 'extensionContext').value({ extension: { id: 'test-extension-id' } }); + + mockTextDocumentStub = sinon.createStubInstance(MockTextDocument); + mockTextEditorStub = new MockTextEditor(new vscode.Selection(0, 0, 0, 0), [], [], { tabSize: 4 }, mockTextDocumentStub); + mockLanguageModelToolInvocationOptions = new MockLanguageModelToolInvocationOptions(); + activeClientStub = sinon.createStubInstance(DefaultClient); + const clientsStub = sinon.createStubInstance(ClientCollection); + sinon.stub(extension, 'getClients').returns(clientsStub); + sinon.stub(clientsStub, 'ActiveClient').get(() => activeClientStub); + activeClientStub.getIncludes.resolves({ includedFiles: [] }); + sinon.stub(vscode.window, 'activeTextEditor').get(() => mockTextEditorStub); + telemetryStub = sinon.stub(telemetry, 'logCopilotEvent').returns(); + }); + + afterEach(() => { + sinon.restore(); + }); + + const arrangeChatContextFromCppTools = ({ chatContextFromCppTools, isCpp, isHeaderFile }: + { chatContextFromCppTools?: ChatContextResult; isCpp?: boolean; isHeaderFile?: boolean } = + { chatContextFromCppTools: undefined, isCpp: undefined, isHeaderFile: false } + ) => { + activeClientStub.getChatContext.resolves(chatContextFromCppTools); + sinon.stub(util, 'isCpp').returns(isCpp ?? true); + sinon.stub(util, 'isHeaderFile').returns(isHeaderFile ?? false); + }; + + const arrangeProjectContextFromCppTools = ({ projectContextFromCppTools, isCpp, isHeaderFile }: + { projectContextFromCppTools?: ProjectContextResult; isCpp?: boolean; isHeaderFile?: boolean } = + { projectContextFromCppTools: undefined, isCpp: undefined, isHeaderFile: false } + ) => { + activeClientStub.getProjectContext.resolves(projectContextFromCppTools); + sinon.stub(util, 'isCpp').returns(isCpp ?? true); + sinon.stub(util, 'isHeaderFile').returns(isHeaderFile ?? false); + }; + + it('should log telemetry and provide #cpp chat context.', async () => { + arrangeChatContextFromCppTools({ + chatContextFromCppTools: { + language: 'cpp', + standardVersion: 'c++20', + compiler: 'msvc', + targetPlatform: 'windows', + targetArchitecture: 'x64' + } + }); + + const result = await new CppConfigurationLanguageModelTool().invoke(mockLanguageModelToolInvocationOptions, new vscode.CancellationTokenSource().token); + + ok(telemetryStub.calledOnce, 'Telemetry should be called once'); + ok(telemetryStub.calledWithMatch('Chat/Tool/cpp', sinon.match({ + "language": 'C++', + "compiler": 'MSVC', + "standardVersion": 'C++20', + "targetPlatform": 'Windows', + "targetArchitecture": 'x64' + }))); + ok(result, 'result should not be undefined'); + const text = result.content[0] as vscode.LanguageModelTextPart; + ok(text, 'result should contain a text part'); + ok(text.value === 'The user is working on a C++ project. The project uses language version C++20. The project compiles using the MSVC compiler. The project targets the Windows platform. The project targets the x64 architecture. '); + }); + + const testGetProjectContext = async ({ + compiler, + expectedCompiler, + context, + compilerArguments: compilerArguments, + expectedCompilerArguments, + telemetryProperties, + telemetryMetrics + }: { + compiler: string; + expectedCompiler: string; + context: { flags: Record }; + compilerArguments: string[]; + expectedCompilerArguments: Record; + telemetryProperties: Record; + telemetryMetrics: Record; + }) => { + arrangeProjectContextFromCppTools({ + projectContextFromCppTools: { + language: 'cpp', + standardVersion: 'c++20', + compiler: compiler, + targetPlatform: 'windows', + targetArchitecture: 'x64', + fileContext: { + compilerArguments: compilerArguments + } + } + }); + + const result = await getProjectContext(mockTextDocumentStub.uri, context, telemetryProperties, telemetryMetrics); + + ok(result, 'result should not be undefined'); + ok(result.language === 'C++'); + ok(result.compiler === expectedCompiler); + ok(result.standardVersion === 'C++20'); + ok(result.targetPlatform === 'Windows'); + ok(result.targetArchitecture === 'x64'); + ok(JSON.stringify(result.compilerArguments) === JSON.stringify(expectedCompilerArguments)); + }; + + it('should provide compilerArguments based on copilotcppMsvcCompilerArgumentFilter.', async () => { + await testGetProjectContext({ + compiler: 'msvc', + expectedCompiler: 'MSVC', + context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo-?": ""}' } }, + compilerArguments: ['foo', 'bar', 'abc', 'foo-'], + expectedCompilerArguments: { 'foo-?': 'foo-' }, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should provide compilerArguments based on copilotcppClangCompilerArgumentFilter.', async () => { + await testGetProjectContext({ + compiler: 'clang', + expectedCompiler: 'Clang', + context: { flags: { copilotcppClangCompilerArgumentFilter: '{"foo": "", "bar": ""}' } }, + compilerArguments: ['foo', 'bar', 'abc'], + expectedCompilerArguments: { 'foo': 'foo', 'bar': 'bar' }, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should support spaces between argument and value.', async () => { + await testGetProjectContext({ + compiler: 'clang', + expectedCompiler: 'Clang', + context: { flags: { copilotcppClangCompilerArgumentFilter: '{"-std\\\\sc\\\\+\\\\+\\\\d+": ""}' } }, + compilerArguments: ['-std', 'c++17', '-std', 'foo', '-std', 'c++11', '-std', 'bar'], + expectedCompilerArguments: { '-std\\sc\\+\\+\\d+': '-std c++11' }, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should provide compilerArguments based on copilotcppGccCompilerArgumentFilter.', async () => { + await testGetProjectContext({ + compiler: 'gcc', + expectedCompiler: 'GCC', + context: { flags: { copilotcppGccCompilerArgumentFilter: '{"foo": "", "bar": ""}' } }, + compilerArguments: ['foo', 'bar', 'abc', 'bar', 'foo', 'bar'], + expectedCompilerArguments: { 'foo': 'foo', 'bar': 'bar' }, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should provide empty array for each regex if nothing matches.', async () => { + await testGetProjectContext({ + compiler: 'msvc', + expectedCompiler: 'MSVC', + context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo": "", "bar": ""}' } }, + compilerArguments: [], + expectedCompilerArguments: {}, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should filter out all compilerArguments by default.', async () => { + await testGetProjectContext({ + compiler: 'gcc', + expectedCompiler: 'GCC', + context: { flags: {} }, + compilerArguments: ['foo', 'bar'], + expectedCompilerArguments: {}, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should filter out all compilerArguments for empty regex.', async () => { + await testGetProjectContext({ + compiler: 'msvc', + expectedCompiler: 'MSVC', + context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"": ""}' } }, + compilerArguments: ['foo', 'bar'], + expectedCompilerArguments: {}, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should filter out all compilerArguments for empty copilotcppMsvcCompilerArgumentFilter.', async () => { + await testGetProjectContext({ + compiler: 'msvc', + expectedCompiler: 'MSVC', + context: { + flags: { + copilotcppMsvcCompilerArgumentFilter: '' + } + }, + compilerArguments: ['foo', 'bar'], + expectedCompilerArguments: {}, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should filter out all compilerArguments for invalid copilotcppMsvcCompilerArgumentFilter.', async () => { + await testGetProjectContext({ + compiler: 'msvc', + expectedCompiler: 'MSVC', + context: { + flags: { + copilotcppMsvcCompilerArgumentFilter: 'Not a map' + } + }, + compilerArguments: ['foo', 'bar'], + expectedCompilerArguments: {}, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should filter out all compilerArguments for unknown compilers.', async () => { + await testGetProjectContext({ + compiler: 'unknown', + expectedCompiler: '', + context: { + flags: { + copilotcppMsvcCompilerArgumentFilter: '{"(foo|bar)": ""}', + copilotcppClangCompilerArgumentFilter: '{"(foo|bar)": ""}', + copilotcppGccCompilerArgumentFilter: '{"(foo|bar)": ""}' + } + }, + compilerArguments: ['foo', 'bar'], + expectedCompilerArguments: {}, + telemetryProperties: {}, + telemetryMetrics: {} + }); + }); + + it('should send telemetry.', async () => { + const telemetryProperties: Record = {}; + const telemetryMetrics: Record = {}; + const input = { + compiler: 'msvc', + expectedCompiler: 'MSVC', + context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo-?": "", "": "", "bar": "", "xyz": ""}' } }, + compilerArguments: ['foo', 'bar', 'foo-', 'abc'], + expectedCompilerArguments: { 'foo-?': 'foo-', 'bar': 'bar' }, + telemetryProperties, + telemetryMetrics + }; + await testGetProjectContext(input); + + ok(telemetryProperties['language'] === 'C++'); + ok(telemetryProperties['compiler'] === input.expectedCompiler); + ok(telemetryProperties['standardVersion'] === 'C++20'); + ok(telemetryProperties['targetPlatform'] === 'Windows'); + ok(telemetryProperties['targetArchitecture'] === 'x64'); + ok(telemetryProperties['filteredCompilerArguments'] === 'foo,foo-,bar'); + ok(telemetryProperties['filters'] === 'foo-?,bar,xyz'); + ok(telemetryMetrics['compilerArgumentCount'] === input.compilerArguments.length); + ok(telemetryMetrics['projectContextDuration'] !== undefined); + }); + + it('should send filter telemetry if available.', async () => { + const telemetryProperties: Record = {}; + const telemetryMetrics: Record = {}; + const input = { + compiler: 'msvc', + expectedCompiler: 'MSVC', + context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo-?": "", "": "", "bar": "", "xyz": ""}' } }, + compilerArguments: ['abc'], + expectedCompilerArguments: {}, + telemetryProperties, + telemetryMetrics + }; + await testGetProjectContext(input); + + ok(telemetryProperties['language'] === 'C++'); + ok(telemetryProperties['compiler'] === input.expectedCompiler); + ok(telemetryProperties['standardVersion'] === 'C++20'); + ok(telemetryProperties['targetPlatform'] === 'Windows'); + ok(telemetryProperties['targetArchitecture'] === 'x64'); + ok(telemetryProperties['filteredCompilerArguments'] === undefined); + ok(telemetryProperties['filters'] === 'foo-?,bar,xyz'); + ok(telemetryMetrics['compilerArgumentCount'] === input.compilerArguments.length); + ok(telemetryMetrics['projectContextDuration'] !== undefined); + }); + + it('should not send telemetry for unknown values', async () => { + arrangeProjectContextFromCppTools({ + projectContextFromCppTools: { + language: 'java', + standardVersion: 'gnu++17', + compiler: 'javac', + targetPlatform: 'arduino', + targetArchitecture: 'bar', + fileContext: { + compilerArguments: [] + } + } + }); + const telemetryProperties: Record = {}; + const telemetryMetrics: Record = {}; + + const result = await getProjectContext(mockTextDocumentStub.uri, { + flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo-?": "", "": "", "bar": "", "xyz": ""}' } + }, telemetryProperties, telemetryMetrics); + + ok(telemetryProperties["targetArchitecture"] === 'bar'); + ok(telemetryProperties["filters"] === undefined); + ok(telemetryProperties["language"] === undefined); + ok(telemetryProperties["compiler"] === undefined); + ok(telemetryProperties["standardVersion"] === undefined); + ok(telemetryProperties["originalStandardVersion"] === 'gnu++17'); + ok(telemetryProperties["targetPlatform"] === undefined); + ok(telemetryMetrics["compilerArgumentCount"] === 0); + ok(result, 'result should not be undefined'); + ok(result.language === ''); + ok(result.compiler === ''); + ok(result.standardVersion === ''); + ok(result.targetPlatform === ''); + ok(result.targetArchitecture === 'bar'); + ok(Object.keys(result.compilerArguments).length === 0); + }); +}); diff --git a/Extension/ui/settings.html b/Extension/ui/settings.html index 01ea0d9e89..8abe8ef48c 100644 --- a/Extension/ui/settings.html +++ b/Extension/ui/settings.html @@ -672,11 +672,12 @@
Compile commands
- The full path to the compile_commands.json file for the workspace. The include paths and defines discovered in this file will be used instead of the values set for includePath and defines settings. If the compile commands database does not contain an entry for the translation unit that corresponds to the file you opened in the editor, then a warning message will appear and the extension will use the includePath and defines settings instead. + A list of paths to compile_commands.json files for the workspace. The include paths and defines discovered in these files will be used instead of the values set for includePath and defines settings. If the compile commands database does not contain an entry for the translation unit that corresponds to the file you opened in the editor, then a warning message will appear and the extension will use the includePath and defines settings instead.
- -
+
One compile commands path per line.
+ +
diff --git a/Extension/ui/settings.ts b/Extension/ui/settings.ts index e70516b27a..fc75f4cbdf 100644 --- a/Extension/ui/settings.ts +++ b/Extension/ui/settings.ts @@ -295,7 +295,7 @@ class SettingsApp { // Advanced settings (document.getElementById(elementId.windowsSdkVersion)).value = config.windowsSdkVersion ? config.windowsSdkVersion : ""; (document.getElementById(elementId.macFrameworkPath)).value = joinEntries(config.macFrameworkPath); - (document.getElementById(elementId.compileCommands)).value = config.compileCommands ? config.compileCommands : ""; + (document.getElementById(elementId.compileCommands)).value = joinEntries(config.compileCommands); (document.getElementById(elementId.mergeConfigurations)).checked = config.mergeConfigurations; (document.getElementById(elementId.configurationProvider)).value = config.configurationProvider ? config.configurationProvider : ""; (document.getElementById(elementId.forcedInclude)).value = joinEntries(config.forcedInclude); diff --git a/Extension/walkthrough/devcommandprompt/open-developer-command-prompt.md b/Extension/walkthrough/devcommandprompt/open-developer-command-prompt.md index 38bc6fd205..e8af0926f2 100644 --- a/Extension/walkthrough/devcommandprompt/open-developer-command-prompt.md +++ b/Extension/walkthrough/devcommandprompt/open-developer-command-prompt.md @@ -1,7 +1,7 @@ -

Relaunch using the developer command prompt

-

You are using a windows machine with the MSVC compiler, so you need to start VS Code from the developer command prompt for all environment variables to be set correctly. To relaunch using the developer command prompt:

+

Relaunch using the Developer Command Prompt for VS

+

You are using a Windows machine with the MSVC compiler, so you need to start VS Code from the Developer Command Prompt for VS for all environment variables to be set correctly. To relaunch using the Developer Command Prompt for VS:

    -
  1. Open the Developer Command Prompt for VS by typing "developer" in the Windows Start menu. Select the Developer Command Prompt for VS, which will automatically navigate to your current open folder.

    +
  2. Open the Developer Command Prompt for VS by typing "developer" in the Windows Start menu. Select the Developer Command Prompt for VS, which will automatically navigate to your current open folder.

  3. -
  4. Type "code" into the command prompt and hit enter. This should relaunch VS Code and take you back to this walkthrough.

    +
  5. Type "code" into the command prompt and hit enter. This should relaunch VS Code and take you back to this walkthrough.

  6. diff --git a/Extension/walkthrough/installcompiler/install-compiler-windows.md b/Extension/walkthrough/installcompiler/install-compiler-windows.md index 7abf671dde..81cdda541d 100644 --- a/Extension/walkthrough/installcompiler/install-compiler-windows.md +++ b/Extension/walkthrough/installcompiler/install-compiler-windows.md @@ -8,11 +8,11 @@

    Note: You can use the C++ toolset from Visual Studio Build Tools along with Visual Studio Code to compile, build, and verify any C++ codebase as long as you also have a valid Visual Studio license (either Community, Pro, or Enterprise) that you are actively using to develop that C++ codebase.

    -
  7. Open the Developer Command Prompt for VS by typing 'developer' in the Windows Start menu.

    +
  8. Open the Developer Command Prompt for VS by typing 'developer' in the Windows Start menu.

  9. -
  10. Check your MSVC installation by typing cl into the Developer Command Prompt for VS. You should see a copyright message with the version and basic usage description.

    +
  11. Check your MSVC installation by typing cl into the Developer Command Prompt for VS. You should see a copyright message with the version and basic usage description.

    -

    Note: To use MSVC from the command line or VS Code, you must run from a Developer Command Prompt for VS. An ordinary shell such as PowerShell, Bash, or the Windows command prompt does not have the necessary path environment variables set.

    +

    Note: To use MSVC from the command line or VS Code, you must run from a Developer Command Prompt for VS. An ordinary shell such as PowerShell, Bash, or the Windows command prompt does not have the necessary path environment variables set.

\ No newline at end of file diff --git a/Extension/walkthrough/installcompiler/install-compiler-windows10.md b/Extension/walkthrough/installcompiler/install-compiler-windows10.md index 999b9ed46f..1bcae2d9a5 100644 --- a/Extension/walkthrough/installcompiler/install-compiler-windows10.md +++ b/Extension/walkthrough/installcompiler/install-compiler-windows10.md @@ -11,11 +11,11 @@

Verifying the compiler installation

    -
  1. Open the Developer Command Prompt for VS by typing 'developer' in the Windows Start menu.

    +
  2. Open the Developer Command Prompt for VS by typing 'developer' in the Windows Start menu.

  3. -
  4. Check your MSVC installation by typing cl into the Developer Command Prompt for VS. You should see a copyright message with the version and basic usage description.

    +
  5. Check your MSVC installation by typing cl into the Developer Command Prompt for VS. You should see a copyright message with the version and basic usage description.

    -

    Note: To use MSVC from the command line or VS Code, you must run from a Developer Command Prompt for VS. An ordinary shell such as PowerShell, Bash, or the Windows command prompt does not have the necessary path environment variables set.

    +

    Note: To use MSVC from the command line or VS Code, you must run from a Developer Command Prompt for VS. An ordinary shell such as PowerShell, Bash, or the Windows command prompt does not have the necessary path environment variables set.

diff --git a/Extension/walkthrough/installcompiler/install-compiler-windows11.md b/Extension/walkthrough/installcompiler/install-compiler-windows11.md index 1d21f45960..d711b8d9ef 100644 --- a/Extension/walkthrough/installcompiler/install-compiler-windows11.md +++ b/Extension/walkthrough/installcompiler/install-compiler-windows11.md @@ -11,11 +11,11 @@

Verifying the compiler installation

    -
  1. Open the Developer Command Prompt for VS by typing 'developer' in the Windows Start menu.

    +
  2. Open the Developer Command Prompt for VS by typing 'developer' in the Windows Start menu.

  3. -
  4. Check your MSVC installation by typing cl into the Developer Command Prompt for VS. You should see a copyright message with the version and basic usage description.

    +
  5. Check your MSVC installation by typing cl into the Developer Command Prompt for VS. You should see a copyright message with the version and basic usage description.

    -

    Note: To use MSVC from the command line or VS Code, you must run from a Developer Command Prompt for VS. An ordinary shell such as PowerShell, Bash, or the Windows command prompt does not have the necessary path environment variables set.

    +

    Note: To use MSVC from the command line or VS Code, you must run from a Developer Command Prompt for VS. An ordinary shell such as PowerShell, Bash, or the Windows command prompt does not have the necessary path environment variables set.

diff --git a/Extension/yarn.lock b/Extension/yarn.lock index 7a59a937de..3c5fdaa194 100644 --- a/Extension/yarn.lock +++ b/Extension/yarn.lock @@ -448,7 +448,7 @@ resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha1-B1CLRXl8uB7D8nMBGwVM0HVe3co= -"@types/minimatch@^3.0.3", "@types/minimatch@^3.0.5": +"@types/minimatch@^3.0.3": version "3.0.5" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha1-EAHMXmo3BLg8I2An538vWOoBD0A= @@ -1428,9 +1428,9 @@ create-require@^1.1.0: integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= + version "7.0.6" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha1-ilj+ePANzXDDcEUXWd+/rwPo7p8= dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -3278,6 +3278,13 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" +minimatch@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.3.tgz#b4dcece1d674dee104bb0fb833ebb85a78cbbca6" + integrity sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng== + dependencies: + brace-expansion "^1.1.7" + minimatch@^5.0.1, minimatch@^5.1.0, minimatch@^5.1.6: version "5.1.6" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" @@ -3348,9 +3355,9 @@ mute-stdout@^2.0.0: integrity sha1-xqm0thhdO39w0//Lc0y/yLDzh2E= nanoid@^3.3.7: - version "3.3.7" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha1-0MMBppG8jVTvoKIibM8/4v1la9g= + version "3.3.8" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" + integrity sha1-sb4wML7jaq/xi6yzdeXM5SFoS68= natural-compare@^1.4.0: version "1.4.0"