diff --git a/.github/actions/AddComment/AddComment.js b/.github/actions/AddComment/AddComment.js index ffcf3a1343..f621a4f7dd 100644 --- a/.github/actions/AddComment/AddComment.js +++ b/.github/actions/AddComment/AddComment.js @@ -31,6 +31,22 @@ class AddComment extends ActionBase_1.ActionBase { if (hydrated.open && this.validateIssue(hydrated) // TODO: Verify updated timestamp ) { + // Don't add a comment if already commented on by an action. + let foundActionComment = false; + for await (const commentBatch of issue.getComments()) { + for (const comment of commentBatch) { + if (comment.author.isGitHubApp) { + foundActionComment = true; + break; + } + } + if (foundActionComment) + break; + } + if (foundActionComment) { + (0, utils_1.safeLog)(`Issue ${hydrated.number} already commented on by an action. Ignoring.`); + continue; + } if (this.addComment) { (0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`); await issue.postComment(this.addComment); diff --git a/.github/actions/AddComment/AddComment.ts b/.github/actions/AddComment/AddComment.ts index e21bf213a3..9dd36e1bb2 100644 --- a/.github/actions/AddComment/AddComment.ts +++ b/.github/actions/AddComment/AddComment.ts @@ -10,7 +10,7 @@ import { daysAgoToHumanReadbleDate, daysAgoToTimestamp, safeLog } from '../commo export class AddComment extends ActionBase { constructor( private github: GitHub, - private createdAfter: string, + private createdAfter: string | undefined, private afterDays: number, labels: string, private addComment: string, @@ -45,6 +45,23 @@ export class AddComment extends ActionBase { if (hydrated.open && this.validateIssue(hydrated) // TODO: Verify updated timestamp ) { + // Don't add a comment if already commented on by an action. + let foundActionComment = false; + for await (const commentBatch of issue.getComments()) { + for (const comment of commentBatch) { + if (comment.author.isGitHubApp) { + foundActionComment = true; + break; + } + } + if (foundActionComment) + break; + } + if (foundActionComment) { + safeLog(`Issue ${hydrated.number} already commented on by an action. Ignoring.`); + continue; + } + if (this.addComment) { safeLog(`Posting comment on issue ${hydrated.number}`); await issue.postComment(this.addComment); diff --git a/.github/workflows/bug-debugger.yml b/.github/workflows/bug-debugger.yml index 294ecfa9de..1a7bee6759 100644 --- a/.github/workflows/bug-debugger.yml +++ b/.github/workflows/bug-debugger.yml @@ -1,7 +1,7 @@ name: Bug - debugger on: schedule: - - cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT) + - cron: 50 12 * * * # Run at 12:50 PM UTC (4:50 AM PST, 5:50 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/by-design-closer-debugger .yml b/.github/workflows/by-design-closer-debugger .yml index 153c1e9668..35c342ce4e 100644 --- a/.github/workflows/by-design-closer-debugger .yml +++ b/.github/workflows/by-design-closer-debugger .yml @@ -1,7 +1,7 @@ name: By Design closer - debugger on: schedule: - - cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT) + - cron: 0 13 * * * # Run at 1:00 PM UTC (5:00 AM PST, 6:00 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/enhancement-closer-no-milestone.yml b/.github/workflows/enhancement-closer-no-milestone.yml index a8b1a89c59..736e91e042 100644 --- a/.github/workflows/enhancement-closer-no-milestone.yml +++ b/.github/workflows/enhancement-closer-no-milestone.yml @@ -1,7 +1,7 @@ name: Enhancement Closer (no milestone) on: schedule: - - cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT) + - cron: 40 12 * * * # Run at 12:40 PM UTC (4:40 AM PST, 5:40 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/enhancement-closer-triage.yml b/.github/workflows/enhancement-closer-triage.yml index 34f02fb074..543bb972f6 100644 --- a/.github/workflows/enhancement-closer-triage.yml +++ b/.github/workflows/enhancement-closer-triage.yml @@ -1,7 +1,7 @@ name: Enhancement Closer (Triage) on: schedule: - - cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT) + - cron: 30 12 * * * # Run at 12:30 PM UTC (4:30 AM PST, 5:30 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/enhancement-reopener.yml b/.github/workflows/enhancement-reopener.yml index 830823cdad..df3d486f63 100644 --- a/.github/workflows/enhancement-reopener.yml +++ b/.github/workflows/enhancement-reopener.yml @@ -1,7 +1,7 @@ name: Enhancement Reopener on: schedule: - - cron: 20 12 * * * # Run at 12:20 PM UTC (4:20 AM PST, 5:20 AM PDT) + - cron: 0 11 * * * # Run at 11:00 AM UTC (3:00 AM PST, 4:00 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/external-closer-debugger.yml b/.github/workflows/external-closer-debugger.yml index 0277b69bfc..55c34cdd47 100644 --- a/.github/workflows/external-closer-debugger.yml +++ b/.github/workflows/external-closer-debugger.yml @@ -1,7 +1,7 @@ name: External closer - debugger on: schedule: - - cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT) + - cron: 10 13 * * * # Run at 1:10 PM UTC (5:10 AM PST, 6:10 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/feature-request-debugger.yml b/.github/workflows/feature-request-debugger.yml index e80aba06ff..2e3997ea5d 100644 --- a/.github/workflows/feature-request-debugger.yml +++ b/.github/workflows/feature-request-debugger.yml @@ -1,7 +1,7 @@ name: Feature Request - debugger on: schedule: - - cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT) + - cron: 20 13 * * * # Run at 1:20 PM UTC (5:20 AM PST, 6:20 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/investigate-closer-debugger.yml b/.github/workflows/investigate-closer-debugger.yml index a13179ce66..ec4c523d7c 100644 --- a/.github/workflows/investigate-closer-debugger.yml +++ b/.github/workflows/investigate-closer-debugger.yml @@ -1,7 +1,7 @@ name: Investigate closer - debugger on: schedule: - - cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT) + - cron: 30 13 * * * # Run at 1:30 PM UTC (5:30 AM PST, 6:30 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/investigate-costing-closer-debugger.yml b/.github/workflows/investigate-costing-closer-debugger.yml index 4432533ade..0ce6a696bc 100644 --- a/.github/workflows/investigate-costing-closer-debugger.yml +++ b/.github/workflows/investigate-costing-closer-debugger.yml @@ -1,7 +1,7 @@ name: Investigate Costing closer - debugger on: schedule: - - cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT) + - cron: 40 13 * * * # Run at 1:40 PM UTC (5:40 AM PST, 6:40 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/more-info-needed-closer-debugger.yml b/.github/workflows/more-info-needed-closer-debugger.yml index 0df5ef0902..5085122898 100644 --- a/.github/workflows/more-info-needed-closer-debugger.yml +++ b/.github/workflows/more-info-needed-closer-debugger.yml @@ -1,7 +1,7 @@ name: More Info Needed Closer - debugger on: schedule: - - cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT) + - cron: 50 13 * * * # Run at 1:50 PM UTC (5:50 AM PST, 6:50 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/.github/workflows/question-closer-debugger.yml b/.github/workflows/question-closer-debugger.yml index 7f8ae39ab0..a178134f12 100644 --- a/.github/workflows/question-closer-debugger.yml +++ b/.github/workflows/question-closer-debugger.yml @@ -1,7 +1,7 @@ name: Question Closer - debugger on: schedule: - - cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT) + - cron: 0 14 * * * # Run at 2:00 PM UTC (6:00 AM PST, 7:00 AM PDT) workflow_dispatch: inputs: readonly: diff --git a/Extension/.scripts/common.ts b/Extension/.scripts/common.ts index 2892204166..490d464c2c 100644 --- a/Extension/.scripts/common.ts +++ b/Extension/.scripts/common.ts @@ -325,6 +325,7 @@ export async function checkDTS() { let failing = false; failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing; failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing; + failing = !await assertAnyFile('vscode.proposed.lmTools.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.lmTools.d.ts is missing.`)) || failing; if (!failing) { verbose('VSCode d.ts files appear to be in place.'); diff --git a/Extension/.vscode/settings.json b/Extension/.vscode/settings.json index 969f4c40dc..7c60adca74 100644 --- a/Extension/.vscode/settings.json +++ b/Extension/.vscode/settings.json @@ -37,7 +37,7 @@ }, "[typescript]": { "editor.tabSize": 4, - "editor.defaultFormatter": "dbaeumer.vscode-eslint", + "editor.defaultFormatter": "vscode.typescript-language-features", "editor.formatOnSave": true, "files.insertFinalNewline": true, "editor.codeActionsOnSave": { diff --git a/Extension/CHANGELOG.md b/Extension/CHANGELOG.md index c63f367aad..5fd30556e5 100644 --- a/Extension/CHANGELOG.md +++ b/Extension/CHANGELOG.md @@ -1,16 +1,52 @@ # C/C++ for Visual Studio Code Changelog -## Version 1.22.0: August 21, 2024 +## Version 1.22.3: September 12, 2024 +### Enhancement +* Add support for providing additional context information to Copilot Chat. [PR #12685](https://github.com/microsoft/vscode-cpptools/pull/12685) + * Currently, it requires `"C_Cpp.experimentalFeatures": "enabled"` and typing `#cpp` in the chat. + +### Bug Fixes +* Fix the compiler selection control not keeping the list in sync with contents of the textbox. [#7427](https://github.com/microsoft/vscode-cpptools/issues/7427) +* Fix a string localization issue. [#7824](https://github.com/microsoft/vscode-cpptools/issues/7824) +* Stop logging duplicate compiler path messages. [#12445](https://github.com/microsoft/vscode-cpptools/issues/12445) +* Fix some crashes with recursive includes. [#12643](https://github.com/microsoft/vscode-cpptools/issues/12643) +* Fix a rare crash on macOS related to `get_memory_usage`. [#12667](https://github.com/microsoft/vscode-cpptools/issues/12667) +* Fix an issue with 'Extract to Function' formatting. [#12677](https://github.com/microsoft/vscode-cpptools/issues/12677) +* Fix a potential deadlock in `process_paths`. [#12690](https://github.com/microsoft/vscode-cpptools/issues/12690) + +## Version 1.22.2: August 29, 2024 +### Enhancement +* Remove the `C_Cpp.intelliSenseEngineFallback` setting. [#12596](https://github.com/microsoft/vscode-cpptools/issues/12596) + +### Bug Fix +* Fix a deadlock when doing "Find All References" and a file is deleted. [#12656](https://github.com/microsoft/vscode-cpptools/issues/12656) + +## Version 1.22.1: August 29, 2024 +### Enhancement +* Add "Additional Tracked Settings" to `C/C++: Log Diagnostics` output. [PR #12635](https://github.com/microsoft/vscode-cpptools/pull/12635) + +### Bug Fixes +* Fix hover over static constexpr variables sometimes not working. [#12284](https://github.com/microsoft/vscode-cpptools/issues/12284) +* Fix completion not giving results in several scenarios. [#12412](https://github.com/microsoft/vscode-cpptools/issues/12412) +* Fix include completion showing results for deleted folders with recursive includes. [#12636](https://github.com/microsoft/vscode-cpptools/issues/12636) +* Fix the `/FU` flag not working for C++/CLI . [#12641](https://github.com/microsoft/vscode-cpptools/issues/12641) +* Fix some crashes with recursive includes. [#12643](https://github.com/microsoft/vscode-cpptools/issues/12643) +* Fix IntelliSense not working on Windows when `C_Cpp.caseSensitiveFileSupport` is `enabled`. [#12648](https://github.com/microsoft/vscode-cpptools/issues/12648) +* Changes that might fix a crash with `translate_encoding_to_utf8`. [#12652](https://github.com/microsoft/vscode-cpptools/issues/12652) +* Fix a random crash during IntelliSense creation. + +## Version 1.22.0: August 26, 2024 ### Performance Improvements * Switch to an alternative implementation of recursive includes (that sends all the paths instead of only the "used" paths). [#11780](https://github.com/microsoft/vscode-cpptools/issues/11780) - Performance improvement: Configuration is no longer blocked on tag parsing of all dependent headers. - - Configuration change: Recursive include paths now always take precedence over system include paths (similar to compiler behavior and non-recursive includes). [#11485](https://github.com/microsoft/vscode-cpptools/issues/11485) + - Configuration change: Recursive include paths now take precedence over system include paths (similar to compiler behavior and non-recursive includes). [#11485](https://github.com/microsoft/vscode-cpptools/issues/11485) * Initialization performance improvements. [#12030](https://github.com/microsoft/vscode-cpptools/issues/12030) - Some processing is parallelized and started earlier (populating the filename cache, discovering files). [#11954](https://github.com/microsoft/vscode-cpptools/issues/11954), [#12169](https://github.com/microsoft/vscode-cpptools/issues/12169) - Some compiler configuration queries are cached in the database, and processing of compile_commands.json was improved. [#10029](https://github.com/microsoft/vscode-cpptools/issues/10029), [#12078](https://github.com/microsoft/vscode-cpptools/issues/12078) * Improve the implementation of file buffers to reduce memory usage. ### Enhancements +* Add modified `C_Cpp` settings to the `C/C++: Log Diagnostics` output. [#11700](https://github.com/microsoft/vscode-cpptools/issues/11700) * Change the default C/C++ `"editor.stickyScroll.defaultModel"` to `"foldingProviderModel"`. [#12483](https://github.com/microsoft/vscode-cpptools/issues/12483) * Add better validation for settings. [#12371](https://github.com/microsoft/vscode-cpptools/issues/12371) * Various IntelliSense parsing updates/fixes. @@ -20,6 +56,8 @@ * Fix an issue where a file is incorrectly processed as C instead of C++. [#12466](https://github.com/microsoft/vscode-cpptools/issues/12466) * Fix include path ordering being incorrect if there is a duplicate. [#12525](https://github.com/microsoft/vscode-cpptools/issues/12525) * Fix a WebAssembly "Out of Memory" error. [#12529](https://github.com/microsoft/vscode-cpptools/issues/12529) +* Fix an error message not being shown if the connection failed with remote attach debugging. [#12547](https://github.com/microsoft/vscode-cpptools/issues/12547) + * Thank you for the contribution. [@MrStanislav0 (Stanislav)](https://github.com/MrStanislav0) * Fix `-I` not being used if `-iquote` is also used for the same path. [#12551](https://github.com/microsoft/vscode-cpptools/issues/12551) * Fix issues with relative paths on `nvcc` (CUDA) command lines not being handled correctly. [#12553](https://github.com/microsoft/vscode-cpptools/issues/12553) * Fix a random crash when a child process is created. [#12585](https://github.com/microsoft/vscode-cpptools/issues/12585) @@ -27,6 +65,7 @@ * Fix some issues with recursive includes handling of symbolic links, multi-root, exclusion changes, and file/folder deletion. * Fix unnecessary IntelliSense resetting when a new file or folder was created. * Fix accumulation of stale signature help and completion requests. +* Fix some bugs with include completion. ## Version 1.21.6: August 5, 2024 * Fix a cpptools-srv crash on shutdown. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354) diff --git a/Extension/bin/messages/cs/messages.json b/Extension/bin/messages/cs/messages.json index 1af8bee7e8..db0402333f 100644 --- a/Extension/bin/messages/cs/messages.json +++ b/Extension/bin/messages/cs/messages.json @@ -1410,7 +1410,7 @@ "Striktní režim je nekompatibilní se zpracováním oboru názvů std jako aliasu pro globální obor názvů.", "v rozšíření makra %s %p", "", - "", + null, "[rozšíření makra %d není zobrazené]", "v rozšíření makra v %p", "neplatný název symbolického operandu %sq", @@ -1505,7 +1505,7 @@ "Chyba příkazového řádku", "vnitřní chyba", "Vnitřní chyba", - null, + "-D", null, "Došlo k dosažení limitu chyb.", "Smyčka interní chyby", @@ -1524,7 +1524,7 @@ "převodní jazyk (7)", "převodní jazyk (8)", "převodní jazyk (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "neplatný znak pro literál char16_t", null, "Nerozpoznaná konvence volání %s, musí být jednou z:", - null, + "%s", null, null, "Nadřízený typ typu výčtu musí být integrální typ.", @@ -2953,9 +2953,9 @@ "Neplatná hodnota sady pragma %s pro funkci s omezením AMP", "Překrývající se specifikátory omezení nejsou povolené.", "Specifikátory omezení destruktoru musejí pokrývat sjednocení specifikátorů omezení všech konstruktorů.", - "", + "error", "Pro nostdlib se vyžaduje aspoň jedno nucené použití.", - "", + "error-type", null, null, null, diff --git a/Extension/bin/messages/de/messages.json b/Extension/bin/messages/de/messages.json index 14666db3cd..433ce5dc24 100644 --- a/Extension/bin/messages/de/messages.json +++ b/Extension/bin/messages/de/messages.json @@ -1410,7 +1410,7 @@ "Der Strict-Modus ist mit dem Behandeln des Namespaces \"std\" als Alias für den globalen Namespace inkompatibel.", "In Erweiterung von Makro \"%s\" %p", "", - "", + null, "[%d Makroerweiterungen werden nicht angezeigt.]", "In Makroerweiterung bei %p", "Ungültiger symbolischer Operandname \"%sq\".", @@ -1505,7 +1505,7 @@ "Befehlszeilenfehler", "Interner Fehler.", "Interner Fehler.", - null, + "-D", null, "Fehlerlimit erreicht.", "Interne Fehlerschleife", @@ -1524,7 +1524,7 @@ "Zwischensprache (7)", "Zwischensprache (8)", "Zwischensprache (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "Ungültiges Zeichen für char16_t-Literal.", null, "Unbekannte Aufrufkonvention \"%s\", muss eine der folgenden Optionen sein:", - null, + "%s", null, null, "Der zugrunde liegende Typ des Enumerationstyps muss ein integraler Typ sein.", @@ -2953,9 +2953,9 @@ "Unzulässiger Wert für Pragmapaket \"%s\" für die auf AMP begrenzte Funktion.", "Überlappende Einschränkungsspezifizierer sind unzulässig.", "Die Einschränkungsspezifizierer des Destruktors müssen die Union der Einschränkungsspezifizierer für alle Konstruktoren abdecken.", - "", + "Fehler", "Für \"nostdlib\" ist mindestens eine erzwungene Verwendung erforderlich.", - "", + "Fehlertyp", null, null, null, diff --git a/Extension/bin/messages/es/messages.json b/Extension/bin/messages/es/messages.json index 3225a42f18..6465299d8f 100644 --- a/Extension/bin/messages/es/messages.json +++ b/Extension/bin/messages/es/messages.json @@ -1410,7 +1410,7 @@ "el modo strict no es compatible con el trato del espacio de nombres std como alias para el espacio de nombres global", "en la expansión de macro '%s' %p,", "", - "", + null, "[ las expansiones de macro %d no se muestran ]", "en expansión de macro en %p", "nombre de operando simbólico %sq no válido", @@ -1505,7 +1505,7 @@ "Error de la línea de comandos", "Error interno", "Error interno", - null, + "-D", null, "Se ha alcanzado el límite de error.", "Bucle de error interno", @@ -1524,7 +1524,7 @@ "lenguaje intermedio (7)", "lenguaje intermedio (8)", "lenguaje intermedio (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "carácter no válido para el literal char16_t", null, "convención de llamada %s no reconocida, debe ser una de las siguientes:", - null, + "%s", null, null, "el tipo subyacente del tipo de enumeración debe ser un tipo entero", @@ -2953,9 +2953,9 @@ "valor de pragma pack %s no válido para la función con restricción amp", "no se permiten especificadores de restricción superpuestos", "los especificadores de restricción del destructor deben cubrir la unión de los especificadores de restricción de todos los constructores", - "", + "error", "nostdlib requiere al menos un uso forzado", - "", + "error-type", null, null, null, diff --git a/Extension/bin/messages/fr/messages.json b/Extension/bin/messages/fr/messages.json index a47e86e4ff..7a32a0c3c3 100644 --- a/Extension/bin/messages/fr/messages.json +++ b/Extension/bin/messages/fr/messages.json @@ -1410,7 +1410,7 @@ "le mode strict est incompatible avec le traitement de namespace std en tant qu'alias pour l'espace de noms global", "dans l'expansion macro '%s' %p", "", - "", + null, "[ %d expansions macro non affichées ]", "dans l'expansion macro à %p", "nom d'opérande symbolique non valide %sq", @@ -1505,7 +1505,7 @@ "Erreur de ligne de commande", "erreur interne", "Erreur interne", - null, + "-D", null, "Limitation d'erreur atteinte.", "Boucle d'erreur interne", @@ -1524,7 +1524,7 @@ "langage intermédiaire (7)", "langage intermédiaire (8)", "langage intermédiaire (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "caractère non valide pour le littéral char16_t", null, "convention d'appel inconnue %s, doit être l'une des suivantes :", - null, + "%s", null, null, "le type sous-jacent du type enum doit être un type intégral", @@ -2953,9 +2953,9 @@ "valeur de pragma pack non conforme %s pour la fonction à restriction amp", "spécificateurs de restriction en chevauchement non autorisés", "les spécificateurs de restriction du destructeur doivent couvrir l'union des spécificateurs de restriction sur tous les constructeurs", - "", + "erreur", "nostdlib nécessite au moins un using forcé", - "", + "type d’erreur", null, null, null, diff --git a/Extension/bin/messages/it/messages.json b/Extension/bin/messages/it/messages.json index e5c7937ae6..29646d72cc 100644 --- a/Extension/bin/messages/it/messages.json +++ b/Extension/bin/messages/it/messages.json @@ -453,15 +453,15 @@ "omissione di %sq non conforme allo standard", "impossibile specificare il tipo restituito in una funzione di conversione", "rilevato durante:", - "creazione di un'istanza del contesto %p1 del modello %nt1", - "generazione implicita del contesto %p1 del modello %nt1", + "creazione di un'istanza del contesto %nt %p", + "generazione implicita del contesto %nt %p", "ricorsione eccessiva durante la creazione di un'istanza di %n", "%sq non è una funzione o un membro dati statici", "l'argomento di tipo %t1 è incompatibile con il parametro del modello di tipo %t2", "non è possibile eseguire un'inizializzazione che richiede un tipo temporaneo o una conversione", "se si dichiara %sq, il parametro della funzione verrà nascosto", "il valore iniziale del riferimento a non const deve essere un lvalue", - "definizione implicita del contesto %p del modello %nt", + "definizione implicita del contesto %nt %p", "'template' non consentito", "%t non è un modello di classe", null, @@ -526,7 +526,7 @@ "chiamata funzione non const per l'oggetto const (anacronismo)", "un'istruzione dipendente non può essere una dichiarazione", "il tipo di un parametro non può essere void", - "creazione di un'istanza del contesto %p1 della classe %na1", + "creazione di un'istanza del contesto %na %p", "elaborazione dell'elenco degli argomenti di modello per %na %p", "operatore non consentito in un'espressione di argomento del modello", "con il blocco try è richiesto almeno un gestore", @@ -682,11 +682,11 @@ "directory PCH non valida: %s", "previsto __except o __finally", "un'istruzione __leave può essere utilizzata solo in un blocco __try", - "rilevato durante la creazione di un'istanza del contesto %p del modello %nt", - "rilevato durante la generazione implicita del contesto %p1 del modello %nt1", - "rilevato durante la creazione di un'istanza del contesto %p della classe %na", + "rilevato durante la creazione di un'istanza del contesto %nt %p", + "rilevato durante la generazione implicita del contesto %nt %p", + "rilevato durante la creazione di un'istanza del contesto %na %p", "rilevato durante l'elaborazione dell'elenco degli argomenti di modello per %na %p", - "rilevato durante la definizione implicita del contesto %p1 del modello %nt1", + "rilevato durante la definizione implicita del contesto %nt %p", "%sq non trovato nello stack di allineamento compressione", "stack di allineamento compressione vuoto", "è possibile utilizzare l'opzione RTTI solo quando si esegue la compilazione nel linguaggio C++", @@ -1410,7 +1410,7 @@ "modalità strict incompatibile con lo spazio dei nomi std utilizzato come alias dello spazio dei nomi globale", "nell'espansione della macro '%s' %p", "", - "", + null, "[ espansioni della macro %d non visualizzate ]", "nell'espansione della macro in %p", "nome di operando simbolico %sq non valido", @@ -1505,7 +1505,7 @@ "Errore nella riga di comando", "errore interno", "Errore interno", - null, + "-D", null, "Limite di errore raggiunto.", "Ciclo di errore interno", @@ -1524,7 +1524,7 @@ "linguaggio intermedio (7)", "linguaggio intermedio (8)", "linguaggio intermedio (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "carattere non valido per il valore letterale char16_t", null, "convenzione di chiamata %s non riconosciuta. Deve essere una delle seguenti:", - null, + "%s", null, null, "il tipo sottostante del tipo enumerazione deve essere un tipo integrale", @@ -2953,9 +2953,9 @@ "il valore %s del pacchetto pragma per la funzione con restrizioni AMP non è valido", "gli identificatori di limitazione sovrapposti non sono consentiti", "gli identificatori di limitazione del distruttore devono coprire l'unione degli identificatori di limitazione in tutti i costruttori", - "", + "errore", "con nostdlib è richiesta almeno un'opzione Forced Using", - "", + "tipo di errore", null, null, null, diff --git a/Extension/bin/messages/ja/messages.json b/Extension/bin/messages/ja/messages.json index 9ef4cd4de8..c4df6c5f8c 100644 --- a/Extension/bin/messages/ja/messages.json +++ b/Extension/bin/messages/ja/messages.json @@ -1410,7 +1410,7 @@ "strict モードはグローバル名前空間に対するエイリアスとしての名前空間 std の取り扱いと互換性がありません", "マクロ '%s' %p の展開で、", "<不明>", - "", + null, "[ %d マクロの展開は示されていません ]", "%p の場所でのマクロの展開で", "シンボル オペランド名 %sq が無効です", @@ -1505,7 +1505,7 @@ "コマンド ライン エラー", "内部エラー", "内部エラー", - null, + "-D", null, "エラーの上限に達しました。", "内部エラー ループ", @@ -1524,7 +1524,7 @@ "中間言語 (7)", "中間言語 (8)", "中間言語 (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "char16_t リテラルには無効な文字です", null, "呼び出し規約 %s は認識されないため、次のいずれかを使用する必要があります:", - null, + "%s", null, null, "列挙型の基になる型は整数型である必要があります", @@ -2953,9 +2953,9 @@ "amp 制限関数に無効な pragma pack 値 %s ", "重複した制限指定子は許可されていません", "デストラクターの制限指定子は、すべてのコンストラクターの制限指定子の和集合を対象とする必要があります", - "", + "エラー", "nostdlib には少なくとも 1 つの強制された using が必要です", - "", + "エラーの種類", null, null, null, diff --git a/Extension/bin/messages/ko/messages.json b/Extension/bin/messages/ko/messages.json index af4cf82ada..d357af164a 100644 --- a/Extension/bin/messages/ko/messages.json +++ b/Extension/bin/messages/ko/messages.json @@ -1410,7 +1410,7 @@ "strict 모드가 std 네임스페이스를 전역 네임스페이스에 대한 별칭으로 처리하는 방식과 호환되지 않습니다.", "매크로 '%s' %p의 확장,", "<알 수 없음>", - "", + null, "[ %d 매크로 확장이 표시되지 않음 ]", "%p의 매크로 확장", "기호화된 피연산자 이름 %sq이(가) 잘못되었습니다.", @@ -1505,7 +1505,7 @@ "명령줄 오류", "내부 오류", "내부 오류", - null, + "-D", null, "오류 한계에 도달했습니다.", "내부 오류 루프", @@ -1524,7 +1524,7 @@ "중간 언어 (7)", "중간 언어 (8)", "중간 언어 (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "char16_t 리터럴에 대한 잘못된 문자", null, "인식할 수 없는 호출 규칙 %s, 다음 중 하나여야 함:", - null, + "%s", null, null, "열거형 형식의 내부 형식은 정수 계열 형식이어야 합니다.", @@ -2953,9 +2953,9 @@ "amp 제한 함수의 pragma pack 값 %s이(가) 잘못되었습니다.", "겹치는 제한 지정자는 사용할 수 없습니다.", "소멸자의 제한 지정자는 모든 생성자에 대한 제한 지정자의 공용 구조체를 지정해야 합니다.", - "", + "오류", "nostdlib에는 한 번 이상의 강제 사용이 필요합니다.", - "", + "error-type", null, null, null, diff --git a/Extension/bin/messages/pl/messages.json b/Extension/bin/messages/pl/messages.json index e0757384f3..0dac450c85 100644 --- a/Extension/bin/messages/pl/messages.json +++ b/Extension/bin/messages/pl/messages.json @@ -1410,7 +1410,7 @@ "tryb z ograniczeniami jest niezgodny z traktowaniem przestrzeni nazw std jako aliasu dla globalnej przestrzeni nazw", "w rozwinięciu makra „%s” %p", "", - "", + null, "[liczba niewyświetlanych rozwinięć makr: %d]", "w rozszerzeniu makra w położeniu %p", "nieprawidłowa nazwa symboliczna argumentu operacji %sq", @@ -1505,7 +1505,7 @@ "Błąd wiersza polecenia", "błąd wewnętrzny", "Błąd wewnętrzny", - null, + "-D", null, "Osiągnięto limit błędów.", "Pętla błędu wewnętrznego", @@ -1524,7 +1524,7 @@ "język pośredni (7)", "język pośredni (8)", "język pośredni (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "nieprawidłowy znak dla literału char16_t", null, "nierozpoznana konwencja wywoływania %s. Musi ona być jedną z następujących:", - null, + "%s", null, null, "typ bazowy typu wyliczenia musi być typem całkowitoliczbowym", @@ -2953,9 +2953,9 @@ "niedozwolona wartość dyrektywy pragma pack %s dla funkcji z ograniczeniem amp", "nakładające się specyfikatory ograniczenia są niedozwolone", "specyfikatory ograniczenia destruktora muszą obejmować unię specyfikatorów ograniczenia na wszystkich konstruktorach", - "", + "błąd", "element nostdlib wymaga co najmniej jednego wymuszonego użycia", - "", + "error-type", null, null, null, diff --git a/Extension/bin/messages/pt-br/messages.json b/Extension/bin/messages/pt-br/messages.json index 50ccf861cc..d0749eccc7 100644 --- a/Extension/bin/messages/pt-br/messages.json +++ b/Extension/bin/messages/pt-br/messages.json @@ -1410,7 +1410,7 @@ "o modo estrito é incompatível com o tratamento do namespace padrão como um alias para o namespace global", "na expansão da macro '%s' %p", "", - "", + null, "[ %d expansões de macro não mostradas ]", "na expansão da macro em %p", "nome de operando simbólico inválido %sq", @@ -1505,7 +1505,7 @@ "Erro de linha de comando", "erro interno", "Erro interno", - null, + "-D", null, "Limite de erro atingido.", "Laço de erro interno", @@ -1524,7 +1524,7 @@ "linguagem intermediária (7)", "linguagem intermediária (8)", "linguagem intermediária (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "caractere inválido para literal char16_t", null, "convenção de chamadas não reconhecida %s, deve ser um dos:", - null, + "%s", null, null, "o tipo subjacente da enumeração deve ser integral", @@ -2953,9 +2953,9 @@ "valor do pacote pragma %s ilícito para a função restrita por amp", "não é permitido sobrepor especificadores restritos", "os especificadores restritos do destruidor devem conter a união dos especificadores restritos em todos os construtores", - "", + "erro", "o nostdlib exige pelo menos um uso forçado", - "", + "tipo de erro", null, null, null, diff --git a/Extension/bin/messages/ru/messages.json b/Extension/bin/messages/ru/messages.json index e5a7a90dad..ff6f4454d2 100644 --- a/Extension/bin/messages/ru/messages.json +++ b/Extension/bin/messages/ru/messages.json @@ -1410,7 +1410,7 @@ "строгий режим несовместим с обработкой пространства имен std в качестве псевдонима для глобального пространства имен", "в расширении макроса \"%s\" %p", "<НЕТ ДАННЫХ>", - "", + null, "[ расширение макроса \"%d\" не показано ]", "в расширении макроса в %p", "недопустимое имя символьного операнда %sq", @@ -1505,7 +1505,7 @@ "Ошибка в командной строке", "внутренняя ошибка", "Внутренняя ошибка", - null, + "-D", null, "Достигнут предел ошибок.", "Внутренний цикл ошибки", @@ -1524,7 +1524,7 @@ "промежуточный язык (7)", "промежуточный язык (8)", "промежуточный язык (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "недопустимый знак для литерала char16_t", null, "нераспознанное соглашение о вызовах %s; необходимо использовать одно из следующих:", - null, + "%s", null, null, "базовый тип для перечисляемого типа должен быть целочисленным", @@ -2953,9 +2953,9 @@ "Недопустимое значение pragma pack %s для функции со спецификатором ограничения amp.", "перекрывающиеся описатели restrict запрещены", "описатели restrict деструктора должны охватывать объединение описателей restrict всех конструкторов", - "", + "ошибка", "для nostdlib требуется по меньшей мере одна директива forced using", - "", + "тип ошибки", null, null, null, diff --git a/Extension/bin/messages/tr/messages.json b/Extension/bin/messages/tr/messages.json index 7a55ab51b3..a84368e922 100644 --- a/Extension/bin/messages/tr/messages.json +++ b/Extension/bin/messages/tr/messages.json @@ -1410,7 +1410,7 @@ "katı mod, std ad uzayının genel ad uzayı için bir diğer ad olarak değerlendirilmesi ile uyumsuz", "makro '%s' genişletilmesinde %p,", "", - "", + null, "[%d makro genişletmesi gösterilmiyor ]", "%p konumunda makro genişletmesinde", "geçersiz sembolik işlenen adı %sq", @@ -1505,7 +1505,7 @@ "Komut satırı hatası", "iç hata", "İç hata", - null, + "-D", null, "Hata sınırına ulaşıldı.", "İç hata döngüsü", @@ -1524,7 +1524,7 @@ "ara dil (7)", "ara dil (8)", "ara dil (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "char16_t sabit değeri için geçersiz karakter", null, "çağrı kuralı %s tanınmıyor, şunlardan biri olmalıdır:", - null, + "%s", null, null, "Sabit listesi türünün temel alınan türü bir tam sayı türü olmalıdır", @@ -2953,9 +2953,9 @@ "AMP ile sınırlı işlev için pragma paket değeri (%s) geçersiz", "örtüşen kısıtlama tanımlayıcılarına izin verilmiyor", "yıkıcının kısıtlama tanımlayıcıları, tüm oluşturuculardaki kısıtlama tanımlayıcılarının birleşimini kapsamalıdır", - "", + "hata", "nostdlib en az bir zorunlu kullanım gerektirir", - "", + "error-type", null, null, null, diff --git a/Extension/bin/messages/zh-cn/messages.json b/Extension/bin/messages/zh-cn/messages.json index af786d1e4f..3def6317d8 100644 --- a/Extension/bin/messages/zh-cn/messages.json +++ b/Extension/bin/messages/zh-cn/messages.json @@ -1410,7 +1410,7 @@ "严格模式与将命名空间标准视为全局命名空间的别名不兼容", "在宏“%s”%p 的扩展中", "<未知>", - "", + null, "[ %d 宏扩展未显示]", "在 %p 的宏扩展中", "符号操作数名称 %sq 无效", @@ -1505,7 +1505,7 @@ "命令行错误", "内部错误", "内部错误", - null, + "-D", null, "达到错误限制。", "内部错误循环", @@ -1524,7 +1524,7 @@ "中间语言(7)", "中间语言(8)", "中间语言(9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "char16_t 文本的无效字符", null, "无法识别的调用约定 %s,必须为以下内容之一:", - null, + "%s", null, null, "枚举类型的基础类型必须是整型", @@ -2953,9 +2953,9 @@ "受 AMP 限制的函数的 pragma 包值 %s 非法", "限制说明符不可重叠", "析构函数的限制说明符必须包含所有构造函数的限制说明符的联合部分", - "", + "错误", "nostdlib 要求至少使用一个强制 using", - "", + "error-type", null, null, null, diff --git a/Extension/bin/messages/zh-tw/messages.json b/Extension/bin/messages/zh-tw/messages.json index 7cf9f7d3a3..5ab723beb3 100644 --- a/Extension/bin/messages/zh-tw/messages.json +++ b/Extension/bin/messages/zh-tw/messages.json @@ -1410,7 +1410,7 @@ "strict 模式不相容,因為將命名空間 std 視為全域命名空間的別名", "在巨集 '%s' %p 的展開中", "<未知>", - "", + null, "[ 未顯示 %d 個巨集展開 ]", "在 %p 的巨集展開中", "無效的符號運算元名稱 %sq", @@ -1505,7 +1505,7 @@ "命令列錯誤", "內部錯誤", "內部錯誤", - null, + "-D", null, "已達錯誤限制。", "內部錯誤迴圈", @@ -1524,7 +1524,7 @@ "中繼語言 (7)", "中繼語言 (8)", "中繼語言 (9)", - null, + "PCH", null, null, null, @@ -1537,7 +1537,7 @@ "char16_t literal 的字元無效", null, "無法辨認的呼叫慣例 %s,必須是下列其中一個: ", - null, + "%s", null, null, "列舉類型的基礎類型必須是整數類型", @@ -2953,9 +2953,9 @@ "AMP 限制涵式中有不合法的 pragma 套件值 %s", "不允許重疊的限制指定名稱", "解構函式的限制規範必須涵蓋所有建構函式的限制規範聯集", - "", + "error", "nostdlib 至少需要一個強制 Using", - "", + "error-type", null, null, null, diff --git a/Extension/i18n/chs/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/chs/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index 91c0e54817..0000000000 --- a/Extension/i18n/chs/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "转到引用" -} \ No newline at end of file diff --git a/Extension/i18n/chs/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/chs/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index 5122d0e514..0000000000 --- a/Extension/i18n/chs/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "转到引用", - "pending.rename": "正在等待重命名", - "candidates.for.rename": "重命名候选项" -} \ No newline at end of file diff --git a/Extension/i18n/chs/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/chs/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index 5c0dfcd0d6..0000000000 --- a/Extension/i18n/chs/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "分析工作区", - "paused.tagparser.text": "分析工作区: 已暂停", - "complete.tagparser.text": "分析完毕", - "initializing.tagparser.text": "正在初始化工作区", - "indexing.tagparser.text": "正在索引工作区", - "rescan.tagparse.text": "重新扫描工作区", - "c.cpp.parsing.open.files.tooltip": "正在分析打开的文件", - "click.to.preview": "单击以预览结果", - "updating.intellisense.text": "IntelliSense: 正在更新", - "idle.intellisense.text": "IntelliSense: 就绪", - "absent.intellisense.text": "IntelliSense: 未配置", - "running.analysis.text": "Code Analysis: 正在运行", - "paused.analysis.text": "Code Analysis: 已暂停", - "mode.analysis.prefix": "Code Analysis 模式:", - "c.cpp.configureIntelliSenseStatus.text": "配置 IntelliSense", - "c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 配置 IntelliSense", - "select.command": "选择命令...", - "select.code.analysis.command": "选择代码分析命令...", - "c.cpp.configuration.tooltip": "C/C++ 配置", - "c.cpp.references.statusbar": "C/C++ 引用状态", - "cpptools.status.intellisense": "C/C++ IntelliSense 状态", - "cpptools.status.tagparser": "C/C++ 标记分析器状态", - "cpptools.detail.tagparser": "正在初始化...", - "cpptools.status.codeanalysis": "C/C++ Code Analysis 状态", - "c.cpp.codeanalysis.statusbar.runNow": "立即运行", - "tagparser.pause.text": "暂停", - "tagparser.resume.text": "继续", - "intellisense.select.text": "选择编译器", - "rescan.intellisense.text": "重新扫描", - "rescan.intellisense.tooltip": "重新扫描 IntelliSense", - "mode.codeanalysis.status.automatic": "自动", - "mode.codeanalysis.status.manual": "手动", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "选项", - "startup.codeanalysis.status": "正在启动...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即运行", - "running.analysis.processed.tooltip": "正在运行: {0}/{1} ({2}%)", - "select.a.configuration": "选择配置...", - "edit.configuration.ui": "编辑配置(UI)", - "edit.configuration.json": "编辑配置(JSON)", - "select.configuration.provider": "选择配置提供程序...", - "active": "活动", - "none": "无", - "disable.configuration.provider": "禁用活动配置提供程序(如果适用)。", - "select.compile.commands": "选择 compile_commands.json...", - "select.workspace": "选择工作区文件夹…", - "resume.parsing": "恢复工作区分析", - "pause.parsing": "暂停工作区分析", - "cancel.analysis": "取消", - "resume.analysis": "继续", - "pause.analysis": "暂停", - "another.analysis": "启动另一个...", - "active.analysis": "在活动文件上运行 Code Analysis", - "all.analysis": "在所有文件上运行 Code Analysis", - "open.analysis": "在打开的文件上运行 Code Analysis" -} \ No newline at end of file diff --git a/Extension/i18n/chs/src/commands.i18n.json b/Extension/i18n/chs/src/commands.i18n.json deleted file mode 100644 index 7a4aa69293..0000000000 --- a/Extension/i18n/chs/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "此命令已禁用,因为“{0}”被设置为“{1}”。" -} \ No newline at end of file diff --git a/Extension/i18n/chs/src/packageManager.i18n.json b/Extension/i18n/chs/src/packageManager.i18n.json deleted file mode 100644 index 6e7afe59d4..0000000000 --- a/Extension/i18n/chs/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "正在下载 {0}", - "installing.progress.description": "正在安装 {0}", - "package.manager.missing": "程序包清单不存在", - "downloading.package": "正在下载程序包“{0}”", - "error.from": "来自 {0} 的错误", - "failed.download.url": "未能下载 {0}", - "failed.retrying": "失败。正在重试...", - "done": "完成!", - "waiting.seconds": "正在等待 {0} 秒...", - "temp.package.unavailable": "临时包文件不可用", - "invalid.download.location.received": "接收的下载位置无效", - "invalid.response.code.received": "接收的响应代码无效", - "failed.web.error": "失败(错误代码“{0}”)", - "web.response.error": "HTTP/HTTPS 响应错误", - "invalid.content.length.received": "接收的内容长度位置无效", - "invalid.content.received": "收到的内容无效。哈希不正确。", - "web.request.error": "HTTP/HTTPS 请求错误", - "installing.package": "正在安装包“{0}”", - "downloaded.unavailable": "下载的文件不可用", - "zip.file.error": "Zip 文件错误", - "create.directory.error": "创建目录时出错", - "zip.stream.error": "读取 zip 流时出错", - "unlink.error": "取消链接文件 {0} 时出错", - "rename.error": "重命名文件 {0} 时出错", - "read.stream.error": "“读取”流中出错", - "write.stream.error": "“写入”流中出错", - "file.already.exists": "警告: 文件“{0}”已存在,但未更新。" -} \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/cht/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index b433f6f5d0..0000000000 --- a/Extension/i18n/cht/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "移至參考" -} \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/cht/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index c6e20b120f..0000000000 --- a/Extension/i18n/cht/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "移至參考", - "pending.rename": "等待重新命名", - "candidates.for.rename": "要重新命名的候選者" -} \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/cht/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index 01e28344e0..0000000000 --- a/Extension/i18n/cht/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "剖析工作區", - "paused.tagparser.text": "剖析工作區: 已暫停", - "complete.tagparser.text": "剖析完成", - "initializing.tagparser.text": "正在初始化工作區", - "indexing.tagparser.text": "索引工作區", - "rescan.tagparse.text": "重新掃描工作區", - "c.cpp.parsing.open.files.tooltip": "剖析開啟的檔案", - "click.to.preview": "按一下以預覽結果", - "updating.intellisense.text": "IntelliSense: 更新中", - "idle.intellisense.text": "IntelliSense: 就緒", - "absent.intellisense.text": "IntelliSense: 未設定", - "running.analysis.text": "Code Analysis: 執行中", - "paused.analysis.text": "Code Analysis: 已暫停", - "mode.analysis.prefix": "Code Analysis 模式: ", - "c.cpp.configureIntelliSenseStatus.text": "設定 IntelliSense", - "c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 設定 IntelliSense", - "select.command": "選取命令...", - "select.code.analysis.command": "選取程式碼分析命令...", - "c.cpp.configuration.tooltip": "C/C++ 組態", - "c.cpp.references.statusbar": "C/C++ 參考狀態", - "cpptools.status.intellisense": "C/C++ IntelliSense 狀態", - "cpptools.status.tagparser": "C/C++ 標記剖析器狀態", - "cpptools.detail.tagparser": "正在初始化...", - "cpptools.status.codeanalysis": "C/C++ Code Analysis 狀態", - "c.cpp.codeanalysis.statusbar.runNow": "立即執行", - "tagparser.pause.text": "暫停", - "tagparser.resume.text": "繼續", - "intellisense.select.text": "選取編譯器", - "rescan.intellisense.text": "重新掃描", - "rescan.intellisense.tooltip": "重新掃描 IntelliSense", - "mode.codeanalysis.status.automatic": "自動", - "mode.codeanalysis.status.manual": "手動", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "選項", - "startup.codeanalysis.status": "正在啟動...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即執行", - "running.analysis.processed.tooltip": "正在執行: {0} / {1} ({2}%)", - "select.a.configuration": "選取設定...", - "edit.configuration.ui": "編輯設定 (UI)", - "edit.configuration.json": "編輯設定 (JSON)", - "select.configuration.provider": "選取組態提供者...", - "active": "使用中", - "none": "無", - "disable.configuration.provider": "如果適用,停用現有組態提供者。", - "select.compile.commands": "選取 compile_commands.json...", - "select.workspace": "選取工作區資料夾...", - "resume.parsing": "繼續工作區剖析", - "pause.parsing": "暫停工作區剖析", - "cancel.analysis": "取消", - "resume.analysis": "繼續", - "pause.analysis": "暫停", - "another.analysis": "啟動另一個...", - "active.analysis": "在使用中檔案上執行程式碼分析", - "all.analysis": "在所有檔案上執行程式碼分析", - "open.analysis": "在開啟檔案上執行程式碼分析" -} \ No newline at end of file diff --git a/Extension/i18n/cht/src/commands.i18n.json b/Extension/i18n/cht/src/commands.i18n.json deleted file mode 100644 index aee76dd18c..0000000000 --- a/Extension/i18n/cht/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "因為 \"{0}\" 設定為 \"{1}\",所以已停用此命令。" -} \ No newline at end of file diff --git a/Extension/i18n/cht/src/packageManager.i18n.json b/Extension/i18n/cht/src/packageManager.i18n.json deleted file mode 100644 index 0d01797b4c..0000000000 --- a/Extension/i18n/cht/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "正在下載 {0}", - "installing.progress.description": "正在安裝 {0}", - "package.manager.missing": "套件資訊清單不存在", - "downloading.package": "下載套件 '{0}'", - "error.from": "來自 {0} 的錯誤", - "failed.download.url": "無法下載 {0}", - "failed.retrying": "失敗。正在重試...", - "done": "完成!", - "waiting.seconds": "等待 {0} 秒...", - "temp.package.unavailable": "暫存套件檔案無法使用", - "invalid.download.location.received": "收到的下載位置無效", - "invalid.response.code.received": "收到的回應碼無效", - "failed.web.error": "失敗 (錯誤碼 '{0}')", - "web.response.error": "HTTP/HTTPS 回應錯誤", - "invalid.content.length.received": "收到的內容長度位置無效", - "invalid.content.received": "收到的內容無效。雜湊不正確。", - "web.request.error": "HTTP/HTTPS 要求錯誤", - "installing.package": "正在安裝套件 '{0}'", - "downloaded.unavailable": "下載的檔案無法使用", - "zip.file.error": "Zip 檔案錯誤", - "create.directory.error": "建立目錄時發生錯誤", - "zip.stream.error": "讀取 zip 串流時發生錯誤", - "unlink.error": "將檔案 {0} 取消連結時發生錯誤", - "rename.error": "重新命名檔案 {0} 時發生錯誤", - "read.stream.error": "讀取串流中發生錯誤", - "write.stream.error": "寫入串流中發生錯誤", - "file.already.exists": "警告: 檔案 '{0}' 已經存在但未更新。" -} \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/csy/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index 5fe68538ee..0000000000 --- a/Extension/i18n/csy/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Přejít na odkaz" -} \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/csy/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index 5cfafd7f74..0000000000 --- a/Extension/i18n/csy/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Přejít na odkaz", - "pending.rename": "Čeká na přejmenování", - "candidates.for.rename": "Kandidáti na přejmenování" -} \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/csy/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index 102520342e..0000000000 --- a/Extension/i18n/csy/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "Parsování pracovního prostoru", - "paused.tagparser.text": "Pracovní prostor analýzy: Pozastaveno", - "complete.tagparser.text": "Analýza byla dokončena.", - "initializing.tagparser.text": "Inicializuje se pracovní prostor", - "indexing.tagparser.text": "Pracovní prostor indexování", - "rescan.tagparse.text": "Znovu prohledat pracovní prostor", - "c.cpp.parsing.open.files.tooltip": "Analýza otevřených souborů.", - "click.to.preview": "kliknutím si můžete zobrazit náhled výsledků", - "updating.intellisense.text": "IntelliSense: Aktualizace", - "idle.intellisense.text": "IntelliSense: Připraveno", - "absent.intellisense.text": "IntelliSense: Nenakonfigurováno", - "running.analysis.text": "Code Analysis: Spuštěno", - "paused.analysis.text": "Code Analysis: Pozastaveno", - "mode.analysis.prefix": "Režim Code Analysis: ", - "c.cpp.configureIntelliSenseStatus.text": "Konfigurovat IntelliSense", - "c.cpp.configureIntelliSenseStatus.cppText": "Konfigurovat IntelliSense v C/C++", - "select.command": "Vyberte příkaz...", - "select.code.analysis.command": "Vyberte příkaz pro analýzu kódu…", - "c.cpp.configuration.tooltip": "Konfigurace C/C++", - "c.cpp.references.statusbar": "Stav odkazů jazyka C/C++", - "cpptools.status.intellisense": "C/C++ IntelliSense Status", - "cpptools.status.tagparser": "Stav analyzátoru značky jazyka C/C++", - "cpptools.detail.tagparser": "Probíhá inicializace...", - "cpptools.status.codeanalysis": "Stav Code Analysis C/C++", - "c.cpp.codeanalysis.statusbar.runNow": "Spustit", - "tagparser.pause.text": "Pozastavit", - "tagparser.resume.text": "Pokračovat", - "intellisense.select.text": "Vyberte kompilátor.", - "rescan.intellisense.text": "Prohledat znovu", - "rescan.intellisense.tooltip": "Znovu prohledat IntelliSense", - "mode.codeanalysis.status.automatic": "Automaticky", - "mode.codeanalysis.status.manual": "Ručně", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Možnosti", - "startup.codeanalysis.status": "Spouštění...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Spustit", - "running.analysis.processed.tooltip": "Spuštěno: {0} / {1} ({2} %)", - "select.a.configuration": "Vybrat konfiguraci...", - "edit.configuration.ui": "Upravit konfigurace (uživatelské rozhraní)", - "edit.configuration.json": "Upravit konfigurace (JSON)", - "select.configuration.provider": "Vyberte poskytovatele konfigurací...", - "active": "aktivní", - "none": "žádné", - "disable.configuration.provider": "Zakažte aktivního poskytovatele konfigurací, pokud je to možné.", - "select.compile.commands": "Vyberte soubor compile_commands.json...", - "select.workspace": "Vyberte složku pracovního prostoru...", - "resume.parsing": "Pokračovat v analýze pracovního prostoru", - "pause.parsing": "Pozastavit analýzu pracovního prostoru", - "cancel.analysis": "Zrušit", - "resume.analysis": "Pokračovat", - "pause.analysis": "Pozastavit", - "another.analysis": "Spustit další…", - "active.analysis": "Spustit Code Analysis u aktivního souboru", - "all.analysis": "Spustit Code Analysis u všech souborů", - "open.analysis": "Spustit Code Analysis při otevírání souborů" -} \ No newline at end of file diff --git a/Extension/i18n/csy/src/commands.i18n.json b/Extension/i18n/csy/src/commands.i18n.json deleted file mode 100644 index e542695408..0000000000 --- a/Extension/i18n/csy/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "Tento příkaz se zakázal, protože {0} je nastavené na {1}." -} \ No newline at end of file diff --git a/Extension/i18n/csy/src/packageManager.i18n.json b/Extension/i18n/csy/src/packageManager.i18n.json deleted file mode 100644 index 5a9815dfdd..0000000000 --- a/Extension/i18n/csy/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "Stahuje se {0}.", - "installing.progress.description": "Instaluje se {0}.", - "package.manager.missing": "Manifest balíčku neexistuje.", - "downloading.package": "Stahuje se balíček {0}. ", - "error.from": "Chyba ze souboru {0}", - "failed.download.url": "Nepovedlo se stáhnout {0}.", - "failed.retrying": "Nepovedlo se. Pokus se opakuje...", - "done": "Hotovo!", - "waiting.seconds": "Čeká se {0} s...", - "temp.package.unavailable": "Soubor dočasného balíčku není k dispozici.", - "invalid.download.location.received": "Přijato neplatné umístění pro stahování", - "invalid.response.code.received": "Přijat neplatný kód odpovědi", - "failed.web.error": "neúspěšné (kód chyby {0})", - "web.response.error": "Chyba odpovědi HTTP/HTTPS", - "invalid.content.length.received": "Přijato neplatné umístění délky obsahu", - "invalid.content.received": "Přijal se neplatný obsah. Hodnota hash je nesprávná.", - "web.request.error": "Chyba požadavku HTTP/HTTPS", - "installing.package": "Instaluje se balíček {0}", - "downloaded.unavailable": "Stažený soubor není k dispozici.", - "zip.file.error": "Chyba souboru ZIP", - "create.directory.error": "Při vytváření adresáře došlo k chybě.", - "zip.stream.error": "Chyba při čtení streamu ZIP", - "unlink.error": "Při rušení propojení souboru {0} došlo k chybě.", - "rename.error": "Při přejmenování souboru {0} došlo k chybě.", - "read.stream.error": "Ve streamu pro čtení došlo k chybě.", - "write.stream.error": "Ve streamu pro zápis došlo k chybě.", - "file.already.exists": "Upozornění: Soubor {0} už existuje a neaktualizoval se." -} \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/deu/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index 5d60c9fc98..0000000000 --- a/Extension/i18n/deu/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Zu Verweis wechseln" -} \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/deu/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index d06cd42829..0000000000 --- a/Extension/i18n/deu/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Zu Verweis wechseln", - "pending.rename": "Umbenennung steht aus", - "candidates.for.rename": "Kandidaten für die Umbenennung" -} \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/deu/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index 30dee0ee05..0000000000 --- a/Extension/i18n/deu/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "Parsing-Arbeitsbereich", - "paused.tagparser.text": "Parsing-Arbeitsbereich: Angehalten", - "complete.tagparser.text": "Parsing abgeschlossen", - "initializing.tagparser.text": "Arbeitsbereich wird initialisiert", - "indexing.tagparser.text": "Arbeitsbereich für die Indizierung", - "rescan.tagparse.text": "Arbeitsbereich neu einlesen", - "c.cpp.parsing.open.files.tooltip": "Offene Dateien werden geparst", - "click.to.preview": "Klicken Sie, um eine Vorschau der Ergebnisse anzuzeigen.", - "updating.intellisense.text": "IntelliSense: Aktualisieren", - "idle.intellisense.text": "IntelliSense: Bereit", - "absent.intellisense.text": "IntelliSense: Nicht konfiguriert", - "running.analysis.text": "Code Analysis: Wird ausgeführt", - "paused.analysis.text": "Code Analysis: Angehalten", - "mode.analysis.prefix": "Code Analysis-Modus: ", - "c.cpp.configureIntelliSenseStatus.text": "IntelliSense konfigurieren", - "c.cpp.configureIntelliSenseStatus.cppText": "IntelliSense in C/C++ konfigurieren", - "select.command": "Befehl auswählen...", - "select.code.analysis.command": "Codeanalysebefehl auswählen...", - "c.cpp.configuration.tooltip": "C/C++-Konfiguration", - "c.cpp.references.statusbar": "C/C++-Referenzenstatus", - "cpptools.status.intellisense": "C/C++-IntelliSense-Status", - "cpptools.status.tagparser": "Status des C/C++-Tagparsers", - "cpptools.detail.tagparser": "Wird initialisiert...", - "cpptools.status.codeanalysis": "C/C++-Code Analysis-Status", - "c.cpp.codeanalysis.statusbar.runNow": "Jetzt ausführen", - "tagparser.pause.text": "Anhalten", - "tagparser.resume.text": "Fortsetzen", - "intellisense.select.text": "Compiler auswählen", - "rescan.intellisense.text": "Neu einlesen", - "rescan.intellisense.tooltip": "IntelliSense neu einlesen", - "mode.codeanalysis.status.automatic": "Automatisch", - "mode.codeanalysis.status.manual": "Manuell", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Optionen", - "startup.codeanalysis.status": "Wird gestartet...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Jetzt ausführen", - "running.analysis.processed.tooltip": "Wird ausgeführt: {0} / {1} ({2}%)", - "select.a.configuration": "Konfiguration auswählen...", - "edit.configuration.ui": "Konfigurationen bearbeiten (Benutzeroberfläche)", - "edit.configuration.json": "Konfigurationen bearbeiten (JSON)", - "select.configuration.provider": "Konfigurationsanbieter auswählen...", - "active": "aktiv", - "none": "keine", - "disable.configuration.provider": "Deaktivieren Sie den aktiven Konfigurationsanbieter, falls zutreffend.", - "select.compile.commands": "compile_commands.json-Datei auswählen...", - "select.workspace": "Arbeitsbereichsordner auswählen...", - "resume.parsing": "Parsing des Arbeitsbereichs fortsetzen", - "pause.parsing": "Parsing des Arbeitsbereichs anhalten", - "cancel.analysis": "Abbrechen", - "resume.analysis": "Fortsetzen", - "pause.analysis": "Anhalten", - "another.analysis": "Starten Sie eine weitere...", - "active.analysis": "Code Analysis auf \"Aktive Dateien\" ausführen", - "all.analysis": "Code Analysis auf \"Alle Dateien\" ausführen", - "open.analysis": "Code Analysis auf \"Dateien öffnen\" ausführen" -} \ No newline at end of file diff --git a/Extension/i18n/deu/src/commands.i18n.json b/Extension/i18n/deu/src/commands.i18n.json deleted file mode 100644 index 3dd6438dff..0000000000 --- a/Extension/i18n/deu/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "Dieser Befehl ist deaktiviert, weil \"{0}\" auf \"{1}\" festgelegt ist." -} \ No newline at end of file diff --git a/Extension/i18n/deu/src/packageManager.i18n.json b/Extension/i18n/deu/src/packageManager.i18n.json deleted file mode 100644 index 2cf3c8daee..0000000000 --- a/Extension/i18n/deu/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "\"{0}\" wird heruntergeladen.", - "installing.progress.description": "\"{0}\" wird installiert.", - "package.manager.missing": "Das Paketmanifest ist nicht vorhanden.", - "downloading.package": "Paket \"{0}\" wird heruntergeladen.", - "error.from": "Fehler von \"{0}\".", - "failed.download.url": "Fehler beim Herunterladen von \"{0}\".", - "failed.retrying": "Fehler. Vorgang wird wiederholt...", - "done": "Fertig", - "waiting.seconds": "{0} Sekunden lang warten...", - "temp.package.unavailable": "Temporäre Paketdatei nicht verfügbar.", - "invalid.download.location.received": "Ungültiger Downloadspeicherort empfangen.", - "invalid.response.code.received": "Ungültiger Antwortcode empfangen.", - "failed.web.error": "Fehler (Fehlercode: {0})", - "web.response.error": "HTTP/HTTPS-Antwortfehler", - "invalid.content.length.received": "Ungültige Content-Length-Position empfangen.", - "invalid.content.received": "Ungültige Inhalte empfangen: Der Hash ist falsch.", - "web.request.error": "HTTP/HTTPS-Anforderungsfehler", - "installing.package": "Paket \"{0}\" wird installiert", - "downloaded.unavailable": "Heruntergeladene Datei nicht verfügbar", - "zip.file.error": "Fehler in ZIP-Datei.", - "create.directory.error": "Fehler beim Erstellen des Verzeichnisses.", - "zip.stream.error": "Fehler beim Lesen des ZIP-Datenstroms.", - "unlink.error": "Fehler beim Aufheben der Verknüpfung für die Datei \"{0}\".", - "rename.error": "Fehler beim Umbenennen der Datei\"{0}\".", - "read.stream.error": "Fehler im Lesedatenstrom.", - "write.stream.error": "Fehler im Schreibdatenstrom.", - "file.already.exists": "Warnung: Die Datei \"{0}\" ist bereits vorhanden und wurde nicht aktualisiert." -} \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/esn/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index 6ab00b16cd..0000000000 --- a/Extension/i18n/esn/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Ir a referencia" -} \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/esn/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index 5d13fe67d1..0000000000 --- a/Extension/i18n/esn/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Ir a referencia", - "pending.rename": "Cambio de nombre pendiente", - "candidates.for.rename": "Candidatos a cambios de nombre" -} \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/esn/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index c6f40a88e6..0000000000 --- a/Extension/i18n/esn/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "Analizar área de trabajo", - "paused.tagparser.text": "Área de trabajo de análisis: en pausa", - "complete.tagparser.text": "Análisis finalizado", - "initializing.tagparser.text": "Inicializando área de trabajo", - "indexing.tagparser.text": "Área de trabajo de indexación", - "rescan.tagparse.text": "Volver a examinar el área de trabajo", - "c.cpp.parsing.open.files.tooltip": "Analizando archivos abiertos", - "click.to.preview": "hacer clic para obtener una vista previa de los resultados", - "updating.intellisense.text": "IntelliSense: actualización", - "idle.intellisense.text": "IntelliSense: listo", - "absent.intellisense.text": "IntelliSense: no configurado", - "running.analysis.text": "Code Analysis: en ejecución", - "paused.analysis.text": "Code Analysis: en pausa", - "mode.analysis.prefix": "Modo de Code Analysis: ", - "c.cpp.configureIntelliSenseStatus.text": "Configurar IntelliSense", - "c.cpp.configureIntelliSenseStatus.cppText": "Configuración de IntelliSense en C/C++", - "select.command": "Seleccione un comando...", - "select.code.analysis.command": "Seleccione un comando de análisis de código...", - "c.cpp.configuration.tooltip": "Configuración de C/C++", - "c.cpp.references.statusbar": "Estado de referencias de C/C++", - "cpptools.status.intellisense": "Estado de IntelliSense de C/C++", - "cpptools.status.tagparser": "Estado del analizador de etiquetas de C/C++", - "cpptools.detail.tagparser": "Inicializando...", - "cpptools.status.codeanalysis": "Estado de Code Analysis de C/C++", - "c.cpp.codeanalysis.statusbar.runNow": "Ejecutar ahora", - "tagparser.pause.text": "Pausa", - "tagparser.resume.text": "Reanudar", - "intellisense.select.text": "Seleccione un compilador", - "rescan.intellisense.text": "Volver a examinar", - "rescan.intellisense.tooltip": "Volver a examinar IntelliSense", - "mode.codeanalysis.status.automatic": "Automático", - "mode.codeanalysis.status.manual": "Manual", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Opciones", - "startup.codeanalysis.status": "Iniciando...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Ejecutar ahora", - "running.analysis.processed.tooltip": "En ejecución: {0} / {1} ({2}%)", - "select.a.configuration": "Seleccione una configuración...", - "edit.configuration.ui": "Editar configuraciones (interfaz de usuario)", - "edit.configuration.json": "Editar configuraciones (JSON)", - "select.configuration.provider": "Seleccione un proveedor de configuración...", - "active": "activar", - "none": "ninguno", - "disable.configuration.provider": "Deshabilite el proveedor de configuración activo, si procede.", - "select.compile.commands": "Seleccione un archivo compile_commands.json...", - "select.workspace": "Seleccione una carpeta del área de trabajo...", - "resume.parsing": "Reanudar el análisis de área de trabajo", - "pause.parsing": "Pausar el análisis de área de trabajo", - "cancel.analysis": "Cancelar", - "resume.analysis": "Reanudar", - "pause.analysis": "Pausa", - "another.analysis": "Iniciar otro...", - "active.analysis": "Ejecutar Code Analysis en el archivo activo", - "all.analysis": "Ejecutar análisis de código en todos los archivos", - "open.analysis": "Ejecutar análisis de código en archivos abiertos" -} \ No newline at end of file diff --git a/Extension/i18n/esn/src/commands.i18n.json b/Extension/i18n/esn/src/commands.i18n.json deleted file mode 100644 index 2d69d2284a..0000000000 --- a/Extension/i18n/esn/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "Este comando está deshabilitado porque \"{0}\" está establecido en \"{1}\"." -} \ No newline at end of file diff --git a/Extension/i18n/esn/src/packageManager.i18n.json b/Extension/i18n/esn/src/packageManager.i18n.json deleted file mode 100644 index 7e677ff259..0000000000 --- a/Extension/i18n/esn/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "Descargando {0}", - "installing.progress.description": "Instalando {0}", - "package.manager.missing": "El manifiesto del paquete no existe", - "downloading.package": "Descargando el paquete \"{0}\" ", - "error.from": "Error de {0}", - "failed.download.url": "No se pudo descargar {0}", - "failed.retrying": "Error. Reintentando...", - "done": "¡Listo!", - "waiting.seconds": "Esperando {0} segundos...", - "temp.package.unavailable": "El archivo de paquete temporal no está disponible", - "invalid.download.location.received": "Se ha recibido una ubicación de descarga no válida.", - "invalid.response.code.received": "Se ha recibido un código de respuesta no válido.", - "failed.web.error": "Error (código de error: {0})", - "web.response.error": "Error de respuesta HTTP/HTTPS", - "invalid.content.length.received": "Se ha recibido una ubicación con una longitud de contenido no válida.", - "invalid.content.received": "Se ha recibido contenido no válido. El hash es incorrecto.", - "web.request.error": "Error de solicitud HTTP/HTTPS", - "installing.package": "Instalando el paquete \"{0}\"", - "downloaded.unavailable": "El archivo descargado no está disponible", - "zip.file.error": "Error de archivo ZIP", - "create.directory.error": "Error al crear el directorio", - "zip.stream.error": "Error al leer la secuencia ZIP", - "unlink.error": "Error al desvincular el archivo {0}", - "rename.error": "Error al cambiar el nombre del archivo {0}", - "read.stream.error": "Error en la secuencia de lectura", - "write.stream.error": "Error en la secuencia de escritura", - "file.already.exists": "Advertencia: El archivo \"{0}\" ya existe y no se ha actualizado." -} \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/fra/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index 8180652eef..0000000000 --- a/Extension/i18n/fra/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Atteindre la référence" -} \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/fra/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index 955ed23aaa..0000000000 --- a/Extension/i18n/fra/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Atteindre la référence", - "pending.rename": "Renommage en attente", - "candidates.for.rename": "Candidats pour le renommage" -} \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/fra/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index b90b9a949f..0000000000 --- a/Extension/i18n/fra/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "Analyse de l’espace de travail", - "paused.tagparser.text": "Analyse de l’espace de travail : suspendu", - "complete.tagparser.text": "Analyse terminée", - "initializing.tagparser.text": "Initialisation de l’espace de travail", - "indexing.tagparser.text": "Indexation de l’espace de travail", - "rescan.tagparse.text": "Réanalyser l'espace de travail", - "c.cpp.parsing.open.files.tooltip": "Analyse des fichiers ouverts", - "click.to.preview": "cliquez pour voir un aperçu des résultats", - "updating.intellisense.text": "IntelliSense : mise à jour", - "idle.intellisense.text": "IntelliSense : prêt", - "absent.intellisense.text": "IntelliSense : non configuré", - "running.analysis.text": "Code Analysis : en cours d’exécution", - "paused.analysis.text": "Code Analysis : suspendu", - "mode.analysis.prefix": "Mode Code Analysis : ", - "c.cpp.configureIntelliSenseStatus.text": "Configurer IntelliSense", - "c.cpp.configureIntelliSenseStatus.cppText": "Configuration d’IntelliSense en C/C++", - "select.command": "Sélectionner une commande...", - "select.code.analysis.command": "Sélectionner une commande d’analyse du code...", - "c.cpp.configuration.tooltip": "Configuration C/C++", - "c.cpp.references.statusbar": "État des références C/C++", - "cpptools.status.intellisense": "État IntelliSense C/C++", - "cpptools.status.tagparser": "État de l’analyseur de balises C/C++", - "cpptools.detail.tagparser": "Initialisation en cours...", - "cpptools.status.codeanalysis": "État du Code Analysis C/C++", - "c.cpp.codeanalysis.statusbar.runNow": "Exécuter maintenant", - "tagparser.pause.text": "Pause", - "tagparser.resume.text": "Reprendre", - "intellisense.select.text": "Sélectionnez un compilateur", - "rescan.intellisense.text": "Relancer l'analyse", - "rescan.intellisense.tooltip": "Relancer l'analyse IntelliSense", - "mode.codeanalysis.status.automatic": "Automatique", - "mode.codeanalysis.status.manual": "Manuel", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Options", - "startup.codeanalysis.status": "Démarrage en cours...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Exécuter maintenant", - "running.analysis.processed.tooltip": "En cours d’exécution : {0}/{1} ({2} %)", - "select.a.configuration": "Sélectionner une configuration...", - "edit.configuration.ui": "Modifier les configurations (IU)", - "edit.configuration.json": "Modifier les configurations (JSON)", - "select.configuration.provider": "Sélectionner un fournisseur de configuration...", - "active": "active", - "none": "aucun", - "disable.configuration.provider": "Désactivez le fournisseur de configuration actif, le cas échéant.", - "select.compile.commands": "Sélectionner un fichier compile_commands.json...", - "select.workspace": "Sélectionner un dossier d'espace de travail...", - "resume.parsing": "Reprendre l’analyse de l’espace de travail", - "pause.parsing": "Suspendre l’analyse de l’espace de travail", - "cancel.analysis": "Annuler", - "resume.analysis": "Reprendre", - "pause.analysis": "Suspendre", - "another.analysis": "Démarrer une autre...", - "active.analysis": "Exécuter Code Analysis sur le fichier actif", - "all.analysis": "Exécuter une analyse de code sur Tous les fichiers", - "open.analysis": "Exécuter une analyse de code sur Ouvrir les fichiers" -} \ No newline at end of file diff --git a/Extension/i18n/fra/src/commands.i18n.json b/Extension/i18n/fra/src/commands.i18n.json deleted file mode 100644 index 33f0e5f359..0000000000 --- a/Extension/i18n/fra/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "Cette commande est désactivée, car \"{0}\" est défini sur \"{1}\"." -} \ No newline at end of file diff --git a/Extension/i18n/fra/src/packageManager.i18n.json b/Extension/i18n/fra/src/packageManager.i18n.json deleted file mode 100644 index 2741c81f2c..0000000000 --- a/Extension/i18n/fra/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "Téléchargement de {0} en cours", - "installing.progress.description": "Installation de {0}", - "package.manager.missing": "Le manifeste du package n'existe pas", - "downloading.package": "Téléchargement du package '{0}'", - "error.from": "Erreur de {0}", - "failed.download.url": "Le téléchargement de {0} a échoué", - "failed.retrying": "Échec. Nouvelle tentative...", - "done": "Terminé !", - "waiting.seconds": "Attente de {0} secondes...", - "temp.package.unavailable": "Fichier de package temporaire non disponible", - "invalid.download.location.received": "Emplacement de téléchargement reçu non valide", - "invalid.response.code.received": "Code de réponse reçu non valide", - "failed.web.error": "échec (code d'erreur '{0}')", - "web.response.error": "Erreur de réponse HTTP/HTTPS", - "invalid.content.length.received": "Emplacement de longueur de contenu reçu non valide", - "invalid.content.received": "Contenu non valide reçu. Code de hachage incorrect.", - "web.request.error": "Erreur de requête HTTP/HTTPS", - "installing.package": "Installation du package '{0}'", - "downloaded.unavailable": "Fichier téléchargé non disponible", - "zip.file.error": "Erreur du fichier zip", - "create.directory.error": "Erreur de création du répertoire", - "zip.stream.error": "Erreur de lecture du flux zip", - "unlink.error": "Erreur de dissociation du fichier {0}", - "rename.error": "Erreur de renommage du fichier {0}", - "read.stream.error": "Erreur du flux de lecture", - "write.stream.error": "Erreur du flux d'écriture", - "file.already.exists": "Avertissement : Le fichier '{0}' existe déjà et n'a pas été mis à jour." -} \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/ita/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index c4d2feedc3..0000000000 --- a/Extension/i18n/ita/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Vai a riferimento" -} \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/ita/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index b5539137b3..0000000000 --- a/Extension/i18n/ita/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Vai a riferimento", - "pending.rename": "Ridenominazione in sospeso", - "candidates.for.rename": "Candidati per ridenominazione" -} \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/ita/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index 887fe34c8d..0000000000 --- a/Extension/i18n/ita/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "Analisi area di lavoro", - "paused.tagparser.text": "Analisi area di lavoro: Sospesa", - "complete.tagparser.text": "Analisi completata", - "initializing.tagparser.text": "Inizializzazione dell'area di lavoro", - "indexing.tagparser.text": "Area di lavoro di indicizzazione", - "rescan.tagparse.text": "Ripeti analisi area di lavoro", - "c.cpp.parsing.open.files.tooltip": "Analisi dei file aperti", - "click.to.preview": "fare clic per visualizzare l'anteprima dei risultati", - "updating.intellisense.text": "IntelliSense: aggiornamento", - "idle.intellisense.text": "IntelliSense: Pronto", - "absent.intellisense.text": "IntelliSense: Non configurato", - "running.analysis.text": "Code Analysis: In esecuzione", - "paused.analysis.text": "Code Analysis: Sospeso", - "mode.analysis.prefix": "Modalità Code Analysis: ", - "c.cpp.configureIntelliSenseStatus.text": "Configura IntelliSense", - "c.cpp.configureIntelliSenseStatus.cppText": "C/C++ - Configura IntelliSense", - "select.command": "Seleziona un comando...", - "select.code.analysis.command": "Selezionare un comando di Code Analysis...", - "c.cpp.configuration.tooltip": "Configurazione di C/C++", - "c.cpp.references.statusbar": "Stato riferimenti C/C++", - "cpptools.status.intellisense": "Stato IntelliSense C/C++", - "cpptools.status.tagparser": "Stato del parser del tag C/C++", - "cpptools.detail.tagparser": "Inizializzazione...", - "cpptools.status.codeanalysis": "Stato Code Analysis C/C++", - "c.cpp.codeanalysis.statusbar.runNow": "Esegui", - "tagparser.pause.text": "Sospendi", - "tagparser.resume.text": "Riprendi", - "intellisense.select.text": "Seleziona un compilatore", - "rescan.intellisense.text": "Ripeti analisi", - "rescan.intellisense.tooltip": "Ripeti analisi di IntelliSense", - "mode.codeanalysis.status.automatic": "Automatico", - "mode.codeanalysis.status.manual": "Manuale", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Opzioni", - "startup.codeanalysis.status": "Avvio...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Esegui", - "running.analysis.processed.tooltip": "In esecuzione: {0} / {1} ({2}%)", - "select.a.configuration": "Seleziona una configurazione...", - "edit.configuration.ui": "Modifica configurazioni (interfaccia utente)", - "edit.configuration.json": "Modifica configurazioni (JSON)", - "select.configuration.provider": "Seleziona un provider di configurazione...", - "active": "attivo", - "none": "nessuno", - "disable.configuration.provider": "Disabilita il provider di configurazione attivo, se applicabile.", - "select.compile.commands": "Seleziona un file compile_commands.json...", - "select.workspace": "Seleziona una cartella dell'area di lavoro...", - "resume.parsing": "Riprendi analisi area di lavoro", - "pause.parsing": "Sospendi analisi area di lavoro", - "cancel.analysis": "Annulla", - "resume.analysis": "Riprendi", - "pause.analysis": "Sospendi", - "another.analysis": "Avvia un'altra...", - "active.analysis": "Esegui analisi del codice su File attivo", - "all.analysis": "Esegui analisi del codice su Tutti i file", - "open.analysis": "Esegui analisi del codice su Apri file" -} \ No newline at end of file diff --git a/Extension/i18n/ita/src/commands.i18n.json b/Extension/i18n/ita/src/commands.i18n.json deleted file mode 100644 index caaf811c0a..0000000000 --- a/Extension/i18n/ita/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "Questo comando è disabilitato perché \"{0}\" è impostato su \"{1}\"." -} \ No newline at end of file diff --git a/Extension/i18n/ita/src/packageManager.i18n.json b/Extension/i18n/ita/src/packageManager.i18n.json deleted file mode 100644 index a614d351a8..0000000000 --- a/Extension/i18n/ita/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "Download di {0}", - "installing.progress.description": "Installazione di {0}", - "package.manager.missing": "Il manifesto del pacchetto non esiste", - "downloading.package": "Download del pacchetto '{0}' ", - "error.from": "Errore restituito da {0}", - "failed.download.url": "Non è stato possibile scaricare {0}", - "failed.retrying": "Errore. Verrà effettuato un nuovo tentativo...", - "done": "Operazione completata.", - "waiting.seconds": "In attesa per {0} secondi...", - "temp.package.unavailable": "File del pacchetto temporaneo non disponibile", - "invalid.download.location.received": "È stato ricevuto un percorso di download non valido", - "invalid.response.code.received": "È stato ricevuto un codice di risposta non valido", - "failed.web.error": "errore (codice errore '{0}')", - "web.response.error": "Errore della risposta HTTP/HTTPS", - "invalid.content.length.received": "È stata ricevuta una lunghezza del contenuto non valida", - "invalid.content.received": "È stato ricevuto contenuto non valido. L'hash non è corretto.", - "web.request.error": "Errore della richiesta HTTP/HTTPS", - "installing.package": "Installazione del pacchetto '{0}'", - "downloaded.unavailable": "Il file scaricato non è disponibile", - "zip.file.error": "Errore del file ZIP", - "create.directory.error": "Si è verificato un errore durante la creazione della directory", - "zip.stream.error": "Si è verificato un errore durante la lettura del flusso ZIP", - "unlink.error": "Si è verificato durante lo scollegamento del file {0}", - "rename.error": "Si è verificato durante la ridenominazione del file {0}", - "read.stream.error": "Si è verificato un errore durante la lettura del flusso", - "write.stream.error": "Si è verificato un errore durante la scrittura del flusso", - "file.already.exists": "Avviso: il file '{0}' esiste già e non è stato aggiornato." -} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/jpn/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index 4b1c70b2bb..0000000000 --- a/Extension/i18n/jpn/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "参照へ移動" -} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/jpn/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index 6ff1e3eb82..0000000000 --- a/Extension/i18n/jpn/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "参照へ移動", - "pending.rename": "保留中の名前変更", - "candidates.for.rename": "名前変更候補" -} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/jpn/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index ebd5ae7c39..0000000000 --- a/Extension/i18n/jpn/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "ワークスペースを解析しています", - "paused.tagparser.text": "ワークスペースを解析しています: 一時停止", - "complete.tagparser.text": "解析完了", - "initializing.tagparser.text": "ワークスペースの初期化", - "indexing.tagparser.text": "ワークスペースのインデックス作成", - "rescan.tagparse.text": "ワークスペースの再スキャン", - "c.cpp.parsing.open.files.tooltip": "開いているファイルを解析しています", - "click.to.preview": "クリックして結果をプレビューします", - "updating.intellisense.text": "IntelliSense: 更新中", - "idle.intellisense.text": "IntelliSense: 準備完了", - "absent.intellisense.text": "IntelliSense: 未構成", - "running.analysis.text": "Code Analysis: 実行中", - "paused.analysis.text": "Code Analysis: 一時停止", - "mode.analysis.prefix": "Code Analysis モード: ", - "c.cpp.configureIntelliSenseStatus.text": "IntelliSense の構成", - "c.cpp.configureIntelliSenseStatus.cppText": "C/C++ IntelliSense の構成", - "select.command": "コマンドを選択する...", - "select.code.analysis.command": "コード分析コマンドを選択...", - "c.cpp.configuration.tooltip": "C/C++ 構成", - "c.cpp.references.statusbar": "C/C + + リファレンスの状態", - "cpptools.status.intellisense": "C/C++ IntelliSense の状態", - "cpptools.status.tagparser": "C/C + + タグ パーサーの状態", - "cpptools.detail.tagparser": "初期化しています...", - "cpptools.status.codeanalysis": "C/C++ Code Analysis の状態", - "c.cpp.codeanalysis.statusbar.runNow": "直ちに実行", - "tagparser.pause.text": "一時停止", - "tagparser.resume.text": "再開", - "intellisense.select.text": "コンパイラを選択する", - "rescan.intellisense.text": "再スキャン", - "rescan.intellisense.tooltip": "IntelliSense の再スキャン", - "mode.codeanalysis.status.automatic": "自動", - "mode.codeanalysis.status.manual": "手動", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "オプション", - "startup.codeanalysis.status": "開始しています...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "直ちに実行", - "running.analysis.processed.tooltip": "実行中: {0} / {1} ({2}%)", - "select.a.configuration": "構成を選択する...", - "edit.configuration.ui": "構成の編集 (UI)", - "edit.configuration.json": "構成の編集 (JSON)", - "select.configuration.provider": "構成プロバイダーを選択してください...", - "active": "アクティブ", - "none": "なし", - "disable.configuration.provider": "該当する場合は、アクティブな構成プロバイダーを無効にします。", - "select.compile.commands": "compile_commands.json を選択してください...", - "select.workspace": "ワークスペース フォルダーを選択します...", - "resume.parsing": "ワークスペースの解析の再開", - "pause.parsing": "ワークスペースの解析の一時停止", - "cancel.analysis": "キャンセル", - "resume.analysis": "再開", - "pause.analysis": "一時停止", - "another.analysis": "別のファイルを開始...", - "active.analysis": "アクティブ ファイルで Code Analysis を実行する", - "all.analysis": "すべてのファイルで Code Analysis を実行する", - "open.analysis": "開いているファイルで Code Analysis を実行する" -} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/commands.i18n.json b/Extension/i18n/jpn/src/commands.i18n.json deleted file mode 100644 index 036ceea1fc..0000000000 --- a/Extension/i18n/jpn/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "\"{0}\" が \"{1}\" に設定されているため、このコマンドは無効です。" -} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/packageManager.i18n.json b/Extension/i18n/jpn/src/packageManager.i18n.json deleted file mode 100644 index 35703074f2..0000000000 --- a/Extension/i18n/jpn/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "{0} のダウンロード中", - "installing.progress.description": "{0} のインストール中", - "package.manager.missing": "パッケージ マニフェストが存在しません", - "downloading.package": "パッケージ '{0}' をダウンロードしています", - "error.from": "{0} からのエラー", - "failed.download.url": "{0} をダウンロードできませんでした", - "failed.retrying": "失敗しました。再試行しています...", - "done": "完了しました!", - "waiting.seconds": "待機中 ({0} 秒)...", - "temp.package.unavailable": "一時パッケージ ファイルを使用できません", - "invalid.download.location.received": "無効なダウンロード場所を受信しました", - "invalid.response.code.received": "無効な応答コードを受信しました", - "failed.web.error": "失敗 (エラー コード '{0}')", - "web.response.error": "HTTP/HTTPS 応答エラー", - "invalid.content.length.received": "無効なコンテンツの長さの場所を受信しました", - "invalid.content.received": "無効な内容が受信されました。ハッシュが正しくありません。", - "web.request.error": "HTTP/HTTPS 要求エラー", - "installing.package": "パッケージ '{0}' をインストールしています", - "downloaded.unavailable": "ダウンロードしたファイルは利用できません", - "zip.file.error": "Zip ファイルのエラー", - "create.directory.error": "ディレクトリの作成中にエラーが発生しました", - "zip.stream.error": "zip ストリームの読み取りでエラーが発生しました", - "unlink.error": "ファイル {0} のリンク解除中にエラーが発生しました", - "rename.error": "ファイル {0} の名前変更でエラーが発生しました", - "read.stream.error": "ストリームの読み取りでエラーが発生しました", - "write.stream.error": "ストリームの書き込みでエラーが発生しました", - "file.already.exists": "警告: ファイル '{0}' は既に存在するため、更新されませんでした。" -} \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/kor/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index ab036d3fd2..0000000000 --- a/Extension/i18n/kor/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "참조로 이동" -} \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/kor/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index 144660adb7..0000000000 --- a/Extension/i18n/kor/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "참조로 이동", - "pending.rename": "보류 중인 이름 바꾸기", - "candidates.for.rename": "이름 바꾸기 후보" -} \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/kor/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index 50b1921fb7..0000000000 --- a/Extension/i18n/kor/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "작업 영역 구문 분석", - "paused.tagparser.text": "작업 영역 구문 분석: 일시 중지됨", - "complete.tagparser.text": "구문 분석이 완료되었습니다.", - "initializing.tagparser.text": "작업 영역 초기화", - "indexing.tagparser.text": "작업 영역 인덱싱", - "rescan.tagparse.text": "작업 영역 다시 검사", - "c.cpp.parsing.open.files.tooltip": "열린 파일을 구문 분석하는 중", - "click.to.preview": "결과를 미리 보려면 클릭", - "updating.intellisense.text": "IntelliSense: 업데이트 중", - "idle.intellisense.text": "IntelliSense: 준비 완료", - "absent.intellisense.text": "IntelliSense: 구성되지 않음", - "running.analysis.text": "Code Analysis: 실행 중", - "paused.analysis.text": "Code Analysis: 일시 중지됨", - "mode.analysis.prefix": "Code Analysis 모드: ", - "c.cpp.configureIntelliSenseStatus.text": "IntelliSense 구성", - "c.cpp.configureIntelliSenseStatus.cppText": "C/C++ IntelliSense 구성", - "select.command": "명령 선택...", - "select.code.analysis.command": "코드 분석 명령 선택...", - "c.cpp.configuration.tooltip": "C/C++ 구성", - "c.cpp.references.statusbar": "C/C++ 참조 상태", - "cpptools.status.intellisense": "C/C++ IntelliSense 상태", - "cpptools.status.tagparser": "C/C++ 태그 파서 상태", - "cpptools.detail.tagparser": "초기화하는 중...", - "cpptools.status.codeanalysis": "C/C++ Code Analysis 상태", - "c.cpp.codeanalysis.statusbar.runNow": "지금 실행", - "tagparser.pause.text": "일시 중지", - "tagparser.resume.text": "다시 시작", - "intellisense.select.text": "컴파일러 선택", - "rescan.intellisense.text": "다시 검사", - "rescan.intellisense.tooltip": "IntelliSense 다시 검사", - "mode.codeanalysis.status.automatic": "자동", - "mode.codeanalysis.status.manual": "수동", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "옵션", - "startup.codeanalysis.status": "시작 중...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "지금 실행", - "running.analysis.processed.tooltip": "실행 중: {0} / {1} ({2}%)", - "select.a.configuration": "구성 선택...", - "edit.configuration.ui": "구성 편집(UI)", - "edit.configuration.json": "구성 편집(JSON)", - "select.configuration.provider": "구성 공급자 선택...", - "active": "활성", - "none": "없음", - "disable.configuration.provider": "해당하는 경우 활성 구성 공급자를 사용하지 않도록 설정합니다.", - "select.compile.commands": "compile_commands.json 선택...", - "select.workspace": "작업 영역 폴더 선택...", - "resume.parsing": "작업 영역 구문 분석 다시 시작", - "pause.parsing": "작업 영역 구문 분석 일시 중지", - "cancel.analysis": "취소", - "resume.analysis": "다시 시작", - "pause.analysis": "일시 중지", - "another.analysis": "다른 시작...", - "active.analysis": "활성 파일에서 코드 분석 실행", - "all.analysis": "모든 파일에 대한 코드 분석 실행", - "open.analysis": "열린 파일에서 코드 분석 실행" -} \ No newline at end of file diff --git a/Extension/i18n/kor/src/commands.i18n.json b/Extension/i18n/kor/src/commands.i18n.json deleted file mode 100644 index d0dcd1033e..0000000000 --- a/Extension/i18n/kor/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "\"{0}\"이(가) \"{1}\"(으)로 설정되어 있으므로 이 명령을 사용할 수 없습니다." -} \ No newline at end of file diff --git a/Extension/i18n/kor/src/packageManager.i18n.json b/Extension/i18n/kor/src/packageManager.i18n.json deleted file mode 100644 index b349515504..0000000000 --- a/Extension/i18n/kor/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "{0} 다운로드 중", - "installing.progress.description": "{0} 설치 중", - "package.manager.missing": "패키지 매니페스트가 없습니다.", - "downloading.package": "'{0}' 패키지를 다운로드하는 중 ", - "error.from": "{0}의 오류", - "failed.download.url": "{0}을(를) 다운로드하지 못했습니다.", - "failed.retrying": "실패했습니다. 다시 시도하는 중...", - "done": "완료되었습니다.", - "waiting.seconds": "{0}초 동안 기다리는 중...", - "temp.package.unavailable": "임시 패키지 파일을 사용할 수 없음", - "invalid.download.location.received": "잘못된 다운로드 위치가 수신되었습니다.", - "invalid.response.code.received": "잘못된 응답 코드가 수신되었습니다.", - "failed.web.error": "실패(오류 코드 '{0}')", - "web.response.error": "HTTP/HTTPS 응답 오류", - "invalid.content.length.received": "잘못된 콘텐츠 길이 위치가 수신되었습니다.", - "invalid.content.received": "잘못된 콘텐츠를 받았습니다. 해시가 올바르지 않습니다.", - "web.request.error": "HTTP/HTTPS 요청 오류", - "installing.package": "'{0}' 패키지를 설치하는 중", - "downloaded.unavailable": "다운로드한 파일을 사용할 수 없음", - "zip.file.error": "Zip 파일 오류", - "create.directory.error": "디렉터리를 만드는 동안 오류가 발생했습니다.", - "zip.stream.error": "zip 스트림을 읽는 동안 오류가 발생했습니다.", - "unlink.error": "{0} 파일의 연결을 해제하는 동안 오류가 발생했습니다.", - "rename.error": "{0} 파일의 이름을 바꾸는 동안 오류가 발생했습니다.", - "read.stream.error": "읽기 스트림의 오류", - "write.stream.error": "쓰기 스트림의 오류", - "file.already.exists": "경고: '{0}' 파일이 이미 있으므로 업데이트되지 않았습니다." -} \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/plk/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index 6f5e4d1375..0000000000 --- a/Extension/i18n/plk/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Przejdź do odwołania" -} \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/plk/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index ce55373351..0000000000 --- a/Extension/i18n/plk/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Przejdź do odwołania", - "pending.rename": "Oczekiwanie na zmianę nazwy", - "candidates.for.rename": "Kandydaci do zmiany nazwy" -} \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/plk/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index 118e255e79..0000000000 --- a/Extension/i18n/plk/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "Analizowanie obszaru roboczego", - "paused.tagparser.text": "Analizowanie obszaru roboczego: wstrzymane", - "complete.tagparser.text": "Analizowanie zakończone", - "initializing.tagparser.text": "Inicjowanie obszaru roboczego", - "indexing.tagparser.text": "Indeksowanie obszaru roboczego", - "rescan.tagparse.text": "Ponowne skanowanie obszaru roboczego", - "c.cpp.parsing.open.files.tooltip": "Analizowanie otwartych plików", - "click.to.preview": "kliknij, aby wyświetlić podgląd wyników", - "updating.intellisense.text": "IntelliSense: aktualizowanie", - "idle.intellisense.text": "IntelliSense: gotowe", - "absent.intellisense.text": "IntelliSense: nieskonfigurowane", - "running.analysis.text": "Analiza kodu: uruchamianie", - "paused.analysis.text": "Analiza kodu: wstrzymano", - "mode.analysis.prefix": "Tryb analizy kodu: ", - "c.cpp.configureIntelliSenseStatus.text": "Konfigurowanie funkcji IntelliSense", - "c.cpp.configureIntelliSenseStatus.cppText": "Konfigurowanie funkcji IntelliSense (C/C++)", - "select.command": "Wybierz polecenie...", - "select.code.analysis.command": "Wybierz polecenie analizy kodu...", - "c.cpp.configuration.tooltip": "Konfiguracja języka C/C++", - "c.cpp.references.statusbar": "Stan odwołań języka C/C++", - "cpptools.status.intellisense": "Stan funkcji IntelliSense języka C/C++", - "cpptools.status.tagparser": "Stan parsera tagów języka C/C++", - "cpptools.detail.tagparser": "Trwa inicjowanie...", - "cpptools.status.codeanalysis": "Stan analizy kodu C/C++", - "c.cpp.codeanalysis.statusbar.runNow": "Uruchom teraz", - "tagparser.pause.text": "Wstrzymaj", - "tagparser.resume.text": "Wznów", - "intellisense.select.text": "Wybierz kompilator", - "rescan.intellisense.text": "Skanuj ponownie", - "rescan.intellisense.tooltip": "Ponowne skanowanie funkcji IntelliSense", - "mode.codeanalysis.status.automatic": "Automatycznie", - "mode.codeanalysis.status.manual": "Ręczny", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Opcje", - "startup.codeanalysis.status": "Trwa uruchamianie...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Uruchom teraz", - "running.analysis.processed.tooltip": "Uruchomione: {0} / {1} ({2}%)", - "select.a.configuration": "Wybierz konfigurację...", - "edit.configuration.ui": "Edytowanie konfiguracji (interfejs użytkownika)", - "edit.configuration.json": "Edytowanie konfiguracji (JSON)", - "select.configuration.provider": "Wybierz dostawcę konfiguracji...", - "active": "aktywne", - "none": "brak", - "disable.configuration.provider": "Wyłącz aktywnego dostawcę konfiguracji, jeśli ma zastosowanie.", - "select.compile.commands": "Wybierz plik compile_commands.json...", - "select.workspace": "Wybierz folder obszaru roboczego...", - "resume.parsing": "Wznów analizowanie obszaru roboczego", - "pause.parsing": "Wstrzymaj analizowanie obszaru roboczego", - "cancel.analysis": "Anuluj", - "resume.analysis": "Wznów", - "pause.analysis": "Wstrzymaj", - "another.analysis": "Uruchom kolejną...", - "active.analysis": "Uruchom analizę kodu dla aktywnego pliku", - "all.analysis": "Uruchamianie analizy kodu dla wszystkich plików", - "open.analysis": "Uruchamianie rozszerzenia Code Analysis na otwartych plikach" -} \ No newline at end of file diff --git a/Extension/i18n/plk/src/commands.i18n.json b/Extension/i18n/plk/src/commands.i18n.json deleted file mode 100644 index 3b9e27ce0f..0000000000 --- a/Extension/i18n/plk/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "To polecenie zostało wyłączone, ponieważ element „{0}” ma wartość „{1}”." -} \ No newline at end of file diff --git a/Extension/i18n/plk/src/packageManager.i18n.json b/Extension/i18n/plk/src/packageManager.i18n.json deleted file mode 100644 index 5382bf56b1..0000000000 --- a/Extension/i18n/plk/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "Pobieranie: {0}", - "installing.progress.description": "Instalowanie: {0}", - "package.manager.missing": "Manifest pakietu nie istnieje", - "downloading.package": "Pobieranie pakietu „{0}” ", - "error.from": "Błąd z pliku {0}", - "failed.download.url": "Nie można pobrać elementu {0}", - "failed.retrying": "Niepowodzenie. Trwa ponawianie próby...", - "done": "Gotowe!", - "waiting.seconds": "Trwa oczekiwanie na upłynięcie {0} s...", - "temp.package.unavailable": "Plik pakietu tymczasowego niedostępny", - "invalid.download.location.received": "Odebrano nieprawidłową lokalizację pobierania", - "invalid.response.code.received": "Odebrano nieprawidłowy kod odpowiedzi", - "failed.web.error": "niepowodzenie (kod błędu „{0}”)", - "web.response.error": "Błąd odpowiedzi HTTP/HTTPS", - "invalid.content.length.received": "Odebrano nieprawidłową lokalizację długości zawartości", - "invalid.content.received": "Odebrano nieprawidłową zawartość. Wartość skrótu jest niepoprawna.", - "web.request.error": "Błąd żądania HTTP/HTTPS", - "installing.package": "Instalowanie pakietu „{0}”", - "downloaded.unavailable": "Pobrany plik niedostępny", - "zip.file.error": "Błąd pliku ZIP", - "create.directory.error": "Błąd tworzenia katalogu", - "zip.stream.error": "Błąd odczytu strumienia ZIP", - "unlink.error": "Błąd podczas odłączania pliku {0}", - "rename.error": "Błąd podczas zmieniania nazwy pliku {0}", - "read.stream.error": "Błąd w strumieniu odczytu", - "write.stream.error": "Błąd w strumieniu zapisu", - "file.already.exists": "Ostrzeżenie: plik „{0}” już istnieje i nie został zaktualizowany." -} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/ptb/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index 3a04a6725c..0000000000 --- a/Extension/i18n/ptb/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Acessar a referência" -} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/ptb/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index 413283bfb6..0000000000 --- a/Extension/i18n/ptb/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Acessar a referência", - "pending.rename": "Renomeação Pendente", - "candidates.for.rename": "Candidatos para a Renomeação" -} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/ptb/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index 1aa8ec4659..0000000000 --- a/Extension/i18n/ptb/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "Analisando o Workspace", - "paused.tagparser.text": "Workspace de Análise: Pausado", - "complete.tagparser.text": "Análise Concluída", - "initializing.tagparser.text": "Inicializando o Workspace", - "indexing.tagparser.text": "Workspace da Indexação", - "rescan.tagparse.text": "Examinar Novamente o Workspace", - "c.cpp.parsing.open.files.tooltip": "Analisando Arquivos Abertos", - "click.to.preview": "clique aqui para visualizar os resultados", - "updating.intellisense.text": "IntelliSense: Atualizando", - "idle.intellisense.text": "IntelliSense: Pronto", - "absent.intellisense.text": "IntelliSense: Não Configurado", - "running.analysis.text": "Code Analysis: em Execução", - "paused.analysis.text": "Code Analysis: Pausado", - "mode.analysis.prefix": "Modo do Code Analysis: ", - "c.cpp.configureIntelliSenseStatus.text": "Configurar o IntelliSense", - "c.cpp.configureIntelliSenseStatus.cppText": "C/C++ Configurar IntelliSense", - "select.command": "Selecionar um comando...", - "select.code.analysis.command": "Selecione um comando de análise de código...", - "c.cpp.configuration.tooltip": "Configuração de C/C++", - "c.cpp.references.statusbar": "Status de Referências do C/C++", - "cpptools.status.intellisense": "Status do IntelliSense do C/C++", - "cpptools.status.tagparser": "Status do Analisador de Marcas do C/C++", - "cpptools.detail.tagparser": "Inicializando...", - "cpptools.status.codeanalysis": "Status do Code Analysis do C/C++", - "c.cpp.codeanalysis.statusbar.runNow": "Executar Agora", - "tagparser.pause.text": "Pausar", - "tagparser.resume.text": "Retomar", - "intellisense.select.text": "Selecionar um Compilador", - "rescan.intellisense.text": "Examinar novamente", - "rescan.intellisense.tooltip": "Examinar Novamente o IntelliSense", - "mode.codeanalysis.status.automatic": "Automático", - "mode.codeanalysis.status.manual": "Manual", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Opções", - "startup.codeanalysis.status": "Iniciando...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Executar Agora", - "running.analysis.processed.tooltip": "Executando: {0} / {1} ({2}%)", - "select.a.configuration": "Selecione uma Configuração...", - "edit.configuration.ui": "Editar Configurações (IU)", - "edit.configuration.json": "Editar Configurações (JSON)", - "select.configuration.provider": "Selecione um Provedor de Configuração...", - "active": "ativo", - "none": "nenhum", - "disable.configuration.provider": "Desabilite o provedor de configuração ativo, se aplicável.", - "select.compile.commands": "Selecione um compile_commands.json...", - "select.workspace": "Selecionar uma pasta de workspace...", - "resume.parsing": "Retomar a Análise do Espaço de trabalho", - "pause.parsing": "Pausar a Análise do Espaço de trabalho", - "cancel.analysis": "Cancelar", - "resume.analysis": "Retomar", - "pause.analysis": "Pausar", - "another.analysis": "Iniciar Outro...", - "active.analysis": "Executar Code Analysis no Arquivo Ativo", - "all.analysis": "Executar Code Analysis em Todos os Arquivos", - "open.analysis": "Executar Code Analysis em Abrir Arquivos" -} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/commands.i18n.json b/Extension/i18n/ptb/src/commands.i18n.json deleted file mode 100644 index 3d00819077..0000000000 --- a/Extension/i18n/ptb/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "Este comando está desabilitado porque \"{0}\" está definido como \"{1}\"." -} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/packageManager.i18n.json b/Extension/i18n/ptb/src/packageManager.i18n.json deleted file mode 100644 index dc04f746e1..0000000000 --- a/Extension/i18n/ptb/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "Baixando {0}", - "installing.progress.description": "Instalando {0}", - "package.manager.missing": "O manifesto do pacote não existe", - "downloading.package": "Baixando o pacote '{0}' ", - "error.from": "Erro de {0}", - "failed.download.url": "Falha ao baixar {0}", - "failed.retrying": "Falha. Repetindo...", - "done": "Concluído!", - "waiting.seconds": "Aguardando {0} segundos...", - "temp.package.unavailable": "Arquivo de Pacote Temporário não disponível", - "invalid.download.location.received": "Recebido um local de download inválido", - "invalid.response.code.received": "Recebido código de resposta inválido", - "failed.web.error": "falha (código de erro '{0}')", - "web.response.error": "Erro de resposta HTTP/HTTPS", - "invalid.content.length.received": "Recebido local de comprimento de conteúdo inválido", - "invalid.content.received": "Conteúdo inválido recebido. O hash está incorreto.", - "web.request.error": "Erro de solicitação HTTP/HTTPS", - "installing.package": "Instalando o pacote '{0}'", - "downloaded.unavailable": "Arquivo baixado não disponível", - "zip.file.error": "Erro no arquivo zip", - "create.directory.error": "Erro ao criar o diretório", - "zip.stream.error": "Erro ao ler o fluxo zip", - "unlink.error": "Erro ao desvincular o arquivo {0}", - "rename.error": "Erro ao renomear o arquivo {0}", - "read.stream.error": "Erro no fluxo de leitura", - "write.stream.error": "Erro no fluxo de gravação", - "file.already.exists": "Aviso: o arquivo '{0}' já existe e não foi atualizado." -} \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/rus/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index 41a31af42d..0000000000 --- a/Extension/i18n/rus/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Переход по ссылке" -} \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/rus/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index a0f603eca2..0000000000 --- a/Extension/i18n/rus/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Переход по ссылке", - "pending.rename": "Ожидающее переименование", - "candidates.for.rename": "Кандидаты для переименования" -} \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/rus/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index 715f24453c..0000000000 --- a/Extension/i18n/rus/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "Анализ рабочей области", - "paused.tagparser.text": "Анализ рабочей области: приостановлено", - "complete.tagparser.text": "Анализ завершен", - "initializing.tagparser.text": "Инициализация рабочей области", - "indexing.tagparser.text": "Индексация рабочей области", - "rescan.tagparse.text": "Повторное сканирование рабочей области", - "c.cpp.parsing.open.files.tooltip": "Анализ открытых файлов", - "click.to.preview": "щелкните для предварительного просмотра результатов", - "updating.intellisense.text": "IntelliSense: обновление", - "idle.intellisense.text": "IntelliSense: готово", - "absent.intellisense.text": "IntelliSense: не настроено", - "running.analysis.text": "Code Analysis: запуск", - "paused.analysis.text": "Code Analysis: приостановлено", - "mode.analysis.prefix": "Режим Code Analysis: ", - "c.cpp.configureIntelliSenseStatus.text": "Настройка IntelliSense", - "c.cpp.configureIntelliSenseStatus.cppText": "Настройка IntelliSense C/C++", - "select.command": "Выбор команды...", - "select.code.analysis.command": "Выберите команду анализа кода...", - "c.cpp.configuration.tooltip": "Конфигурация C/C++", - "c.cpp.references.statusbar": "Состояние ссылок C/C++", - "cpptools.status.intellisense": "Состояние IntelliSense C/C++", - "cpptools.status.tagparser": "Состояние анализатора тегов C/C++", - "cpptools.detail.tagparser": "Выполняется инициализация…", - "cpptools.status.codeanalysis": "Состояние Code Analysis C/C++", - "c.cpp.codeanalysis.statusbar.runNow": "Запустить сейчас", - "tagparser.pause.text": "Приостановить", - "tagparser.resume.text": "Возобновить", - "intellisense.select.text": "Выбор компилятора", - "rescan.intellisense.text": "Повторное сканирование", - "rescan.intellisense.tooltip": "Повторное сканирование IntelliSense", - "mode.codeanalysis.status.automatic": "Автоматически", - "mode.codeanalysis.status.manual": "Вручную", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Параметры", - "startup.codeanalysis.status": "Запуск…", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Запустить сейчас", - "running.analysis.processed.tooltip": "Выполняется: {0}/{1} ({2}%)", - "select.a.configuration": "Выберите конфигурацию...", - "edit.configuration.ui": "Изменить конфигурации (пользовательский интерфейс)", - "edit.configuration.json": "Изменить конфигурации (JSON)", - "select.configuration.provider": "Выберите поставщик конфигурации...", - "active": "активные", - "none": "нет", - "disable.configuration.provider": "Отключите активный поставщик конфигурации (если применимо).", - "select.compile.commands": "Выберите compile_commands.json...", - "select.workspace": "Выберите папку рабочей области…", - "resume.parsing": "Возобновить анализ рабочей области", - "pause.parsing": "Приостановить анализ рабочей области", - "cancel.analysis": "Отмена", - "resume.analysis": "Возобновить", - "pause.analysis": "Приостановить", - "another.analysis": "Запустить другой...", - "active.analysis": "Запустить Code Analysis в активном файле", - "all.analysis": "Запустить Code Analysis во всех файлах", - "open.analysis": "Запустить Code Analysis в открытых файлах" -} \ No newline at end of file diff --git a/Extension/i18n/rus/src/commands.i18n.json b/Extension/i18n/rus/src/commands.i18n.json deleted file mode 100644 index bb68a8d476..0000000000 --- a/Extension/i18n/rus/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "Эта команда отключена, так как для \"{0}\" задано значение \"{1}\"." -} \ No newline at end of file diff --git a/Extension/i18n/rus/src/packageManager.i18n.json b/Extension/i18n/rus/src/packageManager.i18n.json deleted file mode 100644 index 29f40c7c4c..0000000000 --- a/Extension/i18n/rus/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "Скачивание {0}.", - "installing.progress.description": "Установка {0}.", - "package.manager.missing": "Манифест пакета не существует", - "downloading.package": "Выполняется скачивание пакета \"{0}\"", - "error.from": "Ошибка из файла {0}", - "failed.download.url": "Не удалось скачать {0}", - "failed.retrying": "Сбой. Повторная попытка...", - "done": "Готово.", - "waiting.seconds": "Ожидание {0} с...", - "temp.package.unavailable": "Временный файл пакета недоступен", - "invalid.download.location.received": "Получено недопустимое расположение скачивания", - "invalid.response.code.received": "Получен недопустимый код отклика", - "failed.web.error": "Сбой (код ошибки \"{0}\").", - "web.response.error": "Ошибка ответа HTTP/HTTPS", - "invalid.content.length.received": "Получено недопустимое расположение длины содержимого", - "invalid.content.received": "Получено недопустимое содержимое. Неверный хэш.", - "web.request.error": "Ошибка запроса HTTP/HTTPS", - "installing.package": "Установка пакета \"{0}\"", - "downloaded.unavailable": "Скачанный файл недоступен", - "zip.file.error": "Ошибка в ZIP-файле", - "create.directory.error": "Ошибка при создании каталога", - "zip.stream.error": "Ошибка при чтении потока zip", - "unlink.error": "Ошибка при удалении связи файла {0}", - "rename.error": "Ошибка при переименовании файла {0}", - "read.stream.error": "Ошибка в потоке чтения", - "write.stream.error": "Ошибка в потоке записи", - "file.already.exists": "Предупреждение: файл \"{0}\" уже существует и не был обновлен." -} \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/referencesProvider.i18n.json b/Extension/i18n/trk/src/LanguageServer/referencesProvider.i18n.json deleted file mode 100644 index add149d070..0000000000 --- a/Extension/i18n/trk/src/LanguageServer/referencesProvider.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Başvuruya git" -} \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/renameDataProvider.i18n.json b/Extension/i18n/trk/src/LanguageServer/renameDataProvider.i18n.json deleted file mode 100644 index 5d33cafa9d..0000000000 --- a/Extension/i18n/trk/src/LanguageServer/renameDataProvider.i18n.json +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "goto.reference": "Başvuruya git", - "pending.rename": "Yeniden Adlandırma Bekleniyor", - "candidates.for.rename": "Yeniden adlandırma adayları" -} \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/ui_new.i18n.json b/Extension/i18n/trk/src/LanguageServer/ui_new.i18n.json deleted file mode 100644 index e1c79b7f26..0000000000 --- a/Extension/i18n/trk/src/LanguageServer/ui_new.i18n.json +++ /dev/null @@ -1,61 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -// Do not edit this file. It is machine generated. -{ - "running.tagparser.text": "Çalışma Alanı Ayrıştırılıyor", - "paused.tagparser.text": "Çalışma Alanı Ayrıştırılıyor: Duraklatıldı", - "complete.tagparser.text": "Ayrıştırma Tamamlandı", - "initializing.tagparser.text": "Çalışma Alanı Başlatılıyor", - "indexing.tagparser.text": "Çalışma Alanı Dizine Ekleniyor", - "rescan.tagparse.text": "Çalışma Alanını Yeniden Tara", - "c.cpp.parsing.open.files.tooltip": "Açık Dosyalar Ayrıştırılıyor", - "click.to.preview": "sonuçların önizlemesini görüntülemek için tıklayın", - "updating.intellisense.text": "IntelliSense: Güncelleştiriliyor", - "idle.intellisense.text": "IntelliSense: Hazır", - "absent.intellisense.text": "IntelliSense: Yapılandırılmadı", - "running.analysis.text": "Code Analysis: Çalışıyor", - "paused.analysis.text": "Code Analysis: Duraklatıldı", - "mode.analysis.prefix": "Code Analysis Modu: ", - "c.cpp.configureIntelliSenseStatus.text": "IntelliSense'i Yapılandır", - "c.cpp.configureIntelliSenseStatus.cppText": "C/C++ IntelliSense'i Yapılandır", - "select.command": "Komut seçin...", - "select.code.analysis.command": "Kod analizi komutu seçin...", - "c.cpp.configuration.tooltip": "C/C++ Yapılandırması", - "c.cpp.references.statusbar": "C/C++ Başvuruları Durumu", - "cpptools.status.intellisense": "C/C++ IntelliSense Durumu", - "cpptools.status.tagparser": "C/C++ Etiket Ayrıştırıcısı Durumu", - "cpptools.detail.tagparser": "Başlatılıyor...", - "cpptools.status.codeanalysis": "C/C++ Code Analysis Durumu", - "c.cpp.codeanalysis.statusbar.runNow": "Şimdi Çalıştır", - "tagparser.pause.text": "Duraklat", - "tagparser.resume.text": "Sürdür", - "intellisense.select.text": "Derleyici seçin", - "rescan.intellisense.text": "Yeniden tara", - "rescan.intellisense.tooltip": "Rescan IntelliSense", - "mode.codeanalysis.status.automatic": "Otomatik", - "mode.codeanalysis.status.manual": "El ile", - "c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Seçenekler", - "startup.codeanalysis.status": "Başlatılıyor...", - "c.cpp.codeanalysis.statusbar.showRunNowOptions": "Şimdi Çalıştır", - "running.analysis.processed.tooltip": "Çalışıyor: {0}/{1} (%{2})", - "select.a.configuration": "Yapılandırma Seçin...", - "edit.configuration.ui": "Yapılandırmaları Düzenle (UI)", - "edit.configuration.json": "Yapılandırmaları Düzenle (JSON)", - "select.configuration.provider": "Yapılandırma Sağlayıcısı Seçin...", - "active": "etkin", - "none": "yok", - "disable.configuration.provider": "Varsa etkin yapılandırma sağlayıcısını devre dışı bırakın.", - "select.compile.commands": "compile_commands.json dosyası seçin...", - "select.workspace": "Çalışma alanı klasörü seçin...", - "resume.parsing": "Çalışma Alanı Ayrıştırmasını Sürdür", - "pause.parsing": "Çalışma Alanı Ayrıştırmasını Duraklat", - "cancel.analysis": "İptal", - "resume.analysis": "Sürdür", - "pause.analysis": "Duraklat", - "another.analysis": "Başkasını Başlat...", - "active.analysis": "Aktif Dosyada Code Analysis’i Çalıştır", - "all.analysis": "Tüm Dosyalarda Code Analysis’i Çalıştır", - "open.analysis": "Açık Dosyalarda Code Analysis’i Çalıştır" -} \ No newline at end of file diff --git a/Extension/i18n/trk/src/commands.i18n.json b/Extension/i18n/trk/src/commands.i18n.json deleted file mode 100644 index 3f0f083100..0000000000 --- a/Extension/i18n/trk/src/commands.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "command.disabled": "\"{0}\", \"{1}\" olarak ayarlandığından bu komut devre dışı bırakıldı." -} \ No newline at end of file diff --git a/Extension/i18n/trk/src/packageManager.i18n.json b/Extension/i18n/trk/src/packageManager.i18n.json deleted file mode 100644 index 0a15fe3f47..0000000000 --- a/Extension/i18n/trk/src/packageManager.i18n.json +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * 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. -{ - "downloading.progress.description": "{0} indiriliyor", - "installing.progress.description": "{0} yükleniyor", - "package.manager.missing": "Paket bildirimi yok", - "downloading.package": "'{0}' paketi indiriliyor ", - "error.from": "Hata kaynağı: {0}", - "failed.download.url": "{0} indirilemedi", - "failed.retrying": "Başarısız oldu. Yeniden deneniyor...", - "done": "Tamamlandı!", - "waiting.seconds": "{0} saniye bekleniyor...", - "temp.package.unavailable": "Geçici Paket dosyası kullanılamıyor", - "invalid.download.location.received": "Geçersiz indirme konumu alındı", - "invalid.response.code.received": "Geçersiz yanıt kodu alındı", - "failed.web.error": "başarısız oldu (hata kodu '{0}')", - "web.response.error": "HTTP/HTTPS Yanıt Hatası", - "invalid.content.length.received": "Geçersiz içerik uzunluğu konumu alındı", - "invalid.content.received": "Geçersiz içerik alındı. Karma yanlış.", - "web.request.error": "HTTP/HTTPS İstek hatası", - "installing.package": "'{0}' paketi yükleniyor", - "downloaded.unavailable": "İndirilen dosya kullanılamıyor", - "zip.file.error": "Zip dosyası hatası", - "create.directory.error": "Dizin oluşturulurken hata oluştu", - "zip.stream.error": "Zip akışı okuma hatası", - "unlink.error": "{0} dosyasının bağlantısı kaldırılırken hata oluştu", - "rename.error": "{0} dosyası yeniden adlandırılırken hata oluştu", - "read.stream.error": "Akış okunurken hata", - "write.stream.error": "Akışa yazılırken hata", - "file.already.exists": "Uyarı: '{0}' dosyası zaten var ve güncelleştirilmedi." -} \ No newline at end of file diff --git a/Extension/package.json b/Extension/package.json index 957914679f..664c5b6cb2 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.22.0-main", + "version": "1.22.3-main", "publisher": "ms-vscode", "icon": "LanguageCCPP_color_128x.png", "readme": "README.md", @@ -38,7 +38,8 @@ "Snippets" ], "enabledApiProposals": [ - "terminalDataWriteEvent" + "terminalDataWriteEvent", + "lmTools" ], "capabilities": { "untrustedWorkspaces": { @@ -610,7 +611,7 @@ "scope": "resource" }, "C_Cpp.inactiveRegionOpacity": { - "type:": "number", + "type": "number", "default": 0.55, "markdownDescription": "%c_cpp.configuration.inactiveRegionOpacity.markdownDescription%", "scope": "resource", @@ -915,16 +916,6 @@ ], "scope": "resource" }, - "C_Cpp.intelliSenseEngineFallback": { - "type": "string", - "enum": [ - "enabled", - "disabled" - ], - "default": "disabled", - "markdownDescription": "%c_cpp.configuration.intelliSenseEngineFallback.markdownDescription%", - "scope": "resource" - }, "C_Cpp.exclusionPolicy": { "type": "string", "enum": [ @@ -1153,6 +1144,7 @@ "scope": "resource" }, "C_Cpp.vcFormat.newLine.beforeOpenBrace.lambda": { + "type": "string", "enum": [ "newLine", "sameLine", @@ -3341,11 +3333,6 @@ "title": "%c_cpp.command.disableErrorSquiggles.title%", "category": "C/C++" }, - { - "command": "C_Cpp.ToggleIncludeFallback", - "title": "%c_cpp.command.toggleIncludeFallback.title%", - "category": "C/C++" - }, { "command": "C_Cpp.ToggleDimInactiveRegions", "title": "%c_cpp.command.toggleDimInactiveRegions.title%", @@ -5863,10 +5850,6 @@ "command": "C_Cpp.DisableErrorSquiggles", "when": "config.C_Cpp.intelliSenseEngine =~ /^[dD]efault$/" }, - { - "command": "C_Cpp.ToggleIncludeFallback", - "when": "config.C_Cpp.intelliSenseEngine =~ /^[dD]efault$/" - }, { "command": "C_Cpp.ToggleDimInactiveRegions", "when": "config.C_Cpp.intelliSenseEngine =~ /^[dD]efault$/" @@ -5881,7 +5864,7 @@ }, { "command": "C_Cpp.LogDiagnostics", - "when": "editorLangId =~ /^(c|(cuda-)?cpp)$/ && !(config.C_Cpp.intelliSenseEngine =~ /^[dD]isabled$/)" + "when": "!(config.C_Cpp.intelliSenseEngine =~ /^[dD]isabled$/)" }, { "command": "C_Cpp.RescanWorkspace", @@ -6458,6 +6441,19 @@ "description": "%c_cpp.codeActions.refactor.extract.function.description%" } } + ], + "languageModelTools": [ + { + "id": "cpptools-lmtool-configuration", + "name": "cpp", + "displayName": "%c_cpp.languageModelTools.configuration.displayName%", + "canBeInvokedManually": true, + "userDescription": "%c_cpp.languageModelTools.configuration.userDescription%", + "modelDescription": "For the active C or C++ file, this tool provides: the language (C, C++, or CUDA), the language standard version (such as C++11, C++14, C++17, or C++20), the compiler (such as GCC, Clang, or MSVC), the target platform (such as x86, x64, or ARM), and the target architecture (such as 32-bit or 64-bit).", + "icon": "$(file-code)", + "parametersSchema": {}, + "when": "(config.C_Cpp.experimentalFeatures =~ /^[eE]nabled$/)" + } ] }, "scripts": { @@ -6525,7 +6521,7 @@ "ts-node": "^10.9.2", "typescript": "^5.4.5", "vscode-nls-dev": "^4.0.4", - "webpack": "^5.91.0", + "webpack": "^5.94.0", "webpack-cli": "^5.1.4", "xml2js": "^0.6.2" }, diff --git a/Extension/package.nls.json b/Extension/package.nls.json index 7745216295..7f784f7c99 100644 --- a/Extension/package.nls.json +++ b/Extension/package.nls.json @@ -17,7 +17,6 @@ "c_cpp.command.switchHeaderSource.title": "Switch Header/Source", "c_cpp.command.enableErrorSquiggles.title": "Enable Error Squiggles", "c_cpp.command.disableErrorSquiggles.title": "Disable Error Squiggles", - "c_cpp.command.toggleIncludeFallback.title": "Toggle IntelliSense Engine Fallback on Include Errors", "c_cpp.command.toggleDimInactiveRegions.title": "Toggle Inactive Region Colorization", "c_cpp.command.resetDatabase.title": "Reset IntelliSense Database", "c_cpp.command.takeSurvey.title": "Take Survey", @@ -121,7 +120,7 @@ ] }, "c_cpp.configuration.codeAnalysis.exclude.markdownDescription": { - "message": "Configure glob patterns for excluding folders and files for code analysis. Files not under the workspace folder are always excluded. Inherits values from `#files.exclude#` and `#C_Cpp.files.exclude#`. Read more about glob patterns [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", + "message": "Configure glob patterns for excluding folders and files for code analysis. Files not under the workspace folder are always excluded. Inherits values from `#files.exclude#` and `#C_Cpp.files.exclude#`. Learn more about [glob patterns](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", "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." ] @@ -469,12 +468,6 @@ "c_cpp.configuration.intelliSenseEngine.default.description": "Provides context-aware results via a separate IntelliSense process.", "c_cpp.configuration.intelliSenseEngine.tagParser.description": "Provides \"fuzzy\" results that are not context-aware.", "c_cpp.configuration.intelliSenseEngine.disabled.description": "Turns off C/C++ language service features.", - "c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": { - "message": "Controls whether the IntelliSense engine will automatically switch to the Tag Parser for translation units containing `#include` errors.", - "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.autocomplete.markdownDescription": { "message": "Controls the auto-completion provider. If `disabled` and you want word-based completion, you will also need to set `\"[cpp]\": {\"editor.wordBasedSuggestions\": }` (and similarly for `c` and `cuda-cpp` languages).", "comment": [ @@ -788,7 +781,7 @@ ] }, "c_cpp.configuration.filesExclude.markdownDescription": { - "message": "Configure glob patterns for excluding folders (and files if `#C_Cpp.exclusionPolicy#` is changed). These are specific to the C/C++ extension and are in addition to `#files.exclude#`, but unlike `#files.exclude#` they also apply to paths outside the current workspace folder and are not removed from the Explorer view. Read more about glob patterns [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", + "message": "Configure glob patterns for excluding folders (and files if `#C_Cpp.exclusionPolicy#` is changed). These are specific to the C/C++ extension and are in addition to `#files.exclude#`, but unlike `#files.exclude#` they also apply to paths outside the current workspace folder and are not removed from the Explorer view. Learn more about [glob patterns](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", "comment": [ "Markdown text between `` and [) should not be translated and the capitalization, spacing, and punctuation (including the ``) should not be altered: https://en.wikipedia.org/wiki/Markdown" ] @@ -1013,5 +1006,7 @@ "c_cpp.configuration.refactoring.includeHeader.markdownDescription": "Controls whether to include the header file of a refactored function/symbol to its corresponding source file when doing a refactoring action, such as create declaration/definition.", "c_cpp.configuration.refactoring.includeHeader.always.description": "Always include the header file if it is not included explicitly in its source file.", "c_cpp.configuration.refactoring.includeHeader.ifNeeded.description": "Only include the header file if it is not included explicitly in its source file or through implicit inclusion.", - "c_cpp.configuration.refactoring.includeHeader.never.description": "Never include the header file." + "c_cpp.configuration.refactoring.includeHeader.never.description": "Never include the header file.", + "c_cpp.languageModelTools.configuration.displayName": "C/C++ configuration", + "c_cpp.languageModelTools.configuration.userDescription": "Configuration of the active C or C++ file, like language standard version and target platform." } diff --git a/Extension/src/Debugger/attachToProcess.ts b/Extension/src/Debugger/attachToProcess.ts index 5fddbfc16b..4ff3ce0c2e 100644 --- a/Extension/src/Debugger/attachToProcess.ts +++ b/Extension/src/Debugger/attachToProcess.ts @@ -187,13 +187,18 @@ export class RemoteAttachPicker { const args: string[] = [`-ex "target extended-remote ${miDebuggerServerAddress}"`, '-ex "info os processes"', '-batch']; let processListOutput: util.ProcessReturnType = await util.spawnChildProcess(miDebuggerPath, args); // The device may not be responsive for a while during the restart after image deploy. Retry 5 times. - for (let i: number = 0; i < 5 && !processListOutput.succeeded; i++) { + for (let i: number = 0; i < 5 && !processListOutput.succeeded && processListOutput.outputError.length === 0; i++) { processListOutput = await util.spawnChildProcess(miDebuggerPath, args); } if (!processListOutput.succeeded) { throw new Error(localize('failed.to.make.gdb.connection', 'Failed to make GDB connection: "{0}".', processListOutput.output)); } + + if (processListOutput.outputError.length !== 0) { + throw new Error(localize('failed.to.make.gdb.connection', 'Failed to make GDB connection: "{0}".', processListOutput.outputError)); + } + const processes: AttachItem[] = this.parseProcessesFromInfoOsProcesses(processListOutput.output); if (!processes || processes.length === 0) { throw new Error(localize('failed.to.parse.processes', 'Failed to parse processes: "{0}".', processListOutput.output)); diff --git a/Extension/src/LanguageServer/Providers/HoverProvider.ts b/Extension/src/LanguageServer/Providers/HoverProvider.ts new file mode 100644 index 0000000000..0a4cd6eab6 --- /dev/null +++ b/Extension/src/LanguageServer/Providers/HoverProvider.ts @@ -0,0 +1,57 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +import * as vscode from 'vscode'; +import { Position, ResponseError, TextDocumentPositionParams } from 'vscode-languageclient'; +import { DefaultClient, HoverRequest } from '../client'; +import { RequestCancelled, ServerCancelled } from '../protocolFilter'; +import { CppSettings } from '../settings'; + +export class HoverProvider implements vscode.HoverProvider { + private client: DefaultClient; + constructor(client: DefaultClient) { + this.client = client; + } + + public async provideHover(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken): Promise { + const settings: CppSettings = new CppSettings(vscode.workspace.getWorkspaceFolder(document.uri)?.uri); + if (settings.hover === "disabled") { + return undefined; + } + const params: TextDocumentPositionParams = { + textDocument: { uri: document.uri.toString() }, + position: Position.create(position.line, position.character) + }; + await this.client.ready; + let hoverResult: vscode.Hover; + try { + hoverResult = await this.client.languageClient.sendRequest(HoverRequest, params, token); + } catch (e: any) { + if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { + throw new vscode.CancellationError(); + } + throw e; + } + if (token.isCancellationRequested) { + throw new vscode.CancellationError(); + } + // VS Code doesn't like the raw objects returned via RPC, so we need to create proper VS Code objects here. + const strings: vscode.MarkdownString[] = []; + for (const element of hoverResult.contents) { + const oldMarkdownString: vscode.MarkdownString = element as vscode.MarkdownString; + const newMarkdownString: vscode.MarkdownString = new vscode.MarkdownString(oldMarkdownString.value, oldMarkdownString.supportThemeIcons); + newMarkdownString.isTrusted = oldMarkdownString.isTrusted; + newMarkdownString.supportHtml = oldMarkdownString.supportHtml; + newMarkdownString.baseUri = oldMarkdownString.baseUri; + strings.push(newMarkdownString); + } + let range: vscode.Range | undefined; + if (hoverResult.range) { + range = new vscode.Range(hoverResult.range.start.line, hoverResult.range.start.character, + hoverResult.range.end.line, hoverResult.range.end.character); + } + + return new vscode.Hover(strings, range); + } +} diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index 5a69b496bb..30d016d336 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -27,7 +27,7 @@ import * as fs from 'fs'; import * as os from 'os'; import { SourceFileConfiguration, SourceFileConfigurationItem, Version, WorkspaceBrowseConfiguration } from 'vscode-cpptools'; import { IntelliSenseStatus, Status } from 'vscode-cpptools/out/testApi'; -import { CloseAction, DidOpenTextDocumentParams, ErrorAction, LanguageClientOptions, NotificationType, Position, Range, RequestType, TextDocumentIdentifier } from 'vscode-languageclient'; +import { CloseAction, DidOpenTextDocumentParams, ErrorAction, LanguageClientOptions, NotificationType, Position, Range, RequestType, ResponseError, TextDocumentIdentifier, TextDocumentPositionParams } from 'vscode-languageclient'; import { LanguageClient, ServerOptions } from 'vscode-languageclient/node'; import * as nls from 'vscode-nls'; import { DebugConfigurationProvider } from '../Debugger/configurationProvider'; @@ -43,6 +43,7 @@ import { localizedStringCount, lookupString } from '../nativeStrings'; import { SessionState } from '../sessionState'; import * as telemetry from '../telemetry'; import { TestHook, getTestHook } from '../testHook'; +import { HoverProvider } from './Providers/HoverProvider'; import { CodeAnalysisDiagnosticIdentifiersAndUri, RegisterCodeAnalysisNotifications, @@ -57,12 +58,12 @@ import { cachedEditorConfigSettings, getEditorConfigSettings } from './editorCon import { CppSourceStr, clients, configPrefix, updateLanguageConfigurations, usesCrashHandler, watchForCrashes } from './extension'; import { LocalizeStringParams, getLocaleId, getLocalizedString } from './localization'; import { PersistentFolderState, PersistentWorkspaceState } from './persistentState'; -import { createProtocolFilter } from './protocolFilter'; +import { RequestCancelled, ServerCancelled, createProtocolFilter } from './protocolFilter'; import * as refs from './references'; import { CppSettings, OtherSettings, SettingsParams, WorkspaceFolderSettingsParams } from './settings'; import { SettingsTracker } from './settingsTracker'; import { ConfigurationType, LanguageStatusUI, getUI } from './ui'; -import { handleChangedFromCppToC, makeLspRange, makeVscodeLocation, makeVscodeRange } from './utils'; +import { handleChangedFromCppToC, makeLspRange, makeVscodeLocation, makeVscodeRange, withCancellation } from './utils'; import minimatch = require("minimatch"); function deepCopy(obj: any) { @@ -541,6 +542,14 @@ interface GetIncludesResult { includedFiles: string[]; } +export interface ChatContextResult { + language: string; + standardVersion: string; + compiler: string; + targetPlatform: string; + targetArchitecture: string; +} + // Requests const PreInitializationRequest: RequestType = new RequestType('cpptools/preinitialize'); const InitializationRequest: RequestType = new RequestType('cpptools/initialize'); @@ -554,12 +563,14 @@ export const GetFoldingRangesRequest: RequestType = new RequestType('cpptools/formatDocument'); export const FormatRangeRequest: RequestType = new RequestType('cpptools/formatRange'); export const FormatOnTypeRequest: RequestType = new RequestType('cpptools/formatOnType'); +export const HoverRequest: RequestType = new RequestType('cpptools/hover'); 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'); // Notifications to the server const DidOpenNotification: NotificationType = new NotificationType('textDocument/didOpen'); @@ -790,6 +801,7 @@ export interface Client { setShowConfigureIntelliSenseButton(show: boolean): void; addTrustedCompiler(path: string): Promise; getIncludes(maxDepth: number): Promise; + getChatContext(token: vscode.CancellationToken): Promise; } export function createClient(workspaceFolder?: vscode.WorkspaceFolder): Client { @@ -826,6 +838,7 @@ export class DefaultClient implements Client { public lastCustomBrowseConfiguration: PersistentFolderState | undefined; public lastCustomBrowseConfigurationProviderId: PersistentFolderState | undefined; public lastCustomBrowseConfigurationProviderVersion: PersistentFolderState | undefined; + public currentCaseSensitiveFileSupport: PersistentWorkspaceState | undefined; private registeredProviders: PersistentFolderState | undefined; private configStateReceived: ConfigStateReceived = { compilers: false, compileCommands: false, configProviders: undefined, timeout: false }; @@ -1255,6 +1268,7 @@ export class DefaultClient implements Client { initializedClientCount = 0; this.inlayHintsProvider = new InlayHintsProvider(); + this.disposables.push(vscode.languages.registerHoverProvider(util.documentSelector, new HoverProvider(this))); 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))); @@ -1323,7 +1337,6 @@ export class DefaultClient implements Client { const result: WorkspaceFolderSettingsParams = { uri: workspaceFolderUri?.toString(), intelliSenseEngine: settings.intelliSenseEngine, - intelliSenseEngineFallback: settings.intelliSenseEngineFallback, autocomplete: settings.autocomplete, autocompleteAddParentheses: settings.autocompleteAddParentheses, errorSquiggles: settings.errorSquiggles, @@ -1445,6 +1458,9 @@ export class DefaultClient implements Client { const workspaceSettings: CppSettings = new CppSettings(); const workspaceOtherSettings: OtherSettings = new OtherSettings(); const workspaceFolderSettingsParams: WorkspaceFolderSettingsParams[] = this.getAllWorkspaceFolderSettings(); + if (this.currentCaseSensitiveFileSupport && workspaceSettings.isCaseSensitiveFileSupportEnabled !== this.currentCaseSensitiveFileSupport.Value) { + void util.promptForReloadWindowDueToSettingsChange(); + } return { filesAssociations: workspaceOtherSettings.filesAssociations, workspaceFallbackEncoding: workspaceOtherSettings.filesEncoding, @@ -1472,7 +1488,7 @@ export class DefaultClient implements Client { } private async createLanguageClient(): Promise { - const currentCaseSensitiveFileSupport: PersistentWorkspaceState = new PersistentWorkspaceState("CPP.currentCaseSensitiveFileSupport", false); + this.currentCaseSensitiveFileSupport = new PersistentWorkspaceState("CPP.currentCaseSensitiveFileSupport", false); let resetDatabase: boolean = false; const serverModule: string = getLanguageServerFileName(); const exeExists: boolean = fs.existsSync(serverModule); @@ -1515,9 +1531,9 @@ export class DefaultClient implements Client { } const workspaceSettings: CppSettings = new CppSettings(); - if (workspaceSettings.isCaseSensitiveFileSupportEnabled !== currentCaseSensitiveFileSupport.Value) { + if (workspaceSettings.isCaseSensitiveFileSupportEnabled !== this.currentCaseSensitiveFileSupport.Value) { resetDatabase = true; - currentCaseSensitiveFileSupport.Value = workspaceSettings.isCaseSensitiveFileSupportEnabled; + this.currentCaseSensitiveFileSupport.Value = workspaceSettings.isCaseSensitiveFileSupportEnabled; } const cacheStoragePath: string = util.getCacheStoragePath(); @@ -1945,6 +1961,34 @@ export class DefaultClient implements Client { if (this.configuration.CurrentConfiguration) { configJson = `Current Configuration:\n${JSON.stringify(this.configuration.CurrentConfiguration, null, 4)}\n`; } + const userModifiedSettings = Object.entries(this.settingsTracker.getUserModifiedSettings()); + if (userModifiedSettings.length > 0) { + const settings: Record = {}; + for (const [key] of userModifiedSettings) { + // Some settings were renamed during a telemetry change, so we need to undo that here. + const realKey = key.endsWith('2') ? key.slice(0, key.length - 1) : key; + const fullKey = `C_Cpp.${realKey}`; + settings[fullKey] = vscode.workspace.getConfiguration("C_Cpp").get(realKey) ?? ''; + } + configJson += `Modified Settings:\n${JSON.stringify(settings, null, 4)}\n`; + } + + { + const editorSettings = new OtherSettings(this.RootUri); + const settings: Record = {}; + settings.editorTabSize = editorSettings.editorTabSize; + settings.editorInsertSpaces = editorSettings.editorInsertSpaces; + settings.editorAutoClosingBrackets = editorSettings.editorAutoClosingBrackets; + settings.filesEncoding = editorSettings.filesEncoding; + settings.filesAssociations = editorSettings.filesAssociations; + settings.filesExclude = editorSettings.filesExclude; + settings.filesAutoSaveAfterDelay = editorSettings.filesAutoSaveAfterDelay; + settings.editorInlayHintsEnabled = editorSettings.editorInlayHintsEnabled; + settings.editorParameterHintsEnabled = editorSettings.editorParameterHintsEnabled; + settings.searchExclude = editorSettings.searchExclude; + settings.workbenchSettingsEditor = editorSettings.workbenchSettingsEditor; + configJson += `Additional Tracked Settings:\n${JSON.stringify(settings, null, 4)}\n`; + } // Get diagnostics for configuration provider info. let configurationLoggingStr: string = ""; @@ -2204,6 +2248,25 @@ export class DefaultClient implements Client { return this.languageClient.sendRequest(IncludesRequest, params); } + public async getChatContext(token: vscode.CancellationToken): Promise { + await withCancellation(this.ready, token); + let result: ChatContextResult; + try { + result = await this.languageClient.sendRequest(CppContextRequest, null, token); + } catch (e: any) { + if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { + throw new vscode.CancellationError(); + } + + throw e; + } + if (token.isCancellationRequested) { + throw new vscode.CancellationError(); + } + + return result; + } + /** * a Promise that can be awaited to know when it's ok to proceed. * @@ -3744,6 +3807,7 @@ export class DefaultClient implements Client { const formatRangeStartLine: number = range.start.line + lineOffset; let rangeStartLine: number = formatRangeStartLine; let rangeStartCharacter: number = 0; + let startWithNewLine: boolean = true; if (edit.newText.startsWith("\r\n\r\n")) { rangeStartCharacter = 4; rangeStartLine += 2; @@ -3756,12 +3820,16 @@ export class DefaultClient implements Client { } else if (edit.newText.startsWith("\n")) { rangeStartCharacter = 1; rangeStartLine += 1; + } else { + startWithNewLine = false; } const newFormatRange: vscode.Range = new vscode.Range( new vscode.Position(formatRangeStartLine + (nextLineOffset < 0 ? nextLineOffset : 0), range.start.character), - new vscode.Position(rangeStartLine + (nextLineOffset < 0 ? 0 : nextLineOffset), + new vscode.Position(formatRangeStartLine + (nextLineOffset < 0 ? 0 : nextLineOffset), isReplace ? range.end.character : - range.end.character + edit.newText.length - rangeStartCharacter)); + ((startWithNewLine ? 0 : range.end.character) + (edit.newText.endsWith("\n") ? 0 : edit.newText.length - rangeStartCharacter)) + ) + ); if (isSourceFile) { sourceFormatUriAndRanges.push({ uri, range: newFormatRange }); } else { @@ -4084,4 +4152,5 @@ class NullClient implements Client { setShowConfigureIntelliSenseButton(show: boolean): void { } addTrustedCompiler(path: string): Promise { return Promise.resolve(); } getIncludes(): Promise { return Promise.resolve({} as GetIncludesResult); } + getChatContext(token: vscode.CancellationToken): Promise { return Promise.resolve({} as ChatContextResult); } } diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index 5c6bc11240..470ca51fe5 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -26,6 +26,7 @@ import { CodeActionDiagnosticInfo, CodeAnalysisDiagnosticIdentifiersAndUri, code import { CppBuildTaskProvider } from './cppBuildTaskProvider'; import { getCustomConfigProviders } from './customProviders'; import { getLanguageConfig } from './languageConfig'; +import { CppConfigurationLanguageModelTool } from './lmTool'; import { PersistentState } from './persistentState'; import { NodeType, TreeNode } from './referencesModel'; import { CppSettings } from './settings'; @@ -248,6 +249,11 @@ export async function activate(): Promise { clients.timeTelemetryCollector.setFirstFile(activeEditor.document.uri); activeDocument = activeEditor.document; } + + if (util.extensionContext && new CppSettings().experimentalFeatures) { + const tool = vscode.lm.registerTool('cpptools-lmtool-configuration', new CppConfigurationLanguageModelTool()); + disposables.push(tool); + } } export function updateLanguageConfigurations(): void { @@ -359,7 +365,6 @@ export function registerCommands(enabled: boolean): void { commandDisposables.push(vscode.commands.registerCommand('C_Cpp.AddToIncludePath', enabled ? onAddToIncludePath : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.EnableErrorSquiggles', enabled ? onEnableSquiggles : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.DisableErrorSquiggles', enabled ? onDisableSquiggles : onDisabledCommand)); - commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ToggleIncludeFallback', enabled ? onToggleIncludeFallback : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ToggleDimInactiveRegions', enabled ? onToggleDimInactiveRegions : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.PauseParsing', enabled ? onPauseParsing : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ResumeParsing', enabled ? onResumeParsing : onDisabledCommand)); @@ -754,12 +759,6 @@ function onDisableSquiggles(): void { settings.update("errorSquiggles", "disabled"); } -function onToggleIncludeFallback(): void { - // This only applies to the active client. - const settings: CppSettings = new CppSettings(clients.ActiveClient.RootUri); - settings.toggleSetting("intelliSenseEngineFallback", "enabled", "disabled"); -} - function onToggleDimInactiveRegions(): void { // This only applies to the active client. const settings: CppSettings = new CppSettings(clients.ActiveClient.RootUri); diff --git a/Extension/src/LanguageServer/lmTool.ts b/Extension/src/LanguageServer/lmTool.ts new file mode 100644 index 0000000000..f643c63714 --- /dev/null +++ b/Extension/src/LanguageServer/lmTool.ts @@ -0,0 +1,102 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +'use strict'; + +import * as vscode from 'vscode'; +import { localize } from 'vscode-nls'; +import * as util from '../common'; +import * as logger from '../logger'; +import * as telemetry from '../telemetry'; +import { ChatContextResult } from './client'; +import { getClients } from './extension'; + +const knownValues: { [Property in keyof ChatContextResult]?: { [id: string]: string } } = { + language: { + 'c': 'C', + 'cpp': 'C++', + 'cuda-cpp': 'CUDA C++' + }, + compiler: { + 'msvc': 'MSVC', + 'clang': 'Clang', + 'gcc': 'GCC' + }, + standardVersion: { + 'c++98': 'C++98', + 'c++03': 'C++03', + 'c++11': 'C++11', + 'c++14': 'C++14', + 'c++17': 'C++17', + 'c++20': 'C++20', + 'c++23': 'C++23', + 'c90': "C90", + 'c99': "C99", + 'c11': "C11", + 'c17': "C17", + 'c23': "C23" + }, + targetPlatform: { + 'windows': 'Windows', + 'Linux': 'Linux', + 'macos': 'macOS' + } +}; + +class StringLanguageModelToolResult implements vscode.LanguageModelToolResult { + public constructor(public readonly value: string) { } + public toString(): string { return this.value; } +} + +export class CppConfigurationLanguageModelTool implements vscode.LanguageModelTool { + public async invoke(_parameters: any, token: vscode.CancellationToken): Promise { + return new StringLanguageModelToolResult(await this.getContext(token)); + } + + private async getContext(token: vscode.CancellationToken): Promise { + try { + const currentDoc = vscode.window.activeTextEditor?.document; + if (!currentDoc || (!util.isCpp(currentDoc) && !util.isHeaderFile(currentDoc.uri))) { + return 'The active document is not a C, C++, or CUDA file.'; + } + + const chatContext: ChatContextResult | undefined = await (getClients()?.ActiveClient?.getChatContext(token) ?? undefined); + if (!chatContext) { + return 'No configuration information is available for the active document.'; + } + + telemetry.logLanguageModelToolEvent( + 'cpp', + { + "language": chatContext.language, + "compiler": chatContext.compiler, + "standardVersion": chatContext.standardVersion, + "targetPlatform": chatContext.targetPlatform, + "targetArchitecture": chatContext.targetArchitecture + }); + + for (const key in knownValues) { + const knownKey = key as keyof ChatContextResult; + if (knownValues[knownKey] && chatContext[knownKey]) { + chatContext[knownKey] = knownValues[knownKey][chatContext[knownKey]] || chatContext[knownKey]; + } + } + + return `The user is working on a ${chatContext.language} project. The project uses language version ${chatContext.standardVersion}, compiles using the ${chatContext.compiler} compiler, targets the ${chatContext.targetPlatform} platform, and targets the ${chatContext.targetArchitecture} architecture.`; + } + catch { + await this.reportError(); + return ""; + } + } + + private async reportError(): Promise { + try { + logger.getOutputChannelLogger().appendLine(localize("copilot.cppcontext.error", "Error while retrieving the #cpp context.")); + } + catch { + // Intentionally swallow any exception. + } + } +} diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index 694ad36c35..5171f27793 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -37,7 +37,6 @@ export interface Associations { export interface WorkspaceFolderSettingsParams { uri: string | undefined; intelliSenseEngine: string; - intelliSenseEngineFallback: boolean; autocomplete: string; autocompleteAddParentheses: boolean; errorSquiggles: string; @@ -367,7 +366,6 @@ export class CppSettings extends Settings { public get experimentalFeatures(): boolean { return this.getAsString("experimentalFeatures").toLowerCase() === "enabled"; } public get suggestSnippets(): boolean { return this.getAsBoolean("suggestSnippets"); } public get intelliSenseEngine(): string { return this.getAsString("intelliSenseEngine"); } - public get intelliSenseEngineFallback(): boolean { return this.getAsString("intelliSenseEngineFallback").toLowerCase() === "enabled"; } public get intelliSenseCachePath(): string | undefined { return changeBlankStringToUndefined(this.getAsStringOrUndefined("intelliSenseCachePath")); } public get intelliSenseCacheSize(): number { return this.getAsNumber("intelliSenseCacheSize"); } public get intelliSenseMemoryLimit(): number { return this.getAsNumber("intelliSenseMemoryLimit"); } @@ -459,7 +457,7 @@ export class CppSettings extends Settings { public get inlayHintsReferenceOperatorShowSpace(): boolean { return this.getAsBoolean("inlayHints.referenceOperator.showSpace"); } public get isEnhancedColorizationEnabled(): boolean { return this.getAsString("enhancedColorization").toLowerCase() === "enabled" - && this.intelliSenseEngine === "default" + && this.intelliSenseEngine.toLowerCase() === "default" && vscode.workspace.getConfiguration("workbench").get("colorTheme") !== "Default High Contrast"; } public get formattingEngine(): string { return this.getAsString("formatting"); } @@ -523,7 +521,7 @@ export class CppSettings extends Settings { public get vcFormatWrapPreserveBlocks(): string { return this.getAsString("vcFormat.wrap.preserveBlocks"); } public get dimInactiveRegions(): boolean { return this.getAsBoolean("dimInactiveRegions") - && this.intelliSenseEngine === "default" && vscode.workspace.getConfiguration("workbench").get("colorTheme") !== "Default High Contrast"; + && this.intelliSenseEngine.toLowerCase() === "default" && vscode.workspace.getConfiguration("workbench").get("colorTheme") !== "Default High Contrast"; } public get sshTargetsView(): string { return this.getAsString("sshTargetsView"); } @@ -894,7 +892,7 @@ export class CppSettings extends Settings { // This is intentionally not async to avoid races due to multiple entrancy. public useVcFormat(document: vscode.TextDocument): boolean { if (this.formattingEngine !== "default") { - return this.formattingEngine === "vcformat"; + return this.formattingEngine.toLowerCase() === "vcformat"; } if (this.clangFormatStyle && this.clangFormatStyle !== "file") { // If a clang-format style other than file is specified, don't try to switch to vcFormat. diff --git a/Extension/src/LanguageServer/settingsPanel.ts b/Extension/src/LanguageServer/settingsPanel.ts index 2d0ee5a57d..4522091d02 100644 --- a/Extension/src/LanguageServer/settingsPanel.ts +++ b/Extension/src/LanguageServer/settingsPanel.ts @@ -296,14 +296,17 @@ export class SettingsPanel { } private updateConfig(message: any): void { - const splitEntries: (input: any) => string[] = (input: any) => input.split("\n").filter((e: string) => e); + const splitEntries: (input: any) => string[] | undefined = (input: any) => { + const result = input.split("\n").filter((e: string) => e); + return result.length === 0 ? undefined : result; + }; switch (message.key) { case elementId.configName: this.configValues.name = message.value; break; case elementId.compilerPath: - this.configValues.compilerPath = message.value; + this.configValues.compilerPath = message.value || undefined; break; case elementId.compilerArgs: this.configValues.compilerArgs = splitEntries(message.value); @@ -328,22 +331,22 @@ export class SettingsPanel { this.configValues.cppStandard = message.value; break; case elementId.windowsSdkVersion: - this.configValues.windowsSdkVersion = message.value; + this.configValues.windowsSdkVersion = message.value || undefined; break; case elementId.macFrameworkPath: this.configValues.macFrameworkPath = splitEntries(message.value); break; case elementId.compileCommands: - this.configValues.compileCommands = message.value; + this.configValues.compileCommands = message.value || undefined; break; case elementId.dotConfig: - this.configValues.dotConfig = message.value; + this.configValues.dotConfig = message.value || undefined; break; case elementId.mergeConfigurations: this.configValues.mergeConfigurations = message.value; break; case elementId.configurationProvider: - this.configValues.configurationProvider = message.value; + this.configValues.configurationProvider = message.value || undefined; break; case elementId.forcedInclude: this.configValues.forcedInclude = splitEntries(message.value); @@ -364,7 +367,7 @@ export class SettingsPanel { if (!this.configValues.browse) { this.configValues.browse = {}; } - this.configValues.browse.databaseFilename = message.value; + this.configValues.browse.databaseFilename = message.value || undefined; break; } diff --git a/Extension/src/LanguageServer/settingsTracker.ts b/Extension/src/LanguageServer/settingsTracker.ts index 371a7b3a14..9cad273f50 100644 --- a/Extension/src/LanguageServer/settingsTracker.ts +++ b/Extension/src/LanguageServer/settingsTracker.ts @@ -62,17 +62,17 @@ export class SettingsTracker { if (subVal === undefined) { continue; } - if (subVal instanceof Object && !(subVal instanceof Array)) { + if (newRawSetting === undefined && subVal instanceof Object) { collectSettingsRecursive(newKey, subVal, depth + 1); } else { const entry: KeyValuePair | undefined = this.filterAndSanitize(newKey, subVal, correctlyScopedSubSettings, filter); - if (entry && entry.key && entry.value) { + if (entry?.key && entry.value !== undefined) { result[entry.key] = entry.value; } } } }; - if (val instanceof Object && !(val instanceof Array)) { + if (rawSetting === undefined && val instanceof Object) { collectSettingsRecursive(key, val, 1); continue; } @@ -108,6 +108,9 @@ export class SettingsTracker { return ""; } 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; } } } @@ -123,6 +126,9 @@ export class SettingsTracker { if (typeof value === t) { return t; } + if (t === "integer" && typeof value === "number") { + return "number"; + } if (t === "array" && value instanceof Array) { return t; } @@ -131,8 +137,13 @@ export class SettingsTracker { } } } - } else if (typeof type === "string" && typeof value === type) { - return type; + } else if (typeof type === "string") { + if (typeof value === type) { + return type; + } + if (type === "integer" && typeof value === "number") { + return "number"; + } } } return undefined; diff --git a/Extension/src/LanguageServer/utils.ts b/Extension/src/LanguageServer/utils.ts index da3d29b693..e8c8073ee1 100644 --- a/Extension/src/LanguageServer/utils.ts +++ b/Extension/src/LanguageServer/utils.ts @@ -1,101 +1,114 @@ -/* -------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All Rights Reserved. - * See 'LICENSE' in the project root for license information. - * ------------------------------------------------------------------------------------------ */ -'use strict'; -import * as os from 'os'; -import * as vscode from 'vscode'; -import { Range } from 'vscode-languageclient'; -import { SessionState } from '../sessionState'; -import { Location, TextEdit } from './commonTypes'; -import { CppSettings } from './settings'; - -export function makeLspRange(vscRange: vscode.Range): Range { - return { - start: { line: vscRange.start.line, character: vscRange.start.character }, - end: { line: vscRange.end.line, character: vscRange.end.character } - }; -} - -export function makeVscodeRange(cpptoolsRange: Range): vscode.Range { - return new vscode.Range(cpptoolsRange.start.line, cpptoolsRange.start.character, cpptoolsRange.end.line, cpptoolsRange.end.character); -} - -export function makeVscodeLocation(cpptoolsLocation: Location): vscode.Location { - return new vscode.Location(vscode.Uri.parse(cpptoolsLocation.uri), makeVscodeRange(cpptoolsLocation.range)); -} - -export function makeVscodeTextEdits(cpptoolsTextEdits: TextEdit[]): vscode.TextEdit[] { - return cpptoolsTextEdits.map(textEdit => new vscode.TextEdit(makeVscodeRange(textEdit.range), textEdit.newText)); -} - -export function rangeEquals(range1: vscode.Range | Range, range2: vscode.Range | Range): boolean { - return range1.start.line === range2.start.line && range1.start.character === range2.start.character && - range1.end.line === range2.end.line && range1.end.character === range2.end.character; -} - -// Check this before attempting to switch a document from C to C++. -export function shouldChangeFromCToCpp(document: vscode.TextDocument): boolean { - if (document.fileName.endsWith(".C") || document.fileName.endsWith(".H")) { - const cppSettings: CppSettings = new CppSettings(); - if (cppSettings.autoAddFileAssociations) { - return !docsChangedFromCppToC.has(document.fileName); - } - // We could potentially add a new setting to enable switching to cpp even when files.associations isn't changed. - } - return false; -} - -// Call this before changing from C++ to C. -export function handleChangedFromCppToC(document: vscode.TextDocument): void { - if (shouldChangeFromCToCpp(document)) { - docsChangedFromCppToC.add(document.fileName); - } -} - -export function showInstallCompilerWalkthrough(): void { - // Because we need to conditionally enable/disable steps to alter their contents, - // we need to determine which step is actually visible. If the steps change, this - // logic will need to change to reflect them. - enum Step { - Activation = 'awaiting.activation', - NoCompilers = 'no.compilers.found', - Verify = 'verify.compiler' - } - - const step = (() => { - if (!SessionState.scanForCompilersDone.get()) { - return Step.Activation; - } else if (!SessionState.trustedCompilerFound.get()) { - return Step.NoCompilers; - } else { - return Step.Verify; - } - })(); - - const platform = (() => { - switch (os.platform()) { - case 'win32': return 'windows'; - case 'darwin': return 'mac'; - default: return 'linux'; - } - })(); - - const version = (platform === 'windows') ? SessionState.windowsVersion.get() : ''; - - const index = `ms-vscode.cpptools#${step}.${platform}${version}`; - - void vscode.commands.executeCommand( - 'workbench.action.openWalkthrough', - { category: 'ms-vscode.cpptools#cppWelcome', step: index }, - false) - // Run it twice for now because of VS Code bug #187958 - .then(() => vscode.commands.executeCommand( - "workbench.action.openWalkthrough", - { category: 'ms-vscode.cpptools#cppWelcome', step: index }, - false) - ); - return; -} - -const docsChangedFromCppToC: Set = new Set(); +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +'use strict'; +import * as os from 'os'; +import * as vscode from 'vscode'; +import { Range } from 'vscode-languageclient'; +import { SessionState } from '../sessionState'; +import { Location, TextEdit } from './commonTypes'; +import { CppSettings } from './settings'; + +export function makeLspRange(vscRange: vscode.Range): Range { + return { + start: { line: vscRange.start.line, character: vscRange.start.character }, + end: { line: vscRange.end.line, character: vscRange.end.character } + }; +} + +export function makeVscodeRange(cpptoolsRange: Range): vscode.Range { + return new vscode.Range(cpptoolsRange.start.line, cpptoolsRange.start.character, cpptoolsRange.end.line, cpptoolsRange.end.character); +} + +export function makeVscodeLocation(cpptoolsLocation: Location): vscode.Location { + return new vscode.Location(vscode.Uri.parse(cpptoolsLocation.uri), makeVscodeRange(cpptoolsLocation.range)); +} + +export function makeVscodeTextEdits(cpptoolsTextEdits: TextEdit[]): vscode.TextEdit[] { + return cpptoolsTextEdits.map(textEdit => new vscode.TextEdit(makeVscodeRange(textEdit.range), textEdit.newText)); +} + +export function rangeEquals(range1: vscode.Range | Range, range2: vscode.Range | Range): boolean { + return range1.start.line === range2.start.line && range1.start.character === range2.start.character && + range1.end.line === range2.end.line && range1.end.character === range2.end.character; +} + +// Check this before attempting to switch a document from C to C++. +export function shouldChangeFromCToCpp(document: vscode.TextDocument): boolean { + if (document.fileName.endsWith(".C") || document.fileName.endsWith(".H")) { + const cppSettings: CppSettings = new CppSettings(); + if (cppSettings.autoAddFileAssociations) { + return !docsChangedFromCppToC.has(document.fileName); + } + // We could potentially add a new setting to enable switching to cpp even when files.associations isn't changed. + } + return false; +} + +// Call this before changing from C++ to C. +export function handleChangedFromCppToC(document: vscode.TextDocument): void { + if (shouldChangeFromCToCpp(document)) { + docsChangedFromCppToC.add(document.fileName); + } +} + +export function showInstallCompilerWalkthrough(): void { + // Because we need to conditionally enable/disable steps to alter their contents, + // we need to determine which step is actually visible. If the steps change, this + // logic will need to change to reflect them. + enum Step { + Activation = 'awaiting.activation', + NoCompilers = 'no.compilers.found', + Verify = 'verify.compiler' + } + + const step = (() => { + if (!SessionState.scanForCompilersDone.get()) { + return Step.Activation; + } else if (!SessionState.trustedCompilerFound.get()) { + return Step.NoCompilers; + } else { + return Step.Verify; + } + })(); + + const platform = (() => { + switch (os.platform()) { + case 'win32': return 'windows'; + case 'darwin': return 'mac'; + default: return 'linux'; + } + })(); + + const version = (platform === 'windows') ? SessionState.windowsVersion.get() : ''; + + const index = `ms-vscode.cpptools#${step}.${platform}${version}`; + + void vscode.commands.executeCommand( + 'workbench.action.openWalkthrough', + { category: 'ms-vscode.cpptools#cppWelcome', step: index }, + false) + // Run it twice for now because of VS Code bug #187958 + .then(() => vscode.commands.executeCommand( + "workbench.action.openWalkthrough", + { category: 'ms-vscode.cpptools#cppWelcome', step: index }, + false) + ); + return; +} + +const docsChangedFromCppToC: Set = new Set(); + +export async function withCancellation(promise: Promise, token: vscode.CancellationToken): Promise { + return new Promise((resolve, reject) => { + const disposable = token.onCancellationRequested(() => reject(new vscode.CancellationError())); + promise.then((value) => { + disposable.dispose(); + resolve(value); + }, (reason) => { + disposable.dispose(); + reject(reason); + }); + }); +} diff --git a/Extension/src/SSH/sshCommandRunner.ts b/Extension/src/SSH/sshCommandRunner.ts index b9df7f7b80..be60f83db3 100644 --- a/Extension/src/SSH/sshCommandRunner.ts +++ b/Extension/src/SSH/sshCommandRunner.ts @@ -304,7 +304,7 @@ export function runInteractiveSshTerminalCommand(args: ITerminalCommandArgs): Pr // When using showLoginTerminal, stdout include the passphrase prompt, etc. Try to get just the command output on the last line. const actualOutput: string | undefined = cancel ? '' : lastNonemptyLine(stdout); - result.resolve({ succeeded: !exitCode, exitCode, output: actualOutput || '' }); + result.resolve({ succeeded: !exitCode, exitCode, outputError: '', output: actualOutput || '' }); }; const failed = (error?: any) => { diff --git a/Extension/src/common.ts b/Extension/src/common.ts index 9bddeba2c0..c962a719cd 100644 --- a/Extension/src/common.ts +++ b/Extension/src/common.ts @@ -753,6 +753,7 @@ export interface ProcessReturnType { succeeded: boolean; exitCode?: number | NodeJS.Signals; output: string; + outputError: string; } export async function spawnChildProcess(program: string, args: string[] = [], continueOn?: string, skipLogging?: boolean, cancellationToken?: vscode.CancellationToken): Promise { @@ -766,7 +767,7 @@ export async function spawnChildProcess(program: string, args: string[] = [], co const programOutput: ProcessOutput = await spawnChildProcessImpl(program, args, continueOn, skipLogging, cancellationToken); const exitCode: number | NodeJS.Signals | undefined = programOutput.exitCode; if (programOutput.exitCode) { - return { succeeded: false, exitCode, output: programOutput.stderr || programOutput.stdout || localize('process.exited', 'Process exited with code {0}', exitCode) }; + return { succeeded: false, exitCode, outputError: programOutput.stderr, output: programOutput.stderr || programOutput.stdout || localize('process.exited', 'Process exited with code {0}', exitCode) }; } else { let stdout: string; if (programOutput.stdout.length) { @@ -775,7 +776,7 @@ export async function spawnChildProcess(program: string, args: string[] = [], co } else { stdout = localize('process.succeeded', 'Process executed successfully.'); } - return { succeeded: true, exitCode, output: stdout }; + return { succeeded: true, exitCode, outputError: programOutput.stderr, output: stdout }; } } diff --git a/Extension/src/telemetry.ts b/Extension/src/telemetry.ts index dc6a1c199f..600ffa4c45 100644 --- a/Extension/src/telemetry.ts +++ b/Extension/src/telemetry.ts @@ -123,6 +123,20 @@ export function logLanguageServerEvent(eventName: string, properties?: Record, metrics?: Record): void { + const sendTelemetry = () => { + if (experimentationTelemetry) { + const eventNamePrefix: string = "C_Cpp/Copilot/Chat/Tool/"; + experimentationTelemetry.sendTelemetryEvent(eventNamePrefix + eventName, properties, metrics); + } + }; + + if (is.promise(initializationPromise)) { + return void initializationPromise.catch(logAndReturn.undefined).then(sendTelemetry).catch(logAndReturn.undefined); + } + sendTelemetry(); +} + function getPackageInfo(): IPackageInfo { return { name: util.packageJson.publisher + "." + util.packageJson.name, diff --git a/Extension/ui/settings.ts b/Extension/ui/settings.ts index 036a7d19aa..e70516b27a 100644 --- a/Extension/ui/settings.ts +++ b/Extension/ui/settings.ts @@ -109,8 +109,8 @@ class SettingsApp { document.getElementById(elementId.configName)?.addEventListener("change", this.onConfigNameChanged.bind(this)); document.getElementById(elementId.configSelection)?.addEventListener("change", this.onConfigSelect.bind(this)); document.getElementById(elementId.addConfigBtn)?.addEventListener("click", this.onAddConfigBtn.bind(this)); - document.getElementById(elementId.addConfigOk)?.addEventListener("click", this.OnAddConfigConfirm.bind(this, true)); - document.getElementById(elementId.addConfigCancel)?.addEventListener("click", this.OnAddConfigConfirm.bind(this, false)); + document.getElementById(elementId.addConfigOk)?.addEventListener("click", this.onAddConfigConfirm.bind(this, true)); + document.getElementById(elementId.addConfigCancel)?.addEventListener("click", this.onAddConfigConfirm.bind(this, false)); } private onTabKeyDown(e: any): void { @@ -148,7 +148,7 @@ class SettingsApp { this.showElement(elementId.addConfigInputDiv, true); } - private OnAddConfigConfirm(request: boolean): void { + private onAddConfigConfirm(request: boolean): void { this.showElement(elementId.addConfigInputDiv, false); this.showElement(elementId.addConfigDiv, true); @@ -204,7 +204,7 @@ class SettingsApp { if (this.updating) { return; } - const el: HTMLInputElement = document.getElementById(elementId.knownCompilers); + const el: HTMLSelectElement = document.getElementById(elementId.knownCompilers); (document.getElementById(elementId.compilerPath)).value = el.value; this.onChanged(elementId.compilerPath); @@ -212,10 +212,22 @@ class SettingsApp { this.vsCodeApi.postMessage({ command: "knownCompilerSelect" }); + } - // Reset selection to none - el.value = ""; + // To enable custom entries, the compiler path control is a text box on top of a select control. + // This function ensures that the select control is updated when the text box is changed. + private fixKnownCompilerSelection(): void { + const compilerPath = (document.getElementById(elementId.compilerPath)).value.toLowerCase(); + const knownCompilers = document.getElementById(elementId.knownCompilers); + for (let n = 0; n < knownCompilers.options.length; n++) { + if (compilerPath === knownCompilers.options[n].value.toLowerCase()) { + knownCompilers.value = knownCompilers.options[n].value; + return; + } + } + knownCompilers.value = ''; } + private onChangedCheckbox(id: string): void { if (this.updating) { return; @@ -235,6 +247,9 @@ class SettingsApp { } const el: HTMLInputElement = document.getElementById(id); + if (id === elementId.compilerPath) { + this.fixKnownCompilerSelection(); + } this.vsCodeApi.postMessage({ command: "change", key: id, @@ -268,6 +283,7 @@ class SettingsApp { // Basic settings (document.getElementById(elementId.configName)).value = config.name; (document.getElementById(elementId.compilerPath)).value = config.compilerPath ? config.compilerPath : ""; + this.fixKnownCompilerSelection(); (document.getElementById(elementId.compilerArgs)).value = joinEntries(config.compilerArgs); (document.getElementById(elementId.intelliSenseMode)).value = config.intelliSenseMode ? config.intelliSenseMode : "${default}"; diff --git a/Extension/yarn.lock b/Extension/yarn.lock index 52cd156c85..c07f771279 100644 --- a/Extension/yarn.lock +++ b/Extension/yarn.lock @@ -387,23 +387,7 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "9.6.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff" - integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.5": +"@types/estree@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== @@ -416,7 +400,7 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8": +"@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -1608,7 +1592,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.4: dependencies: once "^1.4.0" -enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.0: +enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1: version "5.17.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== @@ -3172,9 +3156,9 @@ merge2@^1.3.0, merge2@^1.4.1: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.0, micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -4843,12 +4827,11 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.91.0: - version "5.93.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.93.0.tgz#2e89ec7035579bdfba9760d26c63ac5c3462a5e5" - integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA== +webpack@^5.94.0: + version "5.94.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" + integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== dependencies: - "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.12.1" "@webassemblyjs/wasm-edit" "^1.12.1" @@ -4857,7 +4840,7 @@ webpack@^5.91.0: acorn-import-attributes "^1.9.5" browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.0" + enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0"