diff --git a/Extension/.gitignore b/Extension/.gitignore index c3069b4251..5aad77e132 100644 --- a/Extension/.gitignore +++ b/Extension/.gitignore @@ -25,7 +25,6 @@ install.lock # ignore generated localization file **/nls.*.json -**/*.nls.json **/*.nls.*.json # ignore generate native header diff --git a/Extension/CHANGELOG.md b/Extension/CHANGELOG.md index f01773113f..a92d89f185 100644 --- a/Extension/CHANGELOG.md +++ b/Extension/CHANGELOG.md @@ -1,5 +1,41 @@ # C/C++ for Visual Studio Code Change Log +## Version 1.6.0: August 24, 2021 +### New Feature +* Added support for standard `.editorconfig` entries when using vcFormat. [#7920](https://github.com/microsoft/vscode-cpptools/issues/7920) +* Debug Step Granularity for cppdbg [MIEngine#1169](https://github.com/microsoft/MIEngine/pull/1169) + * Thank you for the contribution @Trass3r +* InstructionBreakpoints for cppdbg [MIEgnine#1192](https://github.com/microsoft/MIEngine/pull/1192) + +### Enhancements +* Debugger now runs on .NET 5 [#7858](https://github.com/microsoft/vscode-cpptools/pull/7858) +* When using the `Default` setting for `C_Cpp.formatting`, vcFormat will now be selected if a `.editorconfig` file is found with vcFormat entries and no `.clang-format` file was found with nearer proximity to the source file. [#7929](https://github.com/microsoft/vscode-cpptools/issues/7929) + +### Bug Fixes +* Fix incorrect sizeof for packed structs (gcc/clang) [#5267](https://github.com/microsoft/vscode-cpptools/issues/5267) +* Fix designated initializers not working at file scope. [#6316](https://github.com/microsoft/vscode-cpptools/issues/6316) +* Fix an IntelliSense crash on template code. [#7349](https://github.com/microsoft/vscode-cpptools/issues/7349) +* Rank existence of a custom configuration higher than filename similarity and path proximity, when choosing a TU source for a header [#7396](https://github.com/microsoft/vscode-cpptools/issues/7396) +* Fix an IntelliSense crash when the display language is set to Italian. [#7685](https://github.com/microsoft/vscode-cpptools/issues/7685) +* Enable the C++ status bar items to be selectively disabled. [#7700](https://github.com/microsoft/vscode-cpptools/issues/7700) +* Fix an issue causing incorrect color selection for semantic tokens. [#7773](https://github.com/microsoft/vscode-cpptools/issues/7773) +* Fix some cl.exe and clang installations not being detected. [#7767](https://github.com/microsoft/vscode-cpptools/issues/7767) [#7795](https://github.com/microsoft/vscode-cpptools/issues/7795) [#7800](https://github.com/microsoft/vscode-cpptools/issues/7800) +* Fix an issue with recursive includes not found. [#7783](https://github.com/microsoft/vscode-cpptools/issues/7783) +* Fix an issue with code folding of single-line blocks. [#7809](https://github.com/microsoft/vscode-cpptools/issues/7809) +* Fix a typo in a localized string. [#7823](https://github.com/microsoft/vscode-cpptools/issues/7823) +* Add open file parsing status when hovering over the database icon. [PR #7831](https://github.com/microsoft/vscode-cpptools/pull/7831) +* Fix an issue with IntelliSense flame icon getting stuck on. [#7838](https://github.com/microsoft/vscode-cpptools/issues/7838) +* Fix an issue with character position after include completion. [#7856](https://github.com/microsoft/vscode-cpptools/issues/7856) +* Fix wrong version of clang-format being used in multi-root workspaces. [#7870](https://github.com/microsoft/vscode-cpptools/issues/7870) +* Fix issue with setting of MS extensions when `-fms-extensions` is used. [#7886](https://github.com/microsoft/vscode-cpptools/issues/7886) +* Fix an issue with support detection on Android. [#7906](https://github.com/microsoft/vscode-cpptools/issues/7906) +* Fix a bug with handling of `"C_Cpp.vcFormat.newLine.beforeOpenBrace.block": "newLine"`. [#7926](https://github.com/microsoft/vscode-cpptools/issues/7926) +* Fix Disassembly view is blank on linux [#7960](https://github.com/microsoft/vscode-cpptools/issues/7960) +* Fix an issue with cppdbg debugging on Windows x64. [#7971](https://github.com/microsoft/vscode-cpptools/issues/7971) +* Fix an issue with VS `` header causing IntelliSense process crash. [#7972](https://github.com/microsoft/vscode-cpptools/issues/7972) +* Fix insiders update install loop for remote scenarios. [#8000](https://github.com/microsoft/vscode-cpptools/issues/8000) +* Fix MacOS unable to use external terminal to debug [#8008](https://github.com/microsoft/vscode-cpptools/issues/8008) + ## Version 1.5.1: July 9, 2021 ### Bug Fixes * cppvsdbg Debugging becomes no-op between 1.4.1 and 1.5.0 [#7808](https://github.com/microsoft/vscode-cpptools/issues/7808) diff --git a/Extension/bin/messages/cs/messages.json b/Extension/bin/messages/cs/messages.json index 31b8812418..565f54e85e 100644 --- a/Extension/bin/messages/cs/messages.json +++ b/Extension/bin/messages/cs/messages.json @@ -1389,14 +1389,14 @@ "Dllexport a dllimport se u šablon třídy ignorují.", "Specifikace základní třídy dllexport/dllimport se liší od specifikace odvozené třídy.", "Změnou deklarace se nedá přidat dllexport/dllimport k %nod.", - "Dllexport/dllimport je v konfliktu s %nod. Očekával se dllexport.", + "dllexport/dllimport je v konfliktu s %nod; Očekával se dllexport.", "Entita dllimport se nedá definovat.", "Dllexport/dllimport vyžaduje externí propojení.", "Člen třídy deklarované pomocí dllexport/dllimport nemůže sám být deklarovaný pomocí takového specifikátoru.", "pole typu třídy bez rozhraní DLL použité v třídě s rozhraním DLL", "Deklarace člena v závorkách je nestandardní.", "Prázdné znaky mezi zpětným lomítkem a znakem nového řádku se ve spojení řádku ignorují.", - "Dllexport/dllimport je v konfliktu s %nod. Došlo k vynechání dllimport/dllexport.", + "dllexport/dllimport je v konfliktu s %nod; Došlo k vynechání dllimport/dllexport.", "Neplatný člen pro anonymní členskou třídu – třída %t nepovolila členskou funkci.", "Nestandardní reinterpret_cast", "Specifikátor pozice formátu nemůže být nula.", @@ -2546,7 +2546,7 @@ "Typ decltype(auto) se nedá odvodit.", "Deklarace rozsahu bloku místního vlákna musí zahrnovat statickou nebo externí", "Odvozený návratový typ %t1 má konflikty s dříve odvozeným typem %t2.", - "Návratový typ %nd se nedá odvodit, nebyl definovaný.", + "Návratový typ %nd; se nedá odvodit, protože nebyl definován.", "Virtuální funkce nemůže mít odvozený návratový typ.", "%n se bude od tohoto bodu považovat za kontextové klíčové slovo.", "Globální obor názvů nemá žádný skutečný člen %sq.", @@ -3350,7 +3350,7 @@ "libovolný druh souboru modulu", "nejde přečíst soubor modulu", "předdefinovaná funkce není k dispozici, protože typ char8_t se nepodporuje s aktuálními možnostmi", - null, + "možnost příkazového řádku --ms_await nejde zadat, pokud jsou povolené korutiny C++20", "nestandardní použití explicitního konstruktoru %nod pro inicializaci výchozího agregačního elementu", "zdroj nebo cíl vnitřní funkce memcpy-like neukazuje na objekt", "vnitřní funkce memcpy-like se pokouší o kopírování reprezentačně odlišných typů %t1 a %t2", diff --git a/Extension/bin/messages/de/messages.json b/Extension/bin/messages/de/messages.json index ac24c8f2bf..ff7816ba47 100644 --- a/Extension/bin/messages/de/messages.json +++ b/Extension/bin/messages/de/messages.json @@ -1389,14 +1389,14 @@ "dllexport und dllimport werden in Klassenvorlagen ignoriert.", "Die dllexport/dllimport -Spezifikation der Basisklasse unterscheidet sich von der der abgeleiteten Klasse.", "Durch die Neudeklaration kann dllexport/dllimport nicht zu \"%nod\" hinzugefügt werden.", - "dllexport/dllimport-Konflikt mit \"%nod\"; dllexport wird angenommen.", + "dllexport/dllimport-Konflikt mit %nod; dllexport wird angenommen.", "Die dllimport-Entität kann nicht definiert werden.", "dllexport/dllimport erfordert eine externe Bindung.", "Ein Member einer Klasse, die mit dllexport/dllimport deklariert wurde, kann nicht selbst mit einem solchen Spezifizierer deklariert werden.", "Das Feld eines Klassentyps ohne DLL-Schnittstelle wurde in einer Klasse mit DLL-Schnittstelle verwendet.", "Eine in Klammern gesetzte Memberdeklaration entspricht nicht dem Standard.", "Leerstellen zwischen dem umgekehrten Schrägstrich und dem Zeilenvorschub in der Zeilenverknüpfung wird ignoriert.", - "dllexport/dllimport-Konflikt mit \"%nod\"; dllimport/dllexport wurde gelöscht.", + "dllexport/dllimport-Konflikt mit %nod; dllimport/dllexport wurde gelöscht.", "Ungültiger Member für anonyme Memberklasse; die Klasse \"%t\" weist eine unzulässige Memberfunktion auf.", "reinterpret_cast entspricht nicht dem Standard.", "Der Positionsformatspezifizierer kann nicht Null sein.", @@ -2546,7 +2546,7 @@ "Der Typ \"decltype(auto)\" kann nicht abgeleitet werden.", "Eine threadlokale Erklärung im Blockbereich muss \"static\" oder \"extern\" enthalten.", "abgeleiteter Rückgabetyp %t1 steht in Konflikt mit zuvor abgeleitetem Typ %t2", - "Rückgabetyp %nd kann nicht abgeleitet werden; wurde nicht definiert", + "Der Rückgabetyp \"%nd;\" kann nicht abgeleitet werden. Er wurde nicht definiert.", "Eine virtuelle Funktion darf keinen abgeleiteten Rückgabetyp aufweisen.", "%n wird als kontextsensibles Schlüsselwort von diesem Punkt betrachtet", "Der globale Namespace weist keinen tatsächlichen Member \"%sq\" auf.", @@ -3350,7 +3350,7 @@ "Beliebige Art von Moduldatei", "Die Moduldatei kann nicht gelesen werden.", "Die integrierte Funktion ist nicht verfügbar, weil der char8_t-Typ mit den aktuellen Optionen nicht unterstützt wird.", - null, + "Die Befehlszeilenoption \"--ms_await\" kann nicht angegeben werden, wenn C++20-Coroutinen aktiviert sind.", "Nicht standardmäßige Verwendung des expliziten Konstruktors \"%nod\" für die standardmäßige Aggregatelementinitialisierung", "Die Quelle oder das Ziel des memcpy-ähnlichen systeminternen Objekts verweist nicht auf ein Objekt.", "Ein memcpy-ähnliches systeminternes Objekt versucht, die darstellerisch unterschiedlichen Typen %t1 und %t2 zu kopieren.", diff --git a/Extension/bin/messages/es/messages.json b/Extension/bin/messages/es/messages.json index 11c6d55bd4..296200e70a 100644 --- a/Extension/bin/messages/es/messages.json +++ b/Extension/bin/messages/es/messages.json @@ -2604,7 +2604,7 @@ "la definición de un tipo C++/CX público no se permite en el ámbito global", "no se permite una propiedad indizada con un descriptor de acceso público 'get' o 'set'", "no se permite un tipo de delegado anidado público", - "inicializador de delegado no válido: se esperaba '( [, Platform::CallbackContext])' o '(, [, Platform::CallbackContext [, bool]])'", + "inicializador de delegado no válido: se esperaba \"( [, Platform::CallbackContext])\" o \"(, [, Platform::CallbackContext [, bool]])\"", "inicializador de delegado no válido: el objeto debe ser un identificador de una clase %[managed]", "C++/CX no admite matrices 'in/out': use 'const Platform::Array^' para 'in' y 'Platform::WriteOnlyArray^' o 'Platform::Array^*' para 'out' en API públicas", "falta el atributo \"target\" de %nd", @@ -3350,7 +3350,7 @@ "cualquier tipo de archivo de módulo", "no se puede leer el archivo de módulo", "la función integrada no está disponible porque no se admite el tipo char8_t con las opciones actuales", - null, + "no se puede especificar la opción de línea de comandos --ms_await si están habilitadas las corrutinas de C++ 20", "uso no estándar de %nod de constructor explícito para la inicialización predeterminada del elemento de agregado", "el origen o el destino del intento intrínseco de tipo memcpy no apunta a un objeto", "intentos intrínsecos de tipo memcpy para copiar los tipos %t1 y %t2 diferentes de forma representativa", diff --git a/Extension/bin/messages/fr/messages.json b/Extension/bin/messages/fr/messages.json index 3f2899139f..7340dd87f6 100644 --- a/Extension/bin/messages/fr/messages.json +++ b/Extension/bin/messages/fr/messages.json @@ -1389,14 +1389,14 @@ "dllexport et dllimport ignorés sur les modèles de classe", "la spécification dllexport/dllimport de la classe de base est différente de celle de la classe dérivée", "la redéclaration ne peut pas ajouter dllexport/dllimport à %nod", - "dllexport/dllimport en conflit avec %nod ; dllexport pris par défaut", + "dllexport/dllimport en conflit avec %nod; dllexport pris par défaut", "impossible de définir l'entité dllimport", "dllexport/dllimport requiert une liaison externe", "un membre d'une classe déclarée avec dllexport/dllimport ne peut pas être lui-même déclaré avec ce spécificateur", "un champ de type de classe sans interface DLL a été utilisé dans une classe à interface DLL", "déclaration de membre entre parenthèses non standard", "espace blanc ignoré entre la barre oblique inverse et le saut de ligne dans la jointure de ligne", - "dllexport/dllimport en conflit avec %nod ; dllimport/dllexport supprimé", + "dllexport/dllimport en conflit avec %nod; dllimport/dllexport supprimé", "membre non valide pour une classe membre anonyme -- la classe %t a une fonction membre interdite", "reinterpret_cast non standard", "le spécificateur de format de position ne peut pas être nul", @@ -2604,7 +2604,7 @@ "la définition d'un type C++/CX public n'est pas autorisée au niveau de la portée globale", "une propriété indexée avec un accesseur 'get' ou 'set' public n'est pas autorisée", "un type délégué imbriqué public n'est pas autorisé", - "initialiseur de délégué non valide -- '( [, Platform::CallbackContext])' ou '(, [, Platform::CallbackContext [, bool]])' attendu", + "initialiseur de délégué non valide -- '( [, Platform::CallbackContext])' ou '(, [, Platform::CallbackContext [, bool]])' attendu", "initialiseur de délégué non valide -- l'objet doit être un handle de classe %[managed]", "C++/CX ne prend pas en charge les tableaux 'in/out' -- utilisez 'const Platform::Array^' pour 'in' et 'Platform::WriteOnlyArray^' ou 'Platform::Array^*' pour 'out' sur les API publiques", "attribut 'target' manquant pour %nd", @@ -3350,7 +3350,7 @@ "n'importe quel genre de fichier de module", "impossible de lire le fichier de module", "la fonction intégrée n'est pas disponible, car le type char8_t n'est pas pris en charge avec les options actuelles", - null, + "l'option de ligne de commande --ms_await ne peut pas être spécifiée si les coroutines C++20 sont activées", "utilisation non standard du constructeur explicite %nod pour l'initialisation de l'élément d'agrégation par défaut", "la source ou la destination de l'intrinsèque de type memcpy ne pointe pas vers un objet", "l'intrinsèque de type memcpy tente de copier les types représentatifs distincts %t1 et %t2", diff --git a/Extension/bin/messages/it/messages.json b/Extension/bin/messages/it/messages.json index 5973d074d8..ca296eae47 100644 --- a/Extension/bin/messages/it/messages.json +++ b/Extension/bin/messages/it/messages.json @@ -684,7 +684,7 @@ "un'istruzione __leave può essere utilizzata solo in un blocco __try", "rilevato durante la creazione di un'istanza del contesto %p1 del modello %nt1", "rilevato durante la generazione implicita del contesto %p1 del modello %nt1", - "rilevato durante la creazione di un'istanza del contesto %p1 della classe %na2", + "rilevato durante la creazione di un'istanza del contesto %p della classe %na", "rilevato durante l'elaborazione dell'elenco degli argomenti di modello per %na %p", "rilevato durante la definizione implicita del contesto %p1 del modello %nt1", "%sq non trovato nello stack di allineamento compressione", @@ -1389,14 +1389,14 @@ "dllexport e dllimport ignorati nei modelli di classe", "la specifica di dllexport/dllimport della classe base è diversa da quella della classe derivata", "impossibile aggiungere dllexport/dllimport a %nod nella ridichiarazione", - "conflitto tra dllexport/dllimport e %nod. Verrà utilizzato dllexport", + "conflitto tra dllexport/dllimport e %nod;. Verrà utilizzato dllexport", "impossibile definire l'entità di dllimport", "con dllexport/dllimport è richiesto il collegamento esterno", "impossibile dichiarare da solo con un tale identificatore un membro di una classe dichiarata con dllexport/dllimport", "campo del tipo classe senza interfaccia DLL utilizzato in una classe con interfaccia DLL", "dichiarazione di membro tra parentesi non conforme allo standard", "spazio vuoto tra barra rovesciata e carattere di nuova riga ignorato nella giunzione di riga", - "conflitto tra dllexport/dllimport e %nod. dllimport/dllexport verrà eliminato", + "conflitto tra dllexport/dllimport e %nod; dllimport/dllexport verrà eliminato", "membro non valido per la classe di membro anonima. La classe %t include una funzione membro non consentita", "reinterpret_cast non conforme allo standard", "l'identificatore di formato posizionale non può essere zero", @@ -2546,7 +2546,7 @@ "non è possibile dedurre il tipo 'decltype(auto)'", "una dichiarazione thread-local con ambito blocco deve includere static o extern", "il tipo restituito dedotto %t1 è in conflitto con il tipo dedotto in precedenza %t2", - "non è possibile dedurre il tipo restituito di %nd perché non è stato definito", + "non è possibile dedurre il tipo restituito di %nd; perché non è stato definito", "il tipo restituito da una funzione virtuale non può essere dedotto", "a partire da questo punto %n verrà considerato come una parola chiave sensibile al contesto", "lo spazio dei nomi globale non include membri effettivi %sq", @@ -3350,7 +3350,7 @@ "qualsiasi tipo di modulo", "non è possibile leggere il file del modulo", "la funzione predefinita non è disponibile perché il tipo char8_t non è supportato con le opzioni correnti", - null, + "non è possibile specificare l'opzione della riga di comando --ms_await se le coroutine di C++20 sono abilitate", "uso non standard del costruttore esplicito %nod per l'inizializzazione dell'elemento di aggregazione predefinito", "l'origine o la destinazione dell'intrinseco simile a memcpy non punta a un oggetto", "l'intrinseco simile a memcpy prova a copiare i tipi distinti dal punto di vista della rappresentazione %t1 e %t2", diff --git a/Extension/bin/messages/ja/messages.json b/Extension/bin/messages/ja/messages.json index dd0596903a..df4cb255d1 100644 --- a/Extension/bin/messages/ja/messages.json +++ b/Extension/bin/messages/ja/messages.json @@ -1389,14 +1389,14 @@ "dllexport および dllimport はクラス テンプレートでは無視されます", "基底クラスの dllexport/dllimport の指定が派生クラスのものと異なります", "再宣言で dllexport/dllimport を %nod に追加することはできません", - "dllexport/dllimport が %nod と競合しています (dllexport が想定されます)", + "dllexport/dllimport が %nod; と競合しています (dllexport が想定されます)", "dllimport エンティティを定義できません", "dllexport/dllimport には外部リンケージが必要です", "dllexport/dllimport で宣言されたクラスのメンバー自体をこれらの指定子で宣言することはできません", "DLL インターフェイスを含まないクラス型のフィールドが DLL インターフェイスを含むクラスで使用されています", "かっこで囲まれたメンバー宣言は非標準です", "行スプライスでの円記号 (\\) と改行の間の空白は無視されました", - "dllexport/dllimport が %nod と競合しているためドロップされました", + "dllexport/dllimport が %nod; と競合しているためドロップされました", "匿名メンバー クラスに対する無効なメンバーです -- クラス %t には許可されないメンバー関数があります", "非標準の reinterpret_cast です", "位置指定の形式指定子は 0 にできません", @@ -2546,7 +2546,7 @@ "'decltype(auto)' 型を推測できません", "ブロック スコープでスレッド ローカルな宣言には static または extern を含める必要があります", "推測される戻り値の型 %t1 は以前に推測された型 %t2 と競合します", - "戻り値の型 %nd を推測できません。定義されていません", + "%nd; の戻り値の型を推測できません。定義されていません", "仮想関数は推測される戻り値の型を持つことができません", "%n はこのポイントから状況依存キーワードとして扱われます", "グローバル名前空間に実際のメンバー %sq がありません", @@ -2604,7 +2604,7 @@ "パブリック C++/CX 型の定義はグローバル スコープでは許可されていません", "パブリックの 'get' または 'set' アクセサーを使用するインデックス付きプロパティは使用できません", "パブリックな入れ子にされたデリゲート型は使用できません", - "デリゲート初期化子が無効です -- '(<関数アドレスまたはファンクター オブジェクト> [, Platform::CallbackContext])' または '(<オブジェクト ハンドル>, <メンバー アドレス> [, Platform::CallbackContext [, bool]])' が必要です", + "デリゲート初期化子が無効です -- '( [, Platform::CallbackContext])' または '(, [, Platform::CallbackContext [, bool]])' が必要です", "デリゲート初期化子が無効です -- オブジェクトは %[managed] クラスのハンドルである必要があります", "C++/CX は 'in/out' 配列をサポートしていません -- パブリック API では 'in' に対して 'const Platform::Array^' を、 'out' に対して 'Platform::WriteOnlyArray^' または 'Platform::Array^*' を使用してください ", "%nd の 'ターゲット' 属性がありません", @@ -3350,7 +3350,7 @@ "あらゆる種類のモジュール ファイル", "モジュール ファイルを読み取れません", "現在のオプションで char8_t 型がサポートされていないので、ビルトイン関数を使用できません", - null, + "--ms_await コマンド ライン オプションは、C++20 コルーチンが有効になっている場合は指定できません", "既定の集約要素の初期化における明示的なコンストラクター %nod の非標準的な使用", "memcpy に似た組み込み関数のソースやターゲットでオブジェクトが指定されていません", "memcpy に似た組み込み関数により、表現上個別の型である %t1 と %t2 のコピーが試行されます", diff --git a/Extension/bin/messages/ko/messages.json b/Extension/bin/messages/ko/messages.json index db004dc0ab..aa87a9c595 100644 --- a/Extension/bin/messages/ko/messages.json +++ b/Extension/bin/messages/ko/messages.json @@ -1389,14 +1389,14 @@ "클래스 템플릿에서 dllexport 및 dllimport가 무시됩니다.", "기본 클래스 dllexport/dllimport 사양이 파생된 클래스의 사양과 다릅니다.", "재선언에서 dllexport/dllimport를 %nod에 추가할 수 없습니다.", - "dllexport/dllimport가 %nod과(와) 충돌합니다. dllexport로 간주됩니다.", + "dllexport/dllimport가 %nod;과(와) 충돌합니다. dllexport로 간주됩니다.", "dllimport 엔터티를 정의할 수 없습니다.", "dllexport/dllimport에는 외부 연결이 필요합니다.", "dllexport/dllimport로 선언된 클래스의 멤버가 같은 지정자를 사용하여 자신을 선언할 수 없습니다.", "DLL 인터페이스가 없는 클래스 형식의 필드가 DLL 인터페이스가 있는 클래스에 사용되었습니다.", "괄호로 묶인 멤버 선언은 표준이 아닙니다.", "줄 연결에서 백슬래시와 줄 바꿈 사이의 공백은 무시됩니다.", - "dllexport/dllimport가 %nod과(와) 충돌합니다. dllimport/dllexport가 삭제되었습니다.", + "dllexport/dllimport가 %nod;과(와) 충돌합니다. dllimport/dllexport가 삭제되었습니다.", "익명 멤버 클래스의 잘못된 멤버 -- %t 클래스에 허용되지 않는 멤버 함수가 있습니다.", "비표준 reinterpret_cast", "위치 서식 지정자는 0이 될 수 없습니다.", @@ -2546,7 +2546,7 @@ "'decltype(auto)' 형식을 추론할 수 없습니다.", "블록 범위 스레드 로컬 선언에는 staic 또는 extern이 포함되어야 합니다.", "추론된 반환 형식 %t1이(가) 이전에 추론된 형식 %t2과(와) 충돌합니다.", - "반환 형식 %nd을(를) 추론할 수 없습니다. 정의되지 않았습니다.", + "반환 형식 %nd;을(를) 추론할 수 없습니다. 정의되지 않았습니다.", "가상 함수에는 추론된 반환 형식을 사용할 수 없습니다.", "%n은(는) 이 시점부터 대/소문자 구분 키워드로 취급됩니다.", "전역 네임스페이스에 실제 멤버 %sq이(가) 없습니다.", @@ -3350,7 +3350,7 @@ "모든 종류의 모듈 파일", "모듈 파일을 읽을 수 없음", "char8_t 형식이 현재 옵션에서 지원되지 않기 때문에 기본 제공 함수를 사용할 수 없습니다.", - null, + "C++20 코루틴을 사용하도록 설정한 경우 --ms_await 명령줄 옵션을 지정할 수 없습니다.", "기본 집계 요소 초기화에 명시적 생성자 %nod의 비표준 사용", "memcpy 유사 내장의 소스 또는 대상이 개체를 가리키지 않음", "memcpy 유사 내장이 대표적으로 차별화된 형식 %t1 및 %t2을(를) 복사하려고 시도함", diff --git a/Extension/bin/messages/pl/messages.json b/Extension/bin/messages/pl/messages.json index 59a3451953..05c683cdf8 100644 --- a/Extension/bin/messages/pl/messages.json +++ b/Extension/bin/messages/pl/messages.json @@ -1389,14 +1389,14 @@ "atrybuty dllexport i dllimport są ignorowane w szablonach klas", "specyfikacja atrybutu dllexport/dllimport klasy bazowej różni się od specyfikacji klasy pochodnej", "ponowna deklaracja nie może dodać atrybutu dllexport/dllimport do elementu %nod", - "atrybut dllexport/dllimport powoduje konflikt z elementem %nod. Przyjęto atrybut dllexport.", + "atrybut dllexport/dllimport powoduje konflikt z elementem %nod; Przyjęto atrybut dllexport.", "nie można zdefiniować jednostki atrybutu dllimport", "atrybut dllexport/dllimport wymaga zewnętrznego wiązania", "składowa klasy zadeklarowana przy użyciu atrybutu dllexport/dllimport nie może sama zostać zadeklarowana z takim specyfikatorem", "pole typu klasy bez interfejsu biblioteki DLL używane w klasie z interfejsem biblioteki DLL", "deklaracja składowej w nawiasach jest niestandardowa", "zignorowano biały znak między ukośnikiem odwrotnym i znakiem nowego wiersza w operacji łączenia wierszy", - "atrybut dllexport/dllimport powoduje konflikt z elementem %nod. Pominięto atrybut dllexport/dllimport.", + "atrybut dllexport/dllimport powoduje konflikt z elementem %nod; Pominięto atrybut dllexport/dllimport.", "nieprawidłowa składowa dla anonimowej klasy składowej — klasa %t ma niedozwoloną funkcję składową", "niestandardowa instrukcja reinterpret_cast", "pozycyjny specyfikator formatu nie może być zerem", @@ -2604,7 +2604,7 @@ "definicja publicznego typu języka C++/CX jest niedozwolona w zasięgu globalnym", "właściwość indeksowana z publiczną metodą dostępu „get” lub „set” nie jest dozwolona", "publiczny zagnieżdżony typ delegata jest niedozwolony", - "nieprawidłowy inicjator delegata — oczekiwano elementu „( [, Platform::CallbackContext])” lub „(, [, Platform::CallbackContext [, bool]])”", + "nieprawidłowy inicjator delegata — oczekiwano elementu „( [, Platform::CallbackContext])” lub „(, [, Platform::CallbackContext [, bool]])”", "nieprawidłowy inicjator delegata — obiekt musi być dojściem do klasy typu %[managed]", "język C++/CX nie obsługuje tablic „in/out” — użyj deklaracji „const Platform::Array^” dla tablicy „in” oraz „Platform::WriteOnlyArray^” lub „Platform::Array^*” dla tablicy „out” w publicznych interfejsach API", "brak atrybutu „target” dla elementu %nd", @@ -3350,7 +3350,7 @@ "dowolny rodzaj pliku modułu", "nie można odczytać pliku modułu", "wbudowana funkcja jest niedostępna, ponieważ typ char8_t nie jest obsługiwany z bieżącymi opcjami", - null, + "nie można określić opcji wiersza polecenia --ms_await, jeśli włączono koprocedury języka C++20", "niestandardowe użycie konstruktora jawnego %nod dla domyślnej inicjalizacji elementu agregacji", "element źródłowy lub docelowy funkcji wewnętrznej podobnej do memcpy nie wskazuje obiektu", "Funkcja wewnętrzna podobna do memcpy próbuje skopiować reprezentacyjnie odrębne typy %t1 i %t2", diff --git a/Extension/bin/messages/pt-br/messages.json b/Extension/bin/messages/pt-br/messages.json index 68aadae1a4..6411d7b201 100644 --- a/Extension/bin/messages/pt-br/messages.json +++ b/Extension/bin/messages/pt-br/messages.json @@ -3350,7 +3350,7 @@ "qualquer tipo de arquivo de módulo", "não é possível ler o arquivo de módulo", "a função interna não está disponível porque não há suporte para o tipo char8_t com as opções atuais", - null, + "a opção da linha de comando --ms_await não poderá ser especificada se as corrotinas do C++20 estiverem habilitadas", "o uso não padrão do construtor explícito %nod para inicialização do elemento de agregação padrão", "a origem ou o destino do intrínseco similar a memcpy não aponta para um objeto", "tentativas intrínsecas similares a memcpy de copiar tipos representacionalmente distintos %t1 e %t2", diff --git a/Extension/bin/messages/ru/messages.json b/Extension/bin/messages/ru/messages.json index 2fd17da3a0..bc252d9e64 100644 --- a/Extension/bin/messages/ru/messages.json +++ b/Extension/bin/messages/ru/messages.json @@ -2604,7 +2604,7 @@ "Определение открытого типа C++/CX не может находиться в глобальной области.", "не допускается использовать индексируемое свойство с открытым методом доступа \"get\" или \"set\"", "открытые вложенные типы делегата запрещены", - "недопустимый инициализатор делегата — ожидалось \"(<адрес_или_объект_функции> [, Platform::CallbackContext])\" или \"(<дескриптор_объекта>, <адрес_члена> [, Platform::CallbackContext [, bool]])\"", + "недопустимый инициализатор делегата — ожидалось \"( [, Platform::CallbackContext])\" или \"(, [, Platform::CallbackContext [, bool]])\"", "недопустимый инициализатор делегата — объект должен быть дескриптором класса %[managed]", "C++/CX не поддерживает массивы \"in/out\" — используйте \"const Platform::Array^\" для \"in\" и \"Platform::WriteOnlyArray^\" или \"Platform::Array^*\" для массивов \"out\" в открытых API.", "отсутствует атрибут target для %nd", @@ -3350,7 +3350,7 @@ "любой тип файла модуля", "не удалось прочитать файл модуля", "встроенная функция недоступна, так как тип char8_t не поддерживается с текущими параметрами.", - null, + "невозможно указать параметр командной строки --ms_await, если включены сопрограммы C++20.", "нестандартное использование явного конструктора %nod для агрегатной инициализации элементов по умолчанию.", "источник или назначение встроенной функции, похожей на memcpy, не указывает на объект", "Встроенная функция, похожая на memcpy, пытается скопировать различные с точки зрения представления типы %t1 и %t2", diff --git a/Extension/bin/messages/tr/messages.json b/Extension/bin/messages/tr/messages.json index 65b60ffc40..4161a72310 100644 --- a/Extension/bin/messages/tr/messages.json +++ b/Extension/bin/messages/tr/messages.json @@ -1389,14 +1389,14 @@ "sınıf şablonlarında, dllexport ve dllimport yoksayılıyor", "temel sınıftaki dllexport/dllimport özelleştirmesi, türetilmiş sınıftaki ile aynı değil", "yeniden bildirim, %nod öğesine dllexport/dllimport ekleyemez", - "dllexport/dllimport %nod ile çakışıyor; dllexport varsayıldı", + "dllexport/dllimport %nod; ile çakışıyor; dllexport varsayıldı", "dllimport varlığı tanımlanamıyor", "dllexport/dllimport dış bağlantı gerektiriyor", "dllexport/dllimport ile bildirilen bir sınıfın üyesi, böyle bir belirtici ile bildirilemez", "DLL arabirimi olmayan sınıf türü alanı, DLL arabirimi olan bir sınıf ile kullanılıyor", "parantez içine alınmış üye bildirimi standart dışı", "satır ek yerindeki ters eğik çizgi ve yeni satır arasındaki boşluk yoksayılıyor", - "dllexport/dllimport %nod ile çakışıyor; dllimport/dllexport bırakıldı", + "dllexport/dllimport %nod; ile çakışıyor; dllimport/dllexport bırakıldı", "anonim üye sınıfı için geçersiz üye -- %t sınıfının izin verilmeyen bir üye işlevi var", "standart dışı reinterpret_cast", "konumsal biçim tanımlayıcı sıfır olamaz", @@ -2546,7 +2546,7 @@ "'decltype(auto)' türü çıkarılamıyor", "block-scope thread-local bildirimi static veya extern içermelidir", "çıkarılan dönüş türü %t1 daha önce çıkarılmış %t2 türüyle çakışıyor", - "%nd dönüş türü çıkarılamıyor; tanımlanmamış", + "%nd; dönüş türü çıkarılamıyor tanımlanmamış", "sanal bir işlevin çıkarılan dönüş türü olamaz", "bu noktadan sonra %n, içeriğe duyarlı anahtar sözcük işlemi görecek", "genel ad alanının gerçek bir %sq üyesi yok", @@ -2604,7 +2604,7 @@ "ortak C++/CX türünün tanımına genel kapsamda izin verilmez", "ortak bir 'get' veya 'set' erişimcisi içeren dizini oluşturulmuş özelliğe izin verilmez", "ortak iç içe temsilci türüne izin verilmez", - "temsilci başlatıcısı geçersiz; '( [, Platform::CallbackContext])' veya '(, <üye-adres> [, Platform::CallbackContext [, bool]])' bekleniyordu", + "temsilci başlatıcısı geçersiz; '( [, Platform::CallbackContext])' veya '(, [, Platform::CallbackContext [, bool]])' bekleniyordu", "temsilci başlatıcısı geçersiz; nesne %[managed] sınıfına yönelik bir tanıtıcı olmalıdır", "C++/CX, 'in/out' dizilerini desteklemez; ortak API'lerde 'in' için 'const Platform::Array^' ve 'out' için 'Platform::WriteOnlyArray^' veya 'Platform::Array^*' kullanın", "%nd için eksik 'target' özniteliği", @@ -3350,7 +3350,7 @@ "herhangi bir türde modül dosyası", "modül dosyası okunamıyor", "char8_t türü geçerli seçeneklerle desteklenmediği için yerleşik işlev kullanılamıyor", - null, + "C++20 eş yordamları etkinleştirilirse --ms_await komut satırı seçeneği belirtilemez", "varsayılan toplama öğesi başlatma için açık oluşturucu %nod için standart olmayan kullanım", "memcpy benzeri iç öğenin kaynağı veya hedefi bir nesneye işaret etmiyor", "memcpy benzeri iç öğe, temsili olarak farklı %t1 ve %t2 türlerini kopyalamaya çalışıyor", diff --git a/Extension/bin/messages/zh-cn/messages.json b/Extension/bin/messages/zh-cn/messages.json index a9f25a83c0..e864904c16 100644 --- a/Extension/bin/messages/zh-cn/messages.json +++ b/Extension/bin/messages/zh-cn/messages.json @@ -1389,14 +1389,14 @@ "已忽略类模板上的 dllexport 和 dllimport", "基类 dllexport/dllimport 规范与派生类的此规范不同", "重新声明无法将 dllexport/dllimport 添加到 %nod", - "dllexport/dllimport 与 %nod 冲突;假定 dllexport", + "dllexport/dllimport 与 %nod; 冲突;假定 dllexport", "无法定义 dllimport 实体", "dllexport/dllimport 需要外部链接", "使用 dllexport/dllimport 声明的类成员无法使用此类说明符对其自身进行声明", "在具有 DLL 接口的类中使用了没有 DLL 接口的类类型的字段", "带圆括号的成员声明是非标准的", "已忽略行接合中反斜杠和新行之间的空白", - "dllexport/dllimport 与 %nod 冲突;已丢弃 dllimport/dllexport", + "dllexport/dllimport 与 %nod; 冲突;已丢弃 dllimport/dllexport", "匿名成员类的无效成员 -- 类 %t 包含禁用的成员函数", "非标准的 reinterpret_cast", "位置格式说明符不能为零", @@ -2546,7 +2546,7 @@ "无法推导出 \"decltype(auto)\" 类型", "块范围线程本地声明必须包含 static 或 extern", "推导出的返回类型 %t1 与之前推导出的类型 %t2 冲突", - "无法推导出 %nd 的返回类型;尚未定义", + "无法推导出 %nd; 的返回类型;尚未定义", "虚函数不能具有推导出的返回类型", "从这个时间点起,%n 将被视为上下文相关的关键字", "全局命名空间不具有任何实际成员 %sq", @@ -3350,7 +3350,7 @@ "任何类型的模块文件", "无法读取模块文件", "内置函数不可用,因为当前选项不支持 char8_t 类型", - null, + "如果启用了 C++20 协同程序,则无法指定 --ms_await 命令行选项", "对默认聚合元素初始化使用显式构造函数 %nod 不是标准做法", "与 memcpy 类似的固有项的源或目标不指向对象", "与 memcpy 类似的固有项尝试复制在表达上不同的类型 %t1 和 %t2", diff --git a/Extension/bin/messages/zh-tw/messages.json b/Extension/bin/messages/zh-tw/messages.json index 3e2aa2e60d..36b8f438b0 100644 --- a/Extension/bin/messages/zh-tw/messages.json +++ b/Extension/bin/messages/zh-tw/messages.json @@ -1389,14 +1389,14 @@ "類別樣板忽略 dllexport 和 dllimport", "基底類別的 dllexport/dllimport 規格與衍生類別的不同", "重新宣告無法將 dllexport/dllimport 加入到 %nod", - "dllexport/dllimport 與 %nod 衝突; 假設為 dllexport", + "dllexport/dllimport 與 %nod; 衝突; 假設為 dllexport", "無法定義 dllimport 實體", "dllexport/dllimport 需要有外部連結", "以 dllexport/dllimport 宣告的類別成員本身無法以這類規範宣告", "無 DLL 介面的類別類型的欄位已用於有 DLL 介面的類別", "小括號內的成員宣告並非標準用法", "已忽略行接合處的反斜線與新行之間的空白字元", - "dllexport/dllimport 與 %nod 衝突; 已卸除 dllimport/dllexport", + "dllexport/dllimport 與 %nod; 衝突; 已卸除 dllimport/dllexport", "匿名成員類別的成員無效 -- 類別 %t 有不允許的成員定義", "非標準的 reinterpret_cast", "位置格式規範不能為零", @@ -2546,7 +2546,7 @@ "無法推算 'decltype(auto)' 類型", "區域範圍執行緒區域宣告必須包含靜態或外部", "推算的傳回類型 %t1 與先前推算的類型 %t2 衝突", - "無法推算 %nd 的傳回類型,尚未定義", + "無法推算 %nd; 的傳回類型,尚未定義", "虛擬函式不得有推算的傳回型別", "會將 %n 視為此點的即時關鍵字", "全域命名空間沒有實際成員 %sq", @@ -3350,7 +3350,7 @@ "任何類型的模組檔案", "無法讀取模組檔案", "因為目前的選項不支援 char8_t 類型,所以無法使用內建函式", - null, + "如果啟用 C++ 20 協同程式,就不能指定 --ms_await 命令列選項", "非標準地使用明確的建構函式 %nod 進行預設彙總元素初始化", "內建類 memcpy 的來源或目的地未指向物件", "內建類 memcpy 嘗試複製具象相異類型 %t1 與 %t2", diff --git a/Extension/c_cpp_properties.schema.json b/Extension/c_cpp_properties.schema.json index bc0b31fdfa..a63ba83248 100644 --- a/Extension/c_cpp_properties.schema.json +++ b/Extension/c_cpp_properties.schema.json @@ -188,6 +188,7 @@ "env": { "type": "object", "description": "Custom variables that can be reused anywhere in this file using the ${variable} or ${env:variable} syntax.", + "descriptionHint": "The word 'variable' within curly braces should also be translated. The \"env\" should not be translated, and the punctuation (\"${:}\") should be preserved.", "patternProperties": { "(?!^workspaceFolder$)(?!^workspaceRoot$)(?!^workspaceFolderBasename$)(?!^default$)(^.+$)": { "oneOf": [ diff --git a/Extension/gulpfile.js b/Extension/gulpfile.js index 5bb04d114b..803eba83cf 100644 --- a/Extension/gulpfile.js +++ b/Extension/gulpfile.js @@ -29,6 +29,12 @@ const htmlFilesPatterns = [ "ui/**/*.html" ]; +// HTML files for walkthroughs are handled differently, as localization support +// requires specific file name patterns, and must all reside in the same directory. +const walkthroughHtmlFilesPatterns = [ + "walkthrough/**/*.md" +]; + const jsonSchemaFilesPatterns = [ "*.schema.json" ]; @@ -83,8 +89,8 @@ gulp.task('pr-check', (done) => { // The result will be written to: ../vscode-extensions-localization-export/ms-vscode/ // **************************** -const translationProjectName = "vscode-extensions"; -const translationExtensionName = "vscode-cpptools"; +const translationProjectName = "vscode-extensions"; +const translationExtensionName = "vscode-cpptools"; function removePathPrefix(path, prefix) { if (!prefix) { @@ -107,28 +113,31 @@ function removePathPrefix(path, prefix) { return path; } +const dataLocIdAttribute = "data-loc-id"; +const dataLocHintAttribute = "data-loc-hint"; + // Helper to traverse HTML tree -// nodeCallback(locId, node) is invoked for nodes -// attributeCallback(locId, attribute) is invoked for attribtues -const traverseHtml = (contents, nodeCallback, attributeCallback) => { - const htmlTree = parse5.parse(contents); +// nodeCallback(locId, locHint, node) is invoked for nodes +// attributeCallback(locId, locHint, attribute) is invoked for attributes +const traverseHtml = (contents, nodeCallback, attributeCallback, isFragment) => { + const htmlTree = isFragment ? parse5.parseFragment(contents) : parse5.parse(contents); traverse(htmlTree, { pre(node, parent) { if (node.attrs) { // Check if content text should be localized based on presense of data-loc-id attribute - let locId = node.attrs.find(attribute => attribute.name.toLowerCase() == "data-loc-id"); + let locId = node.attrs.find(attribute => attribute.name.toLowerCase() == dataLocIdAttribute); if (locId) { - nodeCallback(locId.value, node); + let locHint = node.attrs.find(attribute => attribute.name.toLowerCase() == dataLocHintAttribute); + nodeCallback(locId.value, locHint?.value, node); } // Check if an attribute should be localized based on presense of data-loc-id- attribute node.attrs.forEach(attribute => { - const dataLocIdAttributePrefix = "data-loc-id-"; - if (attribute.name.startsWith(dataLocIdAttributePrefix)) - { - let targetAttributeName = attribute.name.substring(dataLocIdAttributePrefix.length); + if (attribute.name.startsWith(`${dataLocIdAttribute}-`)) { + let targetAttributeName = attribute.name.substring(dataLocIdAttribute.length + 1); let targetAttribute = node.attrs.find(a => a.name == targetAttributeName); if (targetAttribute) { - attributeCallback(attribute.value, targetAttribute); + let hint = node.attrs.find(a => a.name.toLowerCase() == `${dataLocHintAttribute}-${targetAttributeName}`); + attributeCallback(attribute.value, hint?.value, targetAttribute); } } }); @@ -148,7 +157,7 @@ const processHtmlFiles = () => { keys: [], filePath: removePathPrefix(file.path, file.cwd) }; - let nodeCallback = (locId, node) => { + let nodeCallback = (locId, locHint, node) => { let subNodeCount = 0; let text = ""; node.childNodes.forEach((childNode) => { @@ -158,16 +167,16 @@ const processHtmlFiles = () => { text += `{${subNodeCount++}}`; } }); - localizationJsonContents[locId.value] = text; - localizationMetadataContents.keys.push(locId); + localizationJsonContents[locId] = text; + localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId); localizationMetadataContents.messages.push(text); }; - let attributeCallback = (locId, attribute) => { + let attributeCallback = (locId, locHint, attribute) => { localizationJsonContents[locId] = attribute.value; - localizationMetadataContents.keys.push(locId); + localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId); localizationMetadataContents.messages.push(attribute.value); }; - traverseHtml(file.contents.toString(), nodeCallback, attributeCallback); + traverseHtml(file.contents.toString(), nodeCallback, attributeCallback, false); this.queue(new vinyl({ path: path.join(file.path + '.nls.json'), contents: Buffer.from(JSON.stringify(localizationJsonContents, null, '\t'), 'utf8') @@ -179,13 +188,13 @@ const processHtmlFiles = () => { }); }; -// descriptionCallback(path, value, parent) is invoked for attribtues +// descriptionCallback(path, value, parent) is invoked for attributes const traverseJson = (jsonTree, descriptionCallback, prefixPath) => { for (let fieldName in jsonTree) { if (jsonTree[fieldName] !== null) { - if (typeof(jsonTree[fieldName]) == "string" && fieldName === "description") { + if (typeof (jsonTree[fieldName]) == "string" && fieldName === "description") { descriptionCallback(prefixPath, jsonTree[fieldName], jsonTree); - } else if (typeof(jsonTree[fieldName]) == "object") { + } else if (typeof (jsonTree[fieldName]) == "object") { let path = prefixPath; if (path !== "") path = path + "."; @@ -210,8 +219,9 @@ const processJsonSchemaFiles = () => { }; let descriptionCallback = (path, value, parent) => { let locId = filePath + "." + path; + let locHint = parent.descriptionHint; localizationJsonContents[locId] = value; - localizationMetadataContents.keys.push(locId); + localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId); localizationMetadataContents.messages.push(value); }; traverseJson(jsonTree, descriptionCallback, ""); @@ -233,9 +243,9 @@ gulp.task("translations-export", (done) => { .pipe(sourcemaps.init()) .pipe(tsProject()).js .pipe(nls.createMetaDataFiles()); - + // Scan html files for tags with the data-loc-id attribute - let htmlStream = gulp.src(htmlFilesPatterns) + let htmlStream = gulp.src([...htmlFilesPatterns, ...walkthroughHtmlFilesPatterns]) .pipe(processHtmlFiles()); let jsonSchemaStream = gulp.src(jsonSchemaFilesPatterns) @@ -349,7 +359,7 @@ async function DownloadFile(urlString) { // Execute the request req.end(); }); - + } async function generatePackageHashes(packageJson) { @@ -422,73 +432,106 @@ const generateSrcLocBundle = () => { .pipe(gulp.dest('dist')); }; +const generateLocalizedHtmlFilesImpl = (file, relativePath, language, isFragment) => { + let stringTable = {}; + // Try to open i18n file for this file + let locFile = path.join("./i18n", language.folderName, relativePath + ".i18n.json"); + if (fs.existsSync(locFile)) { + stringTable = jsonc.parse(fs.readFileSync(locFile).toString()); + } + // Entire file is scanned and modified, then serialized for that language. + // Even if no translations are available, we still write new files to dist/html/... + + // Rewrite child nodes to fill in {0}, {1}, etc., in localized string. + let nodeCallback = (locId, locHint, node) => { + let locString = stringTable[locId]; + if (locString) { + let nonTextChildNodes = node.childNodes.filter(childNode => childNode.nodeName != "#text"); + let textParts = locString.split(/\{[0-9]+\}/); + let matchParts = locString.match(/\{[0-9]+\}/g); + let newChildNodes = []; + let i = 0; + for (; i < textParts.length - 1; i++) { + if (textParts[i] != "") { + newChildNodes.push({ nodeName: "#text", value: textParts[i] }); + } + let childIndex = matchParts[i].match(/[0-9]+/); + newChildNodes.push(nonTextChildNodes[childIndex]); + } + if (textParts[i] != "") { + newChildNodes.push({ nodeName: "#text", value: textParts[i] }); + } + node.childNodes = newChildNodes; + } + }; + let attributeCallback = (locId, locHint, attribute) => { + let value = stringTable[locId]; + if (value) { + attribute.value = value; + } + }; + let htmlTree = traverseHtml(file.contents.toString(), nodeCallback, attributeCallback, isFragment); + return parse5.serialize(htmlTree); +}; + const generateLocalizedHtmlFiles = () => { return es.through(function (file) { let relativePath = removePathPrefix(file.path, file.cwd); languages.map((language) => { - let stringTable = {}; - // Try to open i18n file for this file - let relativePath = removePathPrefix(file.path, file.cwd); - let locFile = path.join("./i18n", language.folderName, relativePath + ".i18n.json"); - if (fs.existsSync(locFile)) { - stringTable = jsonc.parse(fs.readFileSync(locFile).toString()); - } - // Entire file is scanned and modified, then serialized for that language. - // Even if no translations are available, we still write new files to dist/html/... - - // Rewrite child nodes to fill in {0}, {1}, etc., in localized string. - let nodeCallback = (locId, node) => { - let locString = stringTable[locId]; - if (locString) { - let nonTextChildNodes = node.childNodes.filter(childNode => childNode.nodeName != "#text"); - let textParts = locString.split(/\{[0-9]+\}/); - let matchParts = locString.match(/\{[0-9]+\}/g); - let newChildNodes = []; - let i = 0; - for (; i < textParts.length - 1; i ++) { - if (textParts[i] != "") { - newChildNodes.push({ nodeName: "#text", value: textParts[i]}); - } - let childIndex = matchParts[i].match(/[0-9]+/); - newChildNodes.push(nonTextChildNodes[childIndex]); - } - if (textParts[i] != "") { - newChildNodes.push({ nodeName: "#text", value: textParts[i]}); - } - node.childNodes = newChildNodes; - } - }; - let attributeCallback = (locId, attribute) => { - let value = stringTable[locId]; - if (value) { - attribute.value = value; - } - }; - let htmlTree = traverseHtml(file.contents.toString(), nodeCallback, attributeCallback); - let newContent = parse5.serialize(htmlTree); + let newContent = generateLocalizedHtmlFilesImpl(file, relativePath, language, false); this.queue(new vinyl({ path: path.join("html", language.id, relativePath), contents: Buffer.from(newContent, 'utf8') })); }); - - // Special case - put the original in an 'en' directory to simplify referring code + // Put the original in an 'en' directory. this.queue(new vinyl({ - path: path.join("html/en/", relativePath), + path: path.join("html/en", relativePath), contents: file.contents })); }); }; -// Generate localized versions of HTML files -// Check for cooresponding localized json file in i18n -// Generate new version of the HTML file in dist/html// +const generateLocalizedWalkthroughHtmlFiles = () => { + return es.through(function (file) { + let relativePath = removePathPrefix(file.path, file.cwd); + languages.map((language) => { + let newPath = relativePath.substr(0, relativePath.lastIndexOf(".")) + `.nls.${language.id}.md`; + let newContent = generateLocalizedHtmlFilesImpl(file, relativePath, language, true); + this.queue(new vinyl({ + path: newPath, + contents: Buffer.from(newContent, 'utf8') + })); + }); + // Put the original in an 'en' file. + let newPath = relativePath.substr(0, relativePath.lastIndexOf(".")) + ".nls.en.md"; + this.queue(new vinyl({ + path: newPath, + contents: file.contents + })); + }); +} + +// Generate localized versions of HTML files. +// Check for corresponding localized json file in i18n. +// Generate new version of the HTML file in: dist/html// const generateHtmlLoc = () => { return gulp.src(htmlFilesPatterns) .pipe(generateLocalizedHtmlFiles()) .pipe(gulp.dest('dist')); }; +// Generate localized versions of walkthrough HTML (.md) files. +// Check for corresponding localized json file in i18n. +// Generate new version of the HTML file in: dist/ +// The destination filename will have ".md" extension replaced with: .nls..md +// For example, the Spanish translation of "walkthrough/doc.md" will be written to "dist/walkthrough/doc.nls.es.md". +const generateWalkthroughHtmlLoc = () => { + return gulp.src(walkthroughHtmlFilesPatterns) + .pipe(generateLocalizedWalkthroughHtmlFiles()) + .pipe(gulp.dest('dist')); +}; + const generateLocalizedJsonSchemaFiles = () => { return es.through(function (file) { let jsonTree = JSON.parse(file.contents.toString()); @@ -520,7 +563,7 @@ const generateLocalizedJsonSchemaFiles = () => { }; // Generate localized versions of JSON schema files -// Check for cooresponding localized json file in i18n +// Check for corresponding localized json file in i18n // Generate new version of the JSON schema file in dist/schema// const generateJsonSchemaLoc = () => { return gulp.src(jsonSchemaFilesPatterns) @@ -528,8 +571,7 @@ const generateJsonSchemaLoc = () => { .pipe(gulp.dest('dist')); }; -gulp.task('translations-generate', gulp.series(generateSrcLocBundle, generateAdditionalLocFiles, generateHtmlLoc, generateJsonSchemaLoc)); - +gulp.task('translations-generate', gulp.series(generateSrcLocBundle, generateAdditionalLocFiles, generateHtmlLoc, generateWalkthroughHtmlLoc, generateJsonSchemaLoc)); // **************************** // Command: generate-native-strings @@ -549,15 +591,14 @@ gulp.task("generate-native-strings", (done) => { for (let property in stringTable) { let stringValue = stringTable[property]; let hintValue; - if (typeof stringValue !== "string") - { + if (typeof stringValue !== "string") { hintValue = stringValue.hint; stringValue = stringValue.text; } - + // Add to native enum nativeEnumContent += ` ${property} = ${stringIndex},\n`; - + // Add to native string table nativeStringTableContent += ` ${JSON.stringify(stringValue)},\n`; diff --git a/Extension/i18n/chs/package.i18n.json b/Extension/i18n/chs/package.i18n.json index 96d1044ba4..e387615d34 100644 --- a/Extension/i18n/chs/package.i18n.json +++ b/Extension/i18n/chs/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "配置格式化引擎", "c_cpp.configuration.formatting.clangFormat.description": "将使用 clang-format 设置代码的格式。", "c_cpp.configuration.formatting.vcFormat.description": "将使用 Visual C++ 格式设置引擎来设置代码的格式。", - "c_cpp.configuration.formatting.Default.description": "将使用 clang-format 设置代码的格式。", + "c_cpp.configuration.formatting.Default.description": "默认情况下,clang-format 将用于设置代码格式。但如果找到更接近要设置格式代码的具有相关设置的 .editorconfig 文件,并且 clang_format_style 为默认值 “file”,则将使用 Visual C++ 格式设置引擎。", "c_cpp.configuration.formatting.Disabled.description": "将禁用代码格式设置。", "c_cpp.configuration.vcFormat.indent.braces.description": "按照在“编辑器: 制表符大小”设置中指定的量缩进大括号。", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "确定新行缩进的基准", @@ -116,9 +116,9 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "无论任何“VC 格式: 新行”设置的值如何,在一行输入的完整代码块都保留在一行上", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "无论任何“VC 格式: 新行”设置的值如何,在同一行输入左大括号和右大括号的任何代码都保留在同一行上", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "始终根据“VC 格式: 新行”设置来设定代码块的格式", - "c_cpp.configuration.clang_format_path.description": "clang 格式可执行文件的完整路径。如果未指定,并且 clang 格式在环境路径中可用,则使用该格式。如果在环境路径中找不到 clang 格式,则将使用与该扩展绑定的 clang 格式的副本。", - "c_cpp.configuration.clang_format_style.description": "编码样式,当前支持: Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit。使用 \"file\" 从当前目录或父目录中的 .clang 格式文件中加载样式。使用 {键: 值, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", - "c_cpp.configuration.clang_format_fallbackStyle.description": "如果使用样式 \"file\" 调用 clang 格式但是找不到 .clang 格式文件,则使用预定义的样式的名称作为回退。可能的值为 Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit、none,或使用 {key: value, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_path.description": "clang-format 格式可执行文件的完整路径。如果未指定,并且 clang-format 格式在环境路径中可用,则使用该格式。如果在环境路径中找不到 clang-format 格式,则将使用与该扩展绑定的 clang-format 格式的副本。", + "c_cpp.configuration.clang_format_style.description": "编码样式,当前支持: Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit。使用 \"file\" 从当前目录或父目录中的 .clang-format 格式文件中加载样式。使用 {键: 值, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_fallbackStyle.description": "如果使用样式 \"file\" 调用 clang-format 格式但是找不到 .clang-format 格式文件,则使用预定义的样式的名称作为回退。可能的值为 Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit、none,或使用 {key: value, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "如果已设置,则重写由 SortIncludes 参数确定的包含排序行为。", "c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供程序。“标记分析器”提供非上下文感知的“模糊”结果。“默认”提供上下文感知结果。“已禁用”将关闭 C/C++ 语言服务功能。", "c_cpp.configuration.intelliSenseEngineFallback.description": "控制 IntelliSense 引擎是否自动切换到包含 #include 错误的翻译单元的标记分析器。", @@ -128,7 +128,7 @@ "c_cpp.configuration.inactiveRegionOpacity.description": "控制非活动预处理程序块的不透明度。介于 0.1 和 1.0 之间。此设置仅在启用了非活动区域变暗时适用。", "c_cpp.configuration.inactiveRegionForegroundColor.description": "控制非活动预处理程序块的字体颜色。输入的格式为十六进制颜色代码或有效的主题颜色。如果未设置,则默认为编辑器的语法颜色方案。此设置仅在启用非活动区域变暗时适用。", "c_cpp.configuration.inactiveRegionBackgroundColor.description": "控制非活动预处理程序块的背景颜色。输入的格式为十六进制颜色代码或有效的主题颜色。如果未设置,则默认为透明。此设置仅在启用了非活动区域变暗时适用。", - "c_cpp.configuration.loggingLevel.description": "输出面板中日志记录的详细程度。从最低详细程度到最高详细程度的顺序为: None < Error < Warning < Information < Debug.", + "c_cpp.configuration.loggingLevel.description": "输出面板中日志记录的详细程度。从最低详细程度到最高详细程度的顺序为: None < Error < Warning < Information < Debug。", "c_cpp.configuration.autoAddFileAssociations.description": "控制当文件是来自 C/C++ 文件的导航操作的目标时,是否将文件自动添加到 files.associations。", "c_cpp.configuration.workspaceParsingPriority.description": "控制在分析非活动工作区文件时是否使用休眠以避免 CPU 使用率达到 100%。最高/高/中等/低的值约对应于 100/75/50/25% 的 CPU 使用率。", "c_cpp.configuration.workspaceSymbols.description": "调用“转到工作区中的符号”时要包含在查询结果中的符号。", @@ -156,7 +156,7 @@ "c_cpp.configuration.default.cStandard.description": "未指定 \"cStandard\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。", "c_cpp.configuration.default.cppStandard.description": "未指定 \"cppStandard\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。", "c_cpp.configuration.default.configurationProvider.description": "未指定 \"configurationProvider\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。", - "c_cpp.configuration.default.browse.path.description": "未指定 \"browse. path\" 时要在配置中使用的值,或 \"browse.path\" 中存在 \"${default}\" 时要插入的值。", + "c_cpp.configuration.default.browse.path.description": "未指定 \"browse.path\" 时要在配置中使用的值,或 \"browse.path\" 中存在 \"${default}\" 时要插入的值。", "c_cpp.configuration.default.browse.databaseFilename.description": "未指定 \"browse.databaseFilename\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。", "c_cpp.configuration.default.browse.limitSymbolsToIncludedHeaders.description": "未指定 \"browse.limitSymbolsToIncludedHeaders\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。", "c_cpp.configuration.default.systemIncludePath.description": "要用于系统包含路径的值。如果已设置,它会覆盖通过 \"compilerPath\" 和 \"compileCommands\" 设置获取的系统包含路径。", @@ -171,7 +171,7 @@ "c_cpp.configuration.addNodeAddonIncludePaths.description": "当它们是依赖项时,从 nan 和 node-addon-api 添加 include 路径。", "c_cpp.configuration.renameRequiresIdentifier.description": "如果为 true,则“重命名符号”将需要有效的 C/C++ 标识符。", "c_cpp.configuration.autocompleteAddParentheses.description": "如果为 true,则自动完成功能将在函数调用后自动添加 \"(\",这种情况下还可以添加 \")\",具体取决于 \"editor.autoClosingBrackets\" 设置的值。", - "c_cpp.configuration.filesExclude.description": "为排除文件夹(和文件配置 glob 模式,如果 \"C_Cpp. exclusionPolicy\" 已更改)。这些是除了\"files.exclude\" 之外的 C/C + + 特定扩展,但与 \"files.exclude\" 不同,他们不从资源管理器视图中删除。了解 glob 模式的详细信息 [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options)。", + "c_cpp.configuration.filesExclude.description": "为排除文件夹(和文件,如果 \"C_Cpp.exclusionPolicy\" 已更改)配置 glob 模式。这些是除了 \"files.exclude\" 之外的 C/C++ 特定扩展,但与 \"files.exclude\" 不同,它们未从资源管理器视图中移除。了解 glob 模式的详细信息 [此处](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options)。", "c_cpp.configuration.filesExcludeBoolean.description": "匹配文件路径所依据的 glob 模式。设置为 true 或 false 可启用或禁用该模式。", "c_cpp.configuration.filesExcludeWhen.description": "对匹配文件的同级文件的其他检查。使用 $(basename) 作为匹配文件名的变量。", "c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "如果为 true,调试程序 shell 命令替换将使用过时的反引号(`)。", diff --git a/Extension/i18n/chs/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/chs/src/Debugger/configurationProvider.i18n.json index 622ea625b6..11e9d26c7b 100644 --- a/Extension/i18n/chs/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/chs/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "默认配置", "select.configuration": "选择配置", + "debug.configuration.selection.canceled": "已取消调试配置选择", "cl.exe.not.available": "仅当从 VS 开发人员命令提示符处运行 VS Code 时,{0} 生成和调试才可用。", "miDebuggerPath.not.available": "miDebuggerPath 不存在: {0}。是否安装了调试程序?", "debugger.deprecated.config": "密钥“{0}”已弃用。请改用“{1}”。", diff --git a/Extension/i18n/chs/src/LanguageServer/client.i18n.json b/Extension/i18n/chs/src/LanguageServer/client.i18n.json index aefa334ed5..dddbce3406 100644 --- a/Extension/i18n/chs/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/chs/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "无法启动 C/C++ 语言服务器。IntelliSense 功能将被禁用。错误: {0}", "check.permissions": "EPERM: 检查“{0}”的权限", "server.crashed2": "在过去 3 分钟内,语言服务器崩溃了 5 次。它不会重新启动。", + "loggingLevel.changed": "{0} 已更改为: {1}", "provider.configure.folder": "{0} 想要为“{1}”文件夹配置 IntelliSense。", "provider.configure.this.folder": "{0} 想要为此文件夹配置 IntelliSense。", "allow.button": "允许", @@ -35,6 +36,5 @@ "configurations.received": "已收到自定义配置:", "browse.configuration.received": "已收到自定义浏览配置: {0}", "no.compilers.found": "系统上未找到任何 C++ 编译器。对于你的平台,建议使用编辑器中的说明安装 {0}。", - "compilers.found": "我们在系统上发现了以下 C++ 编译器:", - "compilers.found.message": "可在项目的 IntelliSense 配置中指定要使用的编译器。" + "compilers.found": "在你的系统上找到了以下 C++ 编译器。请在项目的 IntelliSense 配置中选择编译器。" } \ No newline at end of file diff --git a/Extension/i18n/chs/src/LanguageServer/settings.i18n.json b/Extension/i18n/chs/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..35d30bb5b2 --- /dev/null +++ b/Extension/i18n/chs/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "代码格式设置使用 .editorconfig 中的设置,而不是 .clang-format。有关详细信息,请参阅 “C_Cpp.formatting” 设置的“默认”值的文档。" +} \ No newline at end of file diff --git a/Extension/i18n/chs/src/LanguageServer/ui.i18n.json b/Extension/i18n/chs/src/LanguageServer/ui.i18n.json index eca29ce502..bf034d04a0 100644 --- a/Extension/i18n/chs/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/chs/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "正在分析打开的文件", "click.to.preview": "单击以预览结果", + "updating.intellisense.tooltip": "正在更新 IntelliSense", + "select.command": "选择命令...", "c.cpp.configuration.tooltip": "C/C++ 配置", - "updating.intellisense.tooltip": "正在更新 IntelliSense...", - "discovering.files.tooltip": "正在发现文件...", + "c.cpp.references.statusbar": "C/C++ 引用状态", + "c.cpp.intellisense.statusbar": "C/C++ IntelliSense 状态", + "c.cpp.tagparser.statusbar": "C/C++ 标记分析器状态", + "discovering.files.tooltip": "正在发现文件", + "running.analysis.tooltip": "正在运行 {0}", "select.a.configuration": "选择配置...", "edit.configuration.ui": "编辑配置(UI)", "edit.configuration.json": "编辑配置(JSON)", @@ -17,7 +23,9 @@ "disable.configuration.provider": "禁用活动配置提供程序(如果适用)。", "select.compile.commands": "选择 compile_commands.json...", "select.workspace": "选择工作区文件夹…", - "select.parsing.command": "选择分析命令...", - "resume.parsing": "继续分析", - "pause.parsing": "暂停分析" + "resume.parsing": "恢复工作区分析", + "pause.parsing": "暂停工作区分析", + "cancel.analysis": "取消 {0}", + "resume.analysis": "恢复 {0}", + "pause.analysis": "暂停 {0}" } \ No newline at end of file diff --git a/Extension/i18n/chs/src/main.i18n.json b/Extension/i18n/chs/src/main.i18n.json index 6abbe67ccd..d95bb35cb8 100644 --- a/Extension/i18n/chs/src/main.i18n.json +++ b/Extension/i18n/chs/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "此 {0} {1} 版本的扩展与你的 OS 不兼容,请下载并安装 \"{2}\" 版本的扩展。", "extension.installation.failed": "C/C++ 扩展安装失败。为使函数正常工作,需要修复或重新安装 C/C++ 语言功能的扩展。", "remove.extension": "尝试修复", - "jason.files.missing": "C/C++ 扩展安装失败。为使函数正常工作,需要重新安装 C/C++ 语言功能的扩展。", + "json.files.missing": "C/C++ 扩展安装失败。为使函数正常工作,需要重新安装 C/C++ 语言功能的扩展。", "initialization.failed": "C/C++ 扩展安装失败。有关详细信息,请查看输出窗口。", "updating.dependencies": "正在更新 C/C++ 依赖项...", - "rename.failed.delete.manually": "错误: fs.rename 失败,原因为“{0}”。请手动删除 {1} 以启用调试。", "failed.at.stage": "在阶段 {0} 失败", "failed.at.stage2": "如果在脱机环境中工作或反复看到此错误,请尝试从 {0} 下载预包含了所有依赖项的扩展版本,然后使用 VS Code 中的“从 VSIX 安装”命令来安装它。", "finished.installing.dependencies": "已完成安装依赖项", diff --git a/Extension/i18n/chs/src/nativeStrings.i18n.json b/Extension/i18n/chs/src/nativeStrings.i18n.json index a7ccc8fb5b..a1fc551450 100644 --- a/Extension/i18n/chs/src/nativeStrings.i18n.json +++ b/Extension/i18n/chs/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "正在发现文件: {0}", "parsing_open_files": "正在分析打开的文件", "tag_parser_initializing": "标记分析器正在初始化", - "parsing_paused": "分析已暂停", - "parsing_files": "正在分析文件: {0}", + "parsing_paused": "已暂停工作区分析", + "parsing_files": "正在分析工作区文件: {0}", "discovering_files_count_progress": "正在发现文件: {0}/{1} ({2}%)", - "parsing_files_progress": "正在分析文件: {0}/{1} ({2}%)", + "parsing_files_progress": "正在分析工作区文件: {0} / {1} ({2}%)", "cant_find_or_run_process": "找不到或无法运行 process_name", "child_exec_failed": "子 exec 失败 {0}", "could_not_communicate_with_child_process": "无法与子进程通信!", diff --git a/Extension/i18n/chs/ui/settings.html.i18n.json b/Extension/i18n/chs/ui/settings.html.i18n.json index 74728e0e20..51d477b4a5 100644 --- a/Extension/i18n/chs/ui/settings.html.i18n.json +++ b/Extension/i18n/chs/ui/settings.html.i18n.json @@ -53,7 +53,7 @@ "forced.include.description": "在处理源文件中的任何其他字符之前应包含的文件的列表。按列出的顺序包含文件。", "one.file.per.line": "每行一个文件。", "compile.commands": "编译命令", - "compile.commands.description": "工作区的 {0} 文件的完整路径。将使用在此文件中所发现的包含路径和定义,而不是为 {1} 和 {2} 设置设定的值。如果编译命令数据库不包含与你在编辑器中打开的文件对应的翻译单元条目,则将显示一条警告消息,并且扩展将改用 {3} 和 {4} 设置\"。", + "compile.commands.description": "工作区的 {0} 文件的完整路径。将使用在此文件中所发现的包含路径和定义,而不是为 {1} 和 {2} 设置设定的值。如果编译命令数据库不包含与你在编辑器中打开的文件对应的翻译单元条目,则将显示一条警告消息,并且扩展将改用 {3} 和 {4} 设置。", "browse.path": "浏览: 路径", "browse.path.description": "标记分析器的路径列表,它用于搜索源文件所包含的标头。如果省略,{0} 将用作 {1}。默认情况下,以递归方式搜索这些路径。指定 {2} 可指示非递归搜索。例如: {3} 将在所有子目录中搜索,而 {4} 不会。", "one.browse.path.per.line": "每行一个浏览路径。", diff --git a/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..e4649c98e5 --- /dev/null +++ b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "在 Linux 上运行并调试 C++ 文件", + "walkthrough.linux.run.and.debug.your.file": "要在 VS Code 中运行并调试 C++ 文件:", + "walkthrough.linux.instructions1": "打开要运行和调试的 C++ 源文件。请确保此文件在编辑器中处于活动状态(当前已显示并选择)。", + "walkthrough.linux.press.f5": "按 {0},或从主菜单中选择 {1}。", + "walkthrough.linux.run": "运行", + "walkthrough.linux.start.debugging": "开始调试", + "walkthrough.linux.select.compiler": "选择 {0}。", + "walkthrough.linux.choose.build.active.file": "选择 {0}。", + "walkthrough.linux.build.and.debug.active.file": "生成和调试活动文件", + "walkthrough.linux.after.running": "首次运行和调试 C++ 文件后,你将注意到项目 {0} 的文件夹内有两个新文件: {1} 和 {2}。", + "walkthrough.linux.for.more.complex": "对于更复杂的生成和调试场景,可以在 {0} 和 {1} 中自定义生成任务和调试配置。例如,如果在从命令行生成时通常会将参数传递给编译器,则可以使用 {3} 属性以在 {2} 中指定这些参数。同样,可以定义要传递给程序的参数,以在 {4}中进行调试。" +} \ No newline at end of file diff --git a/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..03b04beafb --- /dev/null +++ b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "在 macOS 上运行并调试 C++ 文件", + "walkthrough.mac.run.and.debug.your.file": "要在 VS Code 中运行并调试 C++ 文件:", + "walkthrough.mac.instructions1": "打开要运行和调试的 C++ 源文件。请确保此文件在编辑器中处于活动状态(当前已显示并选择)。", + "walkthrough.mac.press.f5": "按 {0},或从主菜单中选择 {1}。", + "walkthrough.mac.run": "运行", + "walkthrough.mac.start.debugging": "开始调试", + "walkthrough.mac.select.compiler": "选择 {0}。", + "walkthrough.mac.choose.build.active.file": "选择 {0}。", + "walkthrough.mac.build.and.debug.active.file": "生成和调试活动文件", + "walkthrough.mac.after.running": "首次运行和调试 C++ 文件后,你将注意到项目 {0} 的文件夹内有两个新文件: {1} 和 {2}。", + "walkthrough.mac.for.more.complex": "对于更复杂的生成和调试场景,可以在 {0} 和 {1} 中自定义生成任务和调试配置。例如,如果在从命令行生成时通常会将参数传递给编译器,则可以使用 {3} 属性以在 {2} 中指定这些参数。同样,可以定义要传递给程序的参数,以在 {4}中进行调试。" +} \ No newline at end of file diff --git a/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..396cd2c190 --- /dev/null +++ b/Extension/i18n/chs/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "在 Windows 上运行并调试 C++ 文件", + "walkthrough.mac.run.and.debug.your.file": "要在 VS Code 中运行并调试 C++ 文件:", + "walkthrough.mac.instructions1": "打开要运行和调试的 C++ 源文件。请确保此文件在编辑器中处于活动状态(当前已显示并选择)。", + "walkthrough.mac.press.f5": "按 {0},或从主菜单中选择 {1}。", + "walkthrough.mac.run": "运行", + "walkthrough.mac.start.debugging": "开始调试", + "walkthrough.mac.select.compiler": "选择 {0}。", + "walkthrough.mac.choose.build.active.file": "选择 {0}。", + "walkthrough.windows.build.and.debug.active.file": "生成和调试活动文件", + "walkthrough.mac.after.running": "首次运行和调试 C++ 文件后,你将注意到项目 {0} 的文件夹内有两个新文件: {1} 和 {2}。", + "walkthrough.mac.for.more.complex": "对于更复杂的生成和调试场景,可以在 {0} 和 {1} 中自定义生成任务和调试配置。例如,如果在从命令行生成时通常会将参数传递给编译器,则可以使用 {3} 属性以在 {2} 中指定这些参数。同样,可以定义要传递给程序的参数,以在 {4}中进行调试。" +} \ No newline at end of file diff --git a/Extension/i18n/chs/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/chs/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..fdc2c635a2 --- /dev/null +++ b/Extension/i18n/chs/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "在 macOS 上安装 C++ 编译器", + "walkthough.mac.text1": "如果要为 macOS 进行 C++ 开发,建议安装 Clang 编译器。只需在“终端”窗口中运行以下命令即可安装命令行开发人员工具:", + "walkthough.mac.text2": "然后,要验证已安装 clang,请在“终端”窗口中运行以下命令。你应该会看到一条消息,其中包含有关所使用的 Clang 版本的信息。" +} \ No newline at end of file diff --git a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..06db649b20 --- /dev/null +++ b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "在 Windows 上安装 C++ 编译器", + "walkthrough.windows.text1": "如果要对 Windows 进行 C++ 开发,建议安装Microsoft Visual C++ (MSVC)编译器工具集。如果从 Windows 面向 Linux,请检查 {0},或可以 {1}。", + "walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 和 适用于 Linux 的 Windows 子系统(WSL)", + "walkthrough.windows.link.title2": "在带 MinGW 的 Windows 上安装 GCC", + "walkthrough.windows.text2": "要安装 MSVC,请从 Visual Studio {1} 页面下载 {0}。", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "下载", + "walkthrough.windows.text3": "在 Visual Studio 安装程序中,检查 {0} 工作负载并选择 {1}。", + "walkthrough.windows.build.tools2": "C++ 生成工具", + "walkthrough.windows.link.install": "安装", + "walkthrough.windows.note1": "注意", + "walkthrough.windows.note1.text": "可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。", + "walkthrough.windows.open.command.prompt": "在 Windows“开始”菜单中键入‘开发人员’以打开 {0}。", + "walkthrough.windows.command.prompt.name1": "VS 的开发人员命令提示", + "walkthrough.windows.check.install": "在 VS 的开发人员命令提示中键入 {0} 以检查 MSVC 安装。你应该会看到包含版本和基本使用情况说明的版权消息。", + "walkthrough.windows.note2": "注意", + "walkthrough.windows.note2.text": "要从命令行或 VS Code 使用 MSVC,必须从 {0} 运行。普通 shell (例如 {1}、 {2})或 Windows 命令提示符未设置必要的路径环境变量。", + "walkthrough.windows.command.prompt.name2": "VS 的开发人员命令提示" +} \ No newline at end of file diff --git a/Extension/i18n/chs/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/chs/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..2ffb5ce89e --- /dev/null +++ b/Extension/i18n/chs/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "在 Linux 上安装 C++ 编译器", + "walkthrough.linux.text1": "如果要为 Linux 进行 C++ 开发,建议安装 GCC 编译器。安装 GCC 十分简单,只需执行以下三个步骤:", + "walkthrough.linux.text2": "从终端窗口运行以下命令以更新 Ubuntu 包列表。过期的 Linux 分发有时会干扰尝试安装新包。", + "walkthrough.linux.text3": "使用此命令安装 GNU 编译器工具和 GDB 调试器:", + "walkthrough.linux.text4": "运行以下命令以验证 GCC 已安装。你应该会看到一条版权消息和有关所使用的 GCC 版本的信息。" +} \ No newline at end of file diff --git a/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json index e2cd701306..c2cc2f44f0 100644 --- a/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json @@ -20,8 +20,8 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "設為 true,就會只處理直接或間接以標頭形式包含的檔案; 設為 false,則會處理位於指定 include 路徑下的所有檔案。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "產生的符號資料庫路徑。如果指定了相對路徑,就會是相對於工作區預設儲存位置的路徑。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "用來為工作區符號進行索引編製與剖析的路徑清單 (供 [移至定義]、[尋找所有參考] 等使用)。根據預設,會以遞迴方式搜尋這些路徑。指定 '*' 表示非遞迴搜尋。例如,'${workspaceFolder}' 將在所有子目錄中搜尋,'${workspaceFolder}/*' 則不會。", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可透過命令 ${cpptools:activeConfigCustomVariable} 查詢的自訂變數,用於 launch.json 或 tasks.js 的輸入變數。", - "c_cpp_properties.schema.json.definitions.env": "可以透過使用 ${變數} 或 ${環境:變數} 語法,在此檔案中任何地方重複使用的自訂變數。", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可透過命令 ${cpptools:activeConfigCustomVariable} 查詢的自訂變數,用於 launch.json 或 tasks.json 的輸入變數。", + "c_cpp_properties.schema.json.definitions.env": "可以透過使用 ${變數} 或 ${env:變數} 語法,在此檔案中任何地方重複使用的自訂變數。", "c_cpp_properties.schema.json.definitions.version": "組態檔版本。此屬性受延伸模組管理,請勿變更。", "c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "控制延伸模組是否會回報 c_cpp_properties.json 中偵測到的錯誤。" } \ No newline at end of file diff --git a/Extension/i18n/cht/package.i18n.json b/Extension/i18n/cht/package.i18n.json index 7e6d433c22..aaaf37a6d1 100644 --- a/Extension/i18n/cht/package.i18n.json +++ b/Extension/i18n/cht/package.i18n.json @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "c_cpp.capabilities.untrustedWorkspaces.description": "多個設定可能會導致工作區的本機進程得以執行,例如 C_Cpp. clang_format_path、C_Cpp addNodeAddonIncludePaths、C_Cpp. compilerPath、C_Cpp.default.configurationProvider 以及 C_Cpp. compileCommands 以及 c_cpp_properties.js 上的對等屬性。", + "c_cpp.capabilities.untrustedWorkspaces.description": "多個設定可能會導致工作區的本機進程得以執行,例如 C_Cpp.clang_format_path、C_Cpp.addNodeAddonIncludePaths、C_Cpp.compilerPath、C_Cpp.default.configurationProvider 以及 C_Cpp.compileCommands 以及 c_cpp_properties.json 上的對等屬性。", "c_cpp.command.configurationSelect.title": "選取組態...", "c_cpp.command.configurationProviderSelect.title": "變更組態提供者...", "c_cpp.command.configurationEditJSON.title": "編輯組態 (JSON)", @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "選擇格式設定引擎", "c_cpp.configuration.formatting.clangFormat.description": "將使用 clang-format 來格式化程式碼。", "c_cpp.configuration.formatting.vcFormat.description": "將使用 Visual C++ 格式化引擎來格式化程式碼。", - "c_cpp.configuration.formatting.Default.description": "將使用 clang-format 來格式化程式碼。", + "c_cpp.configuration.formatting.Default.description": "根據預設,會使用 clang 格式將程式碼格式化。不過,如果具有相關設定之 .editorconfig 檔案更接近要格式化的程式碼,且 clang_format_style 為預設值 'file',則將會使用 Visual C++ 格式引擎。", "c_cpp.configuration.formatting.Disabled.description": "將停用程式碼格式化。", "c_cpp.configuration.vcFormat.indent.braces.description": "大括弧會依據 [Editor: Tab Size] 設定中指定的數量縮排。", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "決定換行縮排相對於", @@ -118,7 +118,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "程式碼區塊的格式一律以 VC 格式的值為準: [新行] 設定", "c_cpp.configuration.clang_format_path.description": "此為 clang-format 可執行檔的完整路徑。如果未指定,且在環境路徑中可用 clang-format,即會使用該格式。如果在環境路徑中找不到,則會使用延伸模組所配備的 clang-format 複本。", "c_cpp.configuration.clang_format_style.description": "編碼樣式,目前支援: Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit。使用 \"file\" 可從目前目錄或父目錄的 .clang-format 檔案載入樣式。使用 {key: value, ...} 可設定特定參數。例如,\"Visual Studio\" 樣式類似於: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", - "c_cpp.configuration.clang_format_fallbackStyle.description": "當已使用樣式 \"file\" 叫用 clang 格式,但找不到 .clang-format 檔案時,用作後援的預先定義樣式名稱。可能的值包括 Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit、none 或使用 {key: value, ...} 來設定特定參數。例如,\"Visual Studio\" 樣式類似於: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_fallbackStyle.description": "當已使用樣式 \"file\" 叫用 clang-format 格式,但找不到 .clang-format 檔案時,用作後援的預先定義樣式名稱。可能的值包括 Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit、none 或使用 {key: value, ...} 來設定特定參數。例如,\"Visual Studio\" 樣式類似於: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "若設定,會覆寫 SortIncludes 參數所決定的包含排序行為。", "c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供者。「標籤剖析器」會提供非內容感知的「模糊」結果。「預設」會提供內容感知的結果。「停用」會關閉 C/C++ 語言服務功能。", "c_cpp.configuration.intelliSenseEngineFallback.description": "控制 IntelliSense 引擎是否會自動切換到包含 #include 錯誤之編譯單位的標籤剖析器。", @@ -128,7 +128,7 @@ "c_cpp.configuration.inactiveRegionOpacity.description": "控制非作用中前置處理器區塊的不透明度。在 0.1 與 1.0 之間縮放。只有在啟用非作用中區域變暗時,才會套用此設定。", "c_cpp.configuration.inactiveRegionForegroundColor.description": "控制非作用中前置處理器區塊的前景色彩。輸入的格式為十六進位色彩代碼或有效的佈景主題色彩。若未設定,會預設為編輯器的語法著色配置。只有在啟用非作用中區域變暗時,才會套用此設定。", "c_cpp.configuration.inactiveRegionBackgroundColor.description": "控制非作用中前置處理器區塊的背景色彩。輸入的格式為十六進位色彩代碼或有效的佈景主題色彩。若未設定,會預設為透明。只有在啟用非作用中區域變暗時,才會套用此設定。", - "c_cpp.configuration.loggingLevel.description": "輸出面板中記錄的詳細程度。從最不詳細到最詳細的層級順序為: None < Error < Warning < Information < Debug.", + "c_cpp.configuration.loggingLevel.description": "輸出面板中記錄的詳細程度。從最不詳細到最詳細的層級順序為: None < Error < Warning < Information < Debug。", "c_cpp.configuration.autoAddFileAssociations.description": "控制是否會在檔案為 C/C++ 檔案的瀏覽作業目標時,自動將檔案新增至 files.associations。", "c_cpp.configuration.workspaceParsingPriority.description": "控制非作用中工作區檔案的剖析是否會使用睡眠來避免使用 100% 的 CPU。值 highest/high/medium/low 會約略對應至 100/75/50/25% CPU 使用率。", "c_cpp.configuration.workspaceSymbols.description": "叫用「前往工作區中的符號」時,要包含在查詢結果中的符號。", diff --git a/Extension/i18n/cht/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/cht/src/Debugger/configurationProvider.i18n.json index 07143c8f63..61389562e3 100644 --- a/Extension/i18n/cht/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/cht/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "預設組態", "select.configuration": "選取組態", + "debug.configuration.selection.canceled": "已取消偵錯設定選取範圍", "cl.exe.not.available": "只有從 VS 的開發人員命令提示字元執行 VS Code 時,才可使用 {0} 組建和偵錯。", "miDebuggerPath.not.available": "miDebuggerPath 不存在: {0}。是否已安裝偵錯工具?", "debugger.deprecated.config": "金鑰 '{0}' 已淘汰。請改用 '{1}'。", diff --git a/Extension/i18n/cht/src/LanguageServer/client.i18n.json b/Extension/i18n/cht/src/LanguageServer/client.i18n.json index c92a9882ba..ce4117e62f 100644 --- a/Extension/i18n/cht/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/cht/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "無法啟動 C/C + + 語言伺服器。將停用 IntelliSense 功能。錯誤: {0}", "check.permissions": "EPERM: 檢查 '{0}' 的權限", "server.crashed2": "語言伺服器在過去 3 分鐘內發生 5 次故障。將不會重新啟動。", + "loggingLevel.changed": "{0}已變更為: {1}", "provider.configure.folder": "{0} 想要為 '{1}' 資料夾設定 IntelliSense。", "provider.configure.this.folder": "{0} 想要為此資料夾設定 IntelliSense。", "allow.button": "允許", @@ -35,6 +36,5 @@ "configurations.received": "收到的自訂組態:", "browse.configuration.received": "收到的自訂瀏覽組態: {0}", "no.compilers.found": "在您的系統 C++ 上找不到編譯器。針對您的平台,建議您使用編輯器中的指示來安裝 {0}。", - "compilers.found": "我們在您的系統上找到下列 C++ 編譯器:", - "compilers.found.message": "您可以在專案的 IntelliSense 設定中指定要使用的編譯器。" + "compilers.found": "我們在您的系統上找到下列 C++ 編譯器。在專案的 IntelliSense 設定中選擇編譯器。" } \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/settings.i18n.json b/Extension/i18n/cht/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..f291f9ab83 --- /dev/null +++ b/Extension/i18n/cht/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "程式碼格式設定使用來自 .editorconfig 的設定,而不是 .clang 格式。如需詳細資訊,請參閱 'C_Cpp.formatting' 設定之 'Default' 值的文件。" +} \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/ui.i18n.json b/Extension/i18n/cht/src/LanguageServer/ui.i18n.json index eaf6ab234d..ac2a056727 100644 --- a/Extension/i18n/cht/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/cht/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "正在剖析開啟的檔案", "click.to.preview": "按一下以預覽結果", - "c.cpp.configuration.tooltip": "C/C++ 組態", "updating.intellisense.tooltip": "正在更新 IntelliSense...", - "discovering.files.tooltip": "正在探索檔案...", + "select.command": "選取命令...", + "c.cpp.configuration.tooltip": "C/C++ 組態", + "c.cpp.references.statusbar": "C/C++ 參考狀態", + "c.cpp.intellisense.statusbar": "C/C++ IntelliSense 狀態", + "c.cpp.tagparser.statusbar": "C/C++ 標記剖析器狀態", + "discovering.files.tooltip": "正在探索檔案", + "running.analysis.tooltip": "正在執行 {0}", "select.a.configuration": "選取組態...", "edit.configuration.ui": "編輯組態 (UI)", "edit.configuration.json": "編輯組態 (JSON)", @@ -17,7 +23,9 @@ "disable.configuration.provider": "如果適用,停用現有組態提供者。", "select.compile.commands": "選取 compile_commands.json...", "select.workspace": "選取工作區資料夾...", - "select.parsing.command": "選取剖析命令...", - "resume.parsing": "繼續剖析", - "pause.parsing": "暫停剖析" + "resume.parsing": "繼續工作區剖析", + "pause.parsing": "暫停工作區剖析", + "cancel.analysis": "取消 {0}", + "resume.analysis": "繼續 {0}", + "pause.analysis": "暫停 {0}" } \ No newline at end of file diff --git a/Extension/i18n/cht/src/main.i18n.json b/Extension/i18n/cht/src/main.i18n.json index 91e50b40a9..e543f6e27c 100644 --- a/Extension/i18n/cht/src/main.i18n.json +++ b/Extension/i18n/cht/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "此 {0} {1} 版延伸模組與您的作業系統不相容。請下載並安裝 \"{2}\" 版延伸模組。", "extension.installation.failed": "無法成功安裝 C/C++ 延伸模組。您必須修復或重新安裝 C/C++ 語言功能的延伸模組,才可正常運作。", "remove.extension": "嘗試修復", - "jason.files.missing": "無法成功安裝 C/C++ 延伸模組。您必須重新安裝 C/C++ 語言功能的延伸模組,才可正常運作。", + "json.files.missing": "無法成功安裝 C/C++ 延伸模組。您必須重新安裝 C/C++ 語言功能的延伸模組,才可正常運作。", "initialization.failed": "C/C + + 延伸模組安裝失敗。如需詳細資訊,請查看 [輸出] 視窗。", "updating.dependencies": "正在更新 C/C + + 相依性...", - "rename.failed.delete.manually": "錯誤: fs.rename 失敗,\"{0}\"。請手動刪除 {1} 以啟用偵錯。", "failed.at.stage": "在階段 {0} 失敗", "failed.at.stage2": "如果在離線環境中作業,或重複看到此錯誤,請嘗試下載具備 {0} 所有預先內含之相依性的延伸模組版本,然後在 VS Code 中使用 \"Install from VSIX\" 命令加以安裝。", "finished.installing.dependencies": "已完成安裝相依性", diff --git a/Extension/i18n/cht/src/nativeStrings.i18n.json b/Extension/i18n/cht/src/nativeStrings.i18n.json index d25ca46bb1..1729755402 100644 --- a/Extension/i18n/cht/src/nativeStrings.i18n.json +++ b/Extension/i18n/cht/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "正在探索檔案: {0}", "parsing_open_files": "正在剖析開啟的檔案", "tag_parser_initializing": "標籤剖析器正在初始化", - "parsing_paused": "剖析已暫停", - "parsing_files": "正在剖析檔案: {0}", + "parsing_paused": "工作區剖析已暫停", + "parsing_files": "正在剖析工作區檔案: {0}", "discovering_files_count_progress": "正在探索檔案: {0} / {1} ({2}%)", - "parsing_files_progress": "正在剖析檔案: {0} / {1} ({2}%)", + "parsing_files_progress": "正在剖析工作區檔案: {0} / {1} ({2}%)", "cant_find_or_run_process": "找不到或無法執行 process_name", "child_exec_failed": "子執行失敗 {0}", "could_not_communicate_with_child_process": "無法與子處理序通訊!", diff --git a/Extension/i18n/cht/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/cht/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..98bd26f468 --- /dev/null +++ b/Extension/i18n/cht/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "在 Linux 上執行並偵錯您的 C++ 檔案", + "walkthrough.linux.run.and.debug.your.file": "若要在 VS Code 中執行和偵錯您的 C++ 檔案:", + "walkthrough.linux.instructions1": "開啟您要執行及偵錯的 C++ 來源檔案。請確定此檔案在編輯器中為作用中 (目前顯示且已選取)。", + "walkthrough.linux.press.f5": "按 {0}。或者,從主功能表中選擇 {1}。", + "walkthrough.linux.run": "執行", + "walkthrough.linux.start.debugging": "開始偵錯", + "walkthrough.linux.select.compiler": "選取 {0}。", + "walkthrough.linux.choose.build.active.file": "選擇 {0}。", + "walkthrough.linux.build.and.debug.active.file": "建置及偵錯使用中的檔案", + "walkthrough.linux.after.running": "第一次執行並偵錯您的 C++ 檔案之後,您會注意到專案 {0} 資料夾中有兩個新檔案: {1} 及 {2}。", + "walkthrough.linux.for.more.complex": "如需更複雜的組建和偵錯案例,您可以在 {0} 及 {1} 中自訂群組建工作和偵錯設定。例如,如果您在從命令列組建時,通常會將引數傳遞給編譯器,可以使用 {3} 屬性在 {2} 中指定這些引數。類似地,您可以定義要傳遞給程式的引數,以便在 {4} 進行偵錯。" +} \ No newline at end of file diff --git a/Extension/i18n/cht/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/cht/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..c06e19749f --- /dev/null +++ b/Extension/i18n/cht/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "在 macOS 上執行並偵錯您的 C++ 檔案", + "walkthrough.mac.run.and.debug.your.file": "若要在 VS Code 中執行和偵錯您的 C++ 檔案:", + "walkthrough.mac.instructions1": "開啟您要執行及偵錯的 C++ 來源檔案。請確定此檔案在編輯器中為作用中 (目前顯示且已選取)。", + "walkthrough.mac.press.f5": "按 {0}。或者,從主功能表中選擇 {1}。", + "walkthrough.mac.run": "執行", + "walkthrough.mac.start.debugging": "開始偵錯", + "walkthrough.mac.select.compiler": "選取 {0}。", + "walkthrough.mac.choose.build.active.file": "選擇 {0}。", + "walkthrough.mac.build.and.debug.active.file": "建置及偵錯使用中的檔案", + "walkthrough.mac.after.running": "第一次執行並偵錯您的 C++ 檔案之後,您會注意到專案 {0} 資料夾中有兩個新檔案: {1} 及 {2}。", + "walkthrough.mac.for.more.complex": "如需更複雜的組建和偵錯案例,您可以在 {0} 及 {1} 中自訂群組建工作和偵錯設定。例如,如果您在從命令列組建時,通常會將引數傳遞給編譯器,可以使用 {3} 屬性在 {2} 中指定這些引數。類似地,您可以定義要傳遞給程式的引數,以便在 {4} 進行偵錯。" +} \ No newline at end of file diff --git a/Extension/i18n/cht/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/cht/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..013e120c05 --- /dev/null +++ b/Extension/i18n/cht/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "在 Windows 上執行並偵錯您的 C++ 檔案", + "walkthrough.mac.run.and.debug.your.file": "若要在 VS Code 中執行和偵錯您的 C++ 檔案:", + "walkthrough.mac.instructions1": "開啟您要執行及偵錯的 C++ 來源檔案。請確定此檔案在編輯器中為作用中 (目前顯示且已選取)。", + "walkthrough.mac.press.f5": "按 {0}。或者,從主功能表中選擇 {1}。", + "walkthrough.mac.run": "執行", + "walkthrough.mac.start.debugging": "開始偵錯", + "walkthrough.mac.select.compiler": "選取 {0}。", + "walkthrough.mac.choose.build.active.file": "選擇 {0}。", + "walkthrough.windows.build.and.debug.active.file": "建置及偵錯使用中的檔案", + "walkthrough.mac.after.running": "第一次執行並偵錯您的 C++ 檔案之後,您會注意到專案 {0} 資料夾中有兩個新檔案: {1} 及 {2}。", + "walkthrough.mac.for.more.complex": "如需更複雜的組建和偵錯案例,您可以在 {0} 及 {1} 中自訂群組建工作和偵錯設定。例如,如果您在從命令列組建時,通常會將引數傳遞給編譯器,可以使用 {3} 屬性在 {2} 中指定這些引數。類似地,您可以定義要傳遞給程式的引數,以便在 {4} 進行偵錯。" +} \ No newline at end of file diff --git a/Extension/i18n/cht/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/cht/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..baaf94c0a9 --- /dev/null +++ b/Extension/i18n/cht/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "在 macOS 上安裝 C++ 編譯器", + "walkthough.mac.text1": "如果您執行 macOS 的 C++ 開發,建議您安裝 Clang 編譯器。您只需要在終端機視窗中執行下列命令,以安裝命令列開發人員工具:", + "walkthough.mac.text2": "然後,若要確認是否已安裝 Clang,請在終端視窗中執行下列命令。您應該會看到一個訊息,其中包含您目前使用之 Clang 版本的資訊。" +} \ No newline at end of file diff --git a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..c7c3375f7b --- /dev/null +++ b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "在 Windows 上安裝 C++ 編譯器", + "walkthrough.windows.text1": "如果您正在執行 Windows 的 C++ 開發,建議您安裝 Microsoft Visual C++ (MSVC) 編譯器工具組。如果您是以 Windows 的 Linux 為目標,請查看 {0}。或者,您也可以 {1}。", + "walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 與 Windows 子系統 Linux 版 (WSL) ", + "walkthrough.windows.link.title2": "使用 MinGW 在 Windows 安裝 GCC", + "walkthrough.windows.text2": "若要安裝 MSVC,請 {0}從 Visual Studio{1} 頁面下載。", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "下載", + "walkthrough.windows.text3": "在 Visual Studio 安裝程式中,檢查 {0} 工作負載,然後選取 {1}。", + "walkthrough.windows.build.tools2": "C++ 組建工具", + "walkthrough.windows.link.install": "安裝", + "walkthrough.windows.note1": "備註", + "walkthrough.windows.note1.text": "您可以使用 Visual Studio Build Tools 中的 C++ 工具組以及 Visual Studio Code 來編譯、組建及驗證任何 C++ 程式碼基底,只要您也擁有有效的 Visual Studio 授權 (社群版、專業版或企業版),且您正積極開發該 C++ 程式碼基底。", + "walkthrough.windows.open.command.prompt": "在 Windows 開始頁面功能表中鍵入「開發人員」,以開啟 {0}。", + "walkthrough.windows.command.prompt.name1": "VS 的開發人員命令提示", + "walkthrough.windows.check.install": "在 VS 的開發人員命令提示字元中輸入 {0},以檢查您的 MSVC 安裝。您應該會看到内附版本及基本使用說明的著作權訊息。", + "walkthrough.windows.note2": "備註", + "walkthrough.windows.note2.text": "若要從命令列或 VS Code 使用 MSVC,您必須從 {0} 執行。一般殼層,例如 {1}、{2} 或 Windows 命令提示字元,沒有設定必要的路徑環境變數集。", + "walkthrough.windows.command.prompt.name2": "VS 的開發人員命令提示" +} \ No newline at end of file diff --git a/Extension/i18n/cht/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/cht/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..6ff62aa028 --- /dev/null +++ b/Extension/i18n/cht/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "在 Linux 上安裝 C++ 編譯器", + "walkthrough.linux.text1": "如果您在執行 Linux 的 C++ 開發,建議您安裝 GCC 編譯器。安裝 GCC 很簡單,只須遵循下列三個步驟:", + "walkthrough.linux.text2": "從終端機視窗執行下列命令,以更新 Ubuntu 套件清單。過期的 Linux 發佈有時可能會干擾安裝新套件的嘗試。", + "walkthrough.linux.text3": "使用此命令安裝 GNU 編譯器工具和 GDB 偵錯工具:", + "walkthrough.linux.text4": "執行下列命令,驗證 GCC 是否已安裝。您應該看到版權訊息以及您所使用之 GCC 版本的相關資訊。" +} \ No newline at end of file diff --git a/Extension/i18n/csy/package.i18n.json b/Extension/i18n/csy/package.i18n.json index 4ed61a342e..7a10c47fe0 100644 --- a/Extension/i18n/csy/package.i18n.json +++ b/Extension/i18n/csy/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "Nakonfiguruje nástroj formátování textu.", "c_cpp.configuration.formatting.clangFormat.description": "K formátování kódu se použije clang-format.", "c_cpp.configuration.formatting.vcFormat.description": "K formátování kódu se použije nástroj formátování textu Visual C++.", - "c_cpp.configuration.formatting.Default.description": "K formátování kódu se použije clang-format.", + "c_cpp.configuration.formatting.Default.description": "Ve výchozím nastavení se k formátování kódu použije clang-format. Pokud se ale blíže k formátovanému kódu najde soubor .editorconfig s relevantními nastaveními a clang_format_style bude mít výchozí hodnotu file, použije se modul formátování Visual C++.", "c_cpp.configuration.formatting.Disabled.description": "Formátování kódu bude zakázané.", "c_cpp.configuration.vcFormat.indent.braces.description": "Složené závorky se odsazují mezerou zadanou v nastavení Editor: Velikost tabulátoru.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Určuje, k čemu bude relativní odsazení nových řádků.", @@ -118,7 +118,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Bloky kódu se budou vždy formátovat podle hodnot nastavení Formát VC: Nový řádek.", "c_cpp.configuration.clang_format_path.description": "Úplná cesta ke spustitelnému souboru clang-format. Pokud se nespecifikuje a clang-format je k dispozici na cestě prostředí, použije se. Pokud se na cestě prostředí nenajde, použije se kopie clang-format, která se dodává spolu s rozšířením.", "c_cpp.configuration.clang_format_style.description": "Styl kódování, v současné době se podporuje: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Pokud chcete načíst styl ze souboru .clang-format v aktuálním nebo nadřazeném adresáři, použijte možnost file. Pokud chcete zadat konkrétní parametry, použijte {klíč: hodnota, ...}. Například styl Visual Studio je podobný tomuto: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", - "c_cpp.configuration.clang_format_fallbackStyle.description": "Název předdefinovaného stylu, který se použije jako záloha v případě, že se vyvolá formát Clang se stylem file, ale nenajde se soubor .clang-format. Možné hodnoty jsou Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none, případně můžete použít {klíč: hodnota, ...} a nastavit konkrétní parametry. Například styl Visual Studio je podobný tomuto: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_fallbackStyle.description": "Název předdefinovaného stylu, který se použije jako záloha v případě, že se vyvolá clang-format se stylem file, ale nenajde se soubor .clang-format. Možné hodnoty jsou Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none, případně můžete použít {klíč: hodnota, ...} a nastavit konkrétní parametry. Například styl Visual Studio je podobný tomuto: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "Pokud se nastaví, přepíše chování řazení vložených souborů určené parametrem SortIncludes.", "c_cpp.configuration.intelliSenseEngine.description": "Určuje poskytovatele IntelliSense. Analyzátor značek nabízí přibližné výsledky, které neberou v potaz kontext. Možnost Výchozí nabízí výsledky, které kontext v potaz berou. Možnost Zakázáno vypne funkce služby jazyka C/C++.", "c_cpp.configuration.intelliSenseEngineFallback.description": "Určuje, jestli se modul IntelliSense automaticky přepne na analyzátor značek pro jednotky překladu, které obsahují chyby direktiv #include.", diff --git a/Extension/i18n/csy/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/csy/src/Debugger/configurationProvider.i18n.json index 2333d93579..63202e7dcf 100644 --- a/Extension/i18n/csy/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/csy/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "Výchozí konfigurace", "select.configuration": "Vybrat konfiguraci", + "debug.configuration.selection.canceled": "Výběr konfigurace ladění byl zrušen.", "cl.exe.not.available": "Sestavení a ladění {0} je k dispozici jen v případě, že se nástroj VS Code spustil z nástroje Developer Command Prompt pro VS.", "miDebuggerPath.not.available": "miDebuggerPath neexistuje: {0}. Byl nainstalován ladicí program?", "debugger.deprecated.config": "Klíč {0} je zastaralý. Použijte prosím místo něj {1}.", diff --git a/Extension/i18n/csy/src/LanguageServer/client.i18n.json b/Extension/i18n/csy/src/LanguageServer/client.i18n.json index e185182785..2f237abe25 100644 --- a/Extension/i18n/csy/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/csy/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "Nepovedlo se spustit jazykový server C/C++. Funkce IntelliSense se zakážou. Chyba: {0}", "check.permissions": "EPERM: Zkontrolujte oprávnění pro {0}.", "server.crashed2": "Jazykový server se 5krát za poslední 3 minuty chybově ukončil. Nebude se restartovat.", + "loggingLevel.changed": "{0} se změnila na: {1}", "provider.configure.folder": "{0} chce nakonfigurovat IntelliSense pro složku {1}.", "provider.configure.this.folder": "{0} chce nakonfigurovat IntelliSense pro tuto složku.", "allow.button": "Povolit", @@ -35,6 +36,5 @@ "configurations.received": "Přijaly se vlastní konfigurace:", "browse.configuration.received": "Přijala se vlastní konfigurace procházení: {0}", "no.compilers.found": "V systému se nenašly žádné kompilátory jazyka C++. Pro vaši platformu doporučujeme podle instrukcí v editoru nainstalovat {0}.", - "compilers.found": "V systému jsme našli následující kompilátory jazyka C++:", - "compilers.found.message": "V konfiguraci IntelliSense vašeho projektu můžete zadat, který kompilátor se má použít." + "compilers.found": "Ve vašem systému jsme našli následující kompilátory jazyka C++. Zvolte kompilátor v konfiguraci technologie IntelliSense vašeho projektu." } \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/settings.i18n.json b/Extension/i18n/csy/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..afc0f1c7fc --- /dev/null +++ b/Extension/i18n/csy/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "Formátování kódu používá nastavení z .editorconfig namísto .clang-format. Další informace najdete v dokumentaci k hodnotě Default v nastavení C_Cpp.formatting." +} \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/ui.i18n.json b/Extension/i18n/csy/src/LanguageServer/ui.i18n.json index 4bc7c7fc1d..0844b9b4c8 100644 --- a/Extension/i18n/csy/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/csy/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "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.tooltip": "Aktualizuje se IntelliSense.", + "select.command": "Vyberte příkaz…", "c.cpp.configuration.tooltip": "Konfigurace C/C++", - "updating.intellisense.tooltip": "Aktualizuje se IntelliSense...", - "discovering.files.tooltip": "Zjišťují se soubory...", + "c.cpp.references.statusbar": "Stav odkazů jazyka C/C++", + "c.cpp.intellisense.statusbar": "C/C++ IntelliSense Status", + "c.cpp.tagparser.statusbar": "Stav analyzátoru značky jazyka C/C++", + "discovering.files.tooltip": "Zjišťují se soubory.", + "running.analysis.tooltip": "Probíhá {0}", "select.a.configuration": "Vybrat konfiguraci...", "edit.configuration.ui": "Upravit konfigurace (uživatelské rozhraní)", "edit.configuration.json": "Upravit konfigurace (JSON)", @@ -17,7 +23,9 @@ "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...", - "select.parsing.command": "Vyberte příkaz parsování...", - "resume.parsing": "Pokračovat v parsování", - "pause.parsing": "Pozastavit parsování" + "resume.parsing": "Pokračovat v analýze pracovního prostoru", + "pause.parsing": "Pozastavit analýzu pracovního prostoru", + "cancel.analysis": "Zrušit {0}", + "resume.analysis": "Obnovit {0}", + "pause.analysis": "Pozastavit {0}" } \ No newline at end of file diff --git a/Extension/i18n/csy/src/main.i18n.json b/Extension/i18n/csy/src/main.i18n.json index 9ca396bdb1..ec892c56ff 100644 --- a/Extension/i18n/csy/src/main.i18n.json +++ b/Extension/i18n/csy/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "Tato verze rozšíření pro {0} {1} není kompatibilní s vaším operačním systémem. Stáhněte a nainstalujte si prosím verzi rozšíření {2}.", "extension.installation.failed": "Nepovedlo se úspěšně nainstalovat rozšíření jazyka C/C++. Aby rozšíření pro funkce jazyka C/C++ fungovalo správně, bude nutné ho opravit nebo přeinstalovat.", "remove.extension": "Pokusit se o opravu", - "jason.files.missing": "Nepovedlo se úspěšně nainstalovat rozšíření jazyka C/C++. Aby rozšíření pro funkce jazyka C/C++ fungovalo správně, bude nutné ho přeinstalovat.", + "json.files.missing": "Nepovedlo se úspěšně nainstalovat rozšíření jazyka C/C++. Aby rozšíření pro funkce jazyka C/C++ fungovalo správně, bude nutné ho přeinstalovat.", "initialization.failed": "Nepovedlo se nainstalovat rozšíření C/C++. Další informace najdete v okně výstupu.", "updating.dependencies": "Aktualizují se závislosti C/C++...", - "rename.failed.delete.manually": "CHYBA: Operace fs.rename neproběhla úspěšně s chybou {0}. Pokud chcete povolit ladění, odstraňte {1} ručně.", "failed.at.stage": "Chyba ve fázi: {0}", "failed.at.stage2": "Pokud pracujete v offline prostředí nebo se vám tato chyba zobrazuje opakovaně, zkuste si z {0} stáhnout verzi rozšíření, která už má všechny závislosti předem zahrnuté, a pak ji nainstalujte v nástroji VS Code pomocí příkazu Nainstalovat z VSIX.", "finished.installing.dependencies": "Dokončila se instalace závislostí.", diff --git a/Extension/i18n/csy/src/nativeStrings.i18n.json b/Extension/i18n/csy/src/nativeStrings.i18n.json index af97e515c7..a342531ecd 100644 --- a/Extension/i18n/csy/src/nativeStrings.i18n.json +++ b/Extension/i18n/csy/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "Zjišťují se soubory: {0}", "parsing_open_files": "Parsují se otevřené soubory.", "tag_parser_initializing": "Inicializuje se analyzátor značek.", - "parsing_paused": "Parsování se pozastavilo.", - "parsing_files": "Parsují se soubory: {0}", + "parsing_paused": "Analýza pracovního prostoru se pozastavila.", + "parsing_files": "Analýza souborů pracovního prostoru: {0}", "discovering_files_count_progress": "Zjišťují se soubory: {0}/{1} ({2} %)", - "parsing_files_progress": "Parsují se soubory: {0}/{1} ({2} %)", + "parsing_files_progress": "Analýza souborů pracovního prostoru: {0} / {1} ({2} %)", "cant_find_or_run_process": "Nedá se najít nebo spustit process_name.", "child_exec_failed": "Nepovedlo se spustit podřízený proces. {0}", "could_not_communicate_with_child_process": "Nepovedlo se komunikovat s podřízeným procesem!", diff --git a/Extension/i18n/csy/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/csy/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..a89a3654db --- /dev/null +++ b/Extension/i18n/csy/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Spuštění a ladění souboru C++ v systému Linux", + "walkthrough.linux.run.and.debug.your.file": "Pokud chcete spustit a ladit váš soubor C++ ve VS Code:", + "walkthrough.linux.instructions1": "Otevřete zdrojový soubor C++, který chcete spustit a ladit. Ujistěte se, že je tento soubor aktivní (aktuálně zobrazený a vybraný) v editoru.", + "walkthrough.linux.press.f5": "Stiskněte klávesu {0}. Nebo v hlavní nabídce zvolte {1}.", + "walkthrough.linux.run": "Spustit", + "walkthrough.linux.start.debugging": "Spustit ladění", + "walkthrough.linux.select.compiler": "Vyberte {0}.", + "walkthrough.linux.choose.build.active.file": "Zvolte {0}.", + "walkthrough.linux.build.and.debug.active.file": "Sestavit a ladit aktivní soubor", + "walkthrough.linux.after.running": "Po prvním spuštění a ladění vašeho souboru C++ si všimnete dvou nových souborů ve složce projektu {0}: {1} a {2}.", + "walkthrough.linux.for.more.complex": "Pro složitější scénáře sestavení a ladění můžete přizpůsobit úlohy sestavení a konfigurace ladění v {0} a {1}. Například, pokud obvykle předáváte argumenty kompilátoru při sestavování z příkazového řádku, můžete zadat tyto argumenty v {2} pomocí vlastnosti {3}. Podobně můžete definovat argumenty, které budou předány vašemu programu pro ladění v {4}." +} \ No newline at end of file diff --git a/Extension/i18n/csy/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/csy/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..4e5ce1dde9 --- /dev/null +++ b/Extension/i18n/csy/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Spusťte a nalaďte soubor C++ v systému macOS", + "walkthrough.mac.run.and.debug.your.file": "Pokud chcete spustit a ladit váš soubor C++ ve VS Code:", + "walkthrough.mac.instructions1": "Otevřete zdrojový soubor C++, který chcete spustit a ladit. Ujistěte se, že je tento soubor aktivní (aktuálně zobrazený a vybraný) v editoru.", + "walkthrough.mac.press.f5": "Stiskněte klávesu {0}. Nebo v hlavní nabídce zvolte {1}.", + "walkthrough.mac.run": "Spustit", + "walkthrough.mac.start.debugging": "Spustit ladění", + "walkthrough.mac.select.compiler": "Vyberte {0}.", + "walkthrough.mac.choose.build.active.file": "Zvolte {0}.", + "walkthrough.mac.build.and.debug.active.file": "Sestavit a ladit aktivní soubor", + "walkthrough.mac.after.running": "Po prvním spuštění a ladění vašeho souboru C++ si všimnete dvou nových souborů ve složce projektu {0}: {1} a {2}.", + "walkthrough.mac.for.more.complex": "Pro složitější scénáře sestavení a ladění můžete přizpůsobit úlohy sestavení a konfigurace ladění v {0} a {1}. Například, pokud obvykle předáváte argumenty kompilátoru při sestavování z příkazového řádku, můžete zadat tyto argumenty v {2} pomocí vlastnosti {3}. Podobně můžete definovat argumenty, které budou předány vašemu programu pro ladění v {4}." +} \ No newline at end of file diff --git a/Extension/i18n/csy/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/csy/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..70dbcbd2d4 --- /dev/null +++ b/Extension/i18n/csy/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Spuštění a ladění souboru C++ v systému Windows", + "walkthrough.mac.run.and.debug.your.file": "Pokud chcete spustit a ladit váš soubor C++ ve VS Code:", + "walkthrough.mac.instructions1": "Otevřete zdrojový soubor C++, který chcete spustit a ladit. Ujistěte se, že je tento soubor aktivní (aktuálně zobrazený a vybraný) v editoru.", + "walkthrough.mac.press.f5": "Stiskněte klávesu {0}. Nebo v hlavní nabídce zvolte {1}.", + "walkthrough.mac.run": "Spustit", + "walkthrough.mac.start.debugging": "Spustit ladění", + "walkthrough.mac.select.compiler": "Vyberte {0}.", + "walkthrough.mac.choose.build.active.file": "Zvolte {0}.", + "walkthrough.windows.build.and.debug.active.file": "Sestavit a ladit aktivní soubor", + "walkthrough.mac.after.running": "Po prvním spuštění a ladění vašeho souboru C++ si všimnete dvou nových souborů ve složce projektu {0}: {1} a {2}.", + "walkthrough.mac.for.more.complex": "Pro složitější scénáře sestavení a ladění můžete přizpůsobit úlohy sestavení a konfigurace ladění v {0} a {1}. Například, pokud obvykle předáváte argumenty kompilátoru při sestavování z příkazového řádku, můžete zadat tyto argumenty v {2} pomocí vlastnosti {3}. Podobně můžete definovat argumenty, které budou předány vašemu programu pro ladění v {4}." +} \ No newline at end of file diff --git a/Extension/i18n/csy/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/csy/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..ecec2b8eff --- /dev/null +++ b/Extension/i18n/csy/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "Instalace kompilátoru jazyka C++ na macOS", + "walkthough.mac.text1": "Pokud provádíte vývoj C++ pro macOS, doporučujeme nainstalovat kompilátor Clang. Aby bylo možné nainstalovat nástroje příkazového řádku pro vývojáře, stačí v okně terminálu spustit následující příkaz:", + "walkthough.mac.text2": "Pokud chcete ověřit, zda je Clang nainstalován, spusťte v okně terminálu následující příkaz. Měla by se zobrazit zpráva s informacemi o verzi Clang, kterou používáte." +} \ No newline at end of file diff --git a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..c90be02a56 --- /dev/null +++ b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Instalace kompilátoru jazyka C++ v systému Windows", + "walkthrough.windows.text1": "Pokud provádíte vývoj C++ pro Windows, doporučujeme nainstalovat sadu nástrojů kompilátoru Microsoft Visual C++ (MSVC). Pokud cílíte na Linux z Windows, podívejte se na {0}. Nebo můžete {1}.", + "walkthrough.windows.link.title1": "Použití C++ a subsystému Windows pro Linux (WSL) ve VS Code", + "walkthrough.windows.link.title2": "instalovat GCC na Windows pomocí MinGW", + "walkthrough.windows.text2": "Pokud chcete nainstalovat MSVC, stáhněte {0} ze stránky Visual Studio {1}.", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "Položky ke stažení", + "walkthrough.windows.text3": "V Instalační program pro Visual Studio zkontrolujte {0} úlohy a vyberte {1}.", + "walkthrough.windows.build.tools2": "C++ Build Tools", + "walkthrough.windows.link.install": "Nainstalovat", + "walkthrough.windows.note1": "Poznámka", + "walkthrough.windows.note1.text": "Můžete použít sadu nástrojů C++ z Visual Studio Build Tools spolu s Visual Studio Code ke kompilaci, sestavení a ověření jakékoli kódové báze C++, pokud máte také platnou licenci Visual Studio (buď Community, Pro nebo Enterprise), kterou aktivně používáte k vývoji kódové báze C++.", + "walkthrough.windows.open.command.prompt": "Otevřete {0} zadáním příkazu „developer“ do nabídky Start systému Windows.", + "walkthrough.windows.command.prompt.name1": "Developer Command Prompt for VS", + "walkthrough.windows.check.install": "MSVC instalaci zkontrolujte tak, že zadáte {0} do Developer Command Prompt for VS. Měla by se zobrazit zpráva o autorských právech v popisu verze a základního použití.", + "walkthrough.windows.note2": "Poznámka", + "walkthrough.windows.note2.text": "Pokud chcete použít MSVC z příkazového řádku nebo VS Code, musíte spouštět z {0}. Běžné prostředí, jako je {1}, {2} nebo příkazový řádek Windows, nemá nastavenou nezbytnou proměnnou prostředí cesty.", + "walkthrough.windows.command.prompt.name2": "Developer Command Prompt for VS" +} \ No newline at end of file diff --git a/Extension/i18n/csy/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/csy/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..b6dad74ca0 --- /dev/null +++ b/Extension/i18n/csy/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Instalace kompilátoru jazyka C++ na Linuxu", + "walkthrough.linux.text1": "Pokud provádíte vývoj v jazyce C++ pro systém Linux, doporučujeme nainstalovat kompilátor GCC. Instalace GCC je jednoduchá, postupujte podle těchto tří kroků:", + "walkthrough.linux.text2": "Pokud chcete aktualizovat seznamy balíčků Ubuntu, spusťte v okně terminálu následující příkaz. Zastaralá distribuce operačního systému Linux může někdy kolidovat s pokusy o instalaci nových balíčků.", + "walkthrough.linux.text3": "Nainstalujte nástroje kompilátoru GNU a ladicího programu GDB s tímto příkazem:", + "walkthrough.linux.text4": "Spuštěním následujícího příkazu ověřte, zda je nainstalován GCC. Měli byste vidět zprávu o autorských právech a informace o verzi GCC, kterou používáte." +} \ No newline at end of file diff --git a/Extension/i18n/deu/package.i18n.json b/Extension/i18n/deu/package.i18n.json index c47ee08ef6..1bd5713f1f 100644 --- a/Extension/i18n/deu/package.i18n.json +++ b/Extension/i18n/deu/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "Konfiguriert das Formatierungsmodul.", "c_cpp.configuration.formatting.clangFormat.description": "Zum Formatieren von Code wird \"clang-format\" verwendet.", "c_cpp.configuration.formatting.vcFormat.description": "Das Visual C++-Formatierungsmodul wird zum Formatieren von Code verwendet.", - "c_cpp.configuration.formatting.Default.description": "Zum Formatieren von Code wird \"clang-format\" verwendet.", + "c_cpp.configuration.formatting.Default.description": "Standardmäßig wird „clang-format“ zum Formatieren des Codes verwendet. Das Visual C++-Formatierungsmodul wird jedoch verwendet, wenn eine „.editorconfig“-Datei mit relevanten Einstellungen näher am zu formatierenden Code gefunden wird und „clang_format_style“ folgender Standardwert ist: „file“.", "c_cpp.configuration.formatting.Disabled.description": "Die Codeformatierung wird deaktiviert.", "c_cpp.configuration.vcFormat.indent.braces.description": "Geschweifte Klammern werden um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert eingerückt.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Legt den Bezugspunkt für den neuen Zeileneinzug fest.", @@ -116,9 +116,9 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "Ein vollständiger Codeblock, der in einer Zeile eingegeben wird, wird unabhängig von den Einstellungen für neue Zeilen im VC-Format in einer Zeile beibehalten.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "Jeglicher Code, in dem die öffnende und schließende geschweifte Klammer in einer Zeile eingegeben wird, wird unabhängig von den Einstellungen für neue Zeilen im VC-Format in einer Zeile beibehalten.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Codeblöcke werden immer basierend auf den Einstellungen für neue Zeilen im VC-Format formatiert.", - "c_cpp.configuration.clang_format_path.description": "Der vollständige Pfad der ausführbaren clang-format-Datei. Wenn dieser nicht angegeben wird und clang-format im Umgebungspfad verfügbar ist, wird die Datei im Umgebungspfad verwendet. Ist sie nicht im Umgebungspfad verfügbar, wird eine im Erweiterungspaket enthaltene Kopie von clang-format verwendet.", + "c_cpp.configuration.clang_format_path.description": "Der vollständige Pfad der ausführbaren clang-format. Wenn dieser nicht angegeben wird und clang-format im Umgebungspfad verfügbar ist, wird die Datei im Umgebungspfad verwendet. Ist sie nicht im Umgebungspfad verfügbar, wird eine im Erweiterungspaket enthaltene Kopie von clang-format verwendet.", "c_cpp.configuration.clang_format_style.description": "Formatvorlage für Code. Unterstützt derzeit Folgendes: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Verwenden Sie \"file\", um die Formatvorlage aus einer .clang-format-Datei im aktuellen oder übergeordneten Verzeichnis zu laden. Verwenden Sie {Schlüssel: Wert, ...}, um bestimmte Parameter festzulegen. Die Formatvorlage \"Visual Studio\" etwa sieht folgendermaßen aus: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", - "c_cpp.configuration.clang_format_fallbackStyle.description": "Name des vordefinierten Stils, der als Fallback verwendet wird, falls das clang-Format mit der Formatvorlage \"file\" aufgerufen wird, aber die .clang-format-Datei nicht gefunden wird. Mögliche Werte sind \"Visual Studio\", \"LLVM\", \"Google\", \"Chromium\", \"Mozilla\", \"WebKit\" oder \"none\", oder verwenden Sie {key: value, ...}, um bestimmte Parameter festzulegen. Die Formatvorlage \"Visual Studio\" z. B. sieht etwa folgendermaßen aus: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_fallbackStyle.description": "Name des vordefinierten Stils, der als Fallback verwendet wird, falls das clang-format mit der Formatvorlage \"file\" aufgerufen wird, aber die .clang-format-Datei nicht gefunden wird. Mögliche Werte sind \"Visual Studio\", \"LLVM\", \"Google\", \"Chromium\", \"Mozilla\", \"WebKit\" oder \"none\", oder verwenden Sie {key: value, ...}, um bestimmte Parameter festzulegen. Die Formatvorlage \"Visual Studio\" z. B. sieht etwa folgendermaßen aus: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "Wenn diese Option festgelegt ist, wird das durch den SortIncludes-Parameter festgelegte Sortierverhalten für Includes überschrieben.", "c_cpp.configuration.intelliSenseEngine.description": "Hiermit wird der IntelliSense-Anbieter gesteuert. \"Tagparser\" erzielt \"unscharfe\" Ergebnisse, die nicht kontextbezogen sind. \"Standard\" erzielt kontextabhängige Ergebnisse. \"Deaktiviert\" deaktiviert C/C++-Sprachdienstfeatures.", "c_cpp.configuration.intelliSenseEngineFallback.description": "Hiermit wird gesteuert, ob die IntelliSense-Engine bei Übersetzungseinheiten, die #include-Fehler enthalten, automatisch zum Tagparser wechselt.", diff --git a/Extension/i18n/deu/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/deu/src/Debugger/configurationProvider.i18n.json index e951f41c14..25bdc1409a 100644 --- a/Extension/i18n/deu/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/deu/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "Standardkonfiguration", "select.configuration": "Konfiguration auswählen", + "debug.configuration.selection.canceled": "Auswahl der Debugkonfiguration abgebrochen", "cl.exe.not.available": "{0}-Build und -Debuggen können nur verwendet werden, wenn VS Code von der Developer-Eingabeaufforderung für VS ausgeführt wird.", "miDebuggerPath.not.available": "\"miDebuggerPath\" ist nicht vorhanden: {0}. Wurde ein Debugger installiert?", "debugger.deprecated.config": "Der Schlüssel \"{0}\" ist veraltet. Verwenden Sie stattdessen \"{1}\".", diff --git a/Extension/i18n/deu/src/LanguageServer/client.i18n.json b/Extension/i18n/deu/src/LanguageServer/client.i18n.json index 9493fb14ff..9a3b88d5c5 100644 --- a/Extension/i18n/deu/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/deu/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "Der C/C++-Sprachserver kann nicht gestartet werden. IntelliSense-Features werden deaktiviert. Fehler: {0}", "check.permissions": "EPERM: Berechtigungen für \"{0}\" überprüfen", "server.crashed2": "Der Sprachserver ist in den letzten 3 Minuten 5-mal abgestürzt. Er wird nicht neu gestartet.", + "loggingLevel.changed": "\"{0}\" wurde geändert in \"{1}\"", "provider.configure.folder": "{0} möchte IntelliSense für den Ordner \"{1}\" konfigurieren.", "provider.configure.this.folder": "{0} möchte IntelliSense für diesen Ordner konfigurieren.", "allow.button": "Zulassen", @@ -35,6 +36,5 @@ "configurations.received": "Benutzerdefinierte Konfigurationen empfangen:", "browse.configuration.received": "Benutzerdefinierte Suchkonfiguration empfangen: {0}", "no.compilers.found": "Es wurden keine C++ Compiler auf dem System gefunden. Für Ihre Plattform empfehlen wir Ihnen die Installation von {0} mithilfe der Anweisungen im Editor.", - "compilers.found": "Wir haben die folgenden C++ Compiler auf dem System gefunden:", - "compilers.found.message": "Sie können angeben, welcher Compiler in der IntelliSense-Konfiguration Ihres Projekts verwendet werden soll." + "compilers.found": "Wir haben die folgenden C++-Compiler auf Ihrem System gefunden. Wählen Sie einen Compiler in der IntelliSense-Konfiguration Ihres Projekts aus." } \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/settings.i18n.json b/Extension/i18n/deu/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..576615c827 --- /dev/null +++ b/Extension/i18n/deu/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "Die Codeformatierung verwendet die Einstellungen von „.editorconfig“ anstelle von „.clang-format“. Weitere Informationen finden Sie in der Dokumentation zum „Default“-Wert der Einstellung „C_Cpp.formatting“." +} \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/ui.i18n.json b/Extension/i18n/deu/src/LanguageServer/ui.i18n.json index c26db66612..7fdbc6ffd5 100644 --- a/Extension/i18n/deu/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/deu/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "Offene Dateien werden analysiert", "click.to.preview": "Klicken Sie, um eine Vorschau der Ergebnisse anzuzeigen.", + "updating.intellisense.tooltip": "IntelliSense wird aktualisiert", + "select.command": "Befehl auswählen...", "c.cpp.configuration.tooltip": "C/C++-Konfiguration", - "updating.intellisense.tooltip": "IntelliSense wird aktualisiert...", - "discovering.files.tooltip": "Dateien werden ermittelt...", + "c.cpp.references.statusbar": "C/C++-Verweisstatus", + "c.cpp.intellisense.statusbar": "Status von C/C++-IntelliSense", + "c.cpp.tagparser.statusbar": "Status des C/C++-Tagparsers", + "discovering.files.tooltip": "Dateien werden ermittelt", + "running.analysis.tooltip": "\"{0}\" wird ausgeführt", "select.a.configuration": "Konfiguration auswählen...", "edit.configuration.ui": "Konfigurationen bearbeiten (Benutzeroberfläche)", "edit.configuration.json": "Konfigurationen bearbeiten (JSON)", @@ -17,7 +23,9 @@ "disable.configuration.provider": "Deaktivieren Sie den aktiven Konfigurationsanbieter, falls zutreffend.", "select.compile.commands": "compile_commands.json-Datei auswählen...", "select.workspace": "Arbeitsbereichsordner auswählen...", - "select.parsing.command": "Analysebefehl auswählen...", - "resume.parsing": "Analyse fortsetzen", - "pause.parsing": "Analyse anhalten" + "resume.parsing": "Arbeitsbereichsanalyse fortsetzen", + "pause.parsing": "Arbeitsbereichsanalyse anhalten", + "cancel.analysis": "\"{0}\" abbrechen", + "resume.analysis": "\"{0}\" fortsetzen", + "pause.analysis": "\"{0}\" anhalten" } \ No newline at end of file diff --git a/Extension/i18n/deu/src/main.i18n.json b/Extension/i18n/deu/src/main.i18n.json index 5864c7e7f7..6d0e9729bb 100644 --- a/Extension/i18n/deu/src/main.i18n.json +++ b/Extension/i18n/deu/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "Diese Version {0} {1} der Erweiterung ist nicht mit Ihrem Betriebssystem kompatibel. Laden Sie Version \"{2}\" der Erweiterung herunter, und installieren Sie sie.", "extension.installation.failed": "Die C/C++-Erweiterung konnte nicht erfolgreich installiert werden. Sie müssen die Erweiterung für C/C++-Sprachfeatures reparieren oder neu installieren, damit die Erweiterung ordnungsgemäß funktioniert.", "remove.extension": "Reparaturversuch", - "jason.files.missing": "Die C/C++-Erweiterung konnte nicht erfolgreich installiert werden. Sie müssen die Erweiterung für C/C++-Sprachfeatures neu installieren, damit die Erweiterung ordnungsgemäß funktioniert.", + "json.files.missing": "Die C/C++-Erweiterung konnte nicht erfolgreich installiert werden. Sie müssen die Erweiterung für C/C++-Sprachfeatures neu installieren, damit die Erweiterung ordnungsgemäß funktioniert.", "initialization.failed": "Fehler bei der Installation der C/C++-Erweiterung. Weitere Informationen finden Sie im Ausgabefenster.", "updating.dependencies": "C/C++-Abhängigkeiten werden aktualisiert...", - "rename.failed.delete.manually": "FEHLER bei \"fs.rename\": {0}. Löschen Sie \"{1}\" manuell, um das Debugging zu aktivieren.", "failed.at.stage": "Fehler in Stufe: {0}", "failed.at.stage2": "Wenn Sie in einer Offlineumgebung arbeiten oder dieser Fehler wiederholt angezeigt wird, laden Sie eine Version der Erweiterung herunter, in die alle Abhängigkeiten von {0} bereits integriert sind. Verwenden Sie anschließend den Befehl \"Aus VSIX installieren\" in VS Code, um die Version zu installieren.", "finished.installing.dependencies": "Installation der Abhängigkeiten abgeschlossen", diff --git a/Extension/i18n/deu/src/nativeStrings.i18n.json b/Extension/i18n/deu/src/nativeStrings.i18n.json index 64e2716e10..516040bc1e 100644 --- a/Extension/i18n/deu/src/nativeStrings.i18n.json +++ b/Extension/i18n/deu/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "Dateien werden ermittelt: {0}", "parsing_open_files": "Offene Dateien werden analysiert", "tag_parser_initializing": "Tagparser wird initialisiert", - "parsing_paused": "Analyse angehalten", - "parsing_files": "Dateien werden analysiert: {0}", + "parsing_paused": "Arbeitsbereichsanalyse angehalten", + "parsing_files": "Arbeitsbereichsdateien werden analysiert: {0}", "discovering_files_count_progress": "Dateien werden ermittelt: {0} / {1} ({2} %)", - "parsing_files_progress": "Dateien werden analysiert: {0} / {1} ({2} %)", + "parsing_files_progress": "Arbeitsbereichsdateien werden analysiert: {0} / {1} ({2} %)", "cant_find_or_run_process": "process_name kann nicht gefunden oder ausgeführt werden.", "child_exec_failed": "Fehler bei Ausführung von untergeordnetem Prozess: {0}", "could_not_communicate_with_child_process": "Mit dem untergeordneten Prozess war keine Kommunikation möglich.", diff --git a/Extension/i18n/deu/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/deu/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..1dc2adc603 --- /dev/null +++ b/Extension/i18n/deu/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "C++-Datei auf Linux ausführen und debuggen", + "walkthrough.linux.run.and.debug.your.file": "Zum Ausführen und Debuggen Ihrer C++-Datei in VS-Code tun Sie Folgendes:", + "walkthrough.linux.instructions1": "Öffnen Sie die C++-Quelldatei, die Sie ausführen und debuggen möchten. Stellen Sie sicher, dass diese Datei im Editor aktiv ist, d. h. aktuell angezeigt wird und ausgewählt ist.", + "walkthrough.linux.press.f5": "Drücken Sie {0}, oder wählen Sie im Hauptmenü {1} aus.", + "walkthrough.linux.run": "Ausführen", + "walkthrough.linux.start.debugging": "Starten Sie das Debuggen.", + "walkthrough.linux.select.compiler": "Wählen Sie {0}.", + "walkthrough.linux.choose.build.active.file": "Wählen Sie {0}.", + "walkthrough.linux.build.and.debug.active.file": "Aktive Datei erstellen und debuggen", + "walkthrough.linux.after.running": "Nachdem Sie die C++-Datei zum ersten Mal ausgeführt und debuggt haben, werden Sie zwei neue Dateien im {0}-Ordner Ihres Projekts sehen: {1} und {2}.", + "walkthrough.linux.for.more.complex": "Für komplexere Build-und Debugging-Szenarios können Sie Ihre Build-Tasks- und Debugkonfigurationen in {0} und {1} anpassen. Wenn Sie beispielsweise beim Erstellen mithilfe der Befehlszeile Argumente an den Compiler übergeben, können Sie diese Argumente in {2} mithilfe der {3}-Eigenschaft angeben. Ebenso können Sie Argumente definieren, die zum Debuggen in {4} an Ihr Programm übergeben werden." +} \ No newline at end of file diff --git a/Extension/i18n/deu/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/deu/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..b0ca5f7e8a --- /dev/null +++ b/Extension/i18n/deu/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "C++-Datei auf macOS ausführen und debuggen", + "walkthrough.mac.run.and.debug.your.file": "Zum Ausführen und Debuggen Ihrer C++-Datei in VS-Code tun Sie Folgendes:", + "walkthrough.mac.instructions1": "Öffnen Sie die C++-Quelldatei, die Sie ausführen und debuggen möchten. Stellen Sie sicher, dass diese Datei im Editor aktiv ist, d. h. aktuell angezeigt wird und ausgewählt ist.", + "walkthrough.mac.press.f5": "Drücken Sie {0}, oder wählen Sie im Hauptmenü {1} aus.", + "walkthrough.mac.run": "Ausführen", + "walkthrough.mac.start.debugging": "Starten Sie das Debuggen.", + "walkthrough.mac.select.compiler": "Wählen Sie {0}.", + "walkthrough.mac.choose.build.active.file": "Wählen Sie {0}.", + "walkthrough.mac.build.and.debug.active.file": "Aktive Datei erstellen und debuggen", + "walkthrough.mac.after.running": "Nachdem Sie die C++-Datei zum ersten Mal ausgeführt und debuggt haben, werden Sie zwei neue Dateien im {0}-Ordner Ihres Projekts sehen: {1} und {2}.", + "walkthrough.mac.for.more.complex": "Für komplexere Build-und Debugging-Szenarios können Sie Ihre Build-Tasks- und Debugkonfigurationen in {0} und {1} anpassen. Wenn Sie beispielsweise beim Erstellen mithilfe der Befehlszeile Argumente an den Compiler übergeben, können Sie diese Argumente in {2} mithilfe der {3}-Eigenschaft angeben. Ebenso können Sie Argumente definieren, die zum Debuggen in {4} an Ihr Programm übergeben werden." +} \ No newline at end of file diff --git a/Extension/i18n/deu/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/deu/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..eeaad01d21 --- /dev/null +++ b/Extension/i18n/deu/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "C++-Datei auf Windows ausführen und debuggen", + "walkthrough.mac.run.and.debug.your.file": "Zum Ausführen und Debuggen Ihrer C++-Datei in VS-Code tun Sie Folgendes:", + "walkthrough.mac.instructions1": "Öffnen Sie die C++-Quelldatei, die Sie ausführen und debuggen möchten. Stellen Sie sicher, dass diese Datei im Editor aktiv ist, d. h. aktuell angezeigt wird und ausgewählt ist.", + "walkthrough.mac.press.f5": "Drücken Sie {0}, oder wählen Sie im Hauptmenü {1} aus.", + "walkthrough.mac.run": "Ausführen", + "walkthrough.mac.start.debugging": "Starten Sie das Debuggen.", + "walkthrough.mac.select.compiler": "Wählen Sie {0}.", + "walkthrough.mac.choose.build.active.file": "Wählen Sie {0}.", + "walkthrough.windows.build.and.debug.active.file": "Aktive Datei erstellen und debuggen", + "walkthrough.mac.after.running": "Nachdem Sie die C++-Datei zum ersten Mal ausgeführt und debuggt haben, werden Sie zwei neue Dateien im {0}-Ordner Ihres Projekts sehen: {1} und {2}.", + "walkthrough.mac.for.more.complex": "Für komplexere Build-und Debugging-Szenarios können Sie Ihre Build-Tasks- und Debugkonfigurationen in {0} und {1} anpassen. Wenn Sie beispielsweise beim Erstellen mithilfe der Befehlszeile Argumente an den Compiler übergeben, können Sie diese Argumente in {2} mithilfe der {3}-Eigenschaft angeben. Ebenso können Sie Argumente definieren, die zum Debuggen in {4} an Ihr Programm übergeben werden." +} \ No newline at end of file diff --git a/Extension/i18n/deu/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/deu/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..81e90b0845 --- /dev/null +++ b/Extension/i18n/deu/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "C++-Compiler unter macOS installieren", + "walkthough.mac.text1": "Wenn Sie mithilfe von C++ unter macOS entwickeln, empfehlen wir die Installation des Clang-Compilers. Sie müssen nur den folgenden Befehl in einem Terminalfenster ausführen, um die Befehlszeilen-Entwicklertools zu installieren:", + "walkthough.mac.text2": "Führen Sie den folgenden Befehl in einem Terminalfenster aus, um zu überprüfen, ob Clang installiert ist. Es sollte eine Meldung mit Informationen zur verwendeten Clang-Version angezeigt werden." +} \ No newline at end of file diff --git a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..361f8d81e0 --- /dev/null +++ b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "C++-Compiler unter Windows installieren", + "walkthrough.windows.text1": "Wenn Sie mithilfe von C++ unter Windows entwickeln, empfehlen wir die Installation des Microsoft Visual C++-Compiler-Toolsets (MSVC). Wenn Sie Linux aus Windows verwenden, lesen Sie {0}. Oder Sie können {1}.", + "walkthrough.windows.link.title1": "Verwenden von C++ und Windows-Subsystem für Linux (WSL) in VS Code", + "walkthrough.windows.link.title2": "Installieren Sie GCC unter Windows mit MinGW.", + "walkthrough.windows.text2": "Um MSVC zu installieren, laden Sie {0} von der Visual Studio {1}-Seite herunter. ", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "Downloads", + "walkthrough.windows.text3": "Überprüfen Sie im Visual Studio-Installer den {0} Workload, und wählen Sie {1} aus.", + "walkthrough.windows.build.tools2": "C++-Buildtools", + "walkthrough.windows.link.install": "Installieren", + "walkthrough.windows.note1": "Hinweis", + "walkthrough.windows.note1.text": "Sie können das C++-Toolset aus Visual Studio Build Tools zusammen mit Visual Studio Code zum Kompilieren, Erstellen und Überprüfen von C++-Codebasis verwenden, sofern Sie auch über eine gültige Visual Studio-Lizenz (Community, Pro oder Enterprise) verfügen, die Sie aktiv zum Entwickeln dieser C++-Codebasis verwenden.", + "walkthrough.windows.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü \"Developer\" eingeben.", + "walkthrough.windows.command.prompt.name1": "Developer-Eingabeaufforderung für VS", + "walkthrough.windows.check.install": "Überprüfen Sie die MSVC-Installation, indem Sie {0} in die Developer-Eingabeaufforderung für VS eingeben. Es sollten ein Copyrighthinweis mit der Version und der grundlegenden Nutzungsbeschreibung angezeigt werden.", + "walkthrough.windows.note2": "Hinweis", + "walkthrough.windows.note2.text": "Um MSVC mithilfe der Befehlszeile oder mit VS Code zu verwenden, müssen Sie von einem {0} aus ausführen. Für eine normale Shell wie {1}, {2} oder die Windows-Eingabeaufforderung sind die erforderlichen PATH-Umgebungsvariablen nicht festgelegt.", + "walkthrough.windows.command.prompt.name2": "Developer-Eingabeaufforderung für VS" +} \ No newline at end of file diff --git a/Extension/i18n/deu/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/deu/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..fe89ffc160 --- /dev/null +++ b/Extension/i18n/deu/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "C++-Compiler unter Linux installieren", + "walkthrough.linux.text1": "Wenn Sie mithilfe von C++ unter Linux entwickeln, empfehlen wir die Installation des GCC-Compilers. Die Installation von GCC ist einfach, führen Sie nur die folgenden drei Schritte aus:", + "walkthrough.linux.text2": "Führen Sie den folgenden Befehl aus dem Terminalfenster aus, um die Ubuntu-Paketlisten zu aktualisieren. Eine veraltete Linux-Distribution kann manchmal die Installation neuer Pakete stören.", + "walkthrough.linux.text3": "Installieren Sie die GNU-Compiler-Tools und den GDB-Debugger mit folgendem Befehl:", + "walkthrough.linux.text4": "Überprüfen Sie, ob GCC installiert ist, indem Sie den folgenden Befehl ausführen. Es sollten ein Copyrighthinweis sowie Informationen zur verwendeten GCC-Version angezeigt werden." +} \ No newline at end of file diff --git a/Extension/i18n/esn/package.i18n.json b/Extension/i18n/esn/package.i18n.json index 5078619b53..d3ad9452d1 100644 --- a/Extension/i18n/esn/package.i18n.json +++ b/Extension/i18n/esn/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "Configura el motor de formato", "c_cpp.configuration.formatting.clangFormat.description": "El archivo clang-format se usará para formatear el código.", "c_cpp.configuration.formatting.vcFormat.description": "El motor de formato de Visual C++ se usará para formatear el código.", - "c_cpp.configuration.formatting.Default.description": "El archivo clang-format se usará para formatear el código.", + "c_cpp.configuration.formatting.Default.description": "De forma predeterminada, se utilizará clang-format para dar formato al código. Sin embargo, se utilizará el motor de formato de Visual C++ si un archivo .editorconfig con la configuración relevante se encuentra más cerca del código que se va a formatear y clang_format_style es el valor predeterminado: \"file\".", "c_cpp.configuration.formatting.Disabled.description": "El formato del código se deshabilitará.", "c_cpp.configuration.vcFormat.indent.braces.description": "Se aplica a las llaves la sangría especificada en la configuración de Editor: Tamaño de tabulación.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Determina en relación con qué se aplica la sangría de línea nueva.", @@ -116,7 +116,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "Un bloque de código completo que se escribe en una línea se mantiene en una sola línea, independientemente de cualquiera de los valores de formato de VC: Nueva línea.", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "Cualquier código en el que la llave de apertura y de cierre se escriba en una línea se mantiene en una sola línea, independientemente de cualquiera de los valores de formato de VC: Nueva línea", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Siempre se da formato a los bloques de código de acuerdo con los valores de formato de VC: Nueva línea", - "c_cpp.configuration.clang_format_path.description": "Ruta de acceso completa del archivo ejecutable de formato clang. Si no se especifica y el formato clang está disponible en la ruta de acceso del entorno, se usa este. Si no se encuentra en la ruta de acceso del entorno, se usará una copia del formato clang incluida con la extensión.", + "c_cpp.configuration.clang_format_path.description": "Ruta de acceso completa del archivo ejecutable de clang-format. Si no se especifica y el clang-format está disponible en la ruta de acceso del entorno, se usa este. Si no se encuentra en la ruta de acceso del entorno, se usará una copia del clang-format incluida con la extensión.", "c_cpp.configuration.clang_format_style.description": "Estilo de codificación. Actualmente, admite: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Use \"file\" para cargar el estilo de un archivo .clang-format en el directorio actual o primario. Use {clave: valor,...} para establecer parámetros específicos. Por ejemplo, el estilo de \"Visual Studio\" es similar a: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_fallbackStyle.description": "Nombre del estilo predefinido que se usa como elemento Fallback en el caso de que se invoque a clang-format con el estilo \"file\" y no se encuentre el archivo .clang-format. Los valores posibles son Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, ninguno o usar {clave: valor,...} para establecer parámetros específicos. Por ejemplo, el estilo \"Visual Studio\" es similar a: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "Si se establece, invalida el comportamiento de ordenación de instrucciones include que determina el parámetro SortIncludes.", @@ -171,7 +171,7 @@ "c_cpp.configuration.addNodeAddonIncludePaths.description": "Agregue rutas de acceso de inclusión de nan y node-addon-api cuando sean dependencias.", "c_cpp.configuration.renameRequiresIdentifier.description": "Si es true, \"Cambiar el nombre del símbolo\" requerirá un identificador de C/C++ válido.", "c_cpp.configuration.autocompleteAddParentheses.description": "Si es true, la opción de autocompletar agregará \"(\" de forma automática después de las llamadas a funciones, en cuyo caso puede que también se agregue \")\", en función del valor de la configuración de \"editor.autoClosingBrackets\".", - "c_cpp.configuration.filesExclude.description": "Configure patrones globales para excluir carpetas (y archivos si se cambia \"C_Cpp. exclusionPolicy\"). Estos son específicos de la extensión de C/C++ y se agregan a \"files. Exclude\", pero a diferencia de \"files. Exclude\" no se quitan de la vista del explorador. Más información acerca de los patrones de globales [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", + "c_cpp.configuration.filesExclude.description": "Configure patrones globales para excluir carpetas (y archivos si se cambia \"C_Cpp.exclusionPolicy\"). Estos son específicos de la extensión de C/C++ y se agregan a \"files.exclude\", pero a diferencia de \"files.exclude\" no se quitan de la vista del explorador. Más información acerca de los patrones de globales [aquí](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", "c_cpp.configuration.filesExcludeBoolean.description": "El patrón global con el que se harán coincidir las rutas de acceso de los archivos. Establézcalo en true o false para habilitarlo o deshabilitarlo.", "c_cpp.configuration.filesExcludeWhen.description": "Comprobación adicional de los elementos del mismo nivel de un archivo coincidente. Use $(nombreBase) como variable para el nombre de archivo que coincide.", "c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "Si es true, la sustitución de comandos del shell del depurador usará la marca de comilla simple (') obsoleta.", diff --git a/Extension/i18n/esn/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/esn/src/Debugger/configurationProvider.i18n.json index 46b712f3f9..9b277df087 100644 --- a/Extension/i18n/esn/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/esn/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "Configuración predeterminada", "select.configuration": "Seleccionar una configuración", + "debug.configuration.selection.canceled": "Se canceló la selección de configuración de depuración", "cl.exe.not.available": "La compilación y depuración de {0} solo se puede usar cuando VS Code se ejecuta desde el Símbolo del sistema para desarrolladores de Visual Studio.", "miDebuggerPath.not.available": "El valor miDebuggerPath no existe: {0}. ¿Se ha instalado algún depurador?", "debugger.deprecated.config": "La clave \"{0}\" está en desuso. En su lugar, use \"{1}\".", diff --git a/Extension/i18n/esn/src/LanguageServer/client.i18n.json b/Extension/i18n/esn/src/LanguageServer/client.i18n.json index b686d0451b..6523d25a0e 100644 --- a/Extension/i18n/esn/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/esn/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "No se puede iniciar el servidor de lenguaje de C/C++. Las características de IntelliSense se deshabilitarán. Error: {0}", "check.permissions": "EPERM: Compruebe los permisos de \"{0}\"", "server.crashed2": "El servidor de lenguaje se ha bloqueado cinco veces en los tres últimos minutos. No se reiniciará.", + "loggingLevel.changed": "{0} se cambió a: {1}", "provider.configure.folder": "{0} desea configurar IntelliSense para la carpeta \"{1}\".", "provider.configure.this.folder": "{0} desea configurar IntelliSense para esta carpeta.", "allow.button": "Permitir", @@ -35,6 +36,5 @@ "configurations.received": "Configuraciones personalizadas recibidas:", "browse.configuration.received": "Configuración de exploración personalizada recibida: {0}", "no.compilers.found": "No se encontró ningún compilador de C++ en el sistema. Para la plataforma, se recomienda instalar {0} mediante las instrucciones del editor.", - "compilers.found": "Se encontraron los siguientes compiladores de C++ en el sistema:", - "compilers.found.message": "Puede especificar el compilador que se va a usar en la configuración de IntelliSense del proyecto." + "compilers.found": "Hemos encontrado los siguientes compiladores de C++ en el sistema. Elija un compilador en la configuración de IntelliSense del proyecto." } \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/settings.i18n.json b/Extension/i18n/esn/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..cc5a9101b4 --- /dev/null +++ b/Extension/i18n/esn/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "El formato de código está usando la configuración de .editorconfig en lugar de .clang-format. Para obtener más información, consulte la documentación para el valor \"default\" de la configuración \"C_Cpp.formatting\"." +} \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/ui.i18n.json b/Extension/i18n/esn/src/LanguageServer/ui.i18n.json index 7efe86c524..fc3486ad50 100644 --- a/Extension/i18n/esn/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/esn/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "Analizando archivos abiertos", "click.to.preview": "hacer clic para obtener una vista previa de los resultados", - "c.cpp.configuration.tooltip": "Configuración de C/C++", "updating.intellisense.tooltip": "Actualizando IntelliSense...", - "discovering.files.tooltip": "Detectando archivos...", + "select.command": "Seleccione un comando...", + "c.cpp.configuration.tooltip": "Configuración de C/C++", + "c.cpp.references.statusbar": "Estado de referencias de C/C++", + "c.cpp.intellisense.statusbar": "Estado de IntelliSense de C/C++", + "c.cpp.tagparser.statusbar": "Estado del analizador de etiquetas de C/C++", + "discovering.files.tooltip": "Detectando archivos", + "running.analysis.tooltip": "Ejecutando {0}", "select.a.configuration": "Seleccione una configuración...", "edit.configuration.ui": "Editar configuraciones (interfaz de usuario)", "edit.configuration.json": "Editar configuraciones (JSON)", @@ -17,7 +23,9 @@ "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...", - "select.parsing.command": "Seleccione un comando de análisis...", - "resume.parsing": "Reanudar análisis", - "pause.parsing": "Pausar análisis" + "resume.parsing": "Reanudar el análisis de área de trabajo", + "pause.parsing": "Pausar el análisis de área de trabajo", + "cancel.analysis": "Cancelar {0}", + "resume.analysis": "Reanudación de {0}", + "pause.analysis": "Pausa de {0}" } \ No newline at end of file diff --git a/Extension/i18n/esn/src/main.i18n.json b/Extension/i18n/esn/src/main.i18n.json index 616c31f95e..d32b52c25a 100644 --- a/Extension/i18n/esn/src/main.i18n.json +++ b/Extension/i18n/esn/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "La versión para {0} {1} de la extensión no es compatible con el sistema operativo. Descargue la versión \"{2}\" de la extensión e instálela.", "extension.installation.failed": "Error de instalación de la extensión de C/C++. Tendrá que reparar o reinstalar la extensión para que las características del lenguaje C/C++ funcionen correctamente.", "remove.extension": "Intentar reparar", - "jason.files.missing": "Error de instalación de la extensión de C/C++. Tendrá que reinstalar la extensión para que las características del lenguaje C/C++ funcionen correctamente.", + "json.files.missing": "Error de instalación de la extensión de C/C++. Tendrá que reinstalar la extensión para que las características del lenguaje C/C++ funcionen correctamente.", "initialization.failed": "No se pudo instalar la extensión de C/C++. Para obtener más información, consulte la ventana de salida.", "updating.dependencies": "Actualizando las dependencias de C/C++...", - "rename.failed.delete.manually": "ERROR: No se puedo ejecutar fs.rename con \"{0}\". Elimine {1} manualmente para habilitar la depuración.", "failed.at.stage": "Error en la fase: {0}", "failed.at.stage2": "Si trabaja en un entorno sin conexión o este error se repite, pruebe a descargar una versión de la extensión con todas las dependencias previamente incluidas de {0} y, a continuación, use el comando \"Instalar desde VSIX\" en VS Code para instalarla.", "finished.installing.dependencies": "Ha finalizado la instalación de dependencias", diff --git a/Extension/i18n/esn/src/nativeStrings.i18n.json b/Extension/i18n/esn/src/nativeStrings.i18n.json index e6ddf3b393..28c9b19c70 100644 --- a/Extension/i18n/esn/src/nativeStrings.i18n.json +++ b/Extension/i18n/esn/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "Detectando archivos: {0}", "parsing_open_files": "Analizando archivos abiertos", "tag_parser_initializing": "Inicialización del analizador de etiquetas", - "parsing_paused": "Análisis en pausa", - "parsing_files": "Analizando archivos: {0}", + "parsing_paused": "Análisis de área de trabajo en pausa", + "parsing_files": "Análisis de archivos de área de trabajo: {0}", "discovering_files_count_progress": "Detectando archivos: {0}/{1} ({2} %)", - "parsing_files_progress": "Analizando archivos: {0}/{1} ({2} %)", + "parsing_files_progress": "Análisis de archivos de área de trabajo: {0} / {1} ({2} %)", "cant_find_or_run_process": "No se encuentra o no se puede ejecutar process_name.", "child_exec_failed": "Error al ejecutar el elemento secundario {0}.", "could_not_communicate_with_child_process": "No se puede establecer la comunicación con el proceso secundario.", diff --git a/Extension/i18n/esn/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/esn/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..6cf80c27cf --- /dev/null +++ b/Extension/i18n/esn/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Ejecución y depuración del archivo de C++ en Linux", + "walkthrough.linux.run.and.debug.your.file": "Para ejecutar y depurar el archivo de C++ en VS Code:", + "walkthrough.linux.instructions1": "Abra el archivo de origen de C++ que desea ejecutar y depurar. Asegúrese de que este archivo esté activo (que se muestre y esté seleccionado en el momento) en el editor.", + "walkthrough.linux.press.f5": "Presione {0}. O bien, en el menú principal, elija {1}.", + "walkthrough.linux.run": "Ejecutar", + "walkthrough.linux.start.debugging": "Iniciar depuración", + "walkthrough.linux.select.compiler": "Seleccionar {0}.", + "walkthrough.linux.choose.build.active.file": "Elija {0}.", + "walkthrough.linux.build.and.debug.active.file": "Compilar y depurar el archivo activo", + "walkthrough.linux.after.running": "Después de ejecutar y depurar el archivo de C++ por primera vez, observará dos archivos nuevos dentro del folder {0} del proyecto: {1} y {2}.", + "walkthrough.linux.for.more.complex": "Para escenarios de compilación y depuración más complejos, puede personalizar las tareas de compilación y las configuraciones de depuración en {0} y {1}. Por ejemplo, si, por lo general, pasa argumentos al compilador al compilar desde la línea de comandos, puede especificar esos argumentos en {2} usando la propiedad {3}. Del mismo modo, puede definir argumentos para pasar al programa para la depuración en {4}." +} \ No newline at end of file diff --git a/Extension/i18n/esn/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/esn/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..c6f91b0b30 --- /dev/null +++ b/Extension/i18n/esn/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Ejecución y depuración del archivo de C++ en macOS", + "walkthrough.mac.run.and.debug.your.file": "Para ejecutar y depurar el archivo de C++ en VS Code:", + "walkthrough.mac.instructions1": "Abra el archivo de origen de C++ que desea ejecutar y depurar. Asegúrese de que este archivo esté activo (que se muestre y esté seleccionado en el momento) en el editor.", + "walkthrough.mac.press.f5": "Presione {0}. O bien, en el menú principal, elija {1}.", + "walkthrough.mac.run": "Ejecutar", + "walkthrough.mac.start.debugging": "Iniciar depuración", + "walkthrough.mac.select.compiler": "Seleccionar {0}.", + "walkthrough.mac.choose.build.active.file": "Elija {0}.", + "walkthrough.mac.build.and.debug.active.file": "Compilar y depurar el archivo activo", + "walkthrough.mac.after.running": "Después de ejecutar y depurar el archivo de C++ por primera vez, observará dos archivos nuevos dentro del folder {0} del proyecto: {1} y {2}.", + "walkthrough.mac.for.more.complex": "Para escenarios de compilación y depuración más complejos, puede personalizar las tareas de compilación y las configuraciones de depuración en {0} y {1}. Por ejemplo, si, por lo general, pasa argumentos al compilador al compilar desde la línea de comandos, puede especificar esos argumentos en {2} usando la propiedad {3}. Del mismo modo, puede definir argumentos para pasar al programa para la depuración en {4}." +} \ No newline at end of file diff --git a/Extension/i18n/esn/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/esn/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..5664bbfa87 --- /dev/null +++ b/Extension/i18n/esn/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Ejecutar y depurar el archivo de C++ en Windows", + "walkthrough.mac.run.and.debug.your.file": "Para ejecutar y depurar el archivo de C++ en VS Code:", + "walkthrough.mac.instructions1": "Abra el archivo de origen de C++ que desea ejecutar y depurar. Asegúrese de que este archivo esté activo (que se muestre y esté seleccionado en el momento) en el editor.", + "walkthrough.mac.press.f5": "Presione {0}. O bien, en el menú principal, elija {1}.", + "walkthrough.mac.run": "Ejecutar", + "walkthrough.mac.start.debugging": "Iniciar depuración", + "walkthrough.mac.select.compiler": "Seleccionar {0}.", + "walkthrough.mac.choose.build.active.file": "Elija {0}.", + "walkthrough.windows.build.and.debug.active.file": "Compilar y depurar el archivo activo", + "walkthrough.mac.after.running": "Después de ejecutar y depurar el archivo de C++ por primera vez, observará dos archivos nuevos dentro del folder {0} del proyecto: {1} y {2}.", + "walkthrough.mac.for.more.complex": "Para escenarios de compilación y depuración más complejos, puede personalizar las tareas de compilación y las configuraciones de depuración en {0} y {1}. Por ejemplo, si, por lo general, pasa argumentos al compilador al compilar desde la línea de comandos, puede especificar esos argumentos en {2} usando la propiedad {3}. Del mismo modo, puede definir argumentos para pasar al programa para la depuración en {4}." +} \ No newline at end of file diff --git a/Extension/i18n/esn/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/esn/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..c0688e147e --- /dev/null +++ b/Extension/i18n/esn/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "Instalación de un compilador de C++ en macOS", + "walkthough.mac.text1": "Si está realizando el desarrollo de C++ para macOS, se recomienda instalar el compilador de Clang. Todo lo que debe hacer es ejecutar el siguiente comando en una ventana del terminal para instalar las herramientas de desarrollo de la línea de comandos:", + "walkthough.mac.text2": "A continuación, para comprobar que Clang está instalado, ejecute el siguiente comando en una ventana de Terminal. Debería ver un mensaje con información sobre la versión de Clang que está usando." +} \ No newline at end of file diff --git a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..3d3b97abf4 --- /dev/null +++ b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Instalación de un compilador de C++ en Windows", + "walkthrough.windows.text1": "Si está realizando el desarrollo de C++ para Windows, le recomendamos que instale el conjunto de herramientas del compilador Microsoft Visual C++ (MSVC). Si su objetivo es Linux desde Windows, consulte {0}. O bien, consulte {1}.", + "walkthrough.windows.link.title1": "Uso de C++ y Subsistema de Windows para Linux (WSL) en VS Code", + "walkthrough.windows.link.title2": "instalar GCC en Windows con MinGW", + "walkthrough.windows.text2": "Para instalar MSVC, descargue {0} de la página de Visual Studio {1}. ", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "Descargas", + "walkthrough.windows.text3": "En el Instalador de Visual Studio, compruebe la {0} carga de trabajo y seleccione {1}.", + "walkthrough.windows.build.tools2": "Herramientas de compilación de C++", + "walkthrough.windows.link.install": "Instalar", + "walkthrough.windows.note1": "Nota", + "walkthrough.windows.note1.text": "Puede usar el conjunto de herramientas de C++ de Visual Studio Build Tools junto con Visual Studio Code para compilar y comprobar cualquier código base de C++, siempre que también tenga una licencia de Visual Studio válida (Community, Pro o Enterprise) que esté usando de manera activa para desarrollar ese código base de C++.", + "walkthrough.windows.open.command.prompt": "Abra el {0} al escribir \"developer\" en el menú Inicio de Windows.", + "walkthrough.windows.command.prompt.name1": "Símbolo del sistema para desarrolladores para VS", + "walkthrough.windows.check.install": "Compruebe la instalación de MSVC escribiendo {0} en el Símbolo del sistema para desarrolladores para VS. Debería ver un mensaje de copyright con la versión y la descripción de uso básica.", + "walkthrough.windows.note2": "Nota", + "walkthrough.windows.note2.text": "Para usar MSVC desde la línea de comandos o VS Code, debe ejecutar desde un {0}. Un shell normal como {1}, {2}, o el símbolo del sistema de Windows no tiene establecidas las variables de entorno de ruta de acceso necesarias.", + "walkthrough.windows.command.prompt.name2": "Símbolo del sistema para desarrolladores para VS" +} \ No newline at end of file diff --git a/Extension/i18n/esn/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/esn/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..8facbbd6eb --- /dev/null +++ b/Extension/i18n/esn/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Instalación de un compilador de C++ en Linux", + "walkthrough.linux.text1": "Si va a realizar el desarrollo de C++ para Linux, se recomienda instalar el compilador GCC. La instalación de GCC es sencilla. Solo tiene que seguir estos tres pasos:", + "walkthrough.linux.text2": "Ejecute el siguiente comando desde la ventana del terminal para actualizar las listas de paquetes de Ubuntu. A veces, una distribución de Linux obsoleta puede interferir con los intentos de instalación de nuevos paquetes.", + "walkthrough.linux.text3": "Instale las herramientas del compilador GNU y el depurador de GDB con este comando:", + "walkthrough.linux.text4": "Ejecute el siguiente comando para comprobar que GCC está instalado. Debería ver un mensaje de copyright e información sobre la versión de GCC que usa." +} \ No newline at end of file diff --git a/Extension/i18n/fra/package.i18n.json b/Extension/i18n/fra/package.i18n.json index c91d14c381..1340a12f97 100644 --- a/Extension/i18n/fra/package.i18n.json +++ b/Extension/i18n/fra/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "Configure le moteur de mise en forme", "c_cpp.configuration.formatting.clangFormat.description": "clang-format est utilisé pour la mise en forme du code.", "c_cpp.configuration.formatting.vcFormat.description": "Le moteur de mise en forme de Visual C++ est utilisé pour la mise en forme du code.", - "c_cpp.configuration.formatting.Default.description": "clang-format est utilisé pour la mise en forme du code.", + "c_cpp.configuration.formatting.Default.description": "Par défaut, clang-format sera utilisé pour formater le code. Cependant, le moteur de formatage Visual C++ sera utilisé si un fichier .editorconfig avec des paramètres pertinents est trouvé plus près du code à formater et si clang_format_style a la valeur par défaut : 'file'.", "c_cpp.configuration.formatting.Disabled.description": "La mise en forme du code va être désactivée.", "c_cpp.configuration.vcFormat.indent.braces.description": "Les accolades sont mises en retrait en fonction de la valeur spécifiée dans le paramètre Éditeur : Taille des tabulations.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Détermine par rapport à quoi la nouvelle ligne est mise en retrait", @@ -193,7 +193,7 @@ "c_cpp.debuggers.logging.engineLogging.description": "Indicateur facultatif pour déterminer si les messages du moteur de débogage de diagnostic doivent être journalisés dans la console de débogage. La valeur par défaut est false.", "c_cpp.debuggers.logging.trace.description": "Indicateur facultatif pour déterminer si le suivi de commande de l'adaptateur de diagnostic doit être journalisé dans la console de débogage. La valeur par défaut est false.", "c_cpp.debuggers.logging.traceResponse.description": "Indicateur facultatif pour déterminer si le suivi de commande et de réponse de l'adaptateur de diagnostic doit être journalisé dans la console de débogage. La valeur par défaut est false.", - "c_cpp.debuggers.cppvsdbg.logging.threadExit.description": "Indicateur facultatif pour déterminer si les messages indiquant la sortie du thread doivent être journalisés dans la console de débogage. Valeur par défaut : 'false'.", + "c_cpp.debuggers.cppvsdbg.logging.threadExit.description": "Indicateur facultatif pour déterminer si les messages indiquant la sortie du thread doivent être journalisés dans la console de débogage. Valeur par défaut : 'false'.", "c_cpp.debuggers.cppvsdbg.logging.processExit.description": "Indicateur facultatif pour déterminer si les messages indiquant la sortie du processus cible doivent être journalisés dans la console de débogage. Valeur par défaut : 'true'.", "c_cpp.debuggers.text.description": "Commande de débogueur à exécuter.", "c_cpp.debuggers.description.description": "Description facultative de la commande.", @@ -218,7 +218,7 @@ "c_cpp.debuggers.miDebuggerArgs.description": "Arguments supplémentaires pour le débogueur MI (par exemple gdb).", "c_cpp.debuggers.miDebuggerServerAddress.description": "Adresse réseau du serveur du débogueur MI auquel se connecter (par exemple : localhost:1234).", "c_cpp.debuggers.stopAtEntry.description": "Paramètre facultatif. Si la valeur est true, le débogueur doit s'arrêter au point d'entrée de la cible. Si processId est passé, le paramètre n'a aucun effet.", - "c_cpp.debuggers.debugServerPath.description": "Chemin complet facultatif au serveur de débogage à lancer (valeur par défaut : null). Utilisé conjointement avec \"miDebugServerAddress\" ou votre propre serveur avec \"customSetupCommand\" qui exécute \"-target-select remote \".", + "c_cpp.debuggers.debugServerPath.description": "Chemin complet facultatif au serveur de débogage à lancer (valeur par défaut : null). Utilisé conjointement avec \"miDebugServerAddress\" ou votre propre serveur avec \"customSetupCommand\" qui exécute \"-target-select remote \".", "c_cpp.debuggers.debugServerArgs.description": "Arguments facultatifs du serveur de débogage. La valeur par défaut est null.", "c_cpp.debuggers.serverStarted.description": "Modèle facultatif de démarrage du serveur à rechercher dans la sortie du serveur de débogage. La valeur par défaut est null.", "c_cpp.debuggers.filterStdout.description": "Permet de rechercher dans le flux stdout le modèle correspondant au démarrage du serveur, et de journaliser stdout dans la sortie de débogage. La valeur par défaut est true.", diff --git a/Extension/i18n/fra/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/fra/src/Debugger/configurationProvider.i18n.json index a41b123c47..ccf305b979 100644 --- a/Extension/i18n/fra/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/fra/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "Configuration par défaut", "select.configuration": "Sélectionner une configuration", + "debug.configuration.selection.canceled": "Sélection de la configuration de débogage annulée", "cl.exe.not.available": "La génération et le débogage de {0} peuvent être utilisés uniquement quand VS Code est exécuté à partir de l'invite de commandes développeur pour VS.", "miDebuggerPath.not.available": "miDebuggerPath n'existe pas : {0}. Un débogueur a-t-il été installé ?", "debugger.deprecated.config": "La clé '{0}' est dépréciée. Utilisez '{1}' à la place.", diff --git a/Extension/i18n/fra/src/LanguageServer/client.i18n.json b/Extension/i18n/fra/src/LanguageServer/client.i18n.json index ebfbecff35..896731897e 100644 --- a/Extension/i18n/fra/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/fra/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "Impossible de démarrer le serveur de langage C/C++. Les fonctionnalités IntelliSense sont désactivées. Erreur : {0}", "check.permissions": "EPERM : Vérifier les autorisations de '{0}'", "server.crashed2": "Le serveur de langage s'est bloqué 5 fois au cours des 3 dernières minutes. Il n'est pas redémarré.", + "loggingLevel.changed": "{0} a été changé en : {1}", "provider.configure.folder": "{0} veut configurer IntelliSense pour le dossier '{1}'.", "provider.configure.this.folder": "{0} veut configurer IntelliSense pour ce dossier.", "allow.button": "Autoriser", @@ -35,6 +36,5 @@ "configurations.received": "Configurations personnalisées reçues :", "browse.configuration.received": "Configuration de navigation personnalisée reçue : {0}", "no.compilers.found": "Aucun C++ compilateur n’a été trouvé sur votre système. Pour votre plateforme, nous vous recommandons d’installer {0} à l’aide des instructions de l’éditeur.", - "compilers.found": "Nous avons trouvé les C++ compilateur(s) suivant(s) sur votre système :", - "compilers.found.message": "Vous pouvez spécifier le compilateur à utiliser dans la configuration IntelliSense de votre projet." + "compilers.found": "Nous avons trouvé les compilateurs C++ suivants sur votre système. Choisissez un compilateur dans la configuration IntelliSense de votre projet." } \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/settings.i18n.json b/Extension/i18n/fra/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..a8023d1c19 --- /dev/null +++ b/Extension/i18n/fra/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "Le formatage du code utilise les paramètres de .editorconfig au lieu de .clang-format. Pour plus d'informations, consultez la documentation relative à la valeur \"par défaut\" du paramètre \"C_Cpp.formatting\"." +} \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/ui.i18n.json b/Extension/i18n/fra/src/LanguageServer/ui.i18n.json index 2d3e31d31e..4bef844d69 100644 --- a/Extension/i18n/fra/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/fra/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "Analyse des fichiers ouverts", "click.to.preview": "cliquez pour voir un aperçu des résultats", + "updating.intellisense.tooltip": "Mise à jour d'IntelliSense", + "select.command": "Sélectionner une commande...", "c.cpp.configuration.tooltip": "Configuration C/C++", - "updating.intellisense.tooltip": "Mise à jour d'IntelliSense...", - "discovering.files.tooltip": "Découverte de fichiers...", + "c.cpp.references.statusbar": "État des références C/C++", + "c.cpp.intellisense.statusbar": "État IntelliSense C/C++", + "c.cpp.tagparser.statusbar": "État de l’analyseur de balises C/C++", + "discovering.files.tooltip": "Détection de fichiers", + "running.analysis.tooltip": "Exécution de {0}", "select.a.configuration": "Sélectionner une configuration...", "edit.configuration.ui": "Modifier les configurations (IU)", "edit.configuration.json": "Modifier les configurations (JSON)", @@ -17,7 +23,9 @@ "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...", - "select.parsing.command": "Sélectionner une commande d'analyse...", - "resume.parsing": "Reprendre l'analyse", - "pause.parsing": "Suspendre l'analyse" + "resume.parsing": "Reprendre l’analyse de l’espace de travail", + "pause.parsing": "Suspendre l’analyse de l’espace de travail", + "cancel.analysis": "Annuler {0}", + "resume.analysis": "Reprendre {0}", + "pause.analysis": "Mettre en pause {0}" } \ No newline at end of file diff --git a/Extension/i18n/fra/src/main.i18n.json b/Extension/i18n/fra/src/main.i18n.json index 97e7efb598..2f6ceb3fcb 100644 --- a/Extension/i18n/fra/src/main.i18n.json +++ b/Extension/i18n/fra/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "Cette version {0} {1} de l'extension est incompatible avec votre système d'exploitation. Téléchargez et installez la version {2} de l'extension.", "extension.installation.failed": "Échec de l'installation de l'extension C/C++. Vous devez réparer ou réinstaller l'extension pour que les fonctionnalités du langage C/C++ fonctionnent correctement.", "remove.extension": "Tentative de réparation", - "jason.files.missing": "Échec de l'installation de l'extension C/C++. Vous devez réinstaller l'extension pour que les fonctionnalités du langage C/C++ fonctionnent correctement.", + "json.files.missing": "Échec de l'installation de l'extension C/C++. Vous devez réinstaller l'extension pour que les fonctionnalités du langage C/C++ fonctionnent correctement.", "initialization.failed": "L'installation de l'extension C/C++ a échoué. Pour plus d'informations, consultez la fenêtre Sortie.", "updating.dependencies": "Mise à jour des dépendances C/C++...", - "rename.failed.delete.manually": "ERREUR : fs.rename a échoué avec \"{0}\". Supprimez {1} manuellement pour activer le débogage.", "failed.at.stage": "Échec à l'étape {0}", "failed.at.stage2": "Si vous travaillez dans un environnement hors connexion ou si vous voyez cette erreur à plusieurs reprises, essayez de télécharger une version de l'extension avec toutes les dépendances préalablement incluses à partir de {0}, puis utilisez la commande \"Installer depuis un VSIX\" dans VS Code pour effectuer l'installation.", "finished.installing.dependencies": "Installation des dépendances terminée", diff --git a/Extension/i18n/fra/src/nativeStrings.i18n.json b/Extension/i18n/fra/src/nativeStrings.i18n.json index a452e81cf4..cf70ce6338 100644 --- a/Extension/i18n/fra/src/nativeStrings.i18n.json +++ b/Extension/i18n/fra/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "Découverte de fichiers : {0}", "parsing_open_files": "Analyse des fichiers ouverts", "tag_parser_initializing": "Initialisation de l'analyseur de balises", - "parsing_paused": "Analyse suspendue", - "parsing_files": "Analyse des fichiers : {0}", + "parsing_paused": "Analyse de l’espace de travail suspendue", + "parsing_files": "Analyse des fichiers d’espace de travail : {0}", "discovering_files_count_progress": "Découverte de fichiers : {0}/{1} ({2} %)", - "parsing_files_progress": "Analyse des fichiers : {0}/{1} ({2} %)", + "parsing_files_progress": "Analyse des fichiers d’espace de travail : {0} / {1} ({2}%)", "cant_find_or_run_process": "process_name est introuvable ou ne peut pas être exécuté", "child_exec_failed": "Échec de l'exécution enfant {0}", "could_not_communicate_with_child_process": "Impossible de communiquer avec le processus enfant !", diff --git a/Extension/i18n/fra/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/fra/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..def581532b --- /dev/null +++ b/Extension/i18n/fra/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Exécutez et déboguez votre fichier C++ sur Linux", + "walkthrough.linux.run.and.debug.your.file": "Pour exécuter et déboguer votre fichier C++ dans VS Code :", + "walkthrough.linux.instructions1": "Ouvrez le fichier source C++ que vous voulez exécuter et déboguer. Assurez-vous que ce fichier est actif (actuellement affiché et sélectionné) dans l'éditeur.", + "walkthrough.linux.press.f5": "Appuyez sur {0}. Ou, dans le menu principal, choisissez {1}.", + "walkthrough.linux.run": "Exécuter", + "walkthrough.linux.start.debugging": "Démarrer le débogage", + "walkthrough.linux.select.compiler": "Sélectionner {0}.", + "walkthrough.linux.choose.build.active.file": "Choisir {0}", + "walkthrough.linux.build.and.debug.active.file": "Générer et déboguer le fichier actif", + "walkthrough.linux.after.running": "Après l’exécution et le débogage de votre fichier C++ pour la première fois, vous remarquerez deux nouveaux fichiers dans {0} de votre projet : {1} et {2}.", + "walkthrough.linux.for.more.complex": "Pour les scénarios de génération et de débogage plus complexes, vous pouvez personnaliser vos tâches de génération et déboguer les configurations dans {0} et {1}. Par exemple, si vous passez normalement des arguments à votre compilateur lors de la génération à partir de la ligne de commande, vous pouvez spécifier ces arguments dans {2} à l’aide de la propriété {3}. De même, vous pouvez définir des arguments à transférer à votre programme pour le débogage dans {4}." +} \ No newline at end of file diff --git a/Extension/i18n/fra/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/fra/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..e9a10280d5 --- /dev/null +++ b/Extension/i18n/fra/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Exécutez et déboguez votre fichier C++ sur macOS", + "walkthrough.mac.run.and.debug.your.file": "Pour exécuter et déboguer votre fichier C++ dans VS Code :", + "walkthrough.mac.instructions1": "Ouvrez le fichier source C++ que vous voulez exécuter et déboguer. Assurez-vous que ce fichier est actif (actuellement affiché et sélectionné) dans l'éditeur.", + "walkthrough.mac.press.f5": "Appuyez sur {0}. Ou, dans le menu principal, choisissez {1}.", + "walkthrough.mac.run": "Exécuter", + "walkthrough.mac.start.debugging": "Démarrer le débogage", + "walkthrough.mac.select.compiler": "Sélectionner {0}.", + "walkthrough.mac.choose.build.active.file": "Choisir {0}", + "walkthrough.mac.build.and.debug.active.file": "Générer et déboguer le fichier actif", + "walkthrough.mac.after.running": "Après l’exécution et le débogage de votre fichier C++ pour la première fois, vous remarquerez deux nouveaux fichiers dans {0} de votre projet : {1} et {2}.", + "walkthrough.mac.for.more.complex": "Pour les scénarios de génération et de débogage plus complexes, vous pouvez personnaliser vos tâches de génération et déboguer les configurations dans {0} et {1}. Par exemple, si vous passez normalement des arguments à votre compilateur lors de la génération à partir de la ligne de commande, vous pouvez spécifier ces arguments dans {2} à l’aide de la propriété {3}. De même, vous pouvez définir des arguments à transférer à votre programme pour le débogage dans {4}." +} \ No newline at end of file diff --git a/Extension/i18n/fra/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/fra/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..2cd78ef9d4 --- /dev/null +++ b/Extension/i18n/fra/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Exécutez et déboguez votre fichier C++ sur Windows", + "walkthrough.mac.run.and.debug.your.file": "Pour exécuter et déboguer votre fichier C++ dans VS Code :", + "walkthrough.mac.instructions1": "Ouvrez le fichier source C++ que vous voulez exécuter et déboguer. Assurez-vous que ce fichier est actif (actuellement affiché et sélectionné) dans l'éditeur.", + "walkthrough.mac.press.f5": "Appuyez sur {0}. Ou, dans le menu principal, choisissez {1}.", + "walkthrough.mac.run": "Exécuter", + "walkthrough.mac.start.debugging": "Démarrer le débogage", + "walkthrough.mac.select.compiler": "Sélectionner {0}.", + "walkthrough.mac.choose.build.active.file": "Choisir {0}", + "walkthrough.windows.build.and.debug.active.file": "Générer et déboguer le fichier actif", + "walkthrough.mac.after.running": "Après l’exécution et le débogage de votre fichier C++ pour la première fois, vous remarquerez deux nouveaux fichiers dans {0} de votre projet : {1} et {2}.", + "walkthrough.mac.for.more.complex": "Pour les scénarios de génération et de débogage plus complexes, vous pouvez personnaliser vos tâches de génération et déboguer les configurations dans {0} et {1}. Par exemple, si vous passez normalement des arguments à votre compilateur lors de la génération à partir de la ligne de commande, vous pouvez spécifier ces arguments dans {2} à l’aide de la propriété {3}. De même, vous pouvez définir des arguments à transférer à votre programme pour le débogage dans {4}." +} \ No newline at end of file diff --git a/Extension/i18n/fra/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/fra/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..a84519ae2a --- /dev/null +++ b/Extension/i18n/fra/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "Installer un compilateur C++ sur macOS", + "walkthough.mac.text1": "Si vous effectuez du développement C++ pour macOS, nous vous recommandons d'installer le compilateur Clang. Il vous suffit d'exécuter la commande suivante dans une fenêtre de Terminal pour installer les outils de développement en ligne de commande :", + "walkthough.mac.text2": "Ensuite, pour vérifier que Clang est installé, exécutez la commande suivante dans une fenêtre de terminal. Vous devez voir un message contenant des informations sur la version de Clang que vous utilisez." +} \ No newline at end of file diff --git a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..cc3a4c9c2c --- /dev/null +++ b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Installer un compilateur C++ sur Windows", + "walkthrough.windows.text1": "Si vous utilisez le développement C++ pour Windows, nous vous recommandons d’installer l’ensemble d’outils du compilateur Microsoft Visual C++ (MSVC). Si vous ciblez Linux à partir de Windows, consultez {0}. Vous pouvez également {1}.", + "walkthrough.windows.link.title1": "Utilisation de C++ et du Sous-système Windows pour Linux (WSL) dans VS Code", + "walkthrough.windows.link.title2": "installer GCC sur Windows avec MinGW", + "walkthrough.windows.text2": "Pour installer MSVC, téléchargez {0} à partir de la page Visual Studio {1}. ", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "Téléchargements", + "walkthrough.windows.text3": "Dans le Visual Studio Installer, vérifiez la charge de travail {0} et sélectionnez {1}.", + "walkthrough.windows.build.tools2": "C++ Build Tools", + "walkthrough.windows.link.install": "Installer", + "walkthrough.windows.note1": "Remarque", + "walkthrough.windows.note1.text": "Vous pouvez utiliser l’ensemble d’outils C++ à partir de Visual Studio Build Tools avec Visual Studio Code pour compiler, générer et vérifier n’importe quelle base de code C++, tant que vous disposez également d’une licence Visual Studio valide (Community, Pro ou Enterprise) que vous utilisez activement pour développer cette base de code C++.", + "walkthrough.windows.open.command.prompt": "Ouvrez le {0} en tapant « développeur » dans le menu Démarrer de Windows.", + "walkthrough.windows.command.prompt.name1": "Invite de commandes développeur pour VS", + "walkthrough.windows.check.install": "Vérifiez l’installation de votre MSVC en tapant {0} dans la Invite de commandes développeur pour VS. Vous devez voir un message de Copyright avec la version et la description de l’utilisation de base.", + "walkthrough.windows.note2": "Remarque", + "walkthrough.windows.note2.text": "Pour utiliser MSVC à partir de la ligne de commande ou VS Code, vous devez exécuter à partir d’un {0}. Un interpréteur de commandes ordinaire, tel que {1}, {2} ou l’invite de commandes Windows, n’a pas les variables d’environnement de chemin d’accès nécessaires définies.", + "walkthrough.windows.command.prompt.name2": "Invite de commandes développeur pour VS" +} \ No newline at end of file diff --git a/Extension/i18n/fra/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/fra/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..bd65025304 --- /dev/null +++ b/Extension/i18n/fra/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Installer un compilateur C++ sur Linux", + "walkthrough.linux.text1": "Si vous effectuez du développement C++ pour Linux, nous vous recommandons d'installer le compilateur GCC. L'installation de GCC est simple, il suffit de suivre ces trois étapes :", + "walkthrough.linux.text2": "Exécutez la commande suivante à partir de la fenêtre du terminal pour mettre à jour les listes de packages Ubuntu. Une distribution Linux obsolète peut parfois interférer avec les tentatives d’installation de nouveaux packages.", + "walkthrough.linux.text3": "Installez les outils du compilateur GNU et le débogueur GDB avec cette commande :", + "walkthrough.linux.text4": "Vérifiez que GCC est installé en exécutant la commande suivante. Vous devez voir un message de copyright et des informations sur la version de GCC que vous utilisez." +} \ No newline at end of file diff --git a/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json index 3479d916e1..bdda53dd15 100644 --- a/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json @@ -20,7 +20,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "true per elaborare solo i file inclusi direttamente o indirettamente come intestazioni; false per elaborare tutti i file nei percorsi di inclusione specificati.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Percorso del database dei simboli generato. Se viene specificato un percorso relativo, sarà relativo al percorso di archiviazione predefinito dell'area di lavoro.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Elenco di percorsi da usare per l'indicizzazione e l'analisi dei simboli dell'area di lavoro (usati da Vai alla definizione, Trova tutti i riferimenti e così via). Per impostazione predefinita, la ricerca in questi percorsi è ricorsiva. Specificare '**' per indicare la ricerca non ricorsiva. Ad esempio, con '${workspaceFolder}' la ricerca verrà estesa a tutte le sottodirectory, mentre con '${workspaceFolder}/*' sarà limitata a quella corrente.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Variabili personalizzate su cui è possibile eseguire query tramite il comando ${cpptools:activeConfigCustomVariable} da usare per le variabili di input in launch.jso o tasks.js.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Variabili personalizzate su cui è possibile eseguire query tramite il comando ${cpptools:activeConfigCustomVariable} da usare per le variabili di input in launch.json o tasks.json.", "c_cpp_properties.schema.json.definitions.env": "Variabili personalizzate che è possibile riutilizzare in qualsiasi punto del file usando la sintassi ${variabile} o ${env:variabile}.", "c_cpp_properties.schema.json.definitions.version": "Versione del file di configurazione. Questa proprietà è gestita dall'estensione. Non modificarla.", "c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "Controlla se l'estensione segnalerà errori rilevati in c_cpp_properties.json." diff --git a/Extension/i18n/ita/package.i18n.json b/Extension/i18n/ita/package.i18n.json index 0a65f40f78..99b9b13bf3 100644 --- a/Extension/i18n/ita/package.i18n.json +++ b/Extension/i18n/ita/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "Configura il motore di formattazione", "c_cpp.configuration.formatting.clangFormat.description": "Per formattare il codice, verrà usato clang-format.", "c_cpp.configuration.formatting.vcFormat.description": "Per formattare il codice, verrà usato il motore di formattazione Visual C++.", - "c_cpp.configuration.formatting.Default.description": "Per formattare il codice, verrà usato clang-format.", + "c_cpp.configuration.formatting.Default.description": "Per impostazione predefinita, per formattare il codice verrà usato clang-format. Verrà tuttavia usato il motore di formattazione di Visual C++ se viene trovato un file con estensione .editorconfig con impostazioni pertinenti in una posizione più vicina al codice da formattare e clang_format_style è impostato sul valore predefinito 'file'.", "c_cpp.configuration.formatting.Disabled.description": "La formattazione del codice verrà disabilitata.", "c_cpp.configuration.vcFormat.indent.braces.description": "Le parentesi graffe vengono rientrate in base al valore specificato nell'impostazione Editor: Dimensione tabulazione.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Determina l'elemento rispetto al quale viene impostato il rientro della nuova riga", @@ -118,7 +118,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "I blocchi di codice vengono sempre formattati in base ai valori delle impostazioni di Formato VC: Nuova riga", "c_cpp.configuration.clang_format_path.description": "Percorso completo del file eseguibile clang-format. Se non è specificato, verrà usato lo strumento clang-format disponibile nel percorso dell'ambiente. Se clang-format non viene trovato nel percorso dell'ambiente, ne verrà usata una copia fornita in bundle con l'estensione.", "c_cpp.configuration.clang_format_style.description": "Stile di codifica. Attualmente supporta: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Usare \"file\" per caricare lo stile da un file con estensione .clang-format presente nella directory corrente o padre. Usare {chiave: valore, ...} per impostare parametri specifici. Ad esempio, lo stile \"Visual Studio\" è simile a: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", - "c_cpp.configuration.clang_format_fallbackStyle.description": "Nome dello stile predefinito usato come fallback nel caso in cui il formato Clang venga richiamato con lo stile \"file\", ma il file in formato Clang non viene trovato. I valori possibili sono Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none. In alternativa, usare {key: value, ...} per impostare parametri specifici. Ad esempio, lo stile \"Visual Studio\" è simile a: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_fallbackStyle.description": "Nome dello stile predefinito usato come fallback nel caso in cui il clang-format venga richiamato con lo stile \"file\", ma il file in .clang-format non viene trovato. I valori possibili sono Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none. In alternativa, usare {key: value, ...} per impostare parametri specifici. Ad esempio, lo stile \"Visual Studio\" è simile a: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "Se è impostata, esegue l'override del comportamento di ordinamento di inclusione determinato dal parametro SortIncludes.", "c_cpp.configuration.intelliSenseEngine.description": "Controlla il provider IntelliSense. Con \"Parser di tag\" vengono risultati \"fuzzy\" che non sono compatibili con il contesto. Con \"Predefinito\" vengono forniti risultati compatibili con il contesto. Con \"Disabilitato\" vengono disattivate le funzionalità del servizio di linguaggio C/C++.", "c_cpp.configuration.intelliSenseEngineFallback.description": "Controlla se il motore IntelliSense passerà automaticamente al parser di tag per le unità di conversione contenenti errori #include.", diff --git a/Extension/i18n/ita/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/ita/src/Debugger/configurationProvider.i18n.json index 81259689d7..3dbb42d237 100644 --- a/Extension/i18n/ita/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/ita/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "Configurazione predefinita", "select.configuration": "Seleziona una configurazione", + "debug.configuration.selection.canceled": "Selezione configurazione debug annullata", "cl.exe.not.available": "La compilazione e il debug di {0} sono utilizzabili solo quando VS Code viene eseguito da Prompt dei comandi per gli sviluppatori per Visual Studio.", "miDebuggerPath.not.available": "miDebuggerPath non esiste: {0}. È stato installato un debugger?", "debugger.deprecated.config": "La chiave '{0}' è deprecata. In alternativa, usare '{1}'.", diff --git a/Extension/i18n/ita/src/LanguageServer/client.i18n.json b/Extension/i18n/ita/src/LanguageServer/client.i18n.json index 6716c830df..5d3c4bce08 100644 --- a/Extension/i18n/ita/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/ita/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "Non è possibile avviare il server di linguaggio C/C++. Le funzionalità IntelliSense verranno disabilitate. Errore: {0}", "check.permissions": "EPERM: verificare le autorizzazioni per '{0}'", "server.crashed2": "Si sono verificati cinque arresti anomali del server di linguaggio negli ultimi tre minuti. Non verrà riavviato.", + "loggingLevel.changed": "{0} è stato modificato in: {1}", "provider.configure.folder": "{0} vuole configurare IntelliSense per la cartella '{1}'.", "provider.configure.this.folder": "{0} vuole configurare IntelliSense per questa cartella.", "allow.button": "Consenti", @@ -35,6 +36,5 @@ "configurations.received": "Configurazioni personalizzate ricevute:", "browse.configuration.received": "La configurazione di esplorazione personalizzata è stata ricevuta: {0}", "no.compilers.found": "Nel sistema non sono stati trovati compilatori C++. Per la piattaforma, è consigliabile installare {0} usando le istruzioni nell'editor.", - "compilers.found": "Nel sistema sono stati trovati i seguenti compilatori C++:", - "compilers.found.message": "È possibile specificare il compilatore da utilizzare nella configurazione IntelliSense del progetto." + "compilers.found": "Nel sistema sono stati trovati i compilatori C++ seguenti. Scegliere un compilatore nella configurazione IntelliSense del progetto." } \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/settings.i18n.json b/Extension/i18n/ita/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..748f328314 --- /dev/null +++ b/Extension/i18n/ita/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "Per la formattazione del codice vengono usate le impostazioni del file con estensione .editorconfig invece di quello con estensione clang-format. Per altre informazioni, vedere la documentazione relativa al valore `Default` dell'impostazione 'C_Cpp.formatting'." +} \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/ui.i18n.json b/Extension/i18n/ita/src/LanguageServer/ui.i18n.json index b7b3525bf4..108be34813 100644 --- a/Extension/i18n/ita/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/ita/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "Analisi dei file aperti", "click.to.preview": "fare clic per visualizzare l'anteprima dei risultati", + "updating.intellisense.tooltip": "Aggiornamento di IntelliSense", + "select.command": "Seleziona un comando...", "c.cpp.configuration.tooltip": "Configurazione C/C++", - "updating.intellisense.tooltip": "Aggiornamento di IntelliSense...", - "discovering.files.tooltip": "Individuazione dei file...", + "c.cpp.references.statusbar": "Stato riferimenti C/C++", + "c.cpp.intellisense.statusbar": "Stato IntelliSense C/C++", + "c.cpp.tagparser.statusbar": "Stato del parser del tag C/C++", + "discovering.files.tooltip": "Individuazione dei file", + "running.analysis.tooltip": "{0} in esecuzione", "select.a.configuration": "Seleziona una configurazione...", "edit.configuration.ui": "Modifica configurazioni (interfaccia utente)", "edit.configuration.json": "Modifica configurazioni (JSON)", @@ -17,7 +23,9 @@ "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...", - "select.parsing.command": "Seleziona un comando di analisi...", - "resume.parsing": "Riprendi analisi", - "pause.parsing": "Sospendi analisi" + "resume.parsing": "Riprendi analisi area di lavoro", + "pause.parsing": "Sospendi analisi area di lavoro", + "cancel.analysis": "Annulla {0}", + "resume.analysis": "Riprendi {0}", + "pause.analysis": "Sospendi {0}" } \ No newline at end of file diff --git a/Extension/i18n/ita/src/main.i18n.json b/Extension/i18n/ita/src/main.i18n.json index dab10f82ea..451a90368a 100644 --- a/Extension/i18n/ita/src/main.i18n.json +++ b/Extension/i18n/ita/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "La versione {0} {1} dell'estensione non è compatibile con il sistema operativo. Scaricare e installare la versione \"{2}\" dell'estensione.", "extension.installation.failed": "Non è stato possibile installare l'estensione C/C++. Per funzionare correttamente, è necessario riparare o reinstallare l'estensione per le funzionalità del linguaggio C/C++.", "remove.extension": "Tentativo di riparazione", - "jason.files.missing": "Non è stato possibile installare l'estensione C/C++. Per funzionare correttamente, sarà necessario reinstallare l'estensione per le funzionalità del linguaggio C/C++.", + "json.files.missing": "Non è stato possibile installare l'estensione C/C++. Per funzionare correttamente, sarà necessario reinstallare l'estensione per le funzionalità del linguaggio C/C++.", "initialization.failed": "L'installazione dell'estensione C/C++ non è riuscita. Per altre informazioni, vedere la finestra di output.", "updating.dependencies": "Aggiornamento delle dipendenze di C/C++...", - "rename.failed.delete.manually": "ERRORE: fs.rename non riuscito con \"{0}\". Per abilitare il debug, eliminare manualmente {1}.", "failed.at.stage": "Errore nella fase: {0}", "failed.at.stage2": "Se si lavora in un ambiente offline o questo errore viene visualizzato ripetutamente, provare a scaricare una versione dell'estensione con tutte le dipendenze già incluse da {0}, quindi usare il comando \"Installa da VSIX\" in VS Code per installarla.", "finished.installing.dependencies": "L'installazione delle dipendenze è stata completata", diff --git a/Extension/i18n/ita/src/nativeStrings.i18n.json b/Extension/i18n/ita/src/nativeStrings.i18n.json index 9a675a3e99..2d6fce9821 100644 --- a/Extension/i18n/ita/src/nativeStrings.i18n.json +++ b/Extension/i18n/ita/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "Individuazione dei file: {0}", "parsing_open_files": "Analisi dei file aperti", "tag_parser_initializing": "Inizializzazione del parser di tag", - "parsing_paused": "Analisi sospesa", - "parsing_files": "Analisi dei file: {0}", + "parsing_paused": "Analisi dell'area di lavoro sospesa", + "parsing_files": "Analisi dei file dell'area di lavoro: {0}", "discovering_files_count_progress": "Individuazione dei file: {0} / {1} ({2}%)", - "parsing_files_progress": "Analisi dei file: {0}/{1} ({2}%)", + "parsing_files_progress": "Analisi dei file dell'area di lavoro: {0} / {1} ({2}%)", "cant_find_or_run_process": "Non è possibile trovare o eseguire process_name", "child_exec_failed": "L'esecuzione del processo figlio non è riuscita: {0}", "could_not_communicate_with_child_process": "Non è stato possibile comunicare con il processo figlio.", diff --git a/Extension/i18n/ita/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/ita/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..61e9d6fd48 --- /dev/null +++ b/Extension/i18n/ita/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Esegui con debug il file C++ in Linux", + "walkthrough.linux.run.and.debug.your.file": "Per eseguire con debug il file C++ in VS Code:", + "walkthrough.linux.instructions1": "Aprire il file di origine C++ che si vuole eseguire con debug. Assicurarsi che il file sia attivo (attualmente visualizzato e selezionato) nell'editor.", + "walkthrough.linux.press.f5": "Premere {0}. In alternativa, scegliere {1} dal menu principale.", + "walkthrough.linux.run": "Esegui", + "walkthrough.linux.start.debugging": "Avvia debug", + "walkthrough.linux.select.compiler": "Selezionare {0}.", + "walkthrough.linux.choose.build.active.file": "Scegliere {0}.", + "walkthrough.linux.build.and.debug.active.file": "Compila ed esegui il debug del file attivo", + "walkthrough.linux.after.running": "Dopo l'esecuzione e il debug del file C++ per la prima volta, verranno rilevati due nuovi file nella cartella {0} del progetto: {1} e {2}.", + "walkthrough.linux.for.more.complex": "Per scenari di compilazione e debug più complessi, è possibile personalizzare le attività di compilazione e le configurazioni di debug in {0} e {1}. Ad esempio, se durante la compilazione dalla riga di comando si passano argomenti al compilatore, è possibile specificare tali argomenti in {2} usando la proprietà {3}. Analogamente, è possibile definire argomenti da passare al programma per il debug in {4}." +} \ No newline at end of file diff --git a/Extension/i18n/ita/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/ita/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..9f3632bd13 --- /dev/null +++ b/Extension/i18n/ita/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Esegui con debug il file C++ in macOS", + "walkthrough.mac.run.and.debug.your.file": "Per eseguire con debug il file C++ in VS Code:", + "walkthrough.mac.instructions1": "Aprire il file di origine C++ che si vuole eseguire con debug. Assicurarsi che il file sia attivo (attualmente visualizzato e selezionato) nell'editor.", + "walkthrough.mac.press.f5": "Premere {0}. In alternativa, scegliere {1} dal menu principale.", + "walkthrough.mac.run": "Esegui", + "walkthrough.mac.start.debugging": "Avvia debug", + "walkthrough.mac.select.compiler": "Selezionare {0}.", + "walkthrough.mac.choose.build.active.file": "Scegliere {0}.", + "walkthrough.mac.build.and.debug.active.file": "Compila ed esegui il debug del file attivo", + "walkthrough.mac.after.running": "Dopo l'esecuzione e il debug del file C++ per la prima volta, verranno rilevati due nuovi file nella cartella {0} del progetto: {1} e {2}.", + "walkthrough.mac.for.more.complex": "Per scenari di compilazione e debug più complessi, è possibile personalizzare le attività di compilazione e le configurazioni di debug in {0} e {1}. Ad esempio, se durante la compilazione dalla riga di comando si passano argomenti al compilatore, è possibile specificare tali argomenti in {2} usando la proprietà {3}. Analogamente, è possibile definire argomenti da passare al programma per il debug in {4}." +} \ No newline at end of file diff --git a/Extension/i18n/ita/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/ita/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..77b6146087 --- /dev/null +++ b/Extension/i18n/ita/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Esegui con debug il file C++ in Windows", + "walkthrough.mac.run.and.debug.your.file": "Per eseguire con debug il file C++ in VS Code:", + "walkthrough.mac.instructions1": "Aprire il file di origine C++ che si vuole eseguire con debug. Assicurarsi che il file sia attivo (attualmente visualizzato e selezionato) nell'editor.", + "walkthrough.mac.press.f5": "Premere {0}. In alternativa, scegliere {1} dal menu principale.", + "walkthrough.mac.run": "Esegui", + "walkthrough.mac.start.debugging": "Avvia debug", + "walkthrough.mac.select.compiler": "Selezionare {0}.", + "walkthrough.mac.choose.build.active.file": "Scegliere {0}.", + "walkthrough.windows.build.and.debug.active.file": "Compila ed esegui il debug del file attivo", + "walkthrough.mac.after.running": "Dopo l'esecuzione e il debug del file C++ per la prima volta, verranno rilevati due nuovi file nella cartella {0} del progetto: {1} e {2}.", + "walkthrough.mac.for.more.complex": "Per scenari di compilazione e debug più complessi, è possibile personalizzare le attività di compilazione e le configurazioni di debug in {0} e {1}. Ad esempio, se durante la compilazione dalla riga di comando si passano argomenti al compilatore, è possibile specificare tali argomenti in {2} usando la proprietà {3}. Analogamente, è possibile definire argomenti da passare al programma per il debug in {4}." +} \ No newline at end of file diff --git a/Extension/i18n/ita/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/ita/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..0d0b43f088 --- /dev/null +++ b/Extension/i18n/ita/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "Installa un compilatore C++ in macOS", + "walkthough.mac.text1": "Se si sviluppa con C++ per macOS, è consigliabile installare il compilatore Clang. A questo scopo, è sufficiente eseguire il comando seguente in una finestra di terminale per installare gli strumenti di sviluppo da riga di comando:", + "walkthough.mac.text2": "Quindi, per verificare che Clang sia installato, eseguire il comando seguente in una finestra di terminale. Verrà visualizzato un messaggio contenente informazioni sulla versione di Clang in uso." +} \ No newline at end of file diff --git a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..88f5f08a12 --- /dev/null +++ b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Installa un compilatore C++ in Windows", + "walkthrough.windows.text1": "Se si sviluppa in C++ per Windows, è consigliabile installare il set di strumenti del compilatore Microsoft Visual C++ (MSVC). Se la destinazione è Linux da Windows, vedere {0}. In alternativa, è possibile {1}.", + "walkthrough.windows.link.title1": "Uso di C++ e del sottosistema Windows per Linux (WSL) in VS Code", + "walkthrough.windows.link.title2": "Installa GCC in Windows con MinGW", + "walkthrough.windows.text2": "Per installare MSVC, scaricare {0} dalla pagina {1} di Visual Studio. ", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "Download", + "walkthrough.windows.text3": "Nel Programma di installazione di Visual Studio controllare il carico di lavoro {0} e selezionare {1}.", + "walkthrough.windows.build.tools2": "Strumenti di compilazione C++", + "walkthrough.windows.link.install": "Installa", + "walkthrough.windows.note1": "Nota", + "walkthrough.windows.note1.text": "È possibile usare il set di strumenti C++ di Visual Studio Build Tools insieme a Visual Studio Code per compilare, creare e verificare qualsiasi codebase C++, purché sia disponibile una licenza di Visual Studio valida (Community, Pro o Enterprise) usata attivamente per sviluppare la codebase C++.", + "walkthrough.windows.open.command.prompt": "Per aprire {0}, digitare 'developer' nel menu Start di Windows.", + "walkthrough.windows.command.prompt.name1": "Prompt dei comandi per gli sviluppatori per Visual Studio", + "walkthrough.windows.check.install": "Verificare l'installazione di MSVC digitando {0} al Prompt dei comandi per gli sviluppatori per Visual Studio. Verranno visualizzati un messaggio di copyright, la versione e la descrizione sulla sintassi di base.", + "walkthrough.windows.note2": "Nota", + "walkthrough.windows.note2.text": "Per usare MSVC dalla riga di comando o da VS Code, è necessario eseguire l'applicazione da {0}. Con una shell normale, ad esempio {1}, {2} o il prompt dei comandi di Windows le variabili di ambiente del percorso necessarie non sono impostate.", + "walkthrough.windows.command.prompt.name2": "Prompt dei comandi per gli sviluppatori per Visual Studio" +} \ No newline at end of file diff --git a/Extension/i18n/ita/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/ita/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..88c209a4c0 --- /dev/null +++ b/Extension/i18n/ita/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Installa un compilatore C++ in Linux", + "walkthrough.linux.text1": "Se si sviluppa in C++ per Linux, è consigliabile installare il compilatore GCC. L'installazione di GCC è semplice. Basta seguire questi tre passaggi:", + "walkthrough.linux.text2": "Per aggiornare gli elenchi di pacchetti Ubuntu, eseguire il comando seguente dalla finestra del terminale. Una distribuzione Linux non aggiornata può talvolta interferire con i tentativi di installare nuovi pacchetti.", + "walkthrough.linux.text3": "Per installare gli strumenti del compilatore GNU e il debugger GDB, usare questo comando:", + "walkthrough.linux.text4": "Verificare che GCC sia installato eseguendo il comando seguente. Verranno visualizzati un messaggio di copyright e le informazioni sulla versione di GCC in uso." +} \ No newline at end of file diff --git a/Extension/i18n/jpn/package.i18n.json b/Extension/i18n/jpn/package.i18n.json index 1ffdcdcc9c..eeb3adb140 100644 --- a/Extension/i18n/jpn/package.i18n.json +++ b/Extension/i18n/jpn/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "書式設定エンジンを構成します", "c_cpp.configuration.formatting.clangFormat.description": "clang-format を使用してコードがフォーマットされます。", "c_cpp.configuration.formatting.vcFormat.description": "コードの書式設定に Visual C++ の書式設定エンジンが使用されます。", - "c_cpp.configuration.formatting.Default.description": "clang-format を使用してコードがフォーマットされます。", + "c_cpp.configuration.formatting.Default.description": "既定では、clang-format を使用してコードをフォーマットします。ただし、関連する設定を持つ .editorconfig ファイルがフォーマット対象のコードの近くに見つかり、clang_format_style が既定値である場合は、Visual C++ フォーマット エンジンが使用されます: 'file'。", "c_cpp.configuration.formatting.Disabled.description": "コードの書式設定は無効になります。", "c_cpp.configuration.vcFormat.indent.braces.description": "中かっこは、[Editor: Tab Size](エディター: タブ サイズ) 設定で指定された分だけインデントされます。", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "新しい行のインデントの基準を決定します", @@ -128,7 +128,7 @@ "c_cpp.configuration.inactiveRegionOpacity.description": "アクティブではないプリプロセッサ ブロックの不透明度を制御します。0.1 から 1.0 の範囲でスケーリングします。この設定は、アクティブでない領域の暗転が有効な場合にのみ適用されます。", "c_cpp.configuration.inactiveRegionForegroundColor.description": "アクティブでないプリプロセッサ ブロックのフォントの色を制御します。入力の形式は 16 進数の色コードまたは有効なテーマの色です。設定しない場合、既定ではエディターの構文カラー スキームになります。この設定は、アクティブでない領域の暗転が有効な場合にのみ適用されます。", "c_cpp.configuration.inactiveRegionBackgroundColor.description": "アクティブでないプリプロセッサ ブロックの背景色を制御します。入力の形式は 16 進数の色コードまたは有効なテーマの色です。設定しない場合、既定では透明になります。この設定は、アクティブでない領域の暗転が有効な場合にのみ適用されます。", - "c_cpp.configuration.loggingLevel.description": "出力パネルでのログの詳細度。詳細度のレベルは、低いものから順に次のとおりです: None < Error < Warning < Information < Debug.", + "c_cpp.configuration.loggingLevel.description": "出力パネルでのログの詳細度。詳細度のレベルは、低いものから順に次のとおりです: None < Error < Warning < Information < Debug。", "c_cpp.configuration.autoAddFileAssociations.description": "ファイルが C/C++ ファイルからのナビゲーション操作の対象である場合に、files.associations に自動的に追加されるかどうかを制御します。", "c_cpp.configuration.workspaceParsingPriority.description": "アクティブではないワークスペース ファイルの解析にスリープを使用して、CPU の使用率が 100% になるのを回避するかどうかを制御します。highest/high/medium/low の値は、おおよそ CPU の使用率 100/75/50/25% に対応します。", "c_cpp.configuration.workspaceSymbols.description": "[ワークスペース内のシンボルへ移動] が呼び出されたときにクエリ結果に含めるシンボル。", @@ -171,7 +171,7 @@ "c_cpp.configuration.addNodeAddonIncludePaths.description": "依存関係にある場合は、nan および node-addon-api からのインクルード パスを追加します。", "c_cpp.configuration.renameRequiresIdentifier.description": "true の場合、'シンボルの名前変更' には有効な C/C++ 識別子が必要です。", "c_cpp.configuration.autocompleteAddParentheses.description": "true の場合、関数呼び出しの後に \"(\" が自動的に追加されます。その場合は、\"editor.autoClosingBrackets\" 設定の値に応じて、\")\" も追加される場合があります。", - "c_cpp.configuration.filesExclude.description": "フォルダー (\"C_Cpp.exclusionPolicy\" が変更された場合はファイルも) を除外するための glob パターンを構成します。これらは C/c + + の拡張機能に固有であり、\"files. exclude\" に加えて構成しますが、\"files. exclude\" とは異なり、[エクスプローラー] ビューからは削除されません。glob パターンの詳細については、[こちら](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options) を参照してください。", + "c_cpp.configuration.filesExclude.description": "フォルダー (\"C_Cpp.exclusionPolicy\" が変更された場合はファイルも) を除外するための glob パターンを構成します。これらは C/c + + の拡張機能に固有であり、\"files.exclude\" に加えて構成しますが、\"files.exclude\" とは異なり、[エクスプローラー] ビューからは削除されません。glob パターンの詳細については、[こちら](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options) を参照してください。", "c_cpp.configuration.filesExcludeBoolean.description": "ファイル パスの照合基準となる glob パターン。これを true または false に設定すると、パターンがそれぞれ有効/無効になります。", "c_cpp.configuration.filesExcludeWhen.description": "一致するファイルの兄弟をさらにチェックします。一致するファイル名の変数として $(basename) を使用します。", "c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "True の場合、デバッガー シェルのコマンド置換では古いバックティック (`) が使用されます。", diff --git a/Extension/i18n/jpn/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/jpn/src/Debugger/configurationProvider.i18n.json index eef52c881f..7995d4d074 100644 --- a/Extension/i18n/jpn/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/jpn/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "既定の構成", "select.configuration": "構成の選択", + "debug.configuration.selection.canceled": "デバッグ構成の選択が取り消されました", "cl.exe.not.available": "{0} のビルドとデバッグを使用できるのは、VS 用開発者コマンド プロンプトから VS Code を実行する場合のみです。", "miDebuggerPath.not.available": "miDebuggerPath が存在しません: {0}。デバッガーはインストールされていますか?", "debugger.deprecated.config": "キー '{0}' は非推奨です。代わりに '{1}' をお使いください。", diff --git a/Extension/i18n/jpn/src/LanguageServer/client.i18n.json b/Extension/i18n/jpn/src/LanguageServer/client.i18n.json index f16ce6d942..284285e71d 100644 --- a/Extension/i18n/jpn/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/jpn/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "C/C++ 言語サーバーを起動できません。IntelliSense 機能は無効になります。エラー: {0}", "check.permissions": "EPERM: '{0}' のアクセス許可を確認してください", "server.crashed2": "言語サーバーが過去 3 分間に 5 回クラッシュしました。再起動されません。", + "loggingLevel.changed": "{0} が次に変更されました: {1}", "provider.configure.folder": "{0} が '{1}' フォルダーに対して IntelliSense を構成しようとしています。", "provider.configure.this.folder": "{0} がこのフォルダーに対して IntelliSense を構成しようとしています。", "allow.button": "許可する", @@ -35,6 +36,5 @@ "configurations.received": "カスタム構成を受信しました:", "browse.configuration.received": "カスタムの参照構成を受信しました: {0}", "no.compilers.found": "お使いのシステムで C++ コンパイラが見つかりませんでした。プラットフォーム向けに、エディターの指示に従って {0} をインストールすることをお勧めします。", - "compilers.found": "システムに次の C++ コンパイラが見つかりました:", - "compilers.found.message": "プロジェクトの IntelliSense 構成で使用するコンパイラを指定できます。" + "compilers.found": "お使いのシステムに、次の C++ コンパイラが見つかりました。プロジェクトの IntelliSense 構成でコンパイラを選択します。" } \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/settings.i18n.json b/Extension/i18n/jpn/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..ca3a87f893 --- /dev/null +++ b/Extension/i18n/jpn/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "コードのフォーマットでは、.clang-format ではなく .editorconfig の設定を使用しています。詳細については、'C_Cpp.formatting' 設定の 'Default' 値に関するドキュメントを参照してください。" +} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/ui.i18n.json b/Extension/i18n/jpn/src/LanguageServer/ui.i18n.json index 3ad66d004f..f5aeeb7380 100644 --- a/Extension/i18n/jpn/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/jpn/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "開いているファイルを解析しています", "click.to.preview": "クリックして結果をプレビューします", - "c.cpp.configuration.tooltip": "C/C++ 構成", "updating.intellisense.tooltip": "IntelliSense を更新しています...", - "discovering.files.tooltip": "ファイルを検出しています...", + "select.command": "コマンドを選択する...", + "c.cpp.configuration.tooltip": "C/C++ 構成", + "c.cpp.references.statusbar": "C/C + + リファレンスの状態", + "c.cpp.intellisense.statusbar": "C/c + + IntelliSense の状態", + "c.cpp.tagparser.statusbar": "C/C + + タグ パーサーの状態", + "discovering.files.tooltip": "ファイルを検出しています", + "running.analysis.tooltip": "{0} を実行しています", "select.a.configuration": "構成を選択する...", "edit.configuration.ui": "構成の編集 (UI)", "edit.configuration.json": "構成の編集 (JSON)", @@ -17,7 +23,9 @@ "disable.configuration.provider": "該当する場合は、アクティブな構成プロバイダーを無効にします。", "select.compile.commands": "compile_commands.json を選択してください...", "select.workspace": "ワークスペース フォルダーを選択します...", - "select.parsing.command": "解析コマンドを選択してください...", - "resume.parsing": "解析の再開", - "pause.parsing": "解析の一時停止" + "resume.parsing": "ワークスペースの解析の再開", + "pause.parsing": "ワークスペースの解析の一時停止", + "cancel.analysis": "{0} の取り消し", + "resume.analysis": "{0} の再開", + "pause.analysis": "{0}の一時停止" } \ No newline at end of file diff --git a/Extension/i18n/jpn/src/main.i18n.json b/Extension/i18n/jpn/src/main.i18n.json index 25083c1ada..a3d8f3c98d 100644 --- a/Extension/i18n/jpn/src/main.i18n.json +++ b/Extension/i18n/jpn/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "この {0} {1} バージョンの拡張機能は、お使いの OS と互換性がありません。拡張機能の \"{2}\" バージョンをダウンロードしてインストールしてください。", "extension.installation.failed": "C/C++ の拡張機能を正常にインストールできませんでした。正常に機能させるには、C/C++ 言語機能の拡張機能を修復または再インストールする必要があります。", "remove.extension": "修復の試行", - "jason.files.missing": "C/C++ の拡張機能を正常にインストールできませんでした。正常に機能させるには、C/C++ 言語機能の拡張機能を再インストールする必要があります。", + "json.files.missing": "C/C++ の拡張機能を正常にインストールできませんでした。正常に機能させるには、C/C++ 言語機能の拡張機能を再インストールする必要があります。", "initialization.failed": "C/C++ 拡張機能のインストールに失敗しました。詳細については、出力ウィンドウをご覧ください。", "updating.dependencies": "C/C++ の依存関係を更新しています...", - "rename.failed.delete.manually": "エラー: fs.rename が、\"{0}\" により失敗しました。{1} を手動で削除し、デバッグを有効にしてください。", "failed.at.stage": "以下のステージで失敗しました: {0}", "failed.at.stage2": "オフライン環境で作業している場合、またはこのエラーが繰り返し表示される場合は、すべての依存関係が事前インクルードされている拡張機能のバージョンを {0} からダウンロードしてみてください。その後、VS Code で \"Install from VSIX\" コマンドを使用してインストールしてください。", "finished.installing.dependencies": "依存関係のインストールが完了しました", diff --git a/Extension/i18n/jpn/src/nativeStrings.i18n.json b/Extension/i18n/jpn/src/nativeStrings.i18n.json index cdecca7c0a..c8bdec379e 100644 --- a/Extension/i18n/jpn/src/nativeStrings.i18n.json +++ b/Extension/i18n/jpn/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "ファイルを検出しています: {0}", "parsing_open_files": "開いているファイルを解析しています", "tag_parser_initializing": "タグ パーサーの初期化中", - "parsing_paused": "解析が一時停止されました", - "parsing_files": "ファイルを解析しています: {0}", + "parsing_paused": "ワークスペースの解析が一時停止されました", + "parsing_files": "ワークスペース ファイルを解析しています: {0}", "discovering_files_count_progress": "ファイルを検出しています: {0}/{1} ({2}%)", - "parsing_files_progress": "ファイルを解析しています: {0}/{1} ({2}%)", + "parsing_files_progress": "ワークスペース ファイルを解析しています: {0} / {1} ({2}%)", "cant_find_or_run_process": "process_name が見つからないか、実行できません", "child_exec_failed": "子の exec が失敗しました {0}", "could_not_communicate_with_child_process": "子プロセスと通信できませんでした。", diff --git a/Extension/i18n/jpn/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/jpn/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..359acf8323 --- /dev/null +++ b/Extension/i18n/jpn/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Linux でお使いの C++ ファイルを実行してデバッグする", + "walkthrough.linux.run.and.debug.your.file": "VS Code でお使いの C++ ファイルを実行およびデバッグするには、次の操作に従います。", + "walkthrough.linux.instructions1": "実行してデバッグする C++ ソース ファイルを開きます。エディターで、このファイルがアクティブ (現在表示され、選択されている) であることを確認してください。", + "walkthrough.linux.press.f5": "{0} を押します。あるいは、メイン メニューで {1} を選択します。", + "walkthrough.linux.run": "実行", + "walkthrough.linux.start.debugging": "デバッグの開始", + "walkthrough.linux.select.compiler": "{0} を選択します。", + "walkthrough.linux.choose.build.active.file": "{0} を選択します。", + "walkthrough.linux.build.and.debug.active.file": "アクティブ ファイルのビルドとデバッグ", + "walkthrough.linux.after.running": "C++ ファイルを最初に実行してデバッグした後、プロジェクトの {0} フォルダーの内部に {1} と {2} の 2 つの新しいファイルがあることがわかります。", + "walkthrough.linux.for.more.complex": "より複雑なビルドとデバッグのシナリオについて、{0} と {1} でビルド タスクとデバッグ設定をカスタマイズできます。たとえば、コマンド ラインでのビルド時、通常コンパイラに引数を渡す場合、{3} プロパティを使用して {2} でそれらの引数を指定することができます。同様に、デバッグ時にプログラムに渡す引数を {4} で定義することができます。" +} \ No newline at end of file diff --git a/Extension/i18n/jpn/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/jpn/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..2ac1da16d2 --- /dev/null +++ b/Extension/i18n/jpn/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "MacOS でお使いの C++ ファイルを実行してデバッグする", + "walkthrough.mac.run.and.debug.your.file": "VS Code でお使いの C++ ファイルを実行およびデバッグするには、次の操作に従います。", + "walkthrough.mac.instructions1": "実行してデバッグする C++ ソース ファイルを開きます。エディターで、このファイルがアクティブ (現在表示され、選択されている) であることを確認してください。", + "walkthrough.mac.press.f5": "{0} を押します。あるいは、メイン メニューで {1} を選択します。", + "walkthrough.mac.run": "実行", + "walkthrough.mac.start.debugging": "デバッグの開始", + "walkthrough.mac.select.compiler": "{0} を選択します。", + "walkthrough.mac.choose.build.active.file": "{0} を選択します。", + "walkthrough.mac.build.and.debug.active.file": "アクティブ ファイルのビルドとデバッグ", + "walkthrough.mac.after.running": "C++ ファイルを最初に実行してデバッグした後、プロジェクトの {0} フォルダーの内部に {1} と {2} の 2 つの新しいファイルがあることがわかります。", + "walkthrough.mac.for.more.complex": "より複雑なビルドとデバッグのシナリオについて、{0} と {1} でビルド タスクとデバッグ設定をカスタマイズできます。たとえば、コマンド ラインでのビルド時、通常コンパイラに引数を渡す場合、{3} プロパティを使用して {2} でそれらの引数を指定することができます。同様に、デバッグ時にプログラムに渡す引数を {4} で定義することができます。" +} \ No newline at end of file diff --git a/Extension/i18n/jpn/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/jpn/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..9f8ee20a98 --- /dev/null +++ b/Extension/i18n/jpn/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Windows でお使いの C++ ファイルを実行してデバッグする", + "walkthrough.mac.run.and.debug.your.file": "VS Code でお使いの C++ ファイルを実行およびデバッグするには、次の操作に従います。", + "walkthrough.mac.instructions1": "実行してデバッグする C++ ソース ファイルを開きます。エディターで、このファイルがアクティブ (現在表示され、選択されている) であることを確認してください。", + "walkthrough.mac.press.f5": "{0} を押します。あるいは、メイン メニューで {1} を選択します。", + "walkthrough.mac.run": "実行", + "walkthrough.mac.start.debugging": "デバッグの開始", + "walkthrough.mac.select.compiler": "{0} を選択します。", + "walkthrough.mac.choose.build.active.file": "{0} を選択します。", + "walkthrough.windows.build.and.debug.active.file": "アクティブ ファイルのビルドとデバッグ", + "walkthrough.mac.after.running": "C++ ファイルを最初に実行してデバッグした後、プロジェクトの {0} フォルダーの内部に {1} と {2} の 2 つの新しいファイルがあることがわかります。", + "walkthrough.mac.for.more.complex": "より複雑なビルドとデバッグのシナリオについて、{0} と {1} でビルド タスクとデバッグ設定をカスタマイズできます。たとえば、コマンド ラインでのビルド時、通常コンパイラに引数を渡す場合、{3} プロパティを使用して {2} でそれらの引数を指定することができます。同様に、デバッグ時にプログラムに渡す引数を {4} で定義することができます。" +} \ No newline at end of file diff --git a/Extension/i18n/jpn/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/jpn/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..d5e801c525 --- /dev/null +++ b/Extension/i18n/jpn/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "macOS で C++ コンパイラをインストールする", + "walkthough.mac.text1": "macOS 向け C++ 開発を行っている場合は、Clang コンパイラをインストールすることをお勧めします。コマンド ライン開発者ツールをインストールするのに必要な操作は、ターミナル ウィンドウで以下のコマンドを実行するだけです。", + "walkthough.mac.text2": "次に、Clang がインストールされていることを確認するために、ターミナル ウィンドウで次のコマンドを実行します。使用している Clang のバージョンに関する情報を含むメッセージが表示されます。" +} \ No newline at end of file diff --git a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..0e65f53d28 --- /dev/null +++ b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Windows で C++ コンパイラをインストールする", + "walkthrough.windows.text1": "Windows 向け C++ 開発を実行している場合は、Microsoft Visual C++ (MSVC) コンパイラ ツールセットをインストールすることをお勧めします。 Windows で Linux を対象にしている場合は、{0} を確認してください。あるいは、{1} することもできます。", + "walkthrough.windows.link.title1": "VS Code で C++ と Windows Subsystem for Linux (WSL) を使用する", + "walkthrough.windows.link.title2": "MinGW を使用して Windows で GCC をインストールする", + "walkthrough.windows.text2": "MSVC をインストールするには、Visual Studio {1} ページから {0} をダウンロードします。", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "ダウンロード", + "walkthrough.windows.text3": "Visual Studio インストーラーで {0} ワークロードを確認し、{1} を選択します。", + "walkthrough.windows.build.tools2": "C++ Build Tools", + "walkthrough.windows.link.install": "インストール", + "walkthrough.windows.note1": "メモ", + "walkthrough.windows.note1.text": "有効な Visual Studio ライセンス (Community、Pro、Enterprise のいずれか) があり、その C++ コードベースの開発に積極的に使用している場合は、Visual Studio Build Tools の C++ ツールセットを Visual Studio Code と合わせて使用して、C++ コードベースのコンパイル、ビルド、および検証を行うことができます。", + "walkthrough.windows.open.command.prompt": "Windows スタート メニューに '開発者' と入力して、{0} を開きます。", + "walkthrough.windows.command.prompt.name1": "VS 向け開発者コマンド プロンプト", + "walkthrough.windows.check.install": "VS の開発者コマンド プロンプトに {0} を入力して、MSVC インストールを確認します。バージョンと基本的な使用法の説明とともに、著作権に関するメッセージが表示されます。", + "walkthrough.windows.note2": "メモ", + "walkthrough.windows.note2.text": "コマンド ラインまたは VS Code で MSVC を使用するには、{0} で実行する必要があります。{1}、{2}、Windows コマンド プロンプトなどの通常のシェルには、必要なパス環境変数が設定されていません。", + "walkthrough.windows.command.prompt.name2": "VS 向け開発者コマンド プロンプト" +} \ No newline at end of file diff --git a/Extension/i18n/jpn/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/jpn/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..f714487835 --- /dev/null +++ b/Extension/i18n/jpn/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Linux で C++ コンパイラをインストールする", + "walkthrough.linux.text1": "Linux に C++ の開発を行う場合は、GCC コンパイラのインストールをお勧めします。GCC のインストールは簡単で、以下の 3 つの手順に従うだけです。", + "walkthrough.linux.text2": "ターミナル ウィンドウで次のコマンドを実行すると、Ubuntu のパッケージ リストが更新されます。Linux ディストリビューションが以前のバージョンである場合は、新しいパッケージのインストールに支障をきたす場合があります。", + "walkthrough.linux.text3": "以下のコマンドを使用して、GNU コンパイラ ツールと GDB デバッガーをインストールします。", + "walkthrough.linux.text4": "次のコマンドを実行して、GCC がインストールされていることを確認します。著作権に関するメッセージと、使用している GCC のバージョンに関する情報が表示されます。" +} \ No newline at end of file diff --git a/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json index 4974b47efc..bbb519890a 100644 --- a/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json @@ -21,7 +21,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "생성된 기호 데이터베이스의 경로입니다. 상대 경로가 지정된 경우 작업 영역의 기본 스토리지 위치에 대해 상대적으로 만들어집니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "작업 영역 기호의 인덱싱 및 구문 분석에 사용할 경로의 목록입니다(정의로 이동, 모든 참조 찾기 등에서 사용). 이 경로에서 검색하는 작업은 기본적으로 재귀 작업입니다. 비재귀 검색을 나타내려면 '*'를 지정하세요. 예를 들어 '${workspaceFolder}'은(는) 모든 하위 디렉터리를 검색하지만 '${workspaceFolder}/*'는 그러지 않습니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "launch.json 또는 tasks.json의 입력 변수에 사용하기 위해 ${cpptools:activeConfigCustomVariable} 명령을 통해 쿼리할 수 있는 사용자 지정 변수입니다.", - "c_cpp_properties.schema.json.definitions.env": "${변수} 또는 ${환경 변수} 구문을 사용하여 이 파일 내 어디서나 재사용할 수 있는 사용자 지정 변수입니다.", + "c_cpp_properties.schema.json.definitions.env": "${변수} 또는 ${env:변수} 구문을 사용하여 이 파일 내 어디서나 재사용할 수 있는 사용자 지정 변수입니다.", "c_cpp_properties.schema.json.definitions.version": "구성 파일의 버전입니다. 이 속성은 확장에서 관리합니다. 변경하지 마세요.", "c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "확장이 c_cpp_properties.json에서 탐지된 오류를 보고하도록 할지를 제어합니다." } \ No newline at end of file diff --git a/Extension/i18n/kor/package.i18n.json b/Extension/i18n/kor/package.i18n.json index ad4b6f73b9..945c492e60 100644 --- a/Extension/i18n/kor/package.i18n.json +++ b/Extension/i18n/kor/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "서식 엔진을 구성합니다.", "c_cpp.configuration.formatting.clangFormat.description": "코드 서식을 지정하는 데 clang-format이 사용됩니다.", "c_cpp.configuration.formatting.vcFormat.description": "코드 서식을 지정하는 데 Visual C++ 서식 엔진이 사용됩니다.", - "c_cpp.configuration.formatting.Default.description": "코드 서식을 지정하는 데 clang-format이 사용됩니다.", + "c_cpp.configuration.formatting.Default.description": "기본적으로 clang 형식이 코드 형식에 사용되지만 관련 설정을 가진 .editorconfig 파일이 포맷 중인 코드에 가까이 있고 clang_format_style이 기본값인 'file'인 경우 Visual C++ 형식 지정 엔진이 사용됩니다.", "c_cpp.configuration.formatting.Disabled.description": "코드 서식을 사용하지 않도록 설정됩니다.", "c_cpp.configuration.vcFormat.indent.braces.description": "편집기: 탭 크기 설정에 지정된 수만큼 중괄호를 들여씁니다.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "새 줄 들여쓰기의 기준을 결정합니다.", diff --git a/Extension/i18n/kor/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/kor/src/Debugger/configurationProvider.i18n.json index 9511146997..bd3893cfda 100644 --- a/Extension/i18n/kor/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/kor/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "기본 구성", "select.configuration": "구성을 선택합니다.", + "debug.configuration.selection.canceled": "디버그 구성 선택 취소됨", "cl.exe.not.available": "{0} 빌드 및 디버그는 VS의 개발자 명령 프롬프트에서 VS Code를 실행하는 경우에만 사용할 수 있습니다.", "miDebuggerPath.not.available": "miDebuggerPath가 없습니다. {0}. 디버거가 설치되었습니까?", "debugger.deprecated.config": "'{0}' 키는 사용되지 않습니다. 대신 '{1}'을(를) 사용하세요.", diff --git a/Extension/i18n/kor/src/LanguageServer/client.i18n.json b/Extension/i18n/kor/src/LanguageServer/client.i18n.json index 92c9363c5a..0a03de8876 100644 --- a/Extension/i18n/kor/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "C/C++ 언어 서버를 시작할 수 없습니다. IntelliSense 기능을 사용할 수 없습니다. 오류: {0}", "check.permissions": "EPERM: '{0}'에 대한 사용 권한 확인", "server.crashed2": "지난 3분 동안 언어 서버에서 크래시가 5회 발생했습니다. 다시 시작되지 않습니다.", + "loggingLevel.changed": "{0}이(가) {1}(으)로 변경되었습니다.", "provider.configure.folder": "{0}이(가) '{1}' 폴더에 IntelliSense를 구성하려고 합니다.", "provider.configure.this.folder": "{0}이(가) 이 폴더에 IntelliSense를 구성하려고 합니다.", "allow.button": "허용", @@ -35,6 +36,5 @@ "configurations.received": "사용자 지정 구성이 수신됨:", "browse.configuration.received": "사용자 지정 찾아보기 구성이 수신됨: {0}", "no.compilers.found": "C++시스템에서 컴파일러를 찾을 수 없습니다. 플랫폼의 경우 편집기의 지침을 사용하여 {0}을(를) 설치하는 것이 좋습니다.", - "compilers.found": "시스템에서 다음 C++ 컴파일러를 찾았습니다.", - "compilers.found.message": "프로젝트의 IntelliSense 구성에서 사용할 컴파일러를 지정할 수 있습니다." + "compilers.found": "시스템에서 다음 C++ 컴파일러를 찾았습니다. 프로젝트의 IntelliSense 구성에서 컴파일러를 선택합니다." } \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/settings.i18n.json b/Extension/i18n/kor/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..ff4d9e7dea --- /dev/null +++ b/Extension/i18n/kor/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "코드 형식이 .clang 형식 대신 .editorconfig의 설정을 사용합니다. 자세한 내용은 'C_Cpp.formatting' 설정의 'Default' 값에 대한 설명서를 참조하세요." +} \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/ui.i18n.json b/Extension/i18n/kor/src/LanguageServer/ui.i18n.json index f1ef4db899..732a70f0e9 100644 --- a/Extension/i18n/kor/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "열린 파일을 구문 분석하는 중", "click.to.preview": "결과를 미리 보려면 클릭", + "updating.intellisense.tooltip": "IntelliSense를 업데이트하는 중", + "select.command": "명령 선택...", "c.cpp.configuration.tooltip": "C/C++ 구성", - "updating.intellisense.tooltip": "IntelliSense를 업데이트하는 중...", - "discovering.files.tooltip": "파일을 검색하는 중...", + "c.cpp.references.statusbar": "C/C++ 참조 상태", + "c.cpp.intellisense.statusbar": "C/C++ IntelliSense 상태", + "c.cpp.tagparser.statusbar": "C/C++ 태그 파서 상태", + "discovering.files.tooltip": "파일을 검색하는 중", + "running.analysis.tooltip": "{0} 실행 중", "select.a.configuration": "구성 선택...", "edit.configuration.ui": "구성 편집(UI)", "edit.configuration.json": "구성 편집(JSON)", @@ -17,7 +23,9 @@ "disable.configuration.provider": "해당하는 경우 활성 구성 공급자를 사용하지 않도록 설정합니다.", "select.compile.commands": "compile_commands.json 선택...", "select.workspace": "작업 영역 폴더 선택...", - "select.parsing.command": "구문 분석 명령 선택...", - "resume.parsing": "구문 분석 다시 시작", - "pause.parsing": "구문 분석 일시 중지" + "resume.parsing": "작업 영역 구문 분석 다시 시작", + "pause.parsing": "작업 영역 구문 분석 일시 중지", + "cancel.analysis": "{0} 취소", + "resume.analysis": "{0} 다시 시작", + "pause.analysis": "{0} 일시 중지" } \ No newline at end of file diff --git a/Extension/i18n/kor/src/main.i18n.json b/Extension/i18n/kor/src/main.i18n.json index 109ad81c3d..6f33b2e7fb 100644 --- a/Extension/i18n/kor/src/main.i18n.json +++ b/Extension/i18n/kor/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "이 확장의 {0} {1} 버전은 OS와 호환되지 않습니다. 확장의 \"{2}\" 버전을 다운로드하여 설치하세요.", "extension.installation.failed": "C/C++ 확장을 설치하지 못했습니다. C/C++ 언어 기능이 제대로 작동하려면 확장을 복구하거나 다시 설치해야 합니다.", "remove.extension": "복구 시도", - "jason.files.missing": "C/C++ 확장을 설치하지 못했습니다. C/C++ 언어 기능이 제대로 작동하려면 확장을 다시 설치해야 합니다.", + "json.files.missing": "C/C++ 확장을 설치하지 못했습니다. C/C++ 언어 기능이 제대로 작동하려면 확장을 다시 설치해야 합니다.", "initialization.failed": "C/C++ 확장을 설치하지 못했습니다. 자세한 내용은 출력 창을 참조하세요.", "updating.dependencies": "C/C++ 종속성을 업데이트하는 중...", - "rename.failed.delete.manually": "오류: fs.rename이 \"{0}\"과(와) 함께 실패했습니다. {1}을(를) 수동으로 삭제하여 디버깅을 사용하도록 설정합니다.", "failed.at.stage": "{0} 단계에서 실패", "failed.at.stage2": "오프라인 환경에서 작업하거나 이 오류가 반복적으로 표시되면 {0}에서 모든 종속성이 미리 포함된 확장 버전을 다운로드한 다음, VS Code에서 \"VSIX에서 설치\" 명령을 사용하여 확장을 설치합니다.", "finished.installing.dependencies": "종속성 설치를 완료했습니다.", diff --git a/Extension/i18n/kor/src/nativeStrings.i18n.json b/Extension/i18n/kor/src/nativeStrings.i18n.json index 8712fecea4..af4aa773e4 100644 --- a/Extension/i18n/kor/src/nativeStrings.i18n.json +++ b/Extension/i18n/kor/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "파일 검색 중: {0}", "parsing_open_files": "열린 파일을 구문 분석하는 중", "tag_parser_initializing": "태그 파서를 초기화하는 중", - "parsing_paused": "구문 분석이 일시 중지됨", - "parsing_files": "파일을 구문 분석하는 중: {0}", + "parsing_paused": "작업 영역 구문 분석 일시 중지됨", + "parsing_files": "작업 영역 파일 구문 분석 중: {0}", "discovering_files_count_progress": "파일 검색 중: {0}/{1}({2}%)", - "parsing_files_progress": "파일을 구문 분석하는 중: {0}/{1}({2}%)", + "parsing_files_progress": "작업 영역 파일 구문 분석: {0}/{1}({2}%)", "cant_find_or_run_process": "process_name을 찾거나 실행할 수 없습니다.", "child_exec_failed": "자식 실행 실패 {0}", "could_not_communicate_with_child_process": "자식 프로세스와 통신할 수 없습니다.", diff --git a/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..a6af2a0ae5 --- /dev/null +++ b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Linux에서 C++ 파일 실행 및 디버그", + "walkthrough.linux.run.and.debug.your.file": "VS Code에서 C++ 파일을 실행하고 디버그하려면:", + "walkthrough.linux.instructions1": "실행하고 디버그할 C++ 원본 파일을 엽니다. 이 파일이 편집기에서 활성화되어 있는지(현재 표시되고 선택되어 있는지) 확인하세요.", + "walkthrough.linux.press.f5": "{0}을(를) 누릅니다. 또는 기본 메뉴에서 {1}을(를) 선택합니다.", + "walkthrough.linux.run": "운영", + "walkthrough.linux.start.debugging": "디버깅 시작", + "walkthrough.linux.select.compiler": "{0}을(를) 선택합니다.", + "walkthrough.linux.choose.build.active.file": "{0}을(를) 선택합니다.", + "walkthrough.linux.build.and.debug.active.file": "활성 파일 빌드 및 디버그", + "walkthrough.linux.after.running": "처음으로 C++ 파일을 실행하고 디버깅한 후 프로젝트의 {0} 폴더 안에 {1} 및 {2}(이)라는 두 개의 새 파일이 있음을 알 수 있습니다.", + "walkthrough.linux.for.more.complex": "더 복잡한 빌드 및 디버그 시나리오의 경우 {0} 및 {1}에서 빌드 작업 및 디버그 구성을 사용자 지정할 수 있습니다. 예를 들어 명령줄에서 빌드할 때 일반적으로 컴파일러에 인수를 전달하는 경우 {3} 속성을 사용하여 {2}에서 해당 인수를 지정할 수 있습니다. 마찬가지로 {4}에서 디버깅을 위해 프로그램에 전달할 인수를 정의할 수 있습니다." +} \ No newline at end of file diff --git a/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..0bd47108d9 --- /dev/null +++ b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "macOS에서 C++ 파일 실행 및 디버그", + "walkthrough.mac.run.and.debug.your.file": "VS Code에서 C++ 파일을 실행하고 디버그하려면:", + "walkthrough.mac.instructions1": "실행하고 디버그할 C++ 원본 파일을 엽니다. 이 파일이 편집기에서 활성화되어 있는지(현재 표시되고 선택되어 있는지) 확인하세요.", + "walkthrough.mac.press.f5": "{0}을(를) 누릅니다. 또는 기본 메뉴에서 {1}을(를) 선택합니다.", + "walkthrough.mac.run": "운영", + "walkthrough.mac.start.debugging": "디버깅 시작", + "walkthrough.mac.select.compiler": "{0}을(를) 선택합니다.", + "walkthrough.mac.choose.build.active.file": "{0}을(를) 선택합니다.", + "walkthrough.mac.build.and.debug.active.file": "활성 파일 빌드 및 디버그", + "walkthrough.mac.after.running": "처음으로 C++ 파일을 실행하고 디버깅한 후 프로젝트의 {0} 폴더 안에 {1} 및 {2}(이)라는 두 개의 새 파일이 있음을 알 수 있습니다.", + "walkthrough.mac.for.more.complex": "더 복잡한 빌드 및 디버그 시나리오의 경우 {0} 및 {1}에서 빌드 작업 및 디버그 구성을 사용자 지정할 수 있습니다. 예를 들어 명령줄에서 빌드할 때 일반적으로 컴파일러에 인수를 전달하는 경우 {3} 속성을 사용하여 {2}에서 해당 인수를 지정할 수 있습니다. 마찬가지로 {4}에서 디버깅을 위해 프로그램에 전달할 인수를 정의할 수 있습니다." +} \ No newline at end of file diff --git a/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..ebfa71735c --- /dev/null +++ b/Extension/i18n/kor/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Windows에서 C++ 파일 실행 및 디버그", + "walkthrough.mac.run.and.debug.your.file": "VS Code에서 C++ 파일을 실행하고 디버그하려면:", + "walkthrough.mac.instructions1": "실행하고 디버그할 C++ 원본 파일을 엽니다. 이 파일이 편집기에서 활성화되어 있는지(현재 표시되고 선택되어 있는지) 확인하세요.", + "walkthrough.mac.press.f5": "{0}을(를) 누릅니다. 또는 기본 메뉴에서 {1}을(를) 선택합니다.", + "walkthrough.mac.run": "운영", + "walkthrough.mac.start.debugging": "디버깅 시작", + "walkthrough.mac.select.compiler": "{0}을(를) 선택합니다.", + "walkthrough.mac.choose.build.active.file": "{0}을(를) 선택합니다.", + "walkthrough.windows.build.and.debug.active.file": "활성 파일 빌드 및 디버그", + "walkthrough.mac.after.running": "처음으로 C++ 파일을 실행하고 디버깅한 후 프로젝트의 {0} 폴더 안에 {1} 및 {2}(이)라는 두 개의 새 파일이 있음을 알 수 있습니다.", + "walkthrough.mac.for.more.complex": "더 복잡한 빌드 및 디버그 시나리오의 경우 {0} 및 {1}에서 빌드 작업 및 디버그 구성을 사용자 지정할 수 있습니다. 예를 들어 명령줄에서 빌드할 때 일반적으로 컴파일러에 인수를 전달하는 경우 {3} 속성을 사용하여 {2}에서 해당 인수를 지정할 수 있습니다. 마찬가지로 {4}에서 디버깅을 위해 프로그램에 전달할 인수를 정의할 수 있습니다." +} \ No newline at end of file diff --git a/Extension/i18n/kor/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/kor/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..04d0db087a --- /dev/null +++ b/Extension/i18n/kor/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "macOS에 C++ 컴파일러 설치", + "walkthough.mac.text1": "macOS용 C++ 개발을 하는 경우 Clang 컴파일러를 설치하는 것이 좋습니다. 터미널 창에서 다음 명령을 실행하여 명령줄 개발자 도구를 설치하기만 하면 됩니다.", + "walkthough.mac.text2": "그런 다음 Clang이 설치되었는지 확인하려면 터미널 창에서 다음 명령을 실행합니다. 사용 중인 Clang 버전에 대한 정보가 포함된 메시지가 표시되어야 합니다." +} \ No newline at end of file diff --git a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..bf2d63dcb1 --- /dev/null +++ b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Windows에 C++ 컴파일러 설치", + "walkthrough.windows.text1": "Windows용 C++ 개발을 수행하는 경우 MSVC(Microsoft Visual C++) 컴파일러 도구 집합을 설치하는 것이 좋습니다. Windows에서 Linux를 대상으로 하는 경우 {0}을(를) 확인하세요. 또는 {1}할 수 있습니다.", + "walkthrough.windows.link.title1": "VS Code에서 C++ 및 Linux용 Windows 하위 시스템(WSL) 사용", + "walkthrough.windows.link.title2": "MinGW로 Windows에 GCC 설치", + "walkthrough.windows.text2": "MSVC를 설치하려면 Visual Studio {1} 페이지에서 {0}을(를) 다운로드합니다.", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "다운로드", + "walkthrough.windows.text3": "Visual Studio 설치 프로그램에서 {0} 워크로드를 확인하고 {1}을(를) 선택합니다.", + "walkthrough.windows.build.tools2": "C++ 빌드 도구", + "walkthrough.windows.link.install": "설치", + "walkthrough.windows.note1": "메모", + "walkthrough.windows.note1.text": "현재 C++ 코드베이스를 개발하는 데 적극적으로 사용 중인 유효한 Visual Studio 라이선스(Community, Pro 또는 Enterprise)가 있는 한 Visual Studio Build Tools의 C++ 도구 집합을 Visual Studio Code와 함께 사용하여 모든 C++ 코드베이스를 컴파일, 빌드 및 확인할 수 있습니다.", + "walkthrough.windows.open.command.prompt": "Windows 시작 메뉴에서 '개발자'를 입력하여 {0}을(를) 엽니다.", + "walkthrough.windows.command.prompt.name1": "VS용 개발자 명령 프롬프트", + "walkthrough.windows.check.install": "VS용 개발자 명령 프롬프트에 {0}을(를) 입력하여 MSVC 설치를 확인합니다. 버전 및 기본 사용 설명과 함께 저작권 메시지가 표시되어야 합니다.", + "walkthrough.windows.note2": "메모", + "walkthrough.windows.note2.text": "명령줄 또는 VS Code에서 MSVC를 사용하려면 {0}에서 실행해야 합니다. {1}, {2} 또는 Windows 명령 프롬프트와 같은 일반 셸에는 필요한 경로 환경 변수가 설정되어 있지 않습니다.", + "walkthrough.windows.command.prompt.name2": "VS용 개발자 명령 프롬프트" +} \ No newline at end of file diff --git a/Extension/i18n/kor/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/kor/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..606ca57a04 --- /dev/null +++ b/Extension/i18n/kor/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Linux에 C++ 컴파일러 설치", + "walkthrough.linux.text1": "Linux용 C++ 개발을 하는 경우 GCC 컴파일러를 설치하는 것이 좋습니다. GCC 설치 작업은 간단합니다. 다음 세 단계를 따르세요.", + "walkthrough.linux.text2": "터미널 창에서 다음 명령을 실행하여 Ubuntu 패키지 목록을 업데이트합니다. 구식 Linux 배포판은 경우에 따라 새 패키지를 설치하려는 시도에 방해가 될 수 있습니다.", + "walkthrough.linux.text3": "다음 명령을 사용하여 GNU 컴파일러 도구와 GDB 디버거를 설치하세요.", + "walkthrough.linux.text4": "다음 명령을 실행하여 GCC가 설치되었는지 확인합니다. 사용 중인 GCC 버전에 대한 저작권 메시지와 정보가 표시되어야 합니다." +} \ No newline at end of file diff --git a/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json index 57dc6589dc..9175fcae21 100644 --- a/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json @@ -20,7 +20,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "Wartość true, aby przetwarzać tylko pliki bezpośrednio lub pośrednio dołączone jako nagłówki. Wartość false, aby przetwarzać wszystkie pliki w określonych ścieżkach dołączania.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Ścieżka do generowanej bazy danych symboli. Jeśli zostanie określona ścieżka względna, będzie to ścieżka względem domyślnej lokalizacji magazynowania obszaru roboczego.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Lista ścieżek używanych do indeksowania i analizowania symboli obszaru roboczego (używana m.in. przez funkcje Przejście do definicji, Znajdowanie wszystkich odwołań). Wyszukiwanie na tych ścieżkach jest domyślnie rekursywne. Za pomocą znaku „*” możesz oznaczyć wyszukiwanie jako nierekursywne. Na przykład „${workspaceFolder}” przeszukuje wszystkie podkatalogi, a „${workspaceFolder}/*” już nie.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Zmienne niestandardowe, względem których można wykonywać zapytania za pomocą polecenia ${cpptools:activeConfigCustomVariable}, aby użyć ich na potrzeby zmiennych wejściowych w plikach launch.js lub tasks.js.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Zmienne niestandardowe, względem których można wykonywać zapytania za pomocą polecenia ${cpptools:activeConfigCustomVariable}, aby użyć ich na potrzeby zmiennych wejściowych w plikach launch.json lub tasks.json.", "c_cpp_properties.schema.json.definitions.env": "Zmienne niestandardowe, których można używać ponownie w dowolnym miejscu tego pliku przy użyciu składni ${zmienna} lub ${env:zmienna}.", "c_cpp_properties.schema.json.definitions.version": "Wersja pliku konfiguracji. Tą właściwością zarządza rozszerzenie. Nie zmieniaj jej.", "c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "Określa, czy rozszerzenie będzie raportować błędy wykryte w pliku c_cpp_properties.json." diff --git a/Extension/i18n/plk/package.i18n.json b/Extension/i18n/plk/package.i18n.json index 8bd959f14e..058840d36b 100644 --- a/Extension/i18n/plk/package.i18n.json +++ b/Extension/i18n/plk/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "Konfiguruje aparat formatowania", "c_cpp.configuration.formatting.clangFormat.description": "Do formatowania kodu będzie używane narzędzie clang-format.", "c_cpp.configuration.formatting.vcFormat.description": "Do formatowania kodu będzie używany aparat formatowania języka Visual C++.", - "c_cpp.configuration.formatting.Default.description": "Do formatowania kodu będzie używane narzędzie clang-format.", + "c_cpp.configuration.formatting.Default.description": "Domyślnie do formatowania kodu zostanie użyty format Clang. Niemniej jednak aparat formatowania Visual C++ będzie używany, jeśli plik .editorconfig z odpowiednimi ustawieniami zostanie znaleziony bliżej formatowanego kodu, a clang_format_style jest wartością domyślną: „file”.", "c_cpp.configuration.formatting.Disabled.description": "Formatowanie kodu zostanie wyłączone.", "c_cpp.configuration.vcFormat.indent.braces.description": "Dla nawiasów klamrowych jest stosowane wcięcie według liczby określonej w ustawieniu Edytor: rozmiar tabulatora.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Określa element, względem którego jest ustalane wcięcie nowego wiersza", @@ -117,8 +117,8 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "Dowolny kod, w którym otwierający i zamykający nawias klamrowy został wprowadzony w jednym wierszu, jest pozostawiany w jednym wierszu, niezależnie od wartości ustawień Format VC: nowy wiersz", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Bloki kodu są zawsze formatowane na podstawie wartości ustawień Format VC: nowy wiersz", "c_cpp.configuration.clang_format_path.description": "Pełna ścieżka do pliku wykonywalnego narzędzia clang-format. Jeśli nie zostanie ona określona, a narzędzie clang-format będzie dostępne w ścieżce środowiska, to zostanie ono użyte. Jeśli narzędzie clang-format nie zostanie znalezione w ścieżce środowiska, zostanie użyta jego kopia dołączona do rozszerzenia.", - "c_cpp.configuration.clang_format_style.description": "Styl kodowania. Obecnie obsługiwane: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Użyj elementu „file”, aby załadować styl z pliku clang-format znajdującego się w bieżącym lub nadrzędnym katalogu. Użyj ciągu {klucz: wartość,...}, aby ustawić określone parametry. Na przykład styl „Visual Studio” jest podobny do następującego: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", - "c_cpp.configuration.clang_format_fallbackStyle.description": "Nazwa wstępnie zdefiniowanego stylu używana jako alternatywa w przypadku, gdy plik CLANG-FORMAT zostanie wywołany przy użyciu stylu „file”, ale plik ten nie zostanie odnaleziony. Możliwe wartości to Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit; można również użyć pustej wartość lub użyć ciągu {klucz: wartość, ...}, aby określić konkretne parametry. Na przykład styl „Visual Studio” jest podobny do następującego: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_style.description": "Styl kodowania. Obecnie obsługiwane: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Użyj elementu „file”, aby załadować styl z pliku .clang-format znajdującego się w bieżącym lub nadrzędnym katalogu. Użyj ciągu {klucz: wartość,...}, aby ustawić określone parametry. Na przykład styl „Visual Studio” jest podobny do następującego: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_fallbackStyle.description": "Nazwa wstępnie zdefiniowanego stylu używana jako alternatywa w przypadku, gdy plik clang-format zostanie wywołany przy użyciu stylu „file”, ale plik ten nie zostanie odnaleziony. Możliwe wartości to Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit; można również użyć pustej wartość lub użyć ciągu {klucz: wartość, ...}, aby określić konkretne parametry. Na przykład styl „Visual Studio” jest podobny do następującego: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "Jeśli jest ustawione, zastępuje zachowanie sortowania dołączanych elementów określone za pomocą parametru SortIncludes.", "c_cpp.configuration.intelliSenseEngine.description": "Określa dostawcę funkcji IntelliSense. „Parser tagów” udostępnia „rozmyte” wyniki, które nie są oparte na kontekście. Wartość „domyślne” udostępnia wyniki oparte na kontekście. Wartość „Wyłączone” wyłącza funkcje usługi języka C/C++.", "c_cpp.configuration.intelliSenseEngineFallback.description": "Określa, czy aparat IntelliSense automatycznie przełączy się na parser znaczników dla jednostek translacji zawierających błędy dyrektywy #include.", @@ -171,7 +171,7 @@ "c_cpp.configuration.addNodeAddonIncludePaths.description": "Dodaj ścieżki dołączania z bibliotek nan i node-addon-api, gdy są one zależnościami.", "c_cpp.configuration.renameRequiresIdentifier.description": "Jeśli ma wartość true, operacja „Zmień nazwę symbolu” będzie wymagać prawidłowego identyfikatora C/C++.", "c_cpp.configuration.autocompleteAddParentheses.description": "W przypadku podania wartości true Autouzupełnianie będzie automatycznie dodawać znak „(” po wywołaniach funkcji, co może też powodować dodawanie znaku „)” w zależności od ustawienia „editor.autoClosingBrackets”.", - "c_cpp.configuration.filesExclude.description": "Skonfiguruj wzorce globalne do wykluczania folderów (i plików, jeśli zostanie zmienione ustawienie „C_Cpp.exclusionPolicy”). Są one charakterystyczne dla rozszerzenia C/C++ i występują poza ustawieniem „files. exclude”, ale w przeciwieństwie do tego ustawienia nie można ich usuwać z widoku Eksploratora. Przeczytaj więcej na temat wzorców globalnych [tutaj](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", + "c_cpp.configuration.filesExclude.description": "Skonfiguruj wzorce globalne do wykluczania folderów (i plików, jeśli zostanie zmienione ustawienie „C_Cpp.exclusionPolicy”). Są one charakterystyczne dla rozszerzenia C/C++ i występują poza ustawieniem „files.exclude”, ale w przeciwieństwie do tego ustawienia nie można ich usuwać z widoku Eksploratora. Przeczytaj więcej na temat wzorców globalnych [tutaj](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", "c_cpp.configuration.filesExcludeBoolean.description": "Wzorzec globalny do dopasowywania ścieżek do plików. Aby włączyć lub wyłączyć wzorzec, ustaw wartość true lub false.", "c_cpp.configuration.filesExcludeWhen.description": "Dodatkowe sprawdzenie elementów równorzędnych pasującego pliku. Użyj ciągu $(basename) jako zmiennej dla nazwy pasującego pliku.", "c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "Jeśli wartość będzie równa true, podstawianie poleceń powłoki debugera będzie używać przestarzałego grawisa (`).", diff --git a/Extension/i18n/plk/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/plk/src/Debugger/configurationProvider.i18n.json index e4897ad4fd..bd8b6c5f16 100644 --- a/Extension/i18n/plk/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/plk/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "Konfiguracja domyślna", "select.configuration": "Wybierz konfigurację", + "debug.configuration.selection.canceled": "Anulowano wybór konfiguracji debugowania", "cl.exe.not.available": "{0} — funkcji kompilacji i debugowania można używać tylko wtedy, gdy program VS Code został uruchomiony z wiersza polecenia dla deweloperów w programie VS.", "miDebuggerPath.not.available": "Element miDebuggerPath nie istnieje: {0}. Czy zainstalowano debuger?", "debugger.deprecated.config": "Klucz „{0}” jest przestarzały. Zamiast niego użyj klucza „{1}”.", diff --git a/Extension/i18n/plk/src/LanguageServer/client.i18n.json b/Extension/i18n/plk/src/LanguageServer/client.i18n.json index 7571ed9087..6662da7244 100644 --- a/Extension/i18n/plk/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/plk/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "Nie można uruchomić serwera języka C/C++. Funkcje IntelliSense zostaną wyłączone. Błąd: {0}", "check.permissions": "EPERM: sprawdź uprawnienia dla elementu „{0}”", "server.crashed2": "W ciągu ostatnich 3 minut awaria serwera języka wystąpiła 5 razy. Nie zostanie on ponownie uruchomiony.", + "loggingLevel.changed": "Poziom {0} zmienił się na: {1}", "provider.configure.folder": "{0} chce skonfigurować funkcję IntelliSense dla folderu „{1}”.", "provider.configure.this.folder": "{0} chce skonfigurować funkcję IntelliSense dla tego folderu.", "allow.button": "Zezwalaj", @@ -35,6 +36,5 @@ "configurations.received": "Odebrano konfiguracje niestandardowe:", "browse.configuration.received": "Odebrano niestandardową konfigurację przeglądania: {0}", "no.compilers.found": "W systemie nie odnaleziono żadnych kompilatorów języka C++. W przypadku Twojej platformy zalecamy zainstalowanie {0} przy użyciu instrukcji w edytorze.", - "compilers.found": "Znaleźliśmy następujące kompilatory C++ w systemie:", - "compilers.found.message": "Możesz określić, który kompilator ma być używany w konfiguracji IntelliSense projektu." + "compilers.found": "Znaleźliśmy następujące kompilatory języka C++ w systemie. Wybierz kompilator w konfiguracji funkcji IntelliSense projektu." } \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/settings.i18n.json b/Extension/i18n/plk/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..32684cbe65 --- /dev/null +++ b/Extension/i18n/plk/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "Formatowanie kodu używa ustawień z pliku .editorconfig zamiast .clang-format. Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą wartości „domyślna” ustawienia „C_Cpp.formatting\"." +} \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/ui.i18n.json b/Extension/i18n/plk/src/LanguageServer/ui.i18n.json index 88de65b4b2..b1d4456309 100644 --- a/Extension/i18n/plk/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/plk/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "Analizowanie otwartych plików", "click.to.preview": "kliknij, aby wyświetlić podgląd wyników", + "updating.intellisense.tooltip": "Aktualizowanie funkcji IntelliSense", + "select.command": "Wybierz polecenie...", "c.cpp.configuration.tooltip": "Konfiguracja języka C/C++", - "updating.intellisense.tooltip": "Trwa aktualizowanie funkcji IntelliSense...", - "discovering.files.tooltip": "Trwa odnajdywanie plików...", + "c.cpp.references.statusbar": "Stan odwołań języka C/C++", + "c.cpp.intellisense.statusbar": "Stan funkcji IntelliSense języka C/C++", + "c.cpp.tagparser.statusbar": "Stan parsera tagów języka C/C++", + "discovering.files.tooltip": "Odnajdowanie plików", + "running.analysis.tooltip": "Wykonywanie {0}", "select.a.configuration": "Wybierz konfigurację...", "edit.configuration.ui": "Edytowanie konfiguracji (interfejs użytkownika)", "edit.configuration.json": "Edytowanie konfiguracji (JSON)", @@ -17,7 +23,9 @@ "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...", - "select.parsing.command": "Wybierz polecenie analizowania...", - "resume.parsing": "Wznów analizowanie", - "pause.parsing": "Wstrzymaj analizowanie" + "resume.parsing": "Wznów analizowanie obszaru roboczego", + "pause.parsing": "Wstrzymaj analizowanie obszaru roboczego", + "cancel.analysis": "Anuluj {0}", + "resume.analysis": "Wznów {0}", + "pause.analysis": "Wstrzymaj {0}" } \ No newline at end of file diff --git a/Extension/i18n/plk/src/main.i18n.json b/Extension/i18n/plk/src/main.i18n.json index 29088786b5..92e4bbded7 100644 --- a/Extension/i18n/plk/src/main.i18n.json +++ b/Extension/i18n/plk/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "Ta wersja rozszerzenia systemu {0} {1} jest niezgodna z Twoim systemem operacyjnym. Pobierz i zainstaluj wersję rozszerzenia „{2}”.", "extension.installation.failed": "Nie można pomyślnie zainstalować rozszerzenia języka C/C++. Aby umożliwić poprawne działanie, należy naprawić lub zainstalować ponownie rozszerzenie dla funkcji języka C/C++.", "remove.extension": "Spróbuj naprawić", - "jason.files.missing": "Nie można pomyślnie zainstalować rozszerzenia języka C/C++. Aby umożliwić poprawne działanie, należy zainstalować ponownie rozszerzenie dla funkcji języka C/C++.", + "json.files.missing": "Nie można pomyślnie zainstalować rozszerzenia języka C/C++. Aby umożliwić poprawne działanie, należy zainstalować ponownie rozszerzenie dla funkcji języka C/C++.", "initialization.failed": "Instalacja rozszerzenia języka C/C++ nie powiodła się. Zobacz okno danych wyjściowych, aby uzyskać więcej informacji.", "updating.dependencies": "Trwa aktualizowanie zależności języka C/C++...", - "rename.failed.delete.manually": "BŁĄD: wystąpił błąd funkcji fs.rename: „{0}”. Usuń element {1} ręcznie, aby włączyć debugowanie.", "failed.at.stage": "Niepowodzenie na etapie: {0}", "failed.at.stage2": "Jeśli pracujesz w środowisku offline lub często widzisz ten błąd, spróbuj pobrać wersję rozszerzenia ze wszystkimi zależnościami wstępnie uwzględnionymi ze strony {0}, a następnie użyj polecenia „Install from VSIX” (Zainstaluj z VSIX) w programie VS Code, aby ją zainstalować.", "finished.installing.dependencies": "Zakończono instalowanie zależności", diff --git a/Extension/i18n/plk/src/nativeStrings.i18n.json b/Extension/i18n/plk/src/nativeStrings.i18n.json index eedfccfb36..eb0bbbb9e3 100644 --- a/Extension/i18n/plk/src/nativeStrings.i18n.json +++ b/Extension/i18n/plk/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "Odnajdowanie plików: {0}", "parsing_open_files": "Analizowanie otwartych plików", "tag_parser_initializing": "Inicjowanie analizatora tagów", - "parsing_paused": "Analizowanie wstrzymane", - "parsing_files": "Analizowanie plików: {0}", + "parsing_paused": "Wstrzymano analizowanie obszaru roboczego", + "parsing_files": "Analizowanie plików obszaru roboczego: {0}", "discovering_files_count_progress": "Odnajdowanie plików: {0}/{1} ({2}%)", - "parsing_files_progress": "Analizowanie plików: {0}/{1} ({2}%)", + "parsing_files_progress": "Analizowanie plików obszaru roboczego: {0} / {1} ({2}%)", "cant_find_or_run_process": "Nie można odnaleźć lub uruchomić procesu process_name", "child_exec_failed": "Nie można uruchomić elementu podrzędnego: {0}", "could_not_communicate_with_child_process": "Nie można nawiązać połączenia z procesem podrzędnym.", diff --git a/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..d8fe509ad3 --- /dev/null +++ b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Uruchom i debuguj plik C++ w systemie Linux", + "walkthrough.linux.run.and.debug.your.file": "Aby uruchomić i debugować plik C++ w programie VS Code:", + "walkthrough.linux.instructions1": "Otwórz plik źródłowy języka C++, który chcesz uruchomić i debugować. Upewnij się, że ten plik jest aktywny (obecnie wyświetlany i zaznaczony) w edytorze.", + "walkthrough.linux.press.f5": "Naciśnij pozycję {0}. Ewentualnie z menu głównego wybierz pozycję {1}.", + "walkthrough.linux.run": "Uruchom", + "walkthrough.linux.start.debugging": "Rozpocznij debugowanie", + "walkthrough.linux.select.compiler": "Wybierz kompilator {0}.", + "walkthrough.linux.choose.build.active.file": "Wybierz kompilację {0}.", + "walkthrough.linux.build.and.debug.active.file": "Kompiluj i debuguj aktywny plik", + "walkthrough.linux.after.running": "Po uruchomieniu i debugowaniu pliku C++ po raz pierwszy zobaczysz dwa nowe pliki w folderze {0} projektu: {1} i {2}.", + "walkthrough.linux.for.more.complex": "W przypadku bardziej złożonych scenariuszy kompilacji i debugowania można dostosować zadania kompilacji i konfiguracje debugowania w pozycjach {0} i {1}. Na przykład jeśli zwykle przekazujesz argumenty do kompilatora podczas kompilowania z poziomu wiersza polecenia, możesz określić te argumenty w pozycji{2} przy użyciu właściwości {3}. Podobnie można zdefiniować argumenty do przekazania do programu na potrzeby debugowania w pozycji{4}." +} \ No newline at end of file diff --git a/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..5eb3b97119 --- /dev/null +++ b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Uruchom i debuguj plik C++ w systemie macOS", + "walkthrough.mac.run.and.debug.your.file": "Aby uruchomić i debugować plik C++ w programie VS Code:", + "walkthrough.mac.instructions1": "Otwórz plik źródłowy języka C++, który chcesz uruchomić i debugować. Upewnij się, że ten plik jest aktywny (obecnie wyświetlany i zaznaczony) w edytorze.", + "walkthrough.mac.press.f5": "Naciśnij pozycję {0}. Ewentualnie z menu głównego wybierz pozycję {1}.", + "walkthrough.mac.run": "Uruchom", + "walkthrough.mac.start.debugging": "Rozpocznij debugowanie", + "walkthrough.mac.select.compiler": "Wybierz kompilator {0}.", + "walkthrough.mac.choose.build.active.file": "Wybierz kompilację {0}.", + "walkthrough.mac.build.and.debug.active.file": "Kompiluj i debuguj aktywny plik", + "walkthrough.mac.after.running": "Po uruchomieniu i debugowaniu pliku C++ po raz pierwszy zobaczysz dwa nowe pliki w folderze {0} projektu: {1} i {2}.", + "walkthrough.mac.for.more.complex": "W przypadku bardziej złożonych scenariuszy kompilacji i debugowania można dostosować zadania kompilacji i konfiguracje debugowania w pozycjach {0} i {1}. Na przykład jeśli zwykle przekazujesz argumenty do kompilatora podczas kompilowania z poziomu wiersza polecenia, możesz określić te argumenty w pozycji{2} przy użyciu właściwości {3}. Podobnie można zdefiniować argumenty do przekazania do programu na potrzeby debugowania w pozycji{4}." +} \ No newline at end of file diff --git a/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..eb0bc0b5f0 --- /dev/null +++ b/Extension/i18n/plk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Uruchom i debuguj plik C++ w systemie Windows", + "walkthrough.mac.run.and.debug.your.file": "Aby uruchomić i debugować plik C++ w programie VS Code:", + "walkthrough.mac.instructions1": "Otwórz plik źródłowy języka C++, który chcesz uruchomić i debugować. Upewnij się, że ten plik jest aktywny (obecnie wyświetlany i zaznaczony) w edytorze.", + "walkthrough.mac.press.f5": "Naciśnij pozycję {0}. Ewentualnie z menu głównego wybierz pozycję {1}.", + "walkthrough.mac.run": "Uruchom", + "walkthrough.mac.start.debugging": "Rozpocznij debugowanie", + "walkthrough.mac.select.compiler": "Wybierz kompilator {0}.", + "walkthrough.mac.choose.build.active.file": "Wybierz kompilację {0}.", + "walkthrough.windows.build.and.debug.active.file": "Kompiluj i debuguj aktywny plik", + "walkthrough.mac.after.running": "Po uruchomieniu i debugowaniu pliku C++ po raz pierwszy zobaczysz dwa nowe pliki w folderze {0} projektu: {1} i {2}.", + "walkthrough.mac.for.more.complex": "W przypadku bardziej złożonych scenariuszy kompilacji i debugowania można dostosować zadania kompilacji i konfiguracje debugowania w pozycjach {0} i {1}. Na przykład jeśli zwykle przekazujesz argumenty do kompilatora podczas kompilowania z poziomu wiersza polecenia, możesz określić te argumenty w pozycji{2} przy użyciu właściwości {3}. Podobnie można zdefiniować argumenty do przekazania do programu na potrzeby debugowania w pozycji{4}." +} \ No newline at end of file diff --git a/Extension/i18n/plk/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/plk/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..622410ce64 --- /dev/null +++ b/Extension/i18n/plk/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "Zainstaluj kompilator języka C++ w systemie macOS", + "walkthough.mac.text1": "Jeśli programujesz w języku C++ dla systemu macOS, zalecamy zainstalowanie kompilatora Clang. Wystarczy uruchomić następujące polecenie w oknie terminalu, aby zainstalować narzędzia deweloperskie wiersza polecenia:", + "walkthough.mac.text2": "Następnie, aby sprawdzić, czy kompilator Clang jest zainstalowany, uruchom następujące polecenie w oknie terminalu. Powinien zostać wyświetlony komunikat z informacjami o używanej wersji kompilatora Clang." +} \ No newline at end of file diff --git a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..5ded36060f --- /dev/null +++ b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Zainstaluj kompilator języka C++ w systemie Windows", + "walkthrough.windows.text1": "Jeśli programujesz w języku C++ dla systemu Windows, zalecamy zainstalowanie zestawu narzędzi kompilatora Microsoft Visual C++ (MSVC). Jeśli korzystasz z systemu Linux z systemu Windows, zapoznaj się z {0}. Możesz też {1}.", + "walkthrough.windows.link.title1": "Używanie języka C++ i podsystemu Windows dla systemu Linux (WSL) w programie VS Code", + "walkthrough.windows.link.title2": "Zainstaluj zestaw kompilatorów GCC w systemie Windows z funkcją MinGW", + "walkthrough.windows.text2": "Aby zainstalować program MSVC, pobierz {0} ze strony programu Visual Studio {1}.", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "Pliki do pobrania", + "walkthrough.windows.text3": "W instalatorze programu Visual Studio sprawdź obciążenie {0} i wybierz pozycję {1}.", + "walkthrough.windows.build.tools2": "Narzędzia kompilacji języka C++", + "walkthrough.windows.link.install": "Zainstaluj", + "walkthrough.windows.note1": "Uwaga", + "walkthrough.windows.note1.text": "Zestawu narzędzi języka C++ z narzędzi Visual Studio Build Tools wraz z programem Visual Studio Code można używać do kompilowania, tworzenia i weryfikowania dowolnej bazy kodu języka C++, o ile masz również ważną licencję programu Visual Studio (Community, Pro lub Enterprise), której aktywnie używasz do opracowywania tej bazy kodu języka C++.", + "walkthrough.windows.open.command.prompt": "Otwórz pozycję {0}, wpisując „deweloper” w menu Start systemu Windows.", + "walkthrough.windows.command.prompt.name1": "Wiersz polecenia dla deweloperów dla programu VS", + "walkthrough.windows.check.install": "Sprawdź instalację programu MSVC, wpisując {0} w wierszu polecenia dewelopera dla programu VS. Powinien zostać wyświetlony komunikat o prawach autorskich z wersją i opisem użycia podstawowego.", + "walkthrough.windows.note2": "Uwaga", + "walkthrough.windows.note2.text": "Aby użyć programu MSVC z wiersza polecenia lub programu VS Code, należy uruchomić z {0}. Zwykła powłoka, taka jak {1}, {2} lub wiersz polecenia systemu Windows, nie ma ustawionych wymaganych zmiennych środowiskowych ścieżki.", + "walkthrough.windows.command.prompt.name2": "Wiersz polecenia dla deweloperów dla programu VS" +} \ No newline at end of file diff --git a/Extension/i18n/plk/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/plk/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..3c99bdc2bf --- /dev/null +++ b/Extension/i18n/plk/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Zainstaluj kompilator języka C++ w systemie Linux", + "walkthrough.linux.text1": "Jeśli programujesz w języku C++ dla systemu Linux, zalecamy zainstalowanie zestawu kompilatorów GCC. Instalowanie zestawu kompilatorów GCC jest proste. Wykonaj następujące trzy kroki:", + "walkthrough.linux.text2": "Uruchom następujące polecenie w oknie terminalu, aby zaktualizować listy pakietów systemu Ubuntu. Nieaktualna dystrybucja systemu Linux czasami może zakłócać próby zainstalowania nowych pakietów.", + "walkthrough.linux.text3": "Zainstaluj narzędzia kompilatora GNU i debuger GDB za pomocą następującego polecenia:", + "walkthrough.linux.text4": "Sprawdź, czy zestaw kompilatorów GCC jest zainstalowany, uruchamiając następujące polecenie. Powinien zostać wyświetlony komunikat o prawach autorskich i informacje o używanej wersji zestawu kompilatorów GCC." +} \ No newline at end of file diff --git a/Extension/i18n/ptb/package.i18n.json b/Extension/i18n/ptb/package.i18n.json index 1ef68dc418..f24a4873a3 100644 --- a/Extension/i18n/ptb/package.i18n.json +++ b/Extension/i18n/ptb/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "Configura o mecanismo de formatação", "c_cpp.configuration.formatting.clangFormat.description": "O clang-format será usado para formatar o código.", "c_cpp.configuration.formatting.vcFormat.description": "O mecanismo de formatação Visual C++ será usado para formatar o código.", - "c_cpp.configuration.formatting.Default.description": "O clang-format será usado para formatar o código.", + "c_cpp.configuration.formatting.Default.description": "Por padrão, clang-format será usado para formatar o código. No entanto, o mecanismo de formatação Microsoft Visual C++ será usado se um arquivo .editorconfig com configurações relevantes for encontrado mais próximo do código que está sendo formatado e clang_format_style for o valor padrão: 'arquivo'.", "c_cpp.configuration.formatting.Disabled.description": "A formatação de código será desabilitada.", "c_cpp.configuration.vcFormat.indent.braces.description": "As chaves são recuadas de acordo com o valor especificado na configuração Editor: Tamanho da Tabulação.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Determina em relação a que o recuo da nova linha será aplicado", @@ -116,7 +116,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "Um bloco de código completo que é inserido em uma linha é mantido em uma linha, independentemente dos valores das configurações Formato: Nova Linha do VC", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "Todo código cujas chaves de abertura e de fechamento são inseridas em uma linha são mantidos em uma linha, independentemente dos valores das configurações Formato: Nova Linha do VC", "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Os blocos de código são sempre formatados com base nos valores das configurações Formato: Nova Linha do VC", - "c_cpp.configuration.clang_format_path.description": "O caminho completo do executável em formato de clang. Se não especificado, e o formato de clang está disponível no caminho do ambiente, que é usado. Se não for encontrado no caminho do ambiente, será usada uma cópia do formato de clang com a extensão.", + "c_cpp.configuration.clang_format_path.description": "O caminho completo do executável em clang-format. Se não especificado, e o clang-format está disponível no caminho do ambiente, que é usado. Se não for encontrado no caminho do ambiente, será usada uma cópia do clang-format com a extensão.", "c_cpp.configuration.clang_format_style.description": "No momento o estilo de codificação dá suporte para: Visual Studio, LLVM, Google, Chromium, Mozilla e WebKit. Use \"file\" para carregar o estilo de um arquivo .clang-format no diretório atual ou pai. Use {chave: valor, ...} para definir parâmetros específicos. Por exemplo, o estilo \"Visual Studio\" é semelhante a: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_fallbackStyle.description": "O nome do estilo predefinido usado como fallback quando o clang-format é invocado com o estilo \"file\", mas o arquivo .clang-format não é encontrado. Os valores possíveis são Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit ou nenhum. Use {chave: valor, ...} para definir parâmetros específicos. Por exemplo, o estilo \"Visual Studio\" é semelhante a: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "Se definido, substitui o comportamento de classificação de inclusão determinado pelo parâmetro SortIncludes.", diff --git a/Extension/i18n/ptb/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/ptb/src/Debugger/configurationProvider.i18n.json index e492e9e9a9..2080872cc9 100644 --- a/Extension/i18n/ptb/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/ptb/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "Configuração Padrão", "select.configuration": "Selecionar uma configuração", + "debug.configuration.selection.canceled": "A seleção de configuração de depuração foi cancelada", "cl.exe.not.available": "A criação e a depuração de {0} só podem ser usadas quando o VS Code é executado por meio do Prompt de Comando do Desenvolvedor para VS.", "miDebuggerPath.not.available": "miDebuggerPath não existe: {0}. Algum depurador foi instalado?", "debugger.deprecated.config": "A chave '{0}' foi preterida. Use '{1}'.", diff --git a/Extension/i18n/ptb/src/LanguageServer/client.i18n.json b/Extension/i18n/ptb/src/LanguageServer/client.i18n.json index f15c10c427..32b8c6849f 100644 --- a/Extension/i18n/ptb/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/ptb/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "Não é possível iniciar o servidor de linguagem C/C++. Os recursos do IntelliSense serão desabilitados. Erro: {0}", "check.permissions": "EPERM: verifique as permissões para '{0}'", "server.crashed2": "O servidor de idioma falhou cinco vezes nos últimos três minutos. Ele não será reiniciado.", + "loggingLevel.changed": "{0} foi alterado para: {1}", "provider.configure.folder": "{0} gostaria de configurar o IntelliSense para a pasta '{1}'.", "provider.configure.this.folder": "{0} gostaria de configurar o IntelliSense para esta pasta.", "allow.button": "Permitir", @@ -35,6 +36,5 @@ "configurations.received": "Configurações personalizadas recebidas:", "browse.configuration.received": "Configuração de pesquisa personalizada recebida: {0}", "no.compilers.found": "Não foram encontrados compiladores C++ em seu sistema. Para sua plataforma, recomendamos instalar {0} usando as instruções do editor.", - "compilers.found": "Encontramos o(s) seguinte(s) compilador(es) C++ em seu sistema:", - "compilers.found.message": "Você pode especificar qual compilador usar na Configuração IntelliSense de seu projeto." + "compilers.found": "Localizamos os seguintes compiladores de C++ em seu sistema. Escolha um compilador na Configuração do IntelliSense do seu projeto." } \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/settings.i18n.json b/Extension/i18n/ptb/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..ff3125a386 --- /dev/null +++ b/Extension/i18n/ptb/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "A formatação do código está usando configurações de .editorconfig em vez de .clang-format. Para mais informações, veja a documentação para o valor `Default` da configuração 'C_Cpp.formatting'." +} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/ui.i18n.json b/Extension/i18n/ptb/src/LanguageServer/ui.i18n.json index 8295cb7888..2d8ebbdcba 100644 --- a/Extension/i18n/ptb/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/ptb/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "Analisando arquivos abertos", "click.to.preview": "clique aqui para visualizar os resultados", + "updating.intellisense.tooltip": "Atualizando o IntelliSense", + "select.command": "Selecionar um comando...", "c.cpp.configuration.tooltip": "Configuração de C/C++", - "updating.intellisense.tooltip": "Atualizando o IntelliSense...", - "discovering.files.tooltip": "Descobrindo arquivos...", + "c.cpp.references.statusbar": "Status de Referências do C/C++", + "c.cpp.intellisense.statusbar": "Status do IntelliSense do C/C++", + "c.cpp.tagparser.statusbar": "Status do Analisador de Marcas do C/C++", + "discovering.files.tooltip": "Descobrindo arquivos", + "running.analysis.tooltip": "Executando {0}", "select.a.configuration": "Selecione uma Configuração...", "edit.configuration.ui": "Editar Configurações (IU)", "edit.configuration.json": "Editar Configurações (JSON)", @@ -17,7 +23,9 @@ "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...", - "select.parsing.command": "Selecione um comando de análise...", - "resume.parsing": "Retomar a Análise", - "pause.parsing": "Pausar Análise" + "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 {0}.", + "resume.analysis": "Retomar {0}", + "pause.analysis": "Pausar {0}" } \ No newline at end of file diff --git a/Extension/i18n/ptb/src/main.i18n.json b/Extension/i18n/ptb/src/main.i18n.json index ffb89487c3..65dc1c1ae8 100644 --- a/Extension/i18n/ptb/src/main.i18n.json +++ b/Extension/i18n/ptb/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "Esta versão {0} {1} da extensão é incompatível com seu sistema operacional. Baixe e instale a versão \"{2}\" da extensão.", "extension.installation.failed": "A extensão C/C++ não foi instalada com êxito. Será necessário reparar ou reinstalar a extensão dos recursos da linguagem C/C++ para que ela funcione corretamente.", "remove.extension": "Tentar Reparar", - "jason.files.missing": "A extensão C/C++ não foi instalada com êxito. Será necessário reinstalar a extensão dos recursos da linguagem C/C++ para que ela funcione corretamente.", + "json.files.missing": "A extensão C/C++ não foi instalada com êxito. Será necessário reinstalar a extensão dos recursos da linguagem C/C++ para que ela funcione corretamente.", "initialization.failed": "Falha na instalação da extensão C/C++. Para obter mais informações, confira a janela de saída.", "updating.dependencies": "Atualizando dependências de C/C++...", - "rename.failed.delete.manually": "ERRO: o fs.rename falhou com \"{0}\". Exclua {1} manualmente para habilitar a depuração.", "failed.at.stage": "Falha na fase: {0}", "failed.at.stage2": "Se você trabalha em um ambiente offline ou vê este erro repetidamente, tente baixar uma versão da extensão com todas as dependências pré-incluídas de {0} e, em seguida, use o comando \"Instalar do VSIX\" no VS Code para instalá-la.", "finished.installing.dependencies": "Concluída a instalação de dependências", diff --git a/Extension/i18n/ptb/src/nativeStrings.i18n.json b/Extension/i18n/ptb/src/nativeStrings.i18n.json index ee4703870f..78675ac708 100644 --- a/Extension/i18n/ptb/src/nativeStrings.i18n.json +++ b/Extension/i18n/ptb/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "Descobrindo arquivos: {0}", "parsing_open_files": "Analisando arquivos abertos", "tag_parser_initializing": "Inicializando o analisador de marca", - "parsing_paused": "Análise em pausa", - "parsing_files": "Analisando arquivos: {0}", + "parsing_paused": "Análise em pausar do espaço de trabalho", + "parsing_files": "Analisando os arquivos do espaço de trabalho: {0}", "discovering_files_count_progress": "Descobrindo arquivos: {0}/{1} ({2}%)", - "parsing_files_progress": "Analisando arquivos: {0}/{1} ({2}%)", + "parsing_files_progress": "Analisando os arquivos do espaço de trabalho: {0} / {1} ({2}%)", "cant_find_or_run_process": "Não é possível localizar ou executar process_name", "child_exec_failed": "Falha na execução filho {0}", "could_not_communicate_with_child_process": "Não foi possível se comunicar com o processo filho!", diff --git a/Extension/i18n/ptb/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/ptb/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..897ee7719d --- /dev/null +++ b/Extension/i18n/ptb/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Executar e depurar seu arquivo C++ no Linux", + "walkthrough.linux.run.and.debug.your.file": "Para executar e depurar seu arquivo C++ no VS Code:", + "walkthrough.linux.instructions1": "Abra o arquivo de origem C++ que você deseja executar e depurar. Certifique-se de que este arquivo esteja ativo (atualmente exibido e selecionado) no editor.", + "walkthrough.linux.press.f5": "Pressione {0}. Ou, no menu principal, escolha {1}.", + "walkthrough.linux.run": "Executar", + "walkthrough.linux.start.debugging": "Iniciar Depuração", + "walkthrough.linux.select.compiler": "Selecione {0}.", + "walkthrough.linux.choose.build.active.file": "Escolha {0}.", + "walkthrough.linux.build.and.debug.active.file": "Criar e depurar o arquivo ativo", + "walkthrough.linux.after.running": "Depois de executar e depurar seu arquivo C++ pela primeira vez, você notará dois novos arquivos dentro da pasta {0} do seu projeto: {1} e {2}.", + "walkthrough.linux.for.more.complex": "Para cenários de compilação e depuração mais complexos, você pode personalizar suas tarefas de compilação e configurações de depuração em {0} e {1}. Por exemplo, se você normalmente passa argumentos para seu compilador ao compilar a partir da linha de comando, você pode especificar esses argumentos em {2} usando a propriedade {3}. Da mesma forma, você pode definir argumentos para passar para seu programa para depuração em {4}." +} \ No newline at end of file diff --git a/Extension/i18n/ptb/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/ptb/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..35a8a2c768 --- /dev/null +++ b/Extension/i18n/ptb/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Executar e depurar seu arquivo C++ no macOS", + "walkthrough.mac.run.and.debug.your.file": "Para executar e depurar seu arquivo C++ no VS Code:", + "walkthrough.mac.instructions1": "Abra o arquivo de origem C++ que você deseja executar e depurar. Certifique-se de que este arquivo esteja ativo (atualmente exibido e selecionado) no editor.", + "walkthrough.mac.press.f5": "Pressione {0}. Ou, no menu principal, escolha {1}.", + "walkthrough.mac.run": "Executar", + "walkthrough.mac.start.debugging": "Iniciar Depuração", + "walkthrough.mac.select.compiler": "Selecione {0}.", + "walkthrough.mac.choose.build.active.file": "Escolha {0}.", + "walkthrough.mac.build.and.debug.active.file": "Criar e depurar o arquivo ativo", + "walkthrough.mac.after.running": "Depois de executar e depurar seu arquivo C++ pela primeira vez, você notará dois novos arquivos dentro da pasta {0} do seu projeto: {1} e {2}.", + "walkthrough.mac.for.more.complex": "Para cenários de compilação e depuração mais complexos, você pode personalizar suas tarefas de compilação e configurações de depuração em {0} e {1}. Por exemplo, se você normalmente passa argumentos para seu compilador ao compilar a partir da linha de comando, você pode especificar esses argumentos em {2} usando a propriedade {3}. Da mesma forma, você pode definir argumentos para passar para seu programa para depuração em {4}." +} \ No newline at end of file diff --git a/Extension/i18n/ptb/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/ptb/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..42bcdc2c9b --- /dev/null +++ b/Extension/i18n/ptb/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Executar e depurar seu arquivo C++ no Windows", + "walkthrough.mac.run.and.debug.your.file": "Para executar e depurar seu arquivo C++ no VS Code:", + "walkthrough.mac.instructions1": "Abra o arquivo de origem C++ que você deseja executar e depurar. Certifique-se de que este arquivo esteja ativo (atualmente exibido e selecionado) no editor.", + "walkthrough.mac.press.f5": "Pressione {0}. Ou, no menu principal, escolha {1}.", + "walkthrough.mac.run": "Executar", + "walkthrough.mac.start.debugging": "Iniciar Depuração", + "walkthrough.mac.select.compiler": "Selecione {0}.", + "walkthrough.mac.choose.build.active.file": "Escolha {0}.", + "walkthrough.windows.build.and.debug.active.file": "Criar e depurar o arquivo ativo", + "walkthrough.mac.after.running": "Depois de executar e depurar seu arquivo C++ pela primeira vez, você notará dois novos arquivos dentro da pasta {0} do seu projeto: {1} e {2}.", + "walkthrough.mac.for.more.complex": "Para cenários de compilação e depuração mais complexos, você pode personalizar suas tarefas de compilação e configurações de depuração em {0} e {1}. Por exemplo, se você normalmente passa argumentos para seu compilador ao compilar a partir da linha de comando, você pode especificar esses argumentos em {2} usando a propriedade {3}. Da mesma forma, você pode definir argumentos para passar para seu programa para depuração em {4}." +} \ No newline at end of file diff --git a/Extension/i18n/ptb/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/ptb/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..c9c6c07382 --- /dev/null +++ b/Extension/i18n/ptb/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "Instalar um compilador C++ no macOS", + "walkthough.mac.text1": "Se você estiver desenvolvendo em C++ para macOS, recomendamos instalar o compilador Clang. Tudo o que você precisa fazer é executar o seguinte comando em uma janela do Terminal para instalar as ferramentas do desenvolvedor da linha de comando:", + "walkthough.mac.text2": "Em seguida, para verificar se o clang está instalado, execute o seguinte comando em uma janela do Terminal. Você deverá ver uma mensagem com informações sobre a versão do Clang que está usando." +} \ No newline at end of file diff --git a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..b0b21a593c --- /dev/null +++ b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Instalar um compilador C++ no Windows", + "walkthrough.windows.text1": "Se você estiver desenvolvendo C++ para Windows, recomendamos instalar o conjunto de ferramentas do compilador Microsoft Visual C++ (MSVC). Se você está segmentando o Linux a partir do Windows, verifique {0}. Ou você poderia {1}.", + "walkthrough.windows.link.title1": "Usando C++ e Subsistema Windows para Linux (WSL) no código VS", + "walkthrough.windows.link.title2": "instalar GCC no Windows com MinGW", + "walkthrough.windows.text2": "Para instalar o MSVC, faça download de {0} na página do Visual Studio {1}. ", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "Downloads", + "walkthrough.windows.text3": "No Instalador do Visual Studio, verifique a {0} carga de trabalho e selecione {1}.", + "walkthrough.windows.build.tools2": "Ferramentas de construção C++", + "walkthrough.windows.link.install": "Instalar", + "walkthrough.windows.note1": "Observação", + "walkthrough.windows.note1.text": "Você pode usar o conjunto de ferramentas C++ das Ferramentas de Build do Visual Studio junto com o Visual Studio Code para compilar, construir e verificar qualquer base de código C++, contanto que também tenha uma licença válida do Visual Studio (Community, Pro ou Enterprise) que esteja ativamente usando para desenvolver essa base de código C++.", + "walkthrough.windows.open.command.prompt": "Abra o {0} digitando 'desenvolvedor' no menu Iniciar do Windows.", + "walkthrough.windows.command.prompt.name1": "Prompt de comando do desenvolvedor para VS", + "walkthrough.windows.check.install": "Verifique a instalação do MSVC digitando {0} no Prompt de comando do desenvolvedor para VS. Você deve ver uma mensagem de copyright com a versão e a descrição básica de uso.", + "walkthrough.windows.note2": "Observação", + "walkthrough.windows.note2.text": "Para usar o MSVC a partir da linha de comando ou Código VS, você deve executar a partir de um {0}. Um shell comum como {1}, {2} ou o prompt de comando do Windows não possui as variáveis ​​de ambiente de caminho necessárias definidas.", + "walkthrough.windows.command.prompt.name2": "Prompt de comando do desenvolvedor para VS" +} \ No newline at end of file diff --git a/Extension/i18n/ptb/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/ptb/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..60316e2946 --- /dev/null +++ b/Extension/i18n/ptb/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Instalar um compilador C++ no Linux", + "walkthrough.linux.text1": "Se você estiver desenvolvendo em C++ para Linux, recomendamos instalar o compilador GCC. Instalar o GCC é simples, basta seguir estas três etapas:", + "walkthrough.linux.text2": "Execute o seguinte comando na janela do terminal para atualizar as listas de pacotes do Ubuntu. Uma distribuição Linux desatualizada às vezes pode interferir nas tentativas de instalação de novos pacotes.", + "walkthrough.linux.text3": "Instale as ferramentas do compilador GNU e o depurador GDB com este comando:", + "walkthrough.linux.text4": "Verifique se o GCC está instalado executando o seguinte comando. Você deve ver uma mensagem de direitos autorais e informações sobre a versão do GCC que está usando." +} \ No newline at end of file diff --git a/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json index e9e5325592..6ecb31d8a7 100644 --- a/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json @@ -20,7 +20,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "При значении true (истина) будут обрабатываться только файлы, прямо или косвенно включенные как файлы заголовков, а при значении false (ложь) — все файлы по указанным путям для включений.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Путь к создаваемой базе данных символов. При указании относительного пути он будет отсчитываться от используемого в рабочей области места хранения по умолчанию.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Список путей, используемых для индексирования и анализа символов рабочей области (для использования командами \"Перейти к определению\", \"Найти все ссылки\" и т. д.). Поиск по этим путям по умолчанию является рекурсивным. Укажите \"*\", чтобы использовать нерекурсивный поиск. Например, \"${workspaceFolder}\" будет означать поиск во всех подкаталогах, тогда как \"${workspaceFolder}/*\" — не будет.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Пользовательские переменные, которые можно запросить с помощью команды ${cpptools:activeConfigCustomVariable}, чтобы использовать в качестве входных переменных в файле launch.js или tasks.js.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Пользовательские переменные, которые можно запросить с помощью команды ${cpptools:activeConfigCustomVariable}, чтобы использовать в качестве входных переменных в файле launch.json или tasks.json.", "c_cpp_properties.schema.json.definitions.env": "Пользовательские переменные, которые могут многократно применяться в любом месте этого файла с помощью синтаксиса ${переменная} или ${env:переменная}.", "c_cpp_properties.schema.json.definitions.version": "Версия файла конфигурации. Этим свойством управляет расширение. Не изменяйте его.", "c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "Определяет, будет ли расширение сообщать об ошибках, обнаруженных в c_cpp_properties.json." diff --git a/Extension/i18n/rus/package.i18n.json b/Extension/i18n/rus/package.i18n.json index c633f16a28..beacaa3ebf 100644 --- a/Extension/i18n/rus/package.i18n.json +++ b/Extension/i18n/rus/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "Настраивает подсистему форматирования.", "c_cpp.configuration.formatting.clangFormat.description": "Для форматирования кода будет использоваться clang-format.", "c_cpp.configuration.formatting.vcFormat.description": "Для форматирования кода будет использоваться подсистема форматирования Visual C++.", - "c_cpp.configuration.formatting.Default.description": "Для форматирования кода будет использоваться clang-format.", + "c_cpp.configuration.formatting.Default.description": "По умолчанию для форматирования кода будет использоваться clang-format. Однако если рядом с форматируемым файлом найден файл .editorconfig с соответствующими параметрами и параметр clang_format_style имеет значение по умолчанию (\"file\"), будет использована подсистема форматирования Visual C++.", "c_cpp.configuration.formatting.Disabled.description": "Форматирование кода будет отключено.", "c_cpp.configuration.vcFormat.indent.braces.description": "Добавление отступа для фигурных скобок на величину, указанную параметром \"Редактор: размер табуляции\".", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Определяет, относительно чего устанавливается отступ новой строки.", @@ -118,7 +118,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Блоки кода всегда форматируются на основе значений параметров \"Формат VC: новая строка\".", "c_cpp.configuration.clang_format_path.description": "Полный путь к исполняемому файлу clang-format. Если значение не указано, а clang-format доступен в пути среды, то используется clang-format. Если clang-format не найден в пути среды, будет использоваться копия clang-format, поддерживаемая расширением.", "c_cpp.configuration.clang_format_style.description": "Стиль кода. Сейчас поддерживаются следующие стили: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Используйте \"file\", чтобы загрузить стиль из файла .clang-format в текущем или родительском каталоге. Используйте синтаксис {ключ: значение, ...}, чтобы задать конкретные параметры. Например, стиль \"Visual Studio\" похож на следующий: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", - "c_cpp.configuration.clang_format_fallbackStyle.description": "Имя предварительно определенного стиля, используемое в качестве резервного варианта при вызове CLANG-FORMAT со стилем \"file\", когда файл CLANG-FORMAT не найден. Возможные значения: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none. Используйте синтаксис {ключ: значение, ...}, чтобы задать конкретные параметры. Например, стиль \"Visual Studio\" похож на следующий: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_fallbackStyle.description": "Имя предварительно определенного стиля, используемое в качестве резервного варианта при вызове clang-format со стилем \"file\", когда файл .clang-format не найден. Возможные значения: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none. Используйте синтаксис {ключ: значение, ...}, чтобы задать конкретные параметры. Например, стиль \"Visual Studio\" похож на следующий: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "Если параметр задан, он переопределяет поведение сортировки включения, определяемое параметром SortIncludes.", "c_cpp.configuration.intelliSenseEngine.description": "Управляет поставщиком IntelliSense. Значение \"Анализатор тегов\" дает нечеткие результаты, не учитывающие контекст. Значение \"По умолчанию\" дает результаты с учетом контекста. Значение \"Отключено\" выключает компоненты языковой службы C/C++.", "c_cpp.configuration.intelliSenseEngineFallback.description": "Определяет, будет ли подсистема IntelliSense автоматически переключаться на анализатор тегов для единиц трансляции, содержащих ошибки #include.", @@ -144,7 +144,7 @@ "c_cpp.configuration.intelliSenseCacheSize.description": "Максимальный размер пространства на жестком диске для каждой рабочей области в мегабайтах (МБ), предназначенный для кэшированных предкомпилированных заголовков; фактическое использование может колебаться в районе этого значения. Размер по умолчанию — 5120 МБ. Кэширование предкомпилированных заголовков отключено, если размер равен 0.", "c_cpp.configuration.intelliSenseMemoryLimit.description": "Ограничение на использование памяти в мегабайтах (МБ) для процесса IntelliSense. По умолчанию ограничение равно 4096 МБ, максимальное ограничение — 16 ГБ. При превышении ограничения расширение завершит работу и перезапустит процесс IntelliSense.", "c_cpp.configuration.intelliSenseUpdateDelay.description": "Управляет задержкой в миллисекундах, прежде чем IntelliSense начнет обновление после изменения.", - "c_cpp.configuration.default.includePath.description": "Значение, используемое в конфигурации, если путь includePath не указан в файле c_cpp_properties.js. Если путь includePath задан, добавьте \"${default}\" в массив, чтобы вставить значения из этого параметра.", + "c_cpp.configuration.default.includePath.description": "Значение, используемое в конфигурации, если путь includePath не указан в файле c_cpp_properties.json. Если путь includePath задан, добавьте \"${default}\" в массив, чтобы вставить значения из этого параметра.", "c_cpp.configuration.default.defines.description": "Значение, используемое в конфигурации, если параметр \"defines\" не указан, или вставляемые значения, если в \"defines\" присутствует значение \"${default}\".", "c_cpp.configuration.default.macFrameworkPath.description": "Значение, используемое в конфигурации, если параметр \"macFrameworkPath\" не указан, или вставляемые значения, если в \"macFrameworkPath\" присутствует значение \"${default}\".", "c_cpp.configuration.default.windowsSdkVersion.description": "Версия пути включения Windows SDK для использования в Windows, например \"10.0.17134.0\".", diff --git a/Extension/i18n/rus/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/rus/src/Debugger/configurationProvider.i18n.json index fae4610dfc..4c4cba91bc 100644 --- a/Extension/i18n/rus/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/rus/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "Конфигурация по умолчанию", "select.configuration": "Выберите конфигурацию", + "debug.configuration.selection.canceled": "Выбор конфигурации отладки отменен", "cl.exe.not.available": "Сборку и отладку {0} можно использовать только при запуске VS Code из Командной строки разработчика для VS.", "miDebuggerPath.not.available": "Путь miDebuggerPath не существует: {0}. Установлен ли отладчик?", "debugger.deprecated.config": "Ключ \"{0}\" устарел. Используйте \"{1}\".", diff --git a/Extension/i18n/rus/src/LanguageServer/client.i18n.json b/Extension/i18n/rus/src/LanguageServer/client.i18n.json index c7f901fe37..0e081979c5 100644 --- a/Extension/i18n/rus/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/rus/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "Не удалось запустить языковой сервер C/C++. Функции IntelliSense будут отключены. Ошибка: {0}", "check.permissions": "EPERM: проверьте разрешения для \"{0}\"", "server.crashed2": "Языковой сервер аварийно завершил работу 5 раз за последние 3 минуты. Он не будет перезапущен.", + "loggingLevel.changed": "{0} был изменен на: {1}", "provider.configure.folder": "{0} требуется настроить IntelliSense для папки \"{1}\".", "provider.configure.this.folder": "{0} требуется настроить IntelliSense для этой папки.", "allow.button": "Разрешить", @@ -35,6 +36,5 @@ "configurations.received": "Получены пользовательские конфигурации:", "browse.configuration.received": "Получена настраиваемая конфигурация просмотра: {0}", "no.compilers.found": "В системе не найдены компиляторы C++. Для вашей платформы рекомендуется установить {0}. Необходимые инструкции см. в редакторе.", - "compilers.found": "В системе обнаружены следующие компиляторы C++:", - "compilers.found.message": "Вы можете указать, какой компилятор использовать в конфигурации IntelliSense проекта." + "compilers.found": "В вашей системе обнаружены следующие компиляторы C++. Выберите компилятор в конфигурации IntelliSense вашего проекта." } \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/settings.i18n.json b/Extension/i18n/rus/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..b55cea70b5 --- /dev/null +++ b/Extension/i18n/rus/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "Форматирование кода использует параметры из .editorconfig вместо .clang-format. Дополнительные сведения см. в документации, в которой приведено значение по умолчанию для параметра \"C_Cpp.formatting\"." +} \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/ui.i18n.json b/Extension/i18n/rus/src/LanguageServer/ui.i18n.json index 0315efb86b..de7a1dca0c 100644 --- a/Extension/i18n/rus/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/rus/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "c.cpp.parsing.open.files.tooltip": "Анализ открытых файлов", "click.to.preview": "щелкните для предварительного просмотра результатов", + "updating.intellisense.tooltip": "Обновление IntelliSense", + "select.command": "Выберите команду...", "c.cpp.configuration.tooltip": "Конфигурация C/C++", - "updating.intellisense.tooltip": "Обновление IntelliSense...", - "discovering.files.tooltip": "Идет обнаружение файлов...", + "c.cpp.references.statusbar": "Состояние ссылок C/C++", + "c.cpp.intellisense.statusbar": "Состояние IntelliSense C/C++", + "c.cpp.tagparser.statusbar": "Состояние анализатора тегов C/C++", + "discovering.files.tooltip": "Обнаружение файлов", + "running.analysis.tooltip": "Выполняется {0}", "select.a.configuration": "Выберите конфигурацию...", "edit.configuration.ui": "Изменить конфигурации (пользовательский интерфейс)", "edit.configuration.json": "Изменить конфигурации (JSON)", @@ -17,7 +23,9 @@ "disable.configuration.provider": "Отключите активный поставщик конфигурации (если применимо).", "select.compile.commands": "Выберите compile_commands.json...", "select.workspace": "Выберите папку рабочей области…", - "select.parsing.command": "Выберите команду анализа...", - "resume.parsing": "Возобновить анализ", - "pause.parsing": "Приостановить анализ" + "resume.parsing": "Возобновить анализ рабочей области", + "pause.parsing": "Приостановить анализ рабочей области", + "cancel.analysis": "Отмена {0}", + "resume.analysis": "Возобновление работы {0}", + "pause.analysis": "Приостановка {0}" } \ No newline at end of file diff --git a/Extension/i18n/rus/src/main.i18n.json b/Extension/i18n/rus/src/main.i18n.json index 721d5336ec..06d7f0b90a 100644 --- a/Extension/i18n/rus/src/main.i18n.json +++ b/Extension/i18n/rus/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "Версия расширения для {0} {1} несовместима с вашей ОС. Скачайте и установите версию расширения \"{2}\".", "extension.installation.failed": "Установить расширение C/C++ не удалось. Исправьте или переустановите расширение функций языка C/C++ для корректной работы.", "remove.extension": "Попытка исправления", - "jason.files.missing": "Установить расширение C/C++ не удалось. Переустановите расширение функций языка C/C++ для корректной работы.", + "json.files.missing": "Установить расширение C/C++ не удалось. Переустановите расширение функций языка C/C++ для корректной работы.", "initialization.failed": "Не удалось установить расширение C/C++. Дополнительные сведения см. в окне вывода.", "updating.dependencies": "Обновление зависимостей C/C++...", - "rename.failed.delete.manually": "Ошибка: сбой fs.rename с \"{0}\". Удалите {1} вручную, чтобы включить отладку.", "failed.at.stage": "Сбой на этапе: {0}", "failed.at.stage2": "Если вы работаете в автономной среде или постоянно видите эту ошибку, попробуйте скачать версию расширения, в которую уже включены все зависимости, перейдя на следующую страницу: {0}. Затем выберите \"Установить из VSIX\" в VS Code, чтобы установить расширение.", "finished.installing.dependencies": "Завершена установка зависимостей", diff --git a/Extension/i18n/rus/src/nativeStrings.i18n.json b/Extension/i18n/rus/src/nativeStrings.i18n.json index edbd02b3c9..f21b08e016 100644 --- a/Extension/i18n/rus/src/nativeStrings.i18n.json +++ b/Extension/i18n/rus/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "Обнаружение файлов: {0}", "parsing_open_files": "Анализ открытых файлов", "tag_parser_initializing": "Инициализация анализатора тегов", - "parsing_paused": "Анализ приостановлен", - "parsing_files": "Анализ файлов: {0}", + "parsing_paused": "Анализ рабочей области приостановлен", + "parsing_files": "Анализ файлов рабочей области: {0}", "discovering_files_count_progress": "Обнаружение файлов: {0} / {1} ({2}%)", - "parsing_files_progress": "Анализ файлов: {0} / {1} ({2}%)", + "parsing_files_progress": "Анализ файлов рабочей области: {0} из {1} ({2} %)", "cant_find_or_run_process": "Невозможно найти или запустить process_name.", "child_exec_failed": "Не удалось запустить дочерний процесс: {0}.", "could_not_communicate_with_child_process": "Не удалось связаться с дочерним процессом!", diff --git a/Extension/i18n/rus/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/rus/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..ae8501808f --- /dev/null +++ b/Extension/i18n/rus/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Запуск и отладка файла C++ в Linux", + "walkthrough.linux.run.and.debug.your.file": "Запуск и отладка файла C++ в VS Code:", + "walkthrough.linux.instructions1": "Откройте файл исходного кода C++, который необходимо запустить и отладить. Убедитесь, что этот файл активен (в настоящий момент отображается и выделен) в редакторе.", + "walkthrough.linux.press.f5": "Нажмите {0} или выберите {1} в главном меню.", + "walkthrough.linux.run": "Запустить", + "walkthrough.linux.start.debugging": "Начать отладку", + "walkthrough.linux.select.compiler": "Выберите {0}.", + "walkthrough.linux.choose.build.active.file": "Выберите {0}.", + "walkthrough.linux.build.and.debug.active.file": "Сборка и отладка активного файла", + "walkthrough.linux.after.running": "После первого запуска и отладки вашего файла C++ вы увидите два новых файла в папке проекта {0}: {1} и {2}.", + "walkthrough.linux.for.more.complex": "Для более сложных сценариев сборки и отладки можно настроить ваши задачи сборки и конфигурации отладки в {0} и {1}. Например, если обычно вы передаете аргументы в компилятор при сборке из командной строки, можно указать эти аргументы в {2} с помощью свойств {3}. Аналогичным образом можно определить передаваемые программе аргументы для отладки в {4}." +} \ No newline at end of file diff --git a/Extension/i18n/rus/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/rus/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..cdc3809e9f --- /dev/null +++ b/Extension/i18n/rus/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Запуск и отладка файла C++ в macOS", + "walkthrough.mac.run.and.debug.your.file": "Запуск и отладка файла C++ в VS Code:", + "walkthrough.mac.instructions1": "Откройте файл исходного кода C++, который необходимо запустить и отладить. Убедитесь, что этот файл активен (в настоящий момент отображается и выделен) в редакторе.", + "walkthrough.mac.press.f5": "Нажмите {0} или выберите {1} в главном меню.", + "walkthrough.mac.run": "Запустить", + "walkthrough.mac.start.debugging": "Начать отладку", + "walkthrough.mac.select.compiler": "Выберите {0}.", + "walkthrough.mac.choose.build.active.file": "Выберите {0}.", + "walkthrough.mac.build.and.debug.active.file": "Сборка и отладка активного файла", + "walkthrough.mac.after.running": "После первого запуска и отладки вашего файла C++ вы увидите два новых файла в папке проекта {0}: {1} и {2}.", + "walkthrough.mac.for.more.complex": "Для более сложных сценариев сборки и отладки можно настроить ваши задачи сборки и конфигурации отладки в {0} и {1}. Например, если обычно вы передаете аргументы в компилятор при сборке из командной строки, можно указать эти аргументы в {2} с помощью свойств {3}. Аналогичным образом можно определить передаваемые программе аргументы для отладки в {4}." +} \ No newline at end of file diff --git a/Extension/i18n/rus/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/rus/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..fd5fe71da9 --- /dev/null +++ b/Extension/i18n/rus/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Запуск и отладка файла C++ в Windows", + "walkthrough.mac.run.and.debug.your.file": "Запуск и отладка файла C++ в VS Code:", + "walkthrough.mac.instructions1": "Откройте файл исходного кода C++, который необходимо запустить и отладить. Убедитесь, что этот файл активен (в настоящий момент отображается и выделен) в редакторе.", + "walkthrough.mac.press.f5": "Нажмите {0} или выберите {1} в главном меню.", + "walkthrough.mac.run": "Запустить", + "walkthrough.mac.start.debugging": "Начать отладку", + "walkthrough.mac.select.compiler": "Выберите {0}.", + "walkthrough.mac.choose.build.active.file": "Выберите {0}.", + "walkthrough.windows.build.and.debug.active.file": "Сборка и отладка активного файла", + "walkthrough.mac.after.running": "После первого запуска и отладки вашего файла C++ вы увидите два новых файла в папке проекта {0}: {1} и {2}.", + "walkthrough.mac.for.more.complex": "Для более сложных сценариев сборки и отладки можно настроить ваши задачи сборки и конфигурации отладки в {0} и {1}. Например, если обычно вы передаете аргументы в компилятор при сборке из командной строки, можно указать эти аргументы в {2} с помощью свойств {3}. Аналогичным образом можно определить передаваемые программе аргументы для отладки в {4}." +} \ No newline at end of file diff --git a/Extension/i18n/rus/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/rus/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..e2221a07a2 --- /dev/null +++ b/Extension/i18n/rus/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "Установка компилятора C++ в macOS", + "walkthough.mac.text1": "Если вы занимаетесь разработкой на C++ для macOS, рекомендуем установить компилятор Clang. Для установки средств разработки для командной строки достаточно выполнить следующую команду в окне терминала:", + "walkthough.mac.text2": "Убедитесь, что установлено решение Clang, выполнив следующую команду в окне терминала. Должно появиться сообщение со сведениями об используемой версии Clang." +} \ No newline at end of file diff --git a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..940a7b7d3f --- /dev/null +++ b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Установка компилятора C++ в Windows", + "walkthrough.windows.text1": "Если вы занимаетесь разработкой на C++ для Windows, рекомендуем установить набор инструментов компилятора Microsoft Visual C++ (MSVC). Если вы разрабатываете решения для Linux в Windows, попробуйте использовать {0} или {1}.", + "walkthrough.windows.link.title1": "Использование C++ и подсистемы Windows для Linux в VS Code", + "walkthrough.windows.link.title2": "Установка GCC в Windows с помощью MinGW", + "walkthrough.windows.text2": "Чтобы установить MSVC, скачайте {0} со страницы Visual Studio {1}. ", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "Загрузки", + "walkthrough.windows.text3": "В Visual Studio Installer выберите рабочую нагрузку {0} и выберите {1}.", + "walkthrough.windows.build.tools2": "Средства сборки C++", + "walkthrough.windows.link.install": "Установка", + "walkthrough.windows.note1": "Примечание", + "walkthrough.windows.note1.text": "Вы можете использовать набор инструментов C++ из пакета Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой базы кода C++, если у вас есть действующая лицензия Visual Studio (Community, Pro или Enterprise), которой вы активно пользуетесь для разработки этой базы кода C++.", + "walkthrough.windows.open.command.prompt": "Откройте {0}, введя команду \"developer\" в меню \"Пуск\" в Windows.", + "walkthrough.windows.command.prompt.name1": "Командная строка разработчика для VS", + "walkthrough.windows.check.install": "Проверьте установку MSVC, введя {0} в командной строке разработчика для VS. Должно появиться сообщение об авторских правах с номером версии и кратким описанием использования.", + "walkthrough.windows.note2": "Примечание", + "walkthrough.windows.note2.text": "Чтобы использовать MSVC из командной строки или VS Code, требуется запуск из {0}. В обычной среде, например в {1}, в {2} или в командной строке Windows, не заданы необходимые переменные среды \"path\".", + "walkthrough.windows.command.prompt.name2": "Командная строка разработчика для VS" +} \ No newline at end of file diff --git a/Extension/i18n/rus/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/rus/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..9252296607 --- /dev/null +++ b/Extension/i18n/rus/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Установка компилятора C++ в Linux", + "walkthrough.linux.text1": "Если вы занимаетесь разработкой на C++ для Linux, рекомендуем установить компилятор GCC. Это очень просто, достаточно выполнить следующие действия:", + "walkthrough.linux.text2": "Выполните следующую команду в окне терминала, чтобы обновить списки пакетов Ubuntu. Устаревший дистрибутив Linux в определенных случаях может помешать установке новых пакетов.", + "walkthrough.linux.text3": "Установите инструменты компилятора GNU и отладчик GDB с помощью следующей команды:", + "walkthrough.linux.text4": "Убедитесь, что система GCC установлена, выполнив следующую команду. На экране должно появиться сообщение об авторских правах и об используемой версии GCC." +} \ No newline at end of file diff --git a/Extension/i18n/trk/package.i18n.json b/Extension/i18n/trk/package.i18n.json index 1267186379..8879e2874e 100644 --- a/Extension/i18n/trk/package.i18n.json +++ b/Extension/i18n/trk/package.i18n.json @@ -29,7 +29,7 @@ "c_cpp.configuration.formatting.description": "Biçimlendirme altyapısını yapılandırır", "c_cpp.configuration.formatting.clangFormat.description": "Kodu biçimlendirmek için clang-format kullanılacak.", "c_cpp.configuration.formatting.vcFormat.description": "Kodu biçimlendirmek için Visual C++ biçimlendirme altyapısı kullanılacak.", - "c_cpp.configuration.formatting.Default.description": "Kodu biçimlendirmek için clang-format kullanılacak.", + "c_cpp.configuration.formatting.Default.description": "Varsayılan olarak, kodu biçimlendirmek için clang-format kullanılır. Ancak, ilgili ayarlara sahip bir .editorconfig dosyası, biçimlendirilmekte olan koda yaklaştığında ve clang_format_style varsayılan değer olan 'file' olduğunda Visual C++ biçimlendirme altyapısı kullanılır.", "c_cpp.configuration.formatting.Disabled.description": "Kod biçimlendirme devre dışı bırakılacak.", "c_cpp.configuration.vcFormat.indent.braces.description": "Küme ayraçları, Düzenleyici: Sekme Boyutu ayarında belirtilen miktara göre girintilenir.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Yeni satır girintisinin ne ile göreli olduğunu belirler", @@ -118,7 +118,7 @@ "c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Kod blokları her zaman VC Biçimi: Yeni Satır ayarlarının değerlerine göre biçimlendirilir", "c_cpp.configuration.clang_format_path.description": "clang-format yürütülebilir dosyasının tam yolu. Belirtilmezse ve ortam yolunda clang-format kullanılabiliyorsa bu kullanılır. Ortam yolunda bulunamazsa uzantı ile paketlenmiş bir clang-format kopyası kullanılır.", "c_cpp.configuration.clang_format_style.description": "Kodlama stili şu anda şunları destekliyor: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Geçerli veya üst dizindeki .clang-format dosyasından stili yüklemek için \"file\" kullanın. Belirli parametreleri ayarlamak için {anahtar: değer, ...} kullanın. Örneğin, \"Visual Studio\" stili şuna benzer: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", - "c_cpp.configuration.clang_format_fallbackStyle.description": "Clang-format, \"dosya\" stiliyle çağrıldığında geri dönüş olarak kullanılan önceden tanımlı stilin adı, ancak .clang-format dosyası bulunamadı. Olası değerler: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none veya belirli parametreleri ayarlamak için {anahtar: değer, ...} kullanın. Örneğin, \"Visual Studio\" stili şuna benzer: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", + "c_cpp.configuration.clang_format_fallbackStyle.description": "Clang-format, \"file\" stiliyle çağrıldığında geri dönüş olarak kullanılan önceden tanımlı stilin adı, ancak .clang-format dosyası bulunamadı. Olası değerler: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none veya belirli parametreleri ayarlamak için {anahtar: değer, ...} kullanın. Örneğin, \"Visual Studio\" stili şuna benzer: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }", "c_cpp.configuration.clang_format_sortIncludes.description": "Ayarlanırsa, SortIncludes parametresi tarafından belirlenen ekleme sıralama davranışını geçersiz kılar.", "c_cpp.configuration.intelliSenseEngine.description": "IntelliSense sağlayıcısını denetler. \"Etiket Ayrıştırıcısı\", bağlama duyarlı olmayan \"belirsiz\" sonuçlar sağlar. \"Varsayılan\", bağlama duyarlı sonuçlar sağlar. \"Devre dışı\", C/C++ dil hizmeti özelliklerini kapatır.", "c_cpp.configuration.intelliSenseEngineFallback.description": "IntelliSense altyapısının #include hatalarını içeren çeviri birimleri için otomatik olarak Etiket Ayrıştırıcısı'na geçip geçmeyeceğini denetler.", diff --git a/Extension/i18n/trk/src/Debugger/configurationProvider.i18n.json b/Extension/i18n/trk/src/Debugger/configurationProvider.i18n.json index ec62ef4ae2..ec59550f6a 100644 --- a/Extension/i18n/trk/src/Debugger/configurationProvider.i18n.json +++ b/Extension/i18n/trk/src/Debugger/configurationProvider.i18n.json @@ -6,6 +6,7 @@ { "default.configuration.menuitem": "Varsayılan Yapılandırma", "select.configuration": "Yapılandırma seçin", + "debug.configuration.selection.canceled": "Hata ayıklama yapılandırma seçimi iptal edildi", "cl.exe.not.available": "{0} derlemesi ve hata ayıklama yalnızca VS Code, VS için Geliştirici Komut İstemi'nden çalıştırıldığında kullanılabilir.", "miDebuggerPath.not.available": "miDebuggerPath yok: {0}. Hata ayıklayıcısı yüklendi mi?", "debugger.deprecated.config": "{0}' anahtarı kullanım dışı. Lütfen bunun yerine '{1}' kullanın.", diff --git a/Extension/i18n/trk/src/LanguageServer/client.i18n.json b/Extension/i18n/trk/src/LanguageServer/client.i18n.json index dcab6eea8e..fd68522fb0 100644 --- a/Extension/i18n/trk/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/trk/src/LanguageServer/client.i18n.json @@ -9,6 +9,7 @@ "unable.to.start": "C/C++ dil sunucusu başlatılamıyor. IntelliSense özellikleri devre dışı bırakılacak. Hata: {0}", "check.permissions": "EPERM: '{0}' için izinleri denetle", "server.crashed2": "Dil sunucusu son 3 dakikada 5 kez kilitlendi. Sunucu yeniden başlatılmayacak.", + "loggingLevel.changed": "{0} {1} olarak değiştirildi", "provider.configure.folder": "{0}, '{1}' klasörü için IntelliSense'i yapılandırmak istiyor.", "provider.configure.this.folder": "{0}, bu klasör için IntelliSense'i yapılandırmak istiyor.", "allow.button": "İzin ver", @@ -35,6 +36,5 @@ "configurations.received": "Alınan özel yapılandırmalar:", "browse.configuration.received": "Özel gözatma yapılandırması alındı: {0}", "no.compilers.found": "Sisteminizde C++ derleyicisi bulunamadı. Platformunuz için, düzenleyicideki yönergeleri takip ederek {0} derleyicisini yüklemenizi öneririz.", - "compilers.found": "Sisteminizde şu C++ derleyicileri bulundu:", - "compilers.found.message": "Projenizin IntelliSense Yapılandırmasında kullanılacak derleyiciyi belirtebilirsiniz." + "compilers.found": "Sisteminizde aşağıdaki C++ derleyicilerini bulduk. Projenizin IntelliSense Yapılandırmasında bir derleyici seçin." } \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/settings.i18n.json b/Extension/i18n/trk/src/LanguageServer/settings.i18n.json new file mode 100644 index 0000000000..6076fb8c29 --- /dev/null +++ b/Extension/i18n/trk/src/LanguageServer/settings.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "editorconfig.default.behavior": "Kod biçimlendirme, .clang-format yerine .editorconfig’deki ayarları kullanıyor. Daha fazla bilgi için 'C_Cpp.formatting' ayarının 'Default’ değerine yönelik belgelere bakın." +} \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/ui.i18n.json b/Extension/i18n/trk/src/LanguageServer/ui.i18n.json index 0e83d36111..4131935e2a 100644 --- a/Extension/i18n/trk/src/LanguageServer/ui.i18n.json +++ b/Extension/i18n/trk/src/LanguageServer/ui.i18n.json @@ -4,10 +4,16 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { + "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.tooltip": "IntelliSense güncelleştiriliyor", + "select.command": "Komut seç...", "c.cpp.configuration.tooltip": "C/C++ Yapılandırması", - "updating.intellisense.tooltip": "IntelliSense güncelleştiriliyor...", - "discovering.files.tooltip": "Dosyalar bulunuyor...", + "c.cpp.references.statusbar": "C/C++ Başvuruları Durumu", + "c.cpp.intellisense.statusbar": "C/C++ IntelliSense Durumu", + "c.cpp.tagparser.statusbar": "C/C++ Etiket Ayrıştırıcısı Durumu", + "discovering.files.tooltip": "Dosyalar bulunuyor", + "running.analysis.tooltip": "{0} çalıştırılıyor", "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)", @@ -17,7 +23,9 @@ "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...", - "select.parsing.command": "Ayrıştırma komutu seçin...", - "resume.parsing": "Ayrıştırmayı Sürdür", - "pause.parsing": "Ayrıştırmayı Duraklat" + "resume.parsing": "Çalışma Alanı Ayrıştırmasını Sürdür", + "pause.parsing": "Çalışma Alanı Ayrıştırmasını Duraklat", + "cancel.analysis": "{0} işlemini iptal et", + "resume.analysis": "{0} işlemini sürdür", + "pause.analysis": "{0} işlemini duraklat" } \ No newline at end of file diff --git a/Extension/i18n/trk/src/main.i18n.json b/Extension/i18n/trk/src/main.i18n.json index 5549bc4bb9..7988f9c761 100644 --- a/Extension/i18n/trk/src/main.i18n.json +++ b/Extension/i18n/trk/src/main.i18n.json @@ -10,10 +10,9 @@ "native.binaries.not.supported": "Uzantının bu {0} {1} sürümü, işletim sisteminizle uyumlu değil. Lütfen uzantının \"{2}\" sürümünü indirip yükleyin.", "extension.installation.failed": "C/C++ uzantısı başarıyla yüklenemedi. C/C++ dil özelliklerinin düzgün çalışması için uzantıyı onarmanız veya yeniden yüklemeniz gerekir.", "remove.extension": "Onarmayı Dene", - "jason.files.missing": "C/C++ uzantısı başarıyla yüklenemedi. C/C++ dil özelliklerinin düzgün çalışabilmesi için uzantıyı yeniden yüklemeniz gerekir.", + "json.files.missing": "C/C++ uzantısı başarıyla yüklenemedi. C/C++ dil özelliklerinin düzgün çalışabilmesi için uzantıyı yeniden yüklemeniz gerekir.", "initialization.failed": "C/C++ uzantısının yüklenmesi başarısız oldu. Daha fazla bilgi için lütfen çıkış penceresine bakın.", "updating.dependencies": "C/C++ bağımlılıkları güncelleştiriliyor...", - "rename.failed.delete.manually": "HATA: fs.rename, \"{0}\" ile başarısız oldu. Hata ayıklamayı etkinleştirmek için {1} dosyasını kendiniz silin.", "failed.at.stage": "Şu aşamada başarısız oldu: {0}", "failed.at.stage2": "Çevrimdışı bir ortamda çalışıyorsanız veya bu hatayı sürekli olarak görüyorsanız uzantının önceden eklenmiş tüm bağımlılıklara sahip bir sürümünü {0} adresinden indirmeyi deneyin ve sonra VS Code'da \"VSIX'ten yükle\" komutunu kullanarak uzantıyı yükleyin.", "finished.installing.dependencies": "Bağımlılıkların yüklenmesi tamamlandı", diff --git a/Extension/i18n/trk/src/nativeStrings.i18n.json b/Extension/i18n/trk/src/nativeStrings.i18n.json index 8cec333cab..2cce592535 100644 --- a/Extension/i18n/trk/src/nativeStrings.i18n.json +++ b/Extension/i18n/trk/src/nativeStrings.i18n.json @@ -127,10 +127,10 @@ "discovering_files_count": "Dosyalar bulunuyor: {0}", "parsing_open_files": "Açık dosyalar ayrıştırılıyor", "tag_parser_initializing": "Etiket Ayrıştırıcısı başlatılıyor", - "parsing_paused": "Ayrıştırma duraklatıldı", - "parsing_files": "Dosyalar ayrıştırılıyor: {0}", + "parsing_paused": "Çalışma alanını ayrıştırması duraklatıldı", + "parsing_files": "Çalışma alanı dosyalar ayrıştırılıyor: {0}", "discovering_files_count_progress": "Dosyalar bulunuyor: {0}/{1} (%{2})", - "parsing_files_progress": "Dosyalar ayrıştırılıyor: {0} / {1} (%{2})", + "parsing_files_progress": "Çalışma alanı dosyalar ayrıştırılıyor: {0} / {1} (%{2})", "cant_find_or_run_process": "process_name bulunamıyor veya çalıştırılamıyor", "child_exec_failed": "Alt öğe yürütülemedi: {0}", "could_not_communicate_with_child_process": "Alt işlemle iletişim kurulamadı!", diff --git a/Extension/i18n/trk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json b/Extension/i18n/trk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json new file mode 100644 index 0000000000..bddd514b46 --- /dev/null +++ b/Extension/i18n/trk/walkthrough/debugconfig/run-and-debug-project-linux.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.title.run.and.debug.your.file": "Linux üzerinde C++ dosyanızı çalıştırma ve hatalarını ayıklama", + "walkthrough.linux.run.and.debug.your.file": "C++ dosyanızı VS Code'da çalıştırıp hatalarını ayıklamak için:", + "walkthrough.linux.instructions1": "Çalıştırıp hatalarını ayıklamak istediğiniz C++ kaynak dosyasını açın. Bu dosyanın düzenleyicide etkin (görünüp seçildiğinden) olduğundan emin olun.", + "walkthrough.linux.press.f5": "{0} tuşuna basın. Alternatif olarak, ana menüden {1} seçeneğini belirleyin.", + "walkthrough.linux.run": "Çalıştır", + "walkthrough.linux.start.debugging": "Hata Ayıklamayı Başlat", + "walkthrough.linux.select.compiler": "{0} seçin.", + "walkthrough.linux.choose.build.active.file": "{0} seçin.", + "walkthrough.linux.build.and.debug.active.file": "Etkin dosyayı derle ve dosyada hata ayıkla", + "walkthrough.linux.after.running": "C++ dosyanızı ilk kez çalıştırıp hatalarını ayıkladıktan sonra projenizin {0} klasöründe iki yeni dosya olduğunu fark edeceksiniz: {1} ve {2}.", + "walkthrough.linux.for.more.complex": "Daha karmaşık derleme ve hata ayıklama senaryoları için {0} ve {1} içindeki derleme görevlerinizi özelleştirebilir ve yapılandırmalarınızın hatalarını ayıklayabilirsiniz. Örneğin, komut satırından derleme yaparken bağımsız değişkenleri derleyicinize geçirirseniz {3} özelliğini kullanarak bu bağımsız değişkenleri {2} içinde belirtebilirsiniz. Benzer şekilde, {4} içinde hata ayıklama için programınıza geçirilecek bağımsız değişkenleri tanımlayabilirsiniz." +} \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json b/Extension/i18n/trk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json new file mode 100644 index 0000000000..ea1167f549 --- /dev/null +++ b/Extension/i18n/trk/walkthrough/debugconfig/run-and-debug-project-mac.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "macOS üzerinde C++ dosyanızı çalıştırma ve hatalarını ayıklama", + "walkthrough.mac.run.and.debug.your.file": "C++ dosyanızı VS Code'da çalıştırıp hatalarını ayıklamak için:", + "walkthrough.mac.instructions1": "Çalıştırıp hatalarını ayıklamak istediğiniz C++ kaynak dosyasını açın. Bu dosyanın düzenleyicide etkin (görünüp seçildiğinden) olduğundan emin olun.", + "walkthrough.mac.press.f5": "{0} tuşuna basın. Alternatif olarak, ana menüden {1} seçeneğini belirleyin.", + "walkthrough.mac.run": "Çalıştır", + "walkthrough.mac.start.debugging": "Hata Ayıklamayı Başlat", + "walkthrough.mac.select.compiler": "{0} seçin.", + "walkthrough.mac.choose.build.active.file": "{0} seçin.", + "walkthrough.mac.build.and.debug.active.file": "Etkin dosyayı derle ve dosyada hata ayıkla", + "walkthrough.mac.after.running": "C++ dosyanızı ilk kez çalıştırıp hatalarını ayıkladıktan sonra projenizin {0} klasöründe iki yeni dosya olduğunu fark edeceksiniz: {1} ve {2}.", + "walkthrough.mac.for.more.complex": "Daha karmaşık derleme ve hata ayıklama senaryoları için {0} ve {1} içindeki derleme görevlerinizi özelleştirebilir ve yapılandırmalarınızın hatalarını ayıklayabilirsiniz. Örneğin, komut satırından derleme yaparken bağımsız değişkenleri derleyicinize geçirirseniz {3} özelliğini kullanarak bu bağımsız değişkenleri {2} içinde belirtebilirsiniz. Benzer şekilde, {4} içinde hata ayıklama için programınıza geçirilecek bağımsız değişkenleri tanımlayabilirsiniz." +} \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json b/Extension/i18n/trk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json new file mode 100644 index 0000000000..ac300d2e64 --- /dev/null +++ b/Extension/i18n/trk/walkthrough/debugconfig/run-and-debug-project-windows.md.i18n.json @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.mac.title.run.and.debug.your.file": "Windows üzerinde C++ dosyanızı çalıştırma ve hatalarını ayıklama", + "walkthrough.mac.run.and.debug.your.file": "C++ dosyanızı VS Code'da çalıştırıp hatalarını ayıklamak için:", + "walkthrough.mac.instructions1": "Çalıştırıp hatalarını ayıklamak istediğiniz C++ kaynak dosyasını açın. Bu dosyanın düzenleyicide etkin (görünüp seçildiğinden) olduğundan emin olun.", + "walkthrough.mac.press.f5": "{0} tuşuna basın. Alternatif olarak, ana menüden {1} seçeneğini belirleyin.", + "walkthrough.mac.run": "Çalıştır", + "walkthrough.mac.start.debugging": "Hata Ayıklamayı Başlat", + "walkthrough.mac.select.compiler": "{0} seçin.", + "walkthrough.mac.choose.build.active.file": "{0} seçin.", + "walkthrough.windows.build.and.debug.active.file": "Etkin dosyayı derle ve dosyada hata ayıkla", + "walkthrough.mac.after.running": "C++ dosyanızı ilk kez çalıştırıp hatalarını ayıkladıktan sonra projenizin {0} klasöründe iki yeni dosya olduğunu fark edeceksiniz: {1} ve {2}.", + "walkthrough.mac.for.more.complex": "Daha karmaşık derleme ve hata ayıklama senaryoları için {0} ve {1} içindeki derleme görevlerinizi özelleştirebilir ve yapılandırmalarınızın hatalarını ayıklayabilirsiniz. Örneğin, komut satırından derleme yaparken bağımsız değişkenleri derleyicinize geçirirseniz {3} özelliğini kullanarak bu bağımsız değişkenleri {2} içinde belirtebilirsiniz. Benzer şekilde, {4} içinde hata ayıklama için programınıza geçirilecek bağımsız değişkenleri tanımlayabilirsiniz." +} \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-clang-macos.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-clang-macos.md.i18n.json new file mode 100644 index 0000000000..ff3fccecc7 --- /dev/null +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-clang-macos.md.i18n.json @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthough.mac.install.compiler": "macOS'a C++ derleyicisi yükleme", + "walkthough.mac.text1": "macOS için C++ geliştirmesi yapıyorsanız Clang derleyicisini yüklemenizi öneririz. Komut satırı geliştirici araçlarını yüklemek üzere aşağıdaki komutu Terminal penceresinde çalıştırmanız yeterlidir:", + "walkthough.mac.text2": "Ardından clang'in yüklü olduğunu doğrulamak için Terminal penceresinde aşağıdaki komutu çalıştırın. Kullanmakta olduğunuz Clang’in sürümü hakkındaki bilgileri içeren bir ileti göreceksiniz." +} \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json new file mode 100644 index 0000000000..83d4cd9a79 --- /dev/null +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows.md.i18n.json @@ -0,0 +1,25 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.windows.install.compiler": "Windows'a C++ derleyicisi yükleme", + "walkthrough.windows.text1": "Windows için C++ geliştirmesi yapıyorsanız Microsoft Visual C++ (MSVC) derleyici araç takımını yüklemenizi öneririz. Windows'tan Linux'u hedefliyorsanız {0} bölümüne göz atabilir veya şunu yapabilirsiniz: {1}.", + "walkthrough.windows.link.title1": "VS Code'da Linux için C++’yı ve Windows Alt Sistemi’ni (WSL) kullanma", + "walkthrough.windows.link.title2": "MinGW ile Windows’a GCC'yi yükleme", + "walkthrough.windows.text2": "MSVC’yi yüklemek için Visual Studio {1} sayfasından {0} indirin. ", + "walkthrough.windows.build.tools1": "Build Tools for Visual Studio 2019", + "walkthrough.windows.link.downloads": "İndirmeler", + "walkthrough.windows.text3": "Visual Studio Yükleyicisi’nde {0} iş yükünü denetleyip {1} seçin.", + "walkthrough.windows.build.tools2": "C++ derleme araçları", + "walkthrough.windows.link.install": "Yükle", + "walkthrough.windows.note1": "Not", + "walkthrough.windows.note1.text": "Herhangi bir C++ kod temelini derlemek, oluşturmak ve doğrulamak için Visual Studio Code ile birlikte Visual Studio Derleme Araçları’nda bulunan C++ araç takımını kullanabilirsiniz. Bunun yanı sıra, bu C++ kod temelini geliştirmek için etkin olarak kullandığınız geçerli bir Visual Studio lisansına (Community, Pro veya Enterprise) sahip olursunuz.", + "walkthrough.windows.open.command.prompt": "Windows Başlat menüsüne 'geliştirici' yazarak {0} açın.", + "walkthrough.windows.command.prompt.name1": "VS için Geliştirici Komut İstemi", + "walkthrough.windows.check.install": "VS için Geliştirici Komut İstemi’ne {0} yazarak MSVC yüklemenizi denetleyin. Sürüm ve temel kullanım açıklamasını içeren bir telif hakkı iletisi göreceksiniz.", + "walkthrough.windows.note2": "Not", + "walkthrough.windows.note2.text": "Komut satırından veya VS Code’dan MSVC’yi kullanmak için şuradan çalıştırmanız gerek: {0}. {1}, {2} veya Windows komut istemi gibi sıradan bir kabuk gerekli yol ortam değişkenleri kümesi içermez.", + "walkthrough.windows.command.prompt.name2": "VS için Geliştirici Komut İstemi" +} \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-gcc-linux.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-gcc-linux.md.i18n.json new file mode 100644 index 0000000000..1f915b1f10 --- /dev/null +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-gcc-linux.md.i18n.json @@ -0,0 +1,12 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "walkthrough.linux.install.compiler": "Linux'a C++ derleyicisi yükleme", + "walkthrough.linux.text1": "Linux için C++ geliştirmesi yapıyorsanız GCC derleyicisini yüklemenizi öneririz. GCC'nin yüklemek basittir. Yalnızca şu üç adımı izlemeniz gerekir:", + "walkthrough.linux.text2": "Ubuntu paket listelerini güncelleştirmek için terminal penceresinden aşağıdaki komutu çalıştırın. Güncel olmayan bir Linux dağıtımı bazen yeni paket yükleme girişimlerini etkileyebilir.", + "walkthrough.linux.text3": "Bu komutla GNU derleyici araçlarını ve GDB hata ayıklayıcısını yükleyin:", + "walkthrough.linux.text4": "Aşağıdaki komutu çalıştırarak GCC'nin yüklü olduğunu doğrulayın. Telif hakkı iletisi ve kullandığınız GCC sürümü hakkındaki bilgileri göreceksiniz." +} \ No newline at end of file diff --git a/Extension/package.json b/Extension/package.json index fc5d8b8dc0..336c33de3f 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.5.1-main", + "version": "1.6.0-main", "publisher": "ms-vscode", "icon": "LanguageCCPP_color_128x.png", "readme": "README.md", @@ -11,7 +11,7 @@ }, "license": "SEE LICENSE IN LICENSE.txt", "engines": { - "vscode": "^1.53.0" + "vscode": "^1.58.0" }, "bugs": { "url": "https://github.com/Microsoft/vscode-cpptools/issues", @@ -62,7 +62,7 @@ "description": "The C++ extension uses the C++ compiler on your system to configure IntelliSense for your project. \n[Check for C++ compilers](command:C_Cpp.CheckForCompiler)", "when": "workspacePlatform == mac", "media": { - "markdown": "walkthrough/installcompiler/install-clang-macos.md" + "markdown": "dist/walkthrough/installcompiler/install-clang-macos.md" } }, { @@ -71,7 +71,7 @@ "description": "The C++ extension uses the C++ compiler on your system to configure IntelliSense for your project. \n[Check for C++ compilers](command:C_Cpp.CheckForCompiler)", "when": "workspacePlatform == linux", "media": { - "markdown": "walkthrough/installcompiler/install-gcc-linux.md" + "markdown": "dist/walkthrough/installcompiler/install-gcc-linux.md" } }, { @@ -80,7 +80,7 @@ "description": "The C++ extension uses the C++ compiler on your system to configure IntelliSense for your project. \n[Check for C++ compilers](command:C_Cpp.CheckForCompiler)", "when": "workspacePlatform == windows", "media": { - "markdown": "walkthrough/installcompiler/install-compiler-windows.md" + "markdown": "dist/walkthrough/installcompiler/install-compiler-windows.md" } }, { @@ -116,7 +116,7 @@ "description": "Create a default build task and debug configuration for your project. \n[Learn more](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)", "when": "workspacePlatform == mac", "media": { - "markdown": "walkthrough/debugconfig/run-and-debug-project-mac.md" + "markdown": "dist/walkthrough/debugconfig/run-and-debug-project-mac.md" } }, { @@ -125,7 +125,7 @@ "description": "Create a default build task and debug configuration for your project. \n[Learn more](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)", "when": "workspacePlatform == linux", "media": { - "markdown": "walkthrough/debugconfig/run-and-debug-project-linux.md" + "markdown": "dist/walkthrough/debugconfig/run-and-debug-project-linux.md" } }, { @@ -134,7 +134,7 @@ "description": "Create a default build task and debug configuration for your project. \n[Learn more](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)", "when": "workspacePlatform == windows", "media": { - "markdown": "walkthrough/debugconfig/run-and-debug-project-windows.md" + "markdown": "dist/walkthrough/debugconfig/run-and-debug-project-windows.md" } }, { @@ -250,7 +250,7 @@ "type": "string", "default": "file", "description": "%c_cpp.configuration.clang_format_style.description%", - "scope": "machine-overridable" + "scope": "resource" }, "C_Cpp.formatting": { "type": "string", @@ -266,7 +266,7 @@ "%c_cpp.configuration.formatting.Default.description%", "%c_cpp.configuration.formatting.Disabled.description%" ], - "default": "clangFormat", + "default": "Default", "description": "%c_cpp.configuration.formatting.description%", "scope": "resource" }, @@ -771,7 +771,7 @@ "type": "string", "default": "Visual Studio", "description": "%c_cpp.configuration.clang_format_fallbackStyle.description%", - "scope": "machine-overridable" + "scope": "resource" }, "C_Cpp.clang_format_sortIncludes": { "type": [ @@ -1101,7 +1101,7 @@ ], "default": null, "description": "%c_cpp.configuration.default.compilerPath.description%", - "scope": "resource" + "scope": "machine-overridable" }, "C_Cpp.default.compilerArgs": { "type": [ @@ -1129,7 +1129,7 @@ "gnu17" ], "description": "%c_cpp.configuration.default.cStandard.description%", - "scope": "machine-overridable" + "scope": "resource" }, "C_Cpp.default.cppStandard": { "type": "string", @@ -1149,7 +1149,7 @@ "gnu++20" ], "description": "%c_cpp.configuration.default.cppStandard.description%", - "scope": "machine-overridable" + "scope": "resource" }, "C_Cpp.default.configurationProvider": { "type": "string", @@ -2641,60 +2641,356 @@ ], "semanticTokenScopes": [ { + "language": "c", "scopes": { + "namespace": [ + "entity.name.namespace.c" + ], + "type": [ + "entity.name.type.c" + ], + "type.defaultLibrary": [ + "support.type.c" + ], + "struct": [ + "storage.type.struct.c" + ], + "class": [ + "entity.name.type.class.c" + ], + "class.defaultLibrary": [ + "support.class.c" + ], + "interface": [ + "entity.name.type.interface.c" + ], + "enum": [ + "entity.name.type.enum.c" + ], + "function": [ + "entity.name.function.c" + ], + "function.defaultLibrary": [ + "support.function.c" + ], + "method": [ + "entity.name.function.member.c" + ], + "variable": [ + "variable.other.readwrite.c", + "entity.name.variable.c" + ], + "variable.readonly": [ + "variable.other.constant.c" + ], + "variable.readonly.defaultLibrary": [ + "support.constant.c" + ], + "parameter": [ + "variable.parameter.c" + ], + "property": [ + "variable.other.property.c" + ], + "property.readonly": [ + "variable.other.constant.property.c" + ], + "enumMember": [ + "variable.other.enummember.c" + ], + "event": [ + "variable.other.event.c" + ], + "label": [ + "entity.name.label.c" + ], + "variable.global": [ + "variable.other.global.c" + ], + "variable.local": [ + "variable.other.local.c" + ], + "property.static": [ + "variable.other.property.static.c" + ], + "method.static": [ + "entity.name.function.member.static.c" + ], + "macro": [ + "entity.name.function.preprocessor.c", + "entity.name.function.macro.c" + ], + "referenceType": [ + "entity.name.type.class.reference.c" + ], + "cliProperty": [ + "variable.other.property.cli.c" + ], + "genericType": [ + "entity.name.type.class.generic.c" + ], + "valueType": [ + "entity.name.type.class.value.c" + ], + "templateFunction": [ + "entity.name.function.templated.c" + ], + "templateType": [ + "entity.name.type.class.templated.c" + ], + "operatorOverload": [ + "entity.name.function.operator.c" + ], + "memberOperatorOverload": [ + "entity.name.function.operator.member.c" + ], + "newOperator": [ + "keyword.operator.new.c" + ], + "numberLiteral": [ + "entity.name.operator.custom-literal.number.c" + ], + "customLiteral": [ + "entity.name.operator.custom-literal.c" + ], + "stringLiteral": [ + "entity.name.operator.custom-literal.string.c" + ] + } + }, + { + "language": "cpp", + "scopes": { + "namespace": [ + "entity.name.namespace.cpp" + ], + "type": [ + "entity.name.type.cpp" + ], + "type.defaultLibrary": [ + "support.type.cpp" + ], + "struct": [ + "storage.type.struct.cpp" + ], + "class": [ + "entity.name.type.class.cpp" + ], + "class.defaultLibrary": [ + "support.class.cpp" + ], + "interface": [ + "entity.name.type.interface.cpp" + ], + "enum": [ + "entity.name.type.enum.cpp" + ], + "function": [ + "entity.name.function.cpp" + ], + "function.defaultLibrary": [ + "support.function.cpp" + ], + "method": [ + "entity.name.function.member.cpp" + ], + "variable": [ + "variable.other.readwrite.cpp", + "entity.name.variable.cpp" + ], + "variable.readonly": [ + "variable.other.constant.cpp" + ], + "variable.readonly.defaultLibrary": [ + "support.constant.cpp" + ], + "parameter": [ + "variable.parameter.cpp" + ], + "property": [ + "variable.other.property.cpp" + ], + "property.readonly": [ + "variable.other.constant.property.cpp" + ], + "enumMember": [ + "variable.other.enummember.cpp" + ], + "event": [ + "variable.other.event.cpp" + ], "label": [ - "entity.name.label" + "entity.name.label.cpp" ], "variable.global": [ - "variable.other.global" + "variable.other.global.cpp" ], "variable.local": [ - "variable.other.local" + "variable.other.local.cpp" ], "property.static": [ - "variable.other.property.static" + "variable.other.property.static.cpp" ], "method.static": [ - "entity.name.function.member.static" + "entity.name.function.member.static.cpp" ], "macro": [ - "entity.name.function.preprocessor" + "entity.name.function.preprocessor.cpp", + "entity.name.function.macro.cpp" ], "referenceType": [ - "entity.name.type.class.reference" + "entity.name.type.class.reference.cpp" ], "cliProperty": [ - "variable.other.property.cli" + "variable.other.property.cli.cpp" ], "genericType": [ - "entity.name.type.class.generic" + "entity.name.type.class.generic.cpp" ], "valueType": [ - "entity.name.type.class.value" + "entity.name.type.class.value.cpp" ], "templateFunction": [ - "entity.name.function.templated" + "entity.name.function.templated.cpp" ], "templateType": [ - "entity.name.type.class.templated" + "entity.name.type.class.templated.cpp" ], "operatorOverload": [ - "entity.name.function.operator" + "entity.name.function.operator.cpp" ], "memberOperatorOverload": [ - "entity.name.function.operator.member" + "entity.name.function.operator.member.cpp" ], "newOperator": [ - "keyword.operator.new" + "keyword.operator.new.cpp" ], "numberLiteral": [ - "entity.name.operator.custom-literal.number" + "entity.name.operator.custom-literal.number.cpp" ], "customLiteral": [ - "entity.name.operator.custom-literal" + "entity.name.operator.custom-literal.cpp" ], "stringLiteral": [ - "entity.name.operator.custom-literal.string" + "entity.name.operator.custom-literal.string.cpp" + ] + } + }, + { + "language": "cuda-cpp", + "scopes": { + "namespace": [ + "entity.name.namespace.cuda-cpp" + ], + "type": [ + "entity.name.type.cuda-cpp" + ], + "type.defaultLibrary": [ + "support.type.cuda-cpp" + ], + "struct": [ + "storage.type.struct.cuda-cpp" + ], + "class": [ + "entity.name.type.class.cuda-cpp" + ], + "class.defaultLibrary": [ + "support.class.cuda-cpp" + ], + "interface": [ + "entity.name.type.interface.cuda-cpp" + ], + "enum": [ + "entity.name.type.enum.cuda-cpp" + ], + "function": [ + "entity.name.function.cuda-cpp" + ], + "function.defaultLibrary": [ + "support.function.cuda-cpp" + ], + "method": [ + "entity.name.function.member.cuda-cpp" + ], + "variable": [ + "variable.other.readwrite.cuda-cpp", + "entity.name.variable.cuda-cpp" + ], + "variable.readonly": [ + "variable.other.constant.cuda-cpp" + ], + "variable.readonly.defaultLibrary": [ + "support.constant.cuda-cpp" + ], + "parameter": [ + "variable.parameter.cuda-cpp" + ], + "property": [ + "variable.other.property.cuda-cpp" + ], + "property.readonly": [ + "variable.other.constant.property.cuda-cpp" + ], + "enumMember": [ + "variable.other.enummember.cuda-cpp" + ], + "event": [ + "variable.other.event.cuda-cpp" + ], + "label": [ + "entity.name.label.cuda-cpp" + ], + "variable.global": [ + "variable.other.global.cuda-cpp" + ], + "variable.local": [ + "variable.other.local.cuda-cpp" + ], + "property.static": [ + "variable.other.property.static.cuda-cpp" + ], + "method.static": [ + "entity.name.function.member.static.cuda-cpp" + ], + "macro": [ + "entity.name.function.preprocessor.cuda-cpp", + "entity.name.function.macro.cuda-cpp" + ], + "referenceType": [ + "entity.name.type.class.reference.cuda-cpp" + ], + "cliProperty": [ + "variable.other.property.cli.cuda-cpp" + ], + "genericType": [ + "entity.name.type.class.generic.cuda-cpp" + ], + "valueType": [ + "entity.name.type.class.value.cuda-cpp" + ], + "templateFunction": [ + "entity.name.function.templated.cuda-cpp" + ], + "templateType": [ + "entity.name.type.class.templated.cuda-cpp" + ], + "operatorOverload": [ + "entity.name.function.operator.cuda-cpp" + ], + "memberOperatorOverload": [ + "entity.name.function.operator.member.cuda-cpp" + ], + "newOperator": [ + "keyword.operator.new.cuda-cpp" + ], + "numberLiteral": [ + "entity.name.operator.custom-literal.number.cuda-cpp" + ], + "customLiteral": [ + "entity.name.operator.custom-literal.cuda-cpp" + ], + "stringLiteral": [ + "entity.name.operator.custom-literal.string.cuda-cpp" ] } } @@ -2730,12 +3026,13 @@ "@types/plist": "^3.0.2", "@types/semver": "^7.1.0", "@types/tmp": "^0.1.0", - "@types/vscode": "1.53.0", + "@types/vscode": "1.58.0", "@types/which": "^1.3.2", "@types/yauzl": "^2.9.1", "@typescript-eslint/eslint-plugin": "^4.22.1", "@typescript-eslint/eslint-plugin-tslint": "^4.22.1", "@typescript-eslint/parser": "^4.22.1", + "@vscode/test-electron": "^1.6.1", "async-child-process": "^1.1.1", "await-notify": "^1.0.1", "eslint": "^7.25.0", @@ -2763,7 +3060,6 @@ "vscode-debugadapter": "^1.35.0", "vscode-debugprotocol": "^1.35.0", "vscode-nls-dev": "^4.0.0-next.1", - "vscode-test": "^1.3.0", "webpack": "^5.28.0", "webpack-cli": "^4.5.0", "xml2js": "^0.4.19" @@ -2791,12 +3087,13 @@ "y18n": "^5.0.5", "hosted-git-info": "^3.0.8", "browserslist": "^4.16.6", - "glob-parent": "^5.1.2" + "glob-parent": "^5.1.2", + "path-parse": "^1.0.7" }, "runtimeDependencies": [ { "description": "C/C++ language components (Linux / x86_64)", - "url": "https://go.microsoft.com/fwlink/?linkid=2167520", + "url": "https://go.microsoft.com/fwlink/?linkid=2170969", "platforms": [ "linux" ], @@ -2807,11 +3104,11 @@ "./bin/cpptools", "./bin/cpptools-srv" ], - "integrity": "32AC1D58A5A21527AA24583011F5A3694FCEFB5920677D0CA8D13F70BC0102BE" + "integrity": "1554D6291CEC20CE0E39B0A4AD9E50FAD012FCAA76460FA0A2DDD7654ADC197F" }, { "description": "C/C++ language components (Linux / armhf)", - "url": "https://go.microsoft.com/fwlink/?linkid=2167624", + "url": "https://go.microsoft.com/fwlink/?linkid=2170862", "platforms": [ "linux" ], @@ -2822,11 +3119,11 @@ "./bin/cpptools", "./bin/cpptools-srv" ], - "integrity": "9CB1C36A34DD2F7A53FF5471F1FBB5C0AD65A9E67C17013C7FBF65CDDAF7A7E1" + "integrity": "94712D1268A54FF8224B908E15439B3B9C22FE2C268407D871D1C1B7EEF6630C" }, { "description": "C/C++ language components (Linux / aarch64)", - "url": "https://go.microsoft.com/fwlink/?linkid=2167623", + "url": "https://go.microsoft.com/fwlink/?linkid=2170860", "platforms": [ "linux" ], @@ -2837,11 +3134,11 @@ "./bin/cpptools", "./bin/cpptools-srv" ], - "integrity": "D8F6A5A4A8A13F6F872C94BD522602A7C0E5E5CCA58CE7CE1ED3DC32F82850AC" + "integrity": "B65F184826F61F3DF2E68CFE409C85BE6A9195595B524BCF74E67F1B50E474F5" }, { "description": "C/C++ language components (macOS / x86_64)", - "url": "https://go.microsoft.com/fwlink/?linkid=2167518", + "url": "https://go.microsoft.com/fwlink/?linkid=2170970", "platforms": [ "darwin" ], @@ -2852,11 +3149,11 @@ "./bin/cpptools", "./bin/cpptools-srv" ], - "integrity": "3EF54224CED1BCC6D64B2A93BFA8093E3D75510C8F96E943049CCB4C656161A2" + "integrity": "081A4A0098EC557A32692B2E9DAB852371B5330D8993FF8C5EE12AC6A8EE1605" }, { "description": "C/C++ language components (macOS / ARM64)", - "url": "https://go.microsoft.com/fwlink/?linkid=2167519", + "url": "https://go.microsoft.com/fwlink/?linkid=2170971", "platforms": [ "darwin" ], @@ -2867,11 +3164,11 @@ "./bin/cpptools", "./bin/cpptools-srv" ], - "integrity": "02F2BE96493256237995EF51D4E0CD0345727D27A61135C6FCDB88608406C908" + "integrity": "409E9221C7D8C318FBD09E02D41CA166692606521EB7B9A6E6C615359A7CDE4C" }, { "description": "C/C++ language components (Windows)", - "url": "https://go.microsoft.com/fwlink/?linkid=2167517", + "url": "https://go.microsoft.com/fwlink/?linkid=2170863", "platforms": [ "win32" ], @@ -2883,11 +3180,11 @@ "./bin/cpptools.exe", "./bin/cpptools-srv.exe" ], - "integrity": "1E23884810A6EBF56BC7C5C4CB5317723CC3519039D56BF07310735870163E77" + "integrity": "6A766CE793DA60F8596139833A996A7015AB2FFAFBA441544A8616E6D9D0E9CC" }, { "description": "C/C++ language components (Windows ARM64)", - "url": "https://go.microsoft.com/fwlink/?linkid=2167516", + "url": "https://go.microsoft.com/fwlink/?linkid=2170861", "platforms": [ "win32" ], @@ -2898,7 +3195,7 @@ "./bin/cpptools.exe", "./bin/cpptools-srv.exe" ], - "integrity": "26CCA79735F15BE0595510E2A170794CBF7E2EE72F2A565CD9D26970EA35547F" + "integrity": "9B984390FD80EE6FAA5615BDD343CF96575F507D1907101C42BC78C1F0AF7917" }, { "description": "ClangFormat (Linux / x86_64)", @@ -2944,7 +3241,7 @@ }, { "description": "ClangFormat (macOS / x86_64)", - "url": "https://go.microsoft.com/fwlink/?LinkID=2162416", + "url": "https://go.microsoft.com/fwlink/?LinkID=2168396", "platforms": [ "darwin" ], @@ -2952,13 +3249,13 @@ "x64" ], "binaries": [ - "./LLVM/bin/clang-format.darwin" + "./LLVM/bin/clang-format" ], - "integrity": "AEB24D394118EAD87087DCC651F2EE329FC335ECE88ED6C8C2A9E93ED60DFECD" + "integrity": "5C4848EAAE3DBD7EDAB3155717C49204A09E4625B39463A00887CAA0C9D16657" }, { "description": "ClangFormat (macOS / ARM64)", - "url": "https://go.microsoft.com/fwlink/?LinkID=2162413", + "url": "https://go.microsoft.com/fwlink/?LinkID=2168397", "platforms": [ "darwin" ], @@ -2966,9 +3263,9 @@ "arm64" ], "binaries": [ - "./LLVM/bin/clang-format.darwin" + "./LLVM/bin/clang-format" ], - "integrity": "AE5507F54562B9DA99E3F8318E25C93BD38AD2FBF4238ADF1C152ECFB0C10FA9" + "integrity": "404C8CFC847FD9B740BD4077534F00918ED592C7F4DFE4B66F933CAC10CCA5FB" }, { "description": "ClangFormat (Windows x86)", @@ -3013,18 +3310,37 @@ "integrity": "6756365C82B5BD90C6A40C13CF8E3599E4A1DB50628111FFDB3A76FF85256BA4" }, { - "description": "Mono Framework Assemblies", - "url": "https://go.microsoft.com/fwlink/?LinkId=2027135", + "description": "OpenDebugAD7 (Windows x86/x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f9b1e85f-ef47-4d90-936b-bf0ecc74fb28/9e0d89da33375c3afa96da088d56db97/win-x86.zip", "platforms": [ - "linux", - "darwin" + "win32" + ], + "architectures": [ + "x86", + "x64" + ], + "binaries": [ + "./debugAdapters/bin/OpenDebugAD7.exe" + ], + "integrity": "7FCBB4459DB36280D5AEE65536D0A66601F506DEB405A9C01500868E2213E13A" + }, + { + "description": "OpenDebugAD7 (Windows ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f9b1e85f-ef47-4d90-936b-bf0ecc74fb28/7db279694f7a053a456c675fcbaf8e8e/win10-arm64.zip", + "platforms": [ + "win32" ], - "binaries": [], - "integrity": "579295329C1825588B6251EEA56571D1B9555BD529AA1A319CDFE741BC22D786" + "architectures": [ + "arm64" + ], + "binaries": [ + "./debugAdapters/bin/OpenDebugAD7.exe" + ], + "integrity": "F27E3273DDB1E9D865D76F50D0CBCBCADE972DFEC7106CCB48B12AE7A8E5E538" }, { - "description": "Mono Runtime (Linux / x86_64)", - "url": "https://go.microsoft.com/fwlink/?LinkId=2027416", + "description": "OpenDebugAD7 (Linux x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f9b1e85f-ef47-4d90-936b-bf0ecc74fb28/d2e0c7fc1f5feeac7df5a746831b0b0b/linux-x64.zip", "platforms": [ "linux" ], @@ -3032,13 +3348,13 @@ "x64" ], "binaries": [ - "./debugAdapters/mono.linux-x86_64" + "./debugAdapters/bin/OpenDebugAD7" ], - "integrity": "927C5094E83CE64EDC3A267EE1F13267CFA09FC1E9A5ADC870A752C05AD26F17" + "integrity": "0CEFEBD8B1B75DA4C9746AA1B7C343730E76A3BF07F0BE3A7F16367AF2E12978" }, { - "description": "Mono Runtime (Linux / armhf)", - "url": "https://aka.ms/mono-runtime-linux-arm", + "description": "OpenDebugAD7 (Linux ARM)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f9b1e85f-ef47-4d90-936b-bf0ecc74fb28/916f76a47d9a6ae706ba90314c3dc01f/linux-arm.zip", "platforms": [ "linux" ], @@ -3046,13 +3362,13 @@ "arm" ], "binaries": [ - "./debugAdapters/mono.linux-armhf" + "./debugAdapters/bin/OpenDebugAD7" ], - "integrity": "D2D1FE7FB5CC5B2A60364F08829467509879D603FC951AC3805B530C8CEEF981" + "integrity": "B44552DB10C5AC1ADFE553782D36B4F9C82D3D1C9B0EFC9BA847FA793A744AC9" }, { - "description": "Mono Runtime (Linux / arm64)", - "url": "https://aka.ms/mono-runtime-linux-arm64", + "description": "OpenDebugAD7 (Linux ARM64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f9b1e85f-ef47-4d90-936b-bf0ecc74fb28/5cb2c28b1c663f2831d01ac19614ec40/linux-arm64.zip", "platforms": [ "linux" ], @@ -3060,20 +3376,37 @@ "arm64" ], "binaries": [ - "./debugAdapters/mono.linux-arm64" + "./debugAdapters/bin/OpenDebugAD7" ], - "integrity": "946C54C8C6BF5BF79AC05D4E152F8D8647700FA786C21505832B3C79988339B4" + "integrity": "C706B61501E96C0AFA1F254F2B69BCF42D61BF1E7BB95003BE8F65BB9191FE04" }, { - "description": "Mono Runtime (macOS)", - "url": "https://go.microsoft.com/fwlink/?LinkId=2027403", + "description": "OpenDebugAD7 (Alpine Linux x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f9b1e85f-ef47-4d90-936b-bf0ecc74fb28/796a635895e702d13924808823ea9537/linux-musl-x64.zip", + "platforms": [ + "alpine-linux" + ], + "architectures": [ + "x64" + ], + "binaries": [ + "./debugAdapters/bin/OpenDebugAD7" + ], + "integrity": "CBBFF5EA7663044E4F65DC26A8BB8DCD9C93712DAB1E0F2164295671FB3D9591" + }, + { + "description": "OpenDebugAD7 (macOS x64)", + "url": "https://download.visualstudio.microsoft.com/download/pr/f9b1e85f-ef47-4d90-936b-bf0ecc74fb28/689dc458caece74a39bab10917be8f8d/osx-x64.zip", "platforms": [ "darwin" ], + "architectures": [ + "x64" + ], "binaries": [ - "./debugAdapters/mono.osx" + "./debugAdapters/bin/OpenDebugAD7" ], - "integrity": "5D9E5AB3E921D138887BD12FF46B02BFC85B692B438EDFAAEB1E1E7837F1D40B" + "integrity": "4933FF1DDBD8A823F10FB734965A8E611775787722CE0B5C8D625F17869031F3" }, { "description": "LLDB-MI (macOS Mojave and higher)", @@ -3106,7 +3439,7 @@ }, { "description": "Visual Studio Windows Debugger", - "url": "https://go.microsoft.com/fwlink/?linkid=2167539", + "url": "https://go.microsoft.com/fwlink/?linkid=2169833", "platforms": [ "win32" ], @@ -3117,11 +3450,11 @@ "binaries": [ "./debugAdapters/vsdbg/bin/vsdbg.exe" ], - "integrity": "3E71A1FDD78FBD9FD46ADEE0DF1283349363078B273CAE765978ACF1BA9C2DB1" + "integrity": "0C36EB31D90EC6FE5BFBD02D62222A7FE8E5BD7D238D9DD086BAAEA66C74FF16" }, { "description": "Visual Studio Windows ARM64 Debugger", - "url": "https://go.microsoft.com/fwlink/?linkid=2167648", + "url": "https://go.microsoft.com/fwlink/?linkid=2169834", "platforms": [ "win32" ], @@ -3131,7 +3464,7 @@ "binaries": [ "./debugAdapters/vsdbg/bin/vsdbg.exe" ], - "integrity": "698BA3D45B925F998AACE9ED387ADE4927FFE569860408570FD074DD0CD56252" + "integrity": "7DBD8F522420703AA85435A779CAC29B8226A8B92236BEF27AA41E84E4973458" } ] } \ No newline at end of file diff --git a/Extension/package.nls.json b/Extension/package.nls.json index 0d0336b093..cf45effe96 100644 --- a/Extension/package.nls.json +++ b/Extension/package.nls.json @@ -24,7 +24,7 @@ "c_cpp.configuration.formatting.description": "Configures the formatting engine", "c_cpp.configuration.formatting.clangFormat.description": "clang-format will be used to format code.", "c_cpp.configuration.formatting.vcFormat.description": "The Visual C++ formatting engine will be used to format code.", - "c_cpp.configuration.formatting.Default.description": "clang-format will be used to format code.", + "c_cpp.configuration.formatting.Default.description": "By default, clang-format will be used to format the code. However, the Visual C++ formatting engine will be used if an .editorconfig file with relevant settings is found nearer to the code being formatted and clang_format_style is the default value: 'file'.", "c_cpp.configuration.formatting.Disabled.description": "Code formatting will be disabled.", "c_cpp.configuration.vcFormat.indent.braces.description": "Braces are indented by the amount specified in the Editor: Tab Size setting.", "c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Determines what new line indentation is relative to", diff --git a/Extension/src/Debugger/debugAdapterDescriptorFactory.ts b/Extension/src/Debugger/debugAdapterDescriptorFactory.ts index e40b0a64c1..e67df8d789 100644 --- a/Extension/src/Debugger/debugAdapterDescriptorFactory.ts +++ b/Extension/src/Debugger/debugAdapterDescriptorFactory.ts @@ -35,12 +35,10 @@ export class CppdbgDebugAdapterDescriptorFactory extends AbstractDebugAdapterDes async createDebugAdapterDescriptor(session: vscode.DebugSession, executable?: vscode.DebugAdapterExecutable): Promise { if (await util.isExtensionReady()) { - let command: string = path.join(this.context.extensionPath, './debugAdapters/OpenDebugAD7'); - // Windows has the exe in debugAdapters/bin. - if (os.platform() === 'win32') { - command = path.join(this.context.extensionPath, "./debugAdapters/bin/OpenDebugAD7.exe"); - } + const adapter: string = "./debugAdapters/bin/OpenDebugAD7" + (os.platform() === 'win32' ? ".exe" : ""); + + const command: string = path.join(this.context.extensionPath, adapter); return new vscode.DebugAdapterExecutable(command, []); } else { diff --git a/Extension/src/LanguageServer/Providers/documentFormattingEditProvider.ts b/Extension/src/LanguageServer/Providers/documentFormattingEditProvider.ts index 169d5ad372..afc500bb18 100644 --- a/Extension/src/LanguageServer/Providers/documentFormattingEditProvider.ts +++ b/Extension/src/LanguageServer/Providers/documentFormattingEditProvider.ts @@ -3,9 +3,8 @@ * See 'LICENSE' in the project root for license information. * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; -import { DefaultClient, FormatParams, FormatDocumentRequest, cachedEditorConfigSettings } from '../client'; -import { CppSettings } from '../settings'; -import * as editorConfig from 'editorconfig'; +import { DefaultClient, FormatParams, FormatDocumentRequest } from '../client'; +import { CppSettings, getEditorConfigSettings } from '../settings'; export class DocumentFormattingEditProvider implements vscode.DocumentFormattingEditProvider { private client: DefaultClient; @@ -16,9 +15,12 @@ export class DocumentFormattingEditProvider implements vscode.DocumentFormatting public async provideDocumentFormattingEdits(document: vscode.TextDocument, options: vscode.FormattingOptions, token: vscode.CancellationToken): Promise { await this.client.awaitUntilLanguageClientReady(); const filePath: string = document.uri.fsPath; + const settings: CppSettings = new CppSettings(this.client.RootUri); + const useVcFormat: boolean = settings.useVcFormat(document); const configCallBack = async (editorConfigSettings: any | undefined) => { const params: FormatParams = { - settings: { ...editorConfigSettings }, + editorConfigSettings: { ...editorConfigSettings }, + useVcFormat: useVcFormat, uri: document.uri.toString(), insertSpaces: options.insertSpaces, tabSize: options.tabSize, @@ -42,19 +44,38 @@ export class DocumentFormattingEditProvider implements vscode.DocumentFormatting newText: textEdit.newText }); }); + // Apply insert_final_newline from .editorconfig + if (document.lineCount > 0 && editorConfigSettings !== undefined && editorConfigSettings.insert_final_newline) { + // Check if there is already a newline at the end. If so, formatting edits should not replace it. + const lastLine: vscode.TextLine = document.lineAt(document.lineCount - 1); + if (!lastLine.isEmptyOrWhitespace) { + const endPosition: vscode.Position = lastLine.range.end; + // Check if there is an existing edit that extends the end of the file. + // It would be the last edit, but edit may not be sorted. If multiple, we need the last one. + let lastEdit: vscode.TextEdit | undefined; + results.forEach(edit => { + if (edit.range.end.isAfterOrEqual(endPosition) && (!lastEdit || edit.range.start.isAfterOrEqual(lastEdit.range.start)) && edit.newText !== "") { + lastEdit = edit; + } + }); + if (lastEdit === undefined) { + results.push({ + range: new vscode.Range(endPosition, endPosition), + newText: "\n" + }); + } else { + if (!lastEdit.newText.endsWith("\n")) { + lastEdit.newText += "\n"; + } + } + } + } return results; }; - const settings: CppSettings = new CppSettings(); - if (settings.formattingEngine !== "vcFormat") { + if (!useVcFormat) { return configCallBack(undefined); } else { - let editorConfigSettings: any = cachedEditorConfigSettings.get(filePath); - if (!editorConfigSettings) { - editorConfigSettings = await editorConfig.parse(filePath); - if (editorConfigSettings !== undefined) { - cachedEditorConfigSettings.set(filePath, editorConfigSettings); - } - } + const editorConfigSettings: any = getEditorConfigSettings(filePath); return configCallBack(editorConfigSettings); } } diff --git a/Extension/src/LanguageServer/Providers/documentRangeFormattingEditProvider.ts b/Extension/src/LanguageServer/Providers/documentRangeFormattingEditProvider.ts index fde4c13236..9f8aa485c6 100644 --- a/Extension/src/LanguageServer/Providers/documentRangeFormattingEditProvider.ts +++ b/Extension/src/LanguageServer/Providers/documentRangeFormattingEditProvider.ts @@ -3,9 +3,8 @@ * See 'LICENSE' in the project root for license information. * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; -import { DefaultClient, FormatParams, FormatRangeRequest, cachedEditorConfigSettings } from '../client'; -import { CppSettings } from '../settings'; -import * as editorConfig from 'editorconfig'; +import { DefaultClient, FormatParams, FormatRangeRequest } from '../client'; +import { CppSettings, getEditorConfigSettings } from '../settings'; export class DocumentRangeFormattingEditProvider implements vscode.DocumentRangeFormattingEditProvider { private client: DefaultClient; @@ -16,9 +15,12 @@ export class DocumentRangeFormattingEditProvider implements vscode.DocumentRange public async provideDocumentRangeFormattingEdits(document: vscode.TextDocument, range: vscode.Range, options: vscode.FormattingOptions, token: vscode.CancellationToken): Promise { await this.client.awaitUntilLanguageClientReady(); const filePath: string = document.uri.fsPath; + const settings: CppSettings = new CppSettings(this.client.RootUri); + const useVcFormat: boolean = settings.useVcFormat(document); const configCallBack = async (editorConfigSettings: any | undefined) => { const params: FormatParams = { - settings: { ...editorConfigSettings }, + editorConfigSettings: { ...editorConfigSettings }, + useVcFormat: useVcFormat, uri: document.uri.toString(), insertSpaces: options.insertSpaces, tabSize: options.tabSize, @@ -44,17 +46,10 @@ export class DocumentRangeFormattingEditProvider implements vscode.DocumentRange }); return result; }; - const settings: CppSettings = new CppSettings(); - if (settings.formattingEngine !== "vcFormat") { + if (!useVcFormat) { return configCallBack(undefined); } else { - let editorConfigSettings: any = cachedEditorConfigSettings.get(filePath); - if (!editorConfigSettings) { - editorConfigSettings = await editorConfig.parse(filePath); - if (editorConfigSettings !== undefined) { - cachedEditorConfigSettings.set(filePath, editorConfigSettings); - } - } + const editorConfigSettings: any = getEditorConfigSettings(filePath); return configCallBack(editorConfigSettings); } }; diff --git a/Extension/src/LanguageServer/Providers/foldingRangeProvider.ts b/Extension/src/LanguageServer/Providers/foldingRangeProvider.ts index a5ae5e00d2..17d7c0850a 100644 --- a/Extension/src/LanguageServer/Providers/foldingRangeProvider.ts +++ b/Extension/src/LanguageServer/Providers/foldingRangeProvider.ts @@ -27,19 +27,10 @@ export class FoldingRangeProvider implements vscode.FoldingRangeProvider { return undefined; } const result: vscode.FoldingRange[] = []; - ranges.ranges.forEach((r: CppFoldingRange, index: number, array: CppFoldingRange[]) => { - let nextNonNestedIndex: number = index + 1; // Skip over nested if's. - for (; nextNonNestedIndex < array.length; ++nextNonNestedIndex) { - if (array[nextNonNestedIndex].range.start.line >= r.range.end.line) { - break; - } - } + ranges.ranges.forEach((r: CppFoldingRange) => { const foldingRange: vscode.FoldingRange = { - start: r.range.start.line, - // Move the end range up one if it overlaps with the next start range, because - // VS Code doesn't support column-based folding: https://github.com/microsoft/vscode/issues/50840 - end: r.range.end.line - (nextNonNestedIndex >= array.length ? 0 : - (array[nextNonNestedIndex].range.start.line !== r.range.end.line ? 0 : 1)) + start: r.range.startLine, + end: r.range.endLine }; switch (r.kind) { case FoldingRangeKind.Comment: diff --git a/Extension/src/LanguageServer/Providers/onTypeFormattingEditProvider.ts b/Extension/src/LanguageServer/Providers/onTypeFormattingEditProvider.ts index c7c588eb69..7f453e5772 100644 --- a/Extension/src/LanguageServer/Providers/onTypeFormattingEditProvider.ts +++ b/Extension/src/LanguageServer/Providers/onTypeFormattingEditProvider.ts @@ -3,9 +3,8 @@ * See 'LICENSE' in the project root for license information. * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; -import {DefaultClient, FormatParams, FormatOnTypeRequest, cachedEditorConfigSettings} from '../client'; -import { CppSettings } from '../settings'; -import * as editorConfig from 'editorconfig'; +import {DefaultClient, FormatParams, FormatOnTypeRequest} from '../client'; +import { CppSettings, getEditorConfigSettings } from '../settings'; export class OnTypeFormattingEditProvider implements vscode.OnTypeFormattingEditProvider { private client: DefaultClient; @@ -16,9 +15,12 @@ export class OnTypeFormattingEditProvider implements vscode.OnTypeFormattingEdit public async provideOnTypeFormattingEdits(document: vscode.TextDocument, position: vscode.Position, ch: string, options: vscode.FormattingOptions, token: vscode.CancellationToken): Promise { await this.client.awaitUntilLanguageClientReady(); const filePath: string = document.uri.fsPath; + const settings: CppSettings = new CppSettings(this.client.RootUri); + const useVcFormat: boolean = settings.useVcFormat(document); const configCallBack = async (editorConfigSettings: any | undefined) => { const params: FormatParams = { - settings: { ...editorConfigSettings }, + editorConfigSettings: { ...editorConfigSettings }, + useVcFormat: useVcFormat, uri: document.uri.toString(), insertSpaces: options.insertSpaces, tabSize: options.tabSize, @@ -44,8 +46,7 @@ export class OnTypeFormattingEditProvider implements vscode.OnTypeFormattingEdit }); return result; }; - const settings: CppSettings = new CppSettings(); - if (settings.formattingEngine !== "vcFormat") { + if (!useVcFormat) { // If not using vcFormat, only process on-type requests for ';' if (ch !== ';') { const result: vscode.TextEdit[] = []; @@ -54,13 +55,7 @@ export class OnTypeFormattingEditProvider implements vscode.OnTypeFormattingEdit return configCallBack(undefined); } } else { - let editorConfigSettings: any = cachedEditorConfigSettings.get(filePath); - if (!editorConfigSettings) { - editorConfigSettings = await editorConfig.parse(filePath); - if (editorConfigSettings !== undefined) { - cachedEditorConfigSettings.set(filePath, editorConfigSettings); - } - } + const editorConfigSettings: any = getEditorConfigSettings(filePath); return configCallBack(editorConfigSettings); } } diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index e554770adf..b5929284c5 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -24,7 +24,7 @@ import { SourceFileConfigurationItem, WorkspaceBrowseConfiguration, SourceFileCo import { Status, IntelliSenseStatus } from 'vscode-cpptools/out/testApi'; import * as util from '../common'; import * as configs from './configurations'; -import { CppSettings, OtherSettings } from './settings'; +import { CppSettings, getEditorConfigSettings, OtherSettings } from './settings'; import * as telemetry from '../telemetry'; import { PersistentState, PersistentFolderState } from './persistentState'; import { UI, getUI } from './ui'; @@ -67,6 +67,7 @@ let workspaceDisposables: vscode.Disposable[] = []; export let workspaceReferences: refs.ReferencesManager; export const openFileVersions: Map = new Map(); export const cachedEditorConfigSettings: Map = new Map(); +export const cachedEditorConfigLookups: Map = new Map(); export function disposeWorkspaceData(): void { workspaceDisposables.forEach((d) => d.dispose()); @@ -349,7 +350,8 @@ export interface FormatParams { character: string; insertSpaces: boolean; tabSize: number; - settings: any; + editorConfigSettings: any; + useVcFormat: boolean; } interface TextEdit { @@ -371,7 +373,7 @@ export enum FoldingRangeKind { export interface CppFoldingRange { kind: FoldingRangeKind; - range: Range; + range: InputRegion; } export interface GetFoldingRangesResult { @@ -478,6 +480,9 @@ const FileDeletedNotification: NotificationType = new N const ResetDatabaseNotification: NotificationType = new NotificationType('cpptools/resetDatabase'); const PauseParsingNotification: NotificationType = new NotificationType('cpptools/pauseParsing'); const ResumeParsingNotification: NotificationType = new NotificationType('cpptools/resumeParsing'); +const PauseAnalysisNotification: NotificationType = new NotificationType('cpptools/pauseAnalysis'); +const ResumeAnalysisNotification: NotificationType = new NotificationType('cpptools/resumeAnalysis'); +const CancelAnalysisNotification: NotificationType = new NotificationType('cpptools/cancelAnalysis'); const ActiveDocumentChangeNotification: NotificationType = new NotificationType('cpptools/activeDocumentChange'); const TextEditorSelectionChangeNotification: NotificationType = new NotificationType('cpptools/textEditorSelectionChange'); const ChangeCppPropertiesNotification: NotificationType = new NotificationType('cpptools/didChangeCppProperties'); @@ -525,48 +530,72 @@ export interface ReferencesCancellationState { } class ClientModel { - public isTagParsing: DataBinding; + public isParsingWorkspace: DataBinding; + public isParsingWorkspacePausable: DataBinding; + public isParsingWorkspacePaused: DataBinding; + public isParsingFiles: DataBinding; public isUpdatingIntelliSense: DataBinding; + public isRunningCodeAnalysis: DataBinding; public referencesCommandMode: DataBinding; - public tagParserStatus: DataBinding; + public parsingWorkspaceStatus: DataBinding; public activeConfigName: DataBinding; constructor() { - this.isTagParsing = new DataBinding(false); + this.isParsingWorkspace = new DataBinding(false); + this.isParsingWorkspacePausable = new DataBinding(false); + this.isParsingWorkspacePaused = new DataBinding(false); + this.isParsingFiles = new DataBinding(false); this.isUpdatingIntelliSense = new DataBinding(false); + this.isRunningCodeAnalysis = new DataBinding(false); this.referencesCommandMode = new DataBinding(refs.ReferencesCommandMode.None); - this.tagParserStatus = new DataBinding(""); + this.parsingWorkspaceStatus = new DataBinding(""); this.activeConfigName = new DataBinding(""); } public activate(): void { - this.isTagParsing.activate(); + this.isParsingWorkspace.activate(); + this.isParsingWorkspacePausable.activate(); + this.isParsingWorkspacePaused.activate(); + this.isParsingFiles.activate(); this.isUpdatingIntelliSense.activate(); + this.isRunningCodeAnalysis.activate(); this.referencesCommandMode.activate(); - this.tagParserStatus.activate(); + this.parsingWorkspaceStatus.activate(); this.activeConfigName.activate(); } public deactivate(): void { - this.isTagParsing.deactivate(); + this.isParsingWorkspace.deactivate(); + this.isParsingWorkspacePausable.deactivate(); + this.isParsingWorkspacePaused.deactivate(); + this.isParsingFiles.deactivate(); this.isUpdatingIntelliSense.deactivate(); + this.isRunningCodeAnalysis.deactivate(); this.referencesCommandMode.deactivate(); - this.tagParserStatus.deactivate(); + this.parsingWorkspaceStatus.deactivate(); this.activeConfigName.deactivate(); } public dispose(): void { - this.isTagParsing.dispose(); + this.isParsingWorkspace.dispose(); + this.isParsingWorkspacePausable.dispose(); + this.isParsingWorkspacePaused.dispose(); + this.isParsingFiles.dispose(); this.isUpdatingIntelliSense.dispose(); + this.isRunningCodeAnalysis.dispose(); this.referencesCommandMode.dispose(); - this.tagParserStatus.dispose(); + this.parsingWorkspaceStatus.dispose(); this.activeConfigName.dispose(); } } export interface Client { - TagParsingChanged: vscode.Event; + ParsingWorkspaceChanged: vscode.Event; + ParsingWorkspacePausableChanged: vscode.Event; + ParsingWorkspacePausedChanged: vscode.Event; + ParsingFilesChanged: vscode.Event; IntelliSenseParsingChanged: vscode.Event; + RunningCodeAnalysisChanged: vscode.Event; ReferencesCommandModeChanged: vscode.Event; TagParserStatusChanged: vscode.Event; ActiveConfigChanged: vscode.Event; @@ -600,16 +629,20 @@ export interface Client { notifyWhenLanguageClientReady(notify: () => void): void; awaitUntilLanguageClientReady(): void; requestSwitchHeaderSource(rootPath: string, fileName: string): Thenable; - activeDocumentChanged(document: vscode.TextDocument): void; + activeDocumentChanged(document: vscode.TextDocument): Promise; activate(): void; selectionChanged(selection: Range): void; resetDatabase(): void; deactivate(): void; pauseParsing(): void; resumeParsing(): void; + pauseAnalysis(): void; + resumeAnalysis(): void; + cancelAnalysis(): void; handleConfigurationSelectCommand(): Promise; handleConfigurationProviderSelectCommand(): Promise; handleShowParsingCommands(): Promise; + handleShowAnalysisCommands(): Promise; handleReferencesIcon(): void; handleConfigurationEditCommand(viewColumn?: vscode.ViewColumn): void; handleConfigurationEditJSONCommand(viewColumn?: vscode.ViewColumn): void; @@ -650,6 +683,7 @@ export class DefaultClient implements Client { private isSupported: boolean = true; private inactiveRegionsDecorations = new Map(); private settingsTracker: SettingsTracker; + private loggingLevel: string | undefined; private configurationProvider?: string; private documentSelector: DocumentFilter[] = [ { scheme: 'file', language: 'c' }, @@ -670,10 +704,14 @@ export class DefaultClient implements Client { // The "model" that is displayed via the UI (status bar). private model: ClientModel = new ClientModel(); - public get TagParsingChanged(): vscode.Event { return this.model.isTagParsing.ValueChanged; } + public get ParsingWorkspaceChanged(): vscode.Event { return this.model.isParsingWorkspace.ValueChanged; } + public get ParsingWorkspacePausableChanged(): vscode.Event { return this.model.isParsingWorkspacePausable.ValueChanged; } + public get ParsingWorkspacePausedChanged(): vscode.Event { return this.model.isParsingWorkspacePaused.ValueChanged; } + public get ParsingFilesChanged(): vscode.Event { return this.model.isParsingFiles.ValueChanged; } public get IntelliSenseParsingChanged(): vscode.Event { return this.model.isUpdatingIntelliSense.ValueChanged; } + public get RunningCodeAnalysisChanged(): vscode.Event { return this.model.isRunningCodeAnalysis.ValueChanged; } public get ReferencesCommandModeChanged(): vscode.Event { return this.model.referencesCommandMode.ValueChanged; } - public get TagParserStatusChanged(): vscode.Event { return this.model.tagParserStatus.ValueChanged; } + public get TagParserStatusChanged(): vscode.Event { return this.model.parsingWorkspaceStatus.ValueChanged; } public get ActiveConfigChanged(): vscode.Event { return this.model.activeConfigName.ValueChanged; } /** @@ -698,7 +736,7 @@ export class DefaultClient implements Client { return this.trackedDocuments; } public get IsTagParsing(): boolean { - return this.model.isTagParsing.Value; + return this.model.isParsingWorkspace.Value || this.model.isParsingFiles.Value; } public get ReferencesCommandMode(): refs.ReferencesCommandMode { return this.model.referencesCommandMode.Value; @@ -984,7 +1022,6 @@ export class DefaultClient implements Client { const settings_indentAccessSpecifiers: boolean[] = []; const settings_indentNamespaceContents: boolean[] = []; const settings_indentPreserveComments: boolean[] = []; - const settings_formattingEngine: (string | undefined)[] = []; const settings_newLineBeforeOpenBraceNamespace: (string | undefined)[] = []; const settings_newLineBeforeOpenBraceType: (string | undefined)[] = []; const settings_newLineBeforeOpenBraceFunction: (string | undefined)[] = []; @@ -1047,7 +1084,6 @@ export class DefaultClient implements Client { for (const setting of settings) { settings_clangFormatPath.push(util.resolveVariables(setting.clangFormatPath, this.AdditionalEnvironment)); - settings_formattingEngine.push(setting.formattingEngine); settings_indentBraces.push(setting.vcFormatIndentBraces); settings_indentWithinParentheses.push(setting.vcFormatIndentWithinParentheses); settings_indentPreserveWithinParentheses.push(setting.vcFormatIndentPreserveWithinParentheses); @@ -1157,7 +1193,6 @@ export class DefaultClient implements Client { initializationOptions: { clang_format_path: settings_clangFormatPath, clang_format_style: settings_clangFormatStyle, - formatting: settings_formattingEngine, vcFormat: { indent: { braces: settings_indentBraces, @@ -1302,6 +1337,7 @@ export class DefaultClient implements Client { }; // Create the language client + this.loggingLevel = clientOptions.initializationOptions.loggingLevel; return new LanguageClient(`cpptools`, serverOptions, clientOptions); } @@ -1379,6 +1415,16 @@ export class DefaultClient implements Client { if (changedSettings["commentContinuationPatterns"]) { updateLanguageConfigurations(); } + if (changedSettings["loggingLevel"]) { + const oldLoggingLevelLogged: boolean = !!this.loggingLevel && this.loggingLevel !== "None" && this.loggingLevel !== "Error"; + const newLoggingLevel: string | undefined = changedSettings["loggingLevel"]; + this.loggingLevel = newLoggingLevel; + const newLoggingLevelLogged: boolean = !!newLoggingLevel && newLoggingLevel !== "None" && newLoggingLevel !== "Error"; + if (oldLoggingLevelLogged || newLoggingLevelLogged) { + const out: logger.Logger = logger.getOutputChannelLogger(); + out.appendLine(localize({ key: "loggingLevel.changed", comment: ["{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'"] }, "{0} has changed to: {1}", "loggingLevel", changedSettings["loggingLevel"])); + } + } const settings: CppSettings = new CppSettings(); if (changedSettings["formatting"]) { if (settings.formattingEngine !== "Disabled") { @@ -1864,6 +1910,7 @@ export class DefaultClient implements Client { text: document.getText() } }; + this.updateActiveDocumentTextOptions(); this.notifyWhenLanguageClientReady(() => this.languageClient.sendNotification(DidOpenNotification, params)); this.trackedDocuments.add(document); } @@ -2016,9 +2063,15 @@ export class DefaultClient implements Client { false /* ignoreChangeEvents */, false /* ignoreDeleteEvents */); - this.rootPathFileWatcher.onDidCreate((uri) => { - if (path.basename(uri.fsPath).toLowerCase() === ".editorconfig") { + this.rootPathFileWatcher.onDidCreate(async (uri) => { + const fileName: string = path.basename(uri.fsPath).toLowerCase(); + if (fileName === ".editorconfig") { cachedEditorConfigSettings.clear(); + cachedEditorConfigLookups.clear(); + await this.updateActiveDocumentTextOptions(); + } + if (fileName === ".clang-format" || fileName === "_clang-format") { + cachedEditorConfigLookups.clear(); } this.languageClient.sendNotification(FileCreatedNotification, { uri: uri.toString() }); @@ -2034,13 +2087,14 @@ export class DefaultClient implements Client { this.associations_for_did_change.add(ext); } } - this.rootPathFileWatcher.onDidChange((uri) => { + this.rootPathFileWatcher.onDidChange(async (uri) => { const dotIndex: number = uri.fsPath.lastIndexOf('.'); - - if (path.basename(uri.fsPath).toLowerCase() === ".editorconfig") { + const fileName: string = path.basename(uri.fsPath).toLowerCase(); + if (fileName === ".editorconfig") { cachedEditorConfigSettings.clear(); + cachedEditorConfigLookups.clear(); + await this.updateActiveDocumentTextOptions(); } - if (dotIndex !== -1) { const ext: string = uri.fsPath.substr(dotIndex + 1); if (this.associations_for_did_change?.has(ext)) { @@ -2057,10 +2111,14 @@ export class DefaultClient implements Client { }); this.rootPathFileWatcher.onDidDelete((uri) => { - if (path.basename(uri.fsPath).toLowerCase() === ".editorconfig") { + const fileName: string = path.basename(uri.fsPath).toLowerCase(); + if (fileName === ".editorconfig") { cachedEditorConfigSettings.clear(); + cachedEditorConfigLookups.clear(); + } + if (fileName === ".clang-format" || fileName === "_clang-format") { + cachedEditorConfigLookups.clear(); } - this.languageClient.sendNotification(FileDeletedNotification, { uri: uri.toString() }); }); @@ -2119,16 +2177,21 @@ export class DefaultClient implements Client { const message: string = notificationBody.status; util.setProgress(util.getProgressExecutableSuccess()); const testHook: TestHook = getTestHook(); - if (message.endsWith("Indexing...")) { - this.model.isTagParsing.Value = true; + if (message.endsWith("Idle")) { + // nothing to do + } else if (message.endsWith("Parsing")) { + this.model.isParsingWorkspace.Value = true; + this.model.isParsingWorkspacePausable.Value = false; const status: IntelliSenseStatus = { status: Status.TagParsingBegun }; testHook.updateStatus(status); - } else if (message.endsWith("Updating IntelliSense...")) { + } else if (message.endsWith("files")) { + this.model.isParsingFiles.Value = true; + } else if (message.endsWith("IntelliSense")) { timeStamp = Date.now(); this.model.isUpdatingIntelliSense.Value = true; const status: IntelliSenseStatus = { status: Status.IntelliSenseCompiling }; testHook.updateStatus(status); - } else if (message.endsWith("IntelliSense Ready")) { + } else if (message.endsWith("IntelliSense done")) { const settings: CppSettings = new CppSettings(); if (settings.loggingLevel === "Debug") { const out: logger.Logger = logger.getOutputChannelLogger(); @@ -2138,11 +2201,17 @@ export class DefaultClient implements Client { this.model.isUpdatingIntelliSense.Value = false; const status: IntelliSenseStatus = { status: Status.IntelliSenseReady }; testHook.updateStatus(status); - } else if (message.endsWith("Ready")) { // Tag Parser Ready - this.model.isTagParsing.Value = false; + } else if (message.endsWith("Parsing done")) { // Tag Parser Ready + this.model.isParsingWorkspace.Value = false; const status: IntelliSenseStatus = { status: Status.TagParsingDone }; testHook.updateStatus(status); util.setProgress(util.getProgressParseRootSuccess()); + } else if (message.endsWith("files done")) { + this.model.isParsingFiles.Value = false; + } else if (message.endsWith("Analysis")) { + this.model.isRunningCodeAnalysis.Value = true; + } else if (message.endsWith("Analysis done")) { + this.model.isRunningCodeAnalysis.Value = false; } else if (message.includes("Squiggles Finished - File name:")) { const index: number = message.lastIndexOf(":"); const name: string = message.substring(index + 2); @@ -2196,7 +2265,17 @@ export class DefaultClient implements Client { } private updateTagParseStatus(notificationBody: LocalizeStringParams): void { - this.model.tagParserStatus.Value = util.getLocalizedString(notificationBody); + this.model.parsingWorkspaceStatus.Value = util.getLocalizedString(notificationBody); + if (notificationBody.text.startsWith("Workspace parsing paused")) { + this.model.isParsingWorkspacePausable.Value = true; + this.model.isParsingWorkspacePaused.Value = true; + } else if (notificationBody.text.startsWith("Parsing workspace")) { + this.model.isParsingWorkspacePausable.Value = true; + this.model.isParsingWorkspacePaused.Value = false; + } else { + this.model.isParsingWorkspacePausable.Value = false; + this.model.isParsingWorkspacePaused.Value = false; + } } private updateInactiveRegions(params: InactiveRegionParams): void { @@ -2319,10 +2398,40 @@ export class DefaultClient implements Client { return this.requestWhenReady(() => this.languageClient.sendRequest(SwitchHeaderSourceRequest, params)); } + private async updateActiveDocumentTextOptions(): Promise { + const editor: vscode.TextEditor | undefined = vscode.window.activeTextEditor; + if (editor?.document?.uri.scheme === "file" + && (editor.document.languageId === "c" + || editor.document.languageId === "cpp" + || editor.document.languageId === "cuda-cpp")) { + // If using vcFormat, check for a ".editorconfig" file, and apply those text options to the active document. + const settings: CppSettings = new CppSettings(this.RootUri); + if (settings.useVcFormat(editor.document)) { + const editorConfigSettings: any = getEditorConfigSettings(editor.document.uri.fsPath); + if (editorConfigSettings.indent_style === "space" || editorConfigSettings.indent_style === "tab") { + editor.options.insertSpaces = editorConfigSettings.indent_style === "space"; + if (editorConfigSettings.indent_size === "tab") { + if (!editorConfigSettings.tab_width !== undefined) { + editor.options.tabSize = editorConfigSettings.tab_width; + } + } else if (editorConfigSettings.indent_size !== undefined) { + editor.options.tabSize = editorConfigSettings.indent_size; + } + } + if (editorConfigSettings.end_of_line !== undefined) { + editor.edit((edit) => { + edit.setEndOfLine(editorConfigSettings.end_of_line === "lf" ? vscode.EndOfLine.LF : vscode.EndOfLine.CRLF); + }); + } + } + } + } + /** * notifications to the language server */ - public activeDocumentChanged(document: vscode.TextDocument): void { + public async activeDocumentChanged(document: vscode.TextDocument): Promise { + await this.updateActiveDocumentTextOptions(); this.notifyWhenLanguageClientReady(() => { this.languageClient.sendNotification(ActiveDocumentChangeNotification, this.languageClient.code2ProtocolConverter.asTextDocumentIdentifier(document)); }); @@ -2361,6 +2470,18 @@ export class DefaultClient implements Client { this.notifyWhenLanguageClientReady(() => this.languageClient.sendNotification(ResumeParsingNotification)); } + public pauseAnalysis(): void { + this.notifyWhenLanguageClientReady(() => this.languageClient.sendNotification(PauseAnalysisNotification)); + } + + public resumeAnalysis(): void { + this.notifyWhenLanguageClientReady(() => this.languageClient.sendNotification(ResumeAnalysisNotification)); + } + + public cancelAnalysis(): void { + this.notifyWhenLanguageClientReady(() => this.languageClient.sendNotification(CancelAnalysisNotification)); + } + private doneInitialCustomBrowseConfigurationCheck: Boolean = false; private onConfigurationsChanged(cppProperties: configs.CppProperties): void { @@ -2648,6 +2769,16 @@ export class DefaultClient implements Client { } } + public async handleShowAnalysisCommands(): Promise { + await this.awaitUntilLanguageClientReady(); + const index: number = await ui.showAnalysisCommands(); + switch (index) { + case 0: this.cancelAnalysis(); break; + case 1: this.pauseAnalysis(); break; + case 2: this.resumeAnalysis(); break; + } + } + public handleConfigurationEditCommand(viewColumn: vscode.ViewColumn = vscode.ViewColumn.Active): void { this.notifyWhenLanguageClientReady(() => this.configuration.handleConfigurationEditCommand(undefined, vscode.window.showTextDocument, viewColumn)); } @@ -2695,21 +2826,24 @@ export class DefaultClient implements Client { const compilerName: string = process.platform === "win32" ? "MSVC" : (process.platform === "darwin" ? "Clang" : "GCC"); vscode.window.showInformationMessage(localize("no.compilers.found", "No C++ compilers were found on your system. For your platform, we recommend installing {0} using the instructions in the editor.", compilerName), { modal: true }); } else { - const header: string = localize("compilers.found", "We found the following C++ compiler(s) on your system:"); - let message: string = header + "\n"; + const header: string = localize("compilers.found", "We found the following C++ compilers on your system. Choose a compiler in your project's IntelliSense Configuration."); + let message: string = ""; const settings: CppSettings = new CppSettings(this.RootUri); const pathSeparator: string | undefined = settings.preferredPathSeparator; + let isFirstLine: boolean = true; compilers.forEach(compiler => { + if (isFirstLine) { + isFirstLine = false; + } else { + message += "\n"; + } if (pathSeparator !== "Forward Slash") { - message += "\n" + compiler.path.replace(/\//g, '\\'); + message += compiler.path.replace(/\//g, '\\'); } else { - message += "\n" + compiler.path.replace(/\\/g, '/'); + message += compiler.path.replace(/\\/g, '/'); } }); - if (compilers.length > 1) { - message += "\n\n" + localize("compilers.found.message", "You can specify which compiler to use in your project's IntelliSense Configuration."); - } - vscode.window.showInformationMessage(message, { modal: true }); + vscode.window.showInformationMessage(header, { modal: true, detail: message }); } } @@ -2830,8 +2964,12 @@ class NullClient implements Client { private stringEvent = new vscode.EventEmitter(); private referencesCommandModeEvent = new vscode.EventEmitter(); - public get TagParsingChanged(): vscode.Event { return this.booleanEvent.event; } + public get ParsingWorkspaceChanged(): vscode.Event { return this.booleanEvent.event; } + public get ParsingWorkspacePausableChanged(): vscode.Event { return this.booleanEvent.event; } + public get ParsingWorkspacePausedChanged(): vscode.Event { return this.booleanEvent.event; } + public get ParsingFilesChanged(): vscode.Event { return this.booleanEvent.event; } public get IntelliSenseParsingChanged(): vscode.Event { return this.booleanEvent.event; } + public get RunningCodeAnalysisChanged(): vscode.Event { return this.booleanEvent.event; } public get ReferencesCommandModeChanged(): vscode.Event { return this.referencesCommandModeEvent.event; } public get TagParserStatusChanged(): vscode.Event { return this.stringEvent.event; } public get ActiveConfigChanged(): vscode.Event { return this.stringEvent.event; } @@ -2865,16 +3003,20 @@ class NullClient implements Client { notifyWhenLanguageClientReady(notify: () => void): void { } awaitUntilLanguageClientReady(): void { } requestSwitchHeaderSource(rootPath: string, fileName: string): Thenable { return Promise.resolve(""); } - activeDocumentChanged(document: vscode.TextDocument): void { } + activeDocumentChanged(document: vscode.TextDocument): Promise { return Promise.resolve(); } activate(): void { } selectionChanged(selection: Range): void { } resetDatabase(): void { } deactivate(): void { } pauseParsing(): void { } resumeParsing(): void { } + pauseAnalysis(): void { } + resumeAnalysis(): void { } + cancelAnalysis(): void { } handleConfigurationSelectCommand(): Promise { return Promise.resolve(); } handleConfigurationProviderSelectCommand(): Promise { return Promise.resolve(); } handleShowParsingCommands(): Promise { return Promise.resolve(); } + handleShowAnalysisCommands(): Promise { return Promise.resolve(); } handleReferencesIcon(): void { } handleConfigurationEditCommand(viewColumn?: vscode.ViewColumn): void { } handleConfigurationEditJSONCommand(viewColumn?: vscode.ViewColumn): void { } diff --git a/Extension/src/LanguageServer/clientCollection.ts b/Extension/src/LanguageServer/clientCollection.ts index 9675f83d26..c904e331f1 100644 --- a/Extension/src/LanguageServer/clientCollection.ts +++ b/Extension/src/LanguageServer/clientCollection.ts @@ -64,12 +64,12 @@ export class ClientCollection { this.disposables.push(vscode.workspace.onDidCloseTextDocument(d => this.onDidCloseTextDocument(d))); } - public activeDocumentChanged(document: vscode.TextDocument): void { + public async activeDocumentChanged(document: vscode.TextDocument): Promise { this.activeDocument = document; const activeClient: cpptools.Client = this.getClientFor(document.uri); // Notify the active client that the document has changed. - activeClient.activeDocumentChanged(document); + await activeClient.activeDocumentChanged(document); // If the active client changed, resume the new client and tell the currently active client to deactivate. if (activeClient !== this.activeClient) { diff --git a/Extension/src/LanguageServer/configurations.ts b/Extension/src/LanguageServer/configurations.ts index 292f8ad8bd..360c78aaf4 100644 --- a/Extension/src/LanguageServer/configurations.ts +++ b/Extension/src/LanguageServer/configurations.ts @@ -775,12 +775,11 @@ export class CppProperties { configuration.intelliSenseModeIsExplicit = configuration.intelliSenseModeIsExplicit || settings.defaultIntelliSenseMode !== ""; configuration.cStandardIsExplicit = configuration.cStandardIsExplicit || settings.defaultCStandard !== ""; configuration.cppStandardIsExplicit = configuration.cppStandardIsExplicit || settings.defaultCppStandard !== ""; - configuration.compilerPathIsExplicit = false; if (!configuration.compileCommands) { // compile_commands.json already specifies a compiler. compilerPath overrides the compile_commands.json compiler so // don't set a default when compileCommands is in use. configuration.compilerPath = this.updateConfigurationString(configuration.compilerPath, settings.defaultCompilerPath, env, true); - configuration.compilerPathIsExplicit = configuration.compilerPath !== undefined; + configuration.compilerPathIsExplicit = configuration.compilerPathIsExplicit || settings.defaultCompilerPath !== undefined; if (configuration.compilerPath === undefined) { if (!!this.defaultCompilerPath) { // If no config value yet set for these, pick up values from the defaults, but don't consider them explicit. @@ -820,6 +819,8 @@ export class CppProperties { } else if (configuration.compilerPath !== undefined) { configuration.compilerPath = util.resolveVariables(configuration.compilerPath, env); configuration.compilerPathIsExplicit = true; + } else { + configuration.compilerPathIsExplicit = false; } } diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index fbfcdd8a82..2cb9f30db5 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -14,7 +14,7 @@ import { TreeNode, NodeType } from './referencesModel'; import { UI, getUI } from './ui'; import { Client } from './client'; import { ClientCollection } from './clientCollection'; -import { CppSettings, generateEditorConfig, OtherSettings } from './settings'; +import { CppSettings, OtherSettings } from './settings'; import { PersistentWorkspaceState, PersistentState } from './persistentState'; import { getLanguageConfig } from './languageConfig'; import { getCustomConfigProviders } from './customProviders'; @@ -775,7 +775,11 @@ export function registerCommands(): void { disposables.push(vscode.commands.registerCommand('C_Cpp.ToggleDimInactiveRegions', onToggleDimInactiveRegions)); disposables.push(vscode.commands.registerCommand('C_Cpp.PauseParsing', onPauseParsing)); disposables.push(vscode.commands.registerCommand('C_Cpp.ResumeParsing', onResumeParsing)); + disposables.push(vscode.commands.registerCommand('C_Cpp.PauseAnalysis', onPauseAnalysis)); + disposables.push(vscode.commands.registerCommand('C_Cpp.ResumeAnalysis', onResumeAnalysis)); + disposables.push(vscode.commands.registerCommand('C_Cpp.CancelAnalysis', onCancelAnalysis)); disposables.push(vscode.commands.registerCommand('C_Cpp.ShowParsingCommands', onShowParsingCommands)); + disposables.push(vscode.commands.registerCommand('C_Cpp.ShowAnalysisCommands', onShowAnalysisCommands)); disposables.push(vscode.commands.registerCommand('C_Cpp.ShowReferencesProgress', onShowReferencesProgress)); disposables.push(vscode.commands.registerCommand('C_Cpp.TakeSurvey', onTakeSurvey)); disposables.push(vscode.commands.registerCommand('C_Cpp.LogDiagnostics', onLogDiagnostics)); @@ -916,9 +920,13 @@ function onEditConfiguration(viewColumn: vscode.ViewColumn = vscode.ViewColumn.A function onGenerateEditorConfig(): void { onActivationEvent(); if (!isFolderOpen()) { - generateEditorConfig(); + const settings: CppSettings = new CppSettings(); + settings.generateEditorConfig(); } else { - selectClient().then(client => generateEditorConfig(client.RootUri)); + selectClient().then(client => { + const settings: CppSettings = new CppSettings(client.RootUri); + settings.generateEditorConfig(); + }); } } @@ -988,11 +996,31 @@ function onResumeParsing(): void { clients.ActiveClient.resumeParsing(); } +function onPauseAnalysis(): void { + onActivationEvent(); + clients.ActiveClient.pauseAnalysis(); +} + +function onResumeAnalysis(): void { + onActivationEvent(); + clients.ActiveClient.resumeAnalysis(); +} + +function onCancelAnalysis(): void { + onActivationEvent(); + clients.ActiveClient.cancelAnalysis(); +} + function onShowParsingCommands(): void { onActivationEvent(); clients.ActiveClient.handleShowParsingCommands(); } +function onShowAnalysisCommands(): void { + onActivationEvent(); + clients.ActiveClient.handleShowAnalysisCommands(); +} + function onShowReferencesProgress(): void { onActivationEvent(); clients.ActiveClient.handleReferencesIcon(); diff --git a/Extension/src/LanguageServer/references.ts b/Extension/src/LanguageServer/references.ts index 10d9333d8e..c638bbe32a 100644 --- a/Extension/src/LanguageServer/references.ts +++ b/Extension/src/LanguageServer/references.ts @@ -199,7 +199,7 @@ export class ReferencesManager { private resultsCallback?: ReferencesResultCallback; private currentUpdateProgressTimer?: NodeJS.Timeout; - private currentUpdateProgressResolve?: () => void; + private currentUpdateProgressResolve?: (value: unknown) => void; public groupByFile: PersistentState = new PersistentState("CPP.referencesGroupByFile", false); constructor(client: DefaultClient) { @@ -355,7 +355,7 @@ export class ReferencesManager { vscode.window.withProgress(this.referencesProgressOptions, this.referencesProgressMethod); } } - resolve(); + resolve(undefined); } else { this.reportProgress(progress, false, mode); } @@ -465,7 +465,7 @@ export class ReferencesManager { clearInterval(this.currentUpdateProgressTimer); } if (this.currentUpdateProgressResolve) { - this.currentUpdateProgressResolve(); + this.currentUpdateProgressResolve(undefined); } this.currentUpdateProgressResolve = undefined; this.currentUpdateProgressTimer = undefined; diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index 89f2cd5f03..86520bdacb 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -11,6 +11,15 @@ import * as os from 'os'; import * as which from 'which'; import { execSync } from 'child_process'; import * as semver from 'semver'; +import * as fs from 'fs'; +import * as path from 'path'; +import { cachedEditorConfigLookups, cachedEditorConfigSettings } from './client'; +import * as editorConfig from 'editorconfig'; +import { PersistentState } from './persistentState'; +import * as nls from 'vscode-nls'; + +nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); +const localize: nls.LocalizeFunc = nls.loadMessageBundle(); function getTarget(): vscode.ConfigurationTarget { return (vscode.workspace.workspaceFolders) ? vscode.ConfigurationTarget.WorkspaceFolder : vscode.ConfigurationTarget.Global; @@ -23,7 +32,7 @@ class Settings { * create the Settings object. * @param resource The path to a resource to which the settings should apply, or undefined if global settings are desired */ - constructor(section: string, resource?: vscode.Uri) { + constructor(section: string, public resource?: vscode.Uri) { this.settings = vscode.workspace.getConfiguration(section, resource ? resource : undefined); } @@ -60,15 +69,7 @@ export class CppSettings extends Settings { } private get clangFormatName(): string { - switch (os.platform()) { - case "win32": - return "clang-format.exe"; - case "darwin": - return "clang-format.darwin"; - case "linux": - default: - return "clang-format"; - } + return "clang-format" + (os.platform() === "win32" ? ".exe" : ""); } public get clangFormatPath(): string | undefined { @@ -105,9 +106,11 @@ export class CppSettings extends Settings { const output: string[] = execSync(`"${path}" --version`).toString().split(" "); if (output.length < 3 || output[0] !== "clang-format" || output[1] !== "version" || semver.ltr(output[2], clangFormatVersion)) { path = ""; + setCachedClangFormatPath(path); } } catch (e) { path = ""; + setCachedClangFormatPath(path); } } } @@ -458,6 +461,224 @@ export class CppSettings extends Settings { public update(name: string, value: T): void { super.Section.update(name, value); } + + public populateEditorConfig(document: vscode.TextDocument): void { + // Set up a map of setting names and values. Parse through the document line-by-line, looking for + // existing occurrences to replace. Replaced occurrences are removed from the map. If any remain when + // done, they are added as a new section at the end of the file. The file is opened with unsaved + // edits, so the user may edit or undo if we made a mistake. + const settingMap: Map = new Map(); + settingMap.set("cpp_indent_braces", this.vcFormatIndentBraces.toString()); + settingMap.set("cpp_indent_multi_line_relative_to", mapIndentationReferenceToEditorConfig(this.vcFormatIndentMultiLineRelativeTo)); + settingMap.set("cpp_indent_within_parentheses", this.vcFormatIndentWithinParentheses.toString()); + settingMap.set("cpp_indent_preserve_within_parentheses", this.vcFormatIndentPreserveWithinParentheses.toString()); + settingMap.set("cpp_indent_case_labels", this.vcFormatIndentCaseLabels.toString()); + settingMap.set("cpp_indent_case_contents", this.vcFormatIndentCaseContents.toString()); + settingMap.set("cpp_indent_case_contents_when_block", this.vcFormatIndentCaseContentsWhenBlock.toString()); + settingMap.set("cpp_indent_lambda_braces_when_parameter", this.vcFormatIndentLambdaBracesWhenParameter.toString()); + settingMap.set("cpp_indent_goto_labels", mapIndentToEditorConfig(this.vcFormatIndentGotoLables)); + settingMap.set("cpp_indent_preprocessor", mapIndentToEditorConfig(this.vcFormatIndentPreprocessor)); + settingMap.set("cpp_indent_access_specifiers", this.vcFormatIndentAccessSpecifiers.toString()); + settingMap.set("cpp_indent_namespace_contents", this.vcFormatIndentNamespaceContents.toString()); + settingMap.set("cpp_indent_preserve_comments", this.vcFormatIndentPreserveComments.toString()); + settingMap.set("cpp_new_line_before_open_brace_namespace", mapNewOrSameLineToEditorConfig(this.vcFormatNewlineBeforeOpenBraceNamespace)); + settingMap.set("cpp_new_line_before_open_brace_type", mapNewOrSameLineToEditorConfig(this.vcFormatNewlineBeforeOpenBraceType)); + settingMap.set("cpp_new_line_before_open_brace_function", mapNewOrSameLineToEditorConfig(this.vcFormatNewlineBeforeOpenBraceFunction)); + settingMap.set("cpp_new_line_before_open_brace_block", mapNewOrSameLineToEditorConfig(this.vcFormatNewlineBeforeOpenBraceBlock)); + settingMap.set("cpp_new_line_before_open_brace_lambda", mapNewOrSameLineToEditorConfig(this.vcFormatNewlineBeforeOpenBraceLambda)); + settingMap.set("cpp_new_line_scope_braces_on_separate_lines", this.vcFormatNewlineScopeBracesOnSeparateLines.toString()); + settingMap.set("cpp_new_line_close_brace_same_line_empty_type", this.vcFormatNewlineCloseBraceSameLineEmptyType.toString()); + settingMap.set("cpp_new_line_close_brace_same_line_empty_function", this.vcFormatNewlineCloseBraceSameLineEmptyFunction.toString()); + settingMap.set("cpp_new_line_before_catch", this.vcFormatNewlineBeforeCatch.toString().toString()); + settingMap.set("cpp_new_line_before_else", this.vcFormatNewlineBeforeElse.toString().toString()); + settingMap.set("cpp_new_line_before_while_in_do_while", this.vcFormatNewlineBeforeWhileInDoWhile.toString()); + settingMap.set("cpp_space_before_function_open_parenthesis", this.vcFormatSpaceBeforeFunctionOpenParenthesis.toString()); + settingMap.set("cpp_space_within_parameter_list_parentheses", this.vcFormatSpaceWithinParameterListParentheses.toString()); + settingMap.set("cpp_space_between_empty_parameter_list_parentheses", this.vcFormatSpaceBetweenEmptyParameterListParentheses.toString()); + settingMap.set("cpp_space_after_keywords_in_control_flow_statements", this.vcFormatSpaceAfterKeywordsInControlFlowStatements.toString()); + settingMap.set("cpp_space_within_control_flow_statement_parentheses", this.vcFormatSpaceWithinControlFlowStatementParentheses.toString()); + settingMap.set("cpp_space_before_lambda_open_parenthesis", this.vcFormatSpaceBeforeLambdaOpenParenthesis.toString()); + settingMap.set("cpp_space_within_cast_parentheses", this.vcFormatSpaceWithinCastParentheses.toString()); + settingMap.set("cpp_space_after_cast_close_parenthesis", this.vcFormatSpaceAfterCastCloseParenthesis.toString()); + settingMap.set("cpp_space_within_expression_parentheses", this.vcFormatSpaceWithinExpressionParentheses.toString()); + settingMap.set("cpp_space_before_block_open_brace", this.vcFormatSpaceBeforeBlockOpenBrace.toString()); + settingMap.set("cpp_space_between_empty_braces", this.vcFormatSpaceBetweenEmptyBraces.toString()); + settingMap.set("cpp_space_before_initializer_list_open_brace", this.vcFormatSpaceBeforeInitializerListOpenBrace.toString()); + settingMap.set("cpp_space_within_initializer_list_braces", this.vcFormatSpaceWithinInitializerListBraces.toString()); + settingMap.set("cpp_space_preserve_in_initializer_list", this.vcFormatSpacePreserveInInitializerList.toString()); + settingMap.set("cpp_space_before_open_square_bracket", this.vcFormatSpaceBeforeOpenSquareBracket.toString()); + settingMap.set("cpp_space_within_square_brackets", this.vcFormatSpaceWithinSquareBrackets.toString()); + settingMap.set("cpp_space_before_empty_square_brackets", this.vcFormatSpaceBeforeEmptySquareBrackets.toString()); + settingMap.set("cpp_space_between_empty_square_brackets", this.vcFormatSpaceBetweenEmptySquareBrackets.toString()); + settingMap.set("cpp_space_group_square_brackets", this.vcFormatSpaceGroupSquareBrackets.toString()); + settingMap.set("cpp_space_within_lambda_brackets", this.vcFormatSpaceWithinLambdaBrackets.toString()); + settingMap.set("cpp_space_between_empty_lambda_brackets", this.vcFormatSpaceBetweenEmptyLambdaBrackets.toString()); + settingMap.set("cpp_space_before_comma", this.vcFormatSpaceBeforeComma.toString()); + settingMap.set("cpp_space_after_comma", this.vcFormatSpaceAfterComma.toString()); + settingMap.set("cpp_space_remove_around_member_operators", this.vcFormatSpaceRemoveAroundMemberOperators.toString()); + settingMap.set("cpp_space_before_inheritance_colon", this.vcFormatSpaceBeforeInheritanceColon.toString()); + settingMap.set("cpp_space_before_constructor_colon", this.vcFormatSpaceBeforeConstructorColon.toString()); + settingMap.set("cpp_space_remove_before_semicolon", this.vcFormatSpaceRemoveBeforeSemicolon.toString()); + settingMap.set("cpp_space_after_semicolon", this.vcFormatSpaceInsertAfterSemicolon.toString()); + settingMap.set("cpp_space_remove_around_unary_operator", this.vcFormatSpaceRemoveAroundUnaryOperator.toString()); + settingMap.set("cpp_space_around_binary_operator", this.vcFormatSpaceAroundBinaryOperator.toString()); + settingMap.set("cpp_space_around_assignment_operator", this.vcFormatSpaceAroundAssignmentOperator.toString()); + settingMap.set("cpp_space_pointer_reference_alignment", this.vcFormatSpacePointerReferenceAlignment.toString()); + settingMap.set("cpp_space_around_ternary_operator", this.vcFormatSpaceAroundTernaryOperator.toString()); + settingMap.set("cpp_wrap_preserve_blocks", mapWrapToEditorConfig(this.vcFormatWrapPreserveBlocks)); + const edits: vscode.WorkspaceEdit = new vscode.WorkspaceEdit(); + let isInWildcardSection: boolean = false; + let trailingBlankLines: number = 0; + // Cycle through lines using document.lineAt(), to avoid issues mapping edits back to lines. + for (let i: number = 0; i < document.lineCount; ++i) { + let textLine: vscode.TextLine = document.lineAt(i); + if (textLine.range.end.character === 0) { + trailingBlankLines++; + continue; + } + trailingBlankLines = 0; + // Keep track of whether we left off in a wildcard section, so we don't output a redundant one. + let text: string = textLine.text.trim(); + if (text.startsWith("[")) { + isInWildcardSection = text.startsWith("[*]"); + continue; + } + for (const setting of settingMap) { + if (text.startsWith(setting[0])) { + // The next character must be white space or '=', otherwise it's a partial match. + if (text.length > setting[0].length) { + const c: string = text[setting[0].length]; + if (c !== '=' && c.trim() !== "") { + continue; + } + } + edits.replace(document.uri, textLine.range, setting[0] + "=" + setting[1]); + // Because we're going to remove this setting from the map, + // scan ahead to update any other sections it may need to be updated in. + for (let j: number = i + 1; j < document.lineCount; ++j) { + textLine = document.lineAt(j); + text = textLine.text.trim(); + if (text.startsWith(setting[0])) { + // The next character must be white space or '=', otherwise it's a partial match. + if (text.length > setting[0].length) { + const c: string = text[setting[0].length]; + if (c !== '=' && c.trim() !== "") { + continue; + } + } + edits.replace(document.uri, textLine.range, setting[0] + "=" + setting[1]); + } + } + settingMap.delete(setting[0]); + break; + } + } + if (settingMap.size === 0) { + break; + } + } + if (settingMap.size > 0) { + let remainingSettingsText: string = ""; + if (document.lineCount > 0) { + while (++trailingBlankLines < 2) { + remainingSettingsText += "\n"; + } + } + if (!isInWildcardSection) { + remainingSettingsText += "[*]\n"; + } + for (const setting of settingMap) { + remainingSettingsText += setting[0] + "=" + setting[1] + "\n"; + } + const lastPosition: vscode.Position = document.lineAt(document.lineCount - 1).range.end; + edits.insert(document.uri, lastPosition, remainingSettingsText); + } + vscode.workspace.applyEdit(edits).then(() => vscode.window.showTextDocument(document)); + } + + public async generateEditorConfig(): Promise { + let document: vscode.TextDocument; + if (this.resource) { + // If a folder is open and '.editorconfig' exists at the root, use that. + const uri: vscode.Uri = vscode.Uri.joinPath(this.resource, ".editorconfig"); + const edits: vscode.WorkspaceEdit = new vscode.WorkspaceEdit(); + edits.createFile(uri, { ignoreIfExists: true, overwrite: false }); + try { + await vscode.workspace.applyEdit(edits); + document = await vscode.workspace.openTextDocument(uri); + } catch (e) { + document = await vscode.workspace.openTextDocument(); + } + } else { + document = await vscode.workspace.openTextDocument(); + } + this.populateEditorConfig(document); + } + + // If formattingEngine is set to "Default", searches for .editorconfig with vcFormat + // entries, or a .clang-format file, to determine which settings to use. + // 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"; + } + if (this.clangFormatStyle !== "file") { + // If a clang-format style other than file is specified, don't try to switch to vcFormat. + return false; + } + const cachedValue: boolean | undefined = cachedEditorConfigLookups.get(document.uri.fsPath); + if (cachedValue !== undefined) { + return cachedValue; + } + let foundEditorConfigWithVcFormatSettings: boolean = false; + const findConfigFile: (parentPath: string) => boolean = (parentPath: string) => { + const editorConfigPath: string = path.join(parentPath, ".editorconfig"); + if (fs.existsSync(editorConfigPath)) { + const editorConfigSettings: any = getEditorConfigSettings(document.uri.fsPath); + const keys: string[] = Object.keys(editorConfigSettings); + for (let i: number = 0; i < keys.length; ++i) { + if (keys[i].startsWith("cpp_")) { + foundEditorConfigWithVcFormatSettings = true; + const didEditorConfigNotice: PersistentState = new PersistentState("Cpp.didEditorConfigNotice", false); + if (!didEditorConfigNotice.Value) { + vscode.window.showInformationMessage(localize("editorconfig.default.behavior", + "Code formatting is using settings from .editorconfig instead of .clang-format. For more information, see the documentation for the `Default` value of the 'C_Cpp.formatting' setting.")); + didEditorConfigNotice.Value = true; + } + return true; + } + } + if (editorConfigSettings.root?.toLowerCase() === "true") { + return true; + } + } else { + const clangFormatPath1: string = path.join(parentPath, ".clang-format"); + if (fs.existsSync(clangFormatPath1)) { + return true; + } else { + const clangFormatPath2: string = path.join(parentPath, "_clang-format"); + if (fs.existsSync(clangFormatPath2)) { + return true; + } + } + } + return false; + }; + // Scan parent paths to see which we find first, ".clang-format" or ".editorconfig" + const fsPath: string = document.uri.fsPath; + let parentPath: string = path.dirname(fsPath); + let currentParentPath: string; + do { + currentParentPath = parentPath; + if (findConfigFile(currentParentPath)) { + cachedEditorConfigLookups.set(document.uri.fsPath, foundEditorConfigWithVcFormatSettings); + return foundEditorConfigWithVcFormatSettings; + } + parentPath = path.dirname(parentPath); + } while (parentPath !== currentParentPath); + cachedEditorConfigLookups.set(document.uri.fsPath, false); + return false; + } } export interface TextMateRuleSettings { @@ -553,159 +774,14 @@ function mapWrapToEditorConfig(value: string | undefined): string { return "never"; } -function populateEditorConfig(rootUri: vscode.Uri | undefined, document: vscode.TextDocument): void { - // Set up a map of setting names and values. Parse through the document line-by-line, looking for - // existing occurrences to replace. Replaced occurrences are removed from the map. If any remain when - // done, they are added as a new section at the end of the file. The file is opened with unsaved - // edits, so the user may edit or undo if we made a mistake. - const settings: CppSettings = new CppSettings(rootUri); - const settingMap: Map = new Map(); - settingMap.set("cpp_indent_braces", settings.vcFormatIndentBraces.toString()); - settingMap.set("cpp_indent_multi_line_relative_to", mapIndentationReferenceToEditorConfig(settings.vcFormatIndentMultiLineRelativeTo)); - settingMap.set("cpp_indent_within_parentheses", settings.vcFormatIndentWithinParentheses.toString()); - settingMap.set("cpp_indent_preserve_within_parentheses", settings.vcFormatIndentPreserveWithinParentheses.toString()); - settingMap.set("cpp_indent_case_labels", settings.vcFormatIndentCaseLabels.toString()); - settingMap.set("cpp_indent_case_contents", settings.vcFormatIndentCaseContents.toString()); - settingMap.set("cpp_indent_case_contents_when_block", settings.vcFormatIndentCaseContentsWhenBlock.toString()); - settingMap.set("cpp_indent_lambda_braces_when_parameter", settings.vcFormatIndentLambdaBracesWhenParameter.toString()); - settingMap.set("cpp_indent_goto_labels", mapIndentToEditorConfig(settings.vcFormatIndentGotoLables)); - settingMap.set("cpp_indent_preprocessor", mapIndentToEditorConfig(settings.vcFormatIndentPreprocessor)); - settingMap.set("cpp_indent_access_specifiers", settings.vcFormatIndentAccessSpecifiers.toString()); - settingMap.set("cpp_indent_namespace_contents", settings.vcFormatIndentNamespaceContents.toString()); - settingMap.set("cpp_indent_preserve_comments", settings.vcFormatIndentPreserveComments.toString()); - settingMap.set("cpp_new_line_before_open_brace_namespace", mapNewOrSameLineToEditorConfig(settings.vcFormatNewlineBeforeOpenBraceNamespace)); - settingMap.set("cpp_new_line_before_open_brace_type", mapNewOrSameLineToEditorConfig(settings.vcFormatNewlineBeforeOpenBraceType)); - settingMap.set("cpp_new_line_before_open_brace_function", mapNewOrSameLineToEditorConfig(settings.vcFormatNewlineBeforeOpenBraceFunction)); - settingMap.set("cpp_new_line_before_open_brace_block", mapNewOrSameLineToEditorConfig(settings.vcFormatNewlineBeforeOpenBraceBlock)); - settingMap.set("cpp_new_line_before_open_brace_lambda", mapNewOrSameLineToEditorConfig(settings.vcFormatNewlineBeforeOpenBraceLambda)); - settingMap.set("cpp_new_line_scope_braces_on_separate_lines", settings.vcFormatNewlineScopeBracesOnSeparateLines.toString()); - settingMap.set("cpp_new_line_close_brace_same_line_empty_type", settings.vcFormatNewlineCloseBraceSameLineEmptyType.toString()); - settingMap.set("cpp_new_line_close_brace_same_line_empty_function", settings.vcFormatNewlineCloseBraceSameLineEmptyFunction.toString()); - settingMap.set("cpp_new_line_before_catch", settings.vcFormatNewlineBeforeCatch.toString().toString()); - settingMap.set("cpp_new_line_before_else", settings.vcFormatNewlineBeforeElse.toString().toString()); - settingMap.set("cpp_new_line_before_while_in_do_while", settings.vcFormatNewlineBeforeWhileInDoWhile.toString()); - settingMap.set("cpp_space_before_function_open_parenthesis", settings.vcFormatSpaceBeforeFunctionOpenParenthesis.toString()); - settingMap.set("cpp_space_within_parameter_list_parentheses", settings.vcFormatSpaceWithinParameterListParentheses.toString()); - settingMap.set("cpp_space_between_empty_parameter_list_parentheses", settings.vcFormatSpaceBetweenEmptyParameterListParentheses.toString()); - settingMap.set("cpp_space_after_keywords_in_control_flow_statements", settings.vcFormatSpaceAfterKeywordsInControlFlowStatements.toString()); - settingMap.set("cpp_space_within_control_flow_statement_parentheses", settings.vcFormatSpaceWithinControlFlowStatementParentheses.toString()); - settingMap.set("cpp_space_before_lambda_open_parenthesis", settings.vcFormatSpaceBeforeLambdaOpenParenthesis.toString()); - settingMap.set("cpp_space_within_cast_parentheses", settings.vcFormatSpaceWithinCastParentheses.toString()); - settingMap.set("cpp_space_after_cast_close_parenthesis", settings.vcFormatSpaceAfterCastCloseParenthesis.toString()); - settingMap.set("cpp_space_within_expression_parentheses", settings.vcFormatSpaceWithinExpressionParentheses.toString()); - settingMap.set("cpp_space_before_block_open_brace", settings.vcFormatSpaceBeforeBlockOpenBrace.toString()); - settingMap.set("cpp_space_between_empty_braces", settings.vcFormatSpaceBetweenEmptyBraces.toString()); - settingMap.set("cpp_space_before_initializer_list_open_brace", settings.vcFormatSpaceBeforeInitializerListOpenBrace.toString()); - settingMap.set("cpp_space_within_initializer_list_braces", settings.vcFormatSpaceWithinInitializerListBraces.toString()); - settingMap.set("cpp_space_preserve_in_initializer_list", settings.vcFormatSpacePreserveInInitializerList.toString()); - settingMap.set("cpp_space_before_open_square_bracket", settings.vcFormatSpaceBeforeOpenSquareBracket.toString()); - settingMap.set("cpp_space_within_square_brackets", settings.vcFormatSpaceWithinSquareBrackets.toString()); - settingMap.set("cpp_space_before_empty_square_brackets", settings.vcFormatSpaceBeforeEmptySquareBrackets.toString()); - settingMap.set("cpp_space_between_empty_square_brackets", settings.vcFormatSpaceBetweenEmptySquareBrackets.toString()); - settingMap.set("cpp_space_group_square_brackets", settings.vcFormatSpaceGroupSquareBrackets.toString()); - settingMap.set("cpp_space_within_lambda_brackets", settings.vcFormatSpaceWithinLambdaBrackets.toString()); - settingMap.set("cpp_space_between_empty_lambda_brackets", settings.vcFormatSpaceBetweenEmptyLambdaBrackets.toString()); - settingMap.set("cpp_space_before_comma", settings.vcFormatSpaceBeforeComma.toString()); - settingMap.set("cpp_space_after_comma", settings.vcFormatSpaceAfterComma.toString()); - settingMap.set("cpp_space_remove_around_member_operators", settings.vcFormatSpaceRemoveAroundMemberOperators.toString()); - settingMap.set("cpp_space_before_inheritance_colon", settings.vcFormatSpaceBeforeInheritanceColon.toString()); - settingMap.set("cpp_space_before_constructor_colon", settings.vcFormatSpaceBeforeConstructorColon.toString()); - settingMap.set("cpp_space_remove_before_semicolon", settings.vcFormatSpaceRemoveBeforeSemicolon.toString()); - settingMap.set("cpp_space_after_semicolon", settings.vcFormatSpaceInsertAfterSemicolon.toString()); - settingMap.set("cpp_space_remove_around_unary_operator", settings.vcFormatSpaceRemoveAroundUnaryOperator.toString()); - settingMap.set("cpp_space_around_binary_operator", settings.vcFormatSpaceAroundBinaryOperator.toString()); - settingMap.set("cpp_space_around_assignment_operator", settings.vcFormatSpaceAroundAssignmentOperator.toString()); - settingMap.set("cpp_space_pointer_reference_alignment", settings.vcFormatSpacePointerReferenceAlignment.toString()); - settingMap.set("cpp_space_around_ternary_operator", settings.vcFormatSpaceAroundTernaryOperator.toString()); - settingMap.set("cpp_wrap_preserve_blocks", mapWrapToEditorConfig(settings.vcFormatWrapPreserveBlocks)); - - const edits: vscode.WorkspaceEdit = new vscode.WorkspaceEdit(); - let isInWildcardSection: boolean = false; - let trailingBlankLines: number = 0; - - // Cycle through lines using document.lineAt(), to avoid issues mapping edits back to lines. - for (let i: number = 0; i < document.lineCount; ++i) { - let textLine: vscode.TextLine = document.lineAt(i); - if (textLine.range.end.character === 0) { - trailingBlankLines++; - continue; - } - trailingBlankLines = 0; - // Keep track of whether we left off in a wildcard section, so we don't output a redundant one. - let text: string = textLine.text.trim(); - if (text.startsWith("[")) { - isInWildcardSection = text.startsWith("[*]"); - continue; - } - for (const setting of settingMap) { - if (text.startsWith(setting[0])) { - // The next character must be white space or '=', otherwise it's a partial match. - if (text.length > setting[0].length) { - const c: string = text[setting[0].length]; - if (c !== '=' && c.trim() !== "") { - continue; - } - } - edits.replace(document.uri, textLine.range, setting[0] + "=" + setting[1]); - // Because we're going to remove this setting from the map, - // scan ahead to update any other sections it may need to be updated in. - for (let j: number = i + 1; j < document.lineCount; ++j) { - textLine = document.lineAt(j); - text = textLine.text.trim(); - if (text.startsWith(setting[0])) { - // The next character must be white space or '=', otherwise it's a partial match. - if (text.length > setting[0].length) { - const c: string = text[setting[0].length]; - if (c !== '=' && c.trim() !== "") { - continue; - } - } - edits.replace(document.uri, textLine.range, setting[0] + "=" + setting[1]); - } - } - settingMap.delete(setting[0]); - break; - } - } - if (settingMap.size === 0) { - break; - } +// Look up the appropriate .editorconfig settings for the specified file. +// This is intentionally not async to avoid races due to multiple entrancy. +export function getEditorConfigSettings(fsPath: string): Promise { + let editorConfigSettings: any = cachedEditorConfigSettings.get(fsPath); + if (!editorConfigSettings) { + editorConfigSettings = editorConfig.parseSync(fsPath); + cachedEditorConfigSettings.set(fsPath, editorConfigSettings); } - - if (settingMap.size > 0) { - let remainingSettingsText: string = ""; - if (document.lineCount > 0) { - while (++trailingBlankLines < 2) { - remainingSettingsText += "\n"; - } - } - if (!isInWildcardSection) { - remainingSettingsText += "[*]\n"; - } - for (const setting of settingMap) { - remainingSettingsText += setting[0] + "=" + setting[1] + "\n"; - } - const lastPosition: vscode.Position = document.lineAt(document.lineCount - 1).range.end; - edits.insert(document.uri, lastPosition, remainingSettingsText); - } - vscode.workspace.applyEdit(edits).then(() => vscode.window.showTextDocument(document)); + return editorConfigSettings; } -export async function generateEditorConfig(rootUri?: vscode.Uri): Promise { - let document: vscode.TextDocument; - if (rootUri) { - // If a folder is open and '.editorconfig' exists at the root, use that. - const uri: vscode.Uri = vscode.Uri.joinPath(rootUri, ".editorconfig"); - const edits: vscode.WorkspaceEdit = new vscode.WorkspaceEdit(); - edits.createFile(uri, { ignoreIfExists: true, overwrite: false }); - try { - await vscode.workspace.applyEdit(edits); - document = await vscode.workspace.openTextDocument(uri); - } catch (e) { - document = await vscode.workspace.openTextDocument(); - } - } else { - document = await vscode.workspace.openTextDocument(); - } - populateEditorConfig(rootUri, document); -} diff --git a/Extension/src/LanguageServer/ui.ts b/Extension/src/LanguageServer/ui.ts index 383040370d..6499d1d5da 100644 --- a/Extension/src/LanguageServer/ui.ts +++ b/Extension/src/LanguageServer/ui.ts @@ -41,34 +41,50 @@ export class UI { private intelliSenseStatusBarItem: vscode.StatusBarItem; private referencesStatusBarItem: vscode.StatusBarItem; private curConfigurationStatus?: Promise; + private isParsingWorkspace: boolean = false; + private isParsingWorkspacePaused: boolean = false; + private isParsingFiles: boolean = false; + private isUpdatingIntelliSense: boolean = false; + private isRunningCodeAnalysis: boolean = false; + private workspaceParsingStatus: string = ""; + private codeAnalysisProgram: string = ""; + private readonly parsingFilesTooltip: string = localize("c.cpp.parsing.open.files.tooltip", "Parsing open files"); private readonly referencesPreviewTooltip: string = ` (${localize("click.to.preview", "click to preview results")})`; + private readonly updatingIntelliSenseTooltip: string = localize("updating.intellisense.tooltip", "Updating IntelliSense"); + private readonly codeAnalysisTranslationHint: string = "{0} is a program name, such as clang-tidy"; + private runningCodeAnalysisTooltip: string = ""; constructor() { - - this.configStatusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 0); + const configTooltip: string = localize("c.cpp.configuration.tooltip", "C/C++ Configuration"); + this.configStatusBarItem = vscode.window.createStatusBarItem("c.cpp.configuration.tooltip", vscode.StatusBarAlignment.Right, 0); + this.configStatusBarItem.name = configTooltip; this.configStatusBarItem.command = "C_Cpp.ConfigurationSelect"; - this.configStatusBarItem.tooltip = localize("c.cpp.configuration.tooltip", "C/C++ Configuration"); + this.configStatusBarItem.tooltip = configTooltip; this.ShowConfiguration = true; - this.referencesStatusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 901); + this.referencesStatusBarItem = vscode.window.createStatusBarItem("c.cpp.references.statusbar", vscode.StatusBarAlignment.Right, 901); + this.referencesStatusBarItem.name = localize("c.cpp.references.statusbar", "C/C++ References Status"); this.referencesStatusBarItem.text = ""; this.referencesStatusBarItem.tooltip = ""; - this.referencesStatusBarItem.color = new vscode.ThemeColor("statusBar.foreground"); this.referencesStatusBarItem.command = "C_Cpp.ShowReferencesProgress"; - this.ShowReferencesIcon = true; + this.ShowReferencesIcon = false; - this.intelliSenseStatusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 903); + this.intelliSenseStatusBarItem = vscode.window.createStatusBarItem("c.cpp.intellisense.statusbar", vscode.StatusBarAlignment.Right, 903); + this.intelliSenseStatusBarItem.name = localize("c.cpp.intellisense.statusbar", "C/C++ IntelliSense Status"); this.intelliSenseStatusBarItem.text = ""; - this.intelliSenseStatusBarItem.tooltip = localize("updating.intellisense.tooltip", "Updating IntelliSense..."); - this.intelliSenseStatusBarItem.color = new vscode.ThemeColor("statusBar.foreground"); - this.ShowFlameIcon = true; + this.intelliSenseStatusBarItem.tooltip = this.updatingIntelliSenseTooltip; + this.ShowFlameIcon = false; - this.browseEngineStatusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 902); + this.browseEngineStatusBarItem = vscode.window.createStatusBarItem("c.cpp.tagparser.statusbar", vscode.StatusBarAlignment.Right, 902); + this.browseEngineStatusBarItem.name = localize("c.cpp.tagparser.statusbar", "C/C++ Tag Parser Status"); this.browseEngineStatusBarItem.text = ""; - this.browseEngineStatusBarItem.tooltip = localize("discovering.files.tooltip", "Discovering files..."); - this.browseEngineStatusBarItem.color = new vscode.ThemeColor("statusBar.foreground"); - this.browseEngineStatusBarItem.command = "C_Cpp.ShowParsingCommands"; - this.ShowDBIcon = true; + this.browseEngineStatusBarItem.tooltip = localize("discovering.files.tooltip", "Discovering files"); + this.browseEngineStatusBarItem.command = ""; + this.ShowDBIcon = false; + + this.codeAnalysisProgram = "clang-tidy"; + this.runningCodeAnalysisTooltip = localize( + { key: "running.analysis.tooltip", comment: [this.codeAnalysisTranslationHint] }, "Running {0}", this.codeAnalysisProgram); } private set ActiveConfig(label: string) { @@ -76,24 +92,65 @@ export class UI { } private set TagParseStatus(label: string) { - this.browseEngineStatusBarItem.tooltip = label; + this.workspaceParsingStatus = label; + this.browseEngineStatusBarItem.tooltip = (this.isParsingFiles ? `${this.parsingFilesTooltip} | ` : "") + label; + } + + private setIsParsingWorkspace(val: boolean): void { + this.isParsingWorkspace = val; + const showIcon: boolean = val || this.isParsingFiles; + const twoStatus: boolean = val && this.isParsingFiles; + this.ShowDBIcon = showIcon; + this.browseEngineStatusBarItem.text = showIcon ? "$(database)" : ""; + this.browseEngineStatusBarItem.tooltip = (this.isParsingFiles ? this.parsingFilesTooltip : "") + + (twoStatus ? " | " : "") + + (val ? this.workspaceParsingStatus : ""); + } + + private setIsParsingWorkspacePausable(val: boolean): void { + if (val) { + this.browseEngineStatusBarItem.command = "C_Cpp.ShowParsingCommands"; + } else { + this.browseEngineStatusBarItem.command = ""; + } } - private get IsTagParsing(): boolean { - return this.browseEngineStatusBarItem.text !== ""; + private setIsParsingWorkspacePaused(val: boolean): void { + this.isParsingWorkspacePaused = val; } - private set IsTagParsing(val: boolean) { - this.browseEngineStatusBarItem.text = val ? "$(database)" : ""; - this.ShowDBIcon = val; + + private setIsParsingFiles(val: boolean): void { + this.isParsingFiles = val; + const showIcon: boolean = val || this.isParsingWorkspace; + const twoStatus: boolean = val && this.isParsingWorkspace; + this.ShowDBIcon = showIcon; + this.browseEngineStatusBarItem.text = showIcon ? "$(database)" : ""; + this.browseEngineStatusBarItem.tooltip = (val ? this.parsingFilesTooltip : "") + + (twoStatus ? " | " : "") + + (this.isParsingWorkspace ? this.workspaceParsingStatus : ""); } - private get IsUpdatingIntelliSense(): boolean { - return this.intelliSenseStatusBarItem.text !== ""; + private setIsUpdatingIntelliSense(val: boolean): void { + this.isUpdatingIntelliSense = val; + const showIcon: boolean = val || this.isRunningCodeAnalysis; + const twoStatus: boolean = val && this.isRunningCodeAnalysis; + this.ShowFlameIcon = showIcon; + this.intelliSenseStatusBarItem.text = showIcon ? "$(flame)" : ""; + this.intelliSenseStatusBarItem.tooltip = (val ? this.updatingIntelliSenseTooltip : "") + + (twoStatus ? " | " : "") + + (this.isRunningCodeAnalysis ? this.runningCodeAnalysisTooltip : ""); } - private set IsUpdatingIntelliSense(val: boolean) { - this.intelliSenseStatusBarItem.text = val ? "$(flame)" : ""; - this.ShowFlameIcon = val; + private setIsRunningCodeAnalysis(val: boolean): void { + this.isRunningCodeAnalysis = val; + const showIcon: boolean = val || this.isUpdatingIntelliSense; + const twoStatus: boolean = val && this.isUpdatingIntelliSense; + this.ShowFlameIcon = showIcon; + this.intelliSenseStatusBarItem.text = showIcon ? "$(flame)" : ""; + this.intelliSenseStatusBarItem.tooltip = (this.isUpdatingIntelliSense ? this.updatingIntelliSenseTooltip : "") + + (twoStatus ? " | " : "") + + (val ? this.runningCodeAnalysisTooltip : ""); + this.intelliSenseStatusBarItem.command = val ? "C_Cpp.ShowCodeAnalysisCommands" : ""; } private get ReferencesCommand(): ReferencesCommandMode { @@ -122,7 +179,7 @@ export class UI { if (this.dbTimeout) { clearTimeout(this.dbTimeout); } - if (show && this.IsTagParsing) { + if (show && (this.isParsingWorkspace || this.isParsingFiles)) { this.dbTimeout = setTimeout(() => { this.browseEngineStatusBarItem.show(); }, this.iconDelayTime); } else { this.dbTimeout = setTimeout(() => { this.browseEngineStatusBarItem.hide(); }, this.iconDelayTime); @@ -134,7 +191,7 @@ export class UI { if (this.flameTimeout) { clearTimeout(this.flameTimeout); } - if (show && this.IsUpdatingIntelliSense) { + if (show && (this.isUpdatingIntelliSense || this.isRunningCodeAnalysis)) { this.flameTimeout = setTimeout(() => { this.intelliSenseStatusBarItem.show(); }, this.iconDelayTime); } else { this.flameTimeout = setTimeout(() => { this.intelliSenseStatusBarItem.hide(); }, this.iconDelayTime); @@ -184,8 +241,12 @@ export class UI { } public bind(client: Client): void { - client.TagParsingChanged(value => { this.IsTagParsing = value; }); - client.IntelliSenseParsingChanged(value => { this.IsUpdatingIntelliSense = value; }); + client.ParsingWorkspaceChanged(value => { this.setIsParsingWorkspace(value); }); + client.ParsingWorkspacePausableChanged(value => { this.setIsParsingWorkspacePausable(value); }); + client.ParsingWorkspacePausedChanged(value => { this.setIsParsingWorkspacePaused(value); }); + client.ParsingFilesChanged(value => { this.setIsParsingFiles(value); }); + client.IntelliSenseParsingChanged(value => { this.setIsUpdatingIntelliSense(value); }); + client.RunningCodeAnalysisChanged(value => { this.setIsRunningCodeAnalysis(value); }); client.ReferencesCommandModeChanged(value => { this.ReferencesCommand = value; }); client.TagParserStatusChanged(value => { this.TagParseStatus = value; }); client.ActiveConfigChanged(value => { this.ActiveConfig = value; }); @@ -249,15 +310,33 @@ export class UI { return (selection) ? selection.key : ""; } + private readonly selectACommandString: string = localize("select.command", "Select a command..."); + public async showParsingCommands(): Promise { const options: vscode.QuickPickOptions = {}; - options.placeHolder = localize("select.parsing.command", "Select a parsing command..."); + options.placeHolder = this.selectACommandString; const items: IndexableQuickPickItem[] = []; - if (this.browseEngineStatusBarItem.tooltip === "Parsing paused") { - items.push({ label: localize("resume.parsing", "Resume Parsing"), description: "", index: 1 }); + if (this.isParsingWorkspacePaused) { + items.push({ label: localize("resume.parsing", "Resume Workspace Parsing"), description: "", index: 1 }); + } else { + items.push({ label: localize("pause.parsing", "Pause Workspace Parsing"), description: "", index: 0 }); + } + const selection: IndexableQuickPickItem | undefined = await vscode.window.showQuickPick(items, options); + return (selection) ? selection.index : -1; + } + + public async showAnalysisCommands(): Promise { + const options: vscode.QuickPickOptions = {}; + options.placeHolder = this.selectACommandString; + + const items: IndexableQuickPickItem[] = []; + items.push({ label: localize({ key: "cancel.analysis", comment: [this.codeAnalysisTranslationHint]}, "Cancel {0}", this.codeAnalysisProgram), description: "", index: 0 }); + + if (this.isParsingWorkspacePaused) { + items.push({ label: localize({ key: "resume.analysis", comment: [this.codeAnalysisTranslationHint]}, "Resume {0}", this.codeAnalysisProgram), description: "", index: 2 }); } else { - items.push({ label: localize("pause.parsing", "Pause Parsing"), description: "", index: 0 }); + items.push({ label: localize({ key: "pause.analysis", comment: [this.codeAnalysisTranslationHint]}, "Pause {0}", this.codeAnalysisProgram), description: "", index: 1 }); } const selection: IndexableQuickPickItem | undefined = await vscode.window.showQuickPick(items, options); return (selection) ? selection.index : -1; diff --git a/Extension/src/logger.ts b/Extension/src/logger.ts index a6a2f1dffd..2c8f7168d7 100644 --- a/Extension/src/logger.ts +++ b/Extension/src/logger.ts @@ -6,6 +6,7 @@ import * as vscode from 'vscode'; import * as os from 'os'; +import { CppSettings } from './LanguageServer/settings'; // This is used for testing purposes let Subscriber: (message: string) => void; @@ -70,6 +71,11 @@ let outputChannel: vscode.OutputChannel | undefined; export function getOutputChannel(): vscode.OutputChannel { if (!outputChannel) { outputChannel = vscode.window.createOutputChannel("C/C++"); + const settings: CppSettings = new CppSettings(); + const loggingLevel: string | undefined = settings.loggingLevel; + if (!!loggingLevel && loggingLevel !== "None" && loggingLevel !== "Error") { + outputChannel.appendLine(`loggingLevel: ${loggingLevel}`); + } } return outputChannel; } diff --git a/Extension/src/main.ts b/Extension/src/main.ts index 36e9c112d6..1bb166e0fb 100644 --- a/Extension/src/main.ts +++ b/Extension/src/main.ts @@ -38,7 +38,7 @@ export async function activate(context: vscode.ExtensionContext): Promise { if (selection === downloadLink) { @@ -215,9 +215,6 @@ async function offlineInstallation(info: PlatformInformation): Promise { setInstallationStage('makeOfflineBinariesExecutable'); await makeOfflineBinariesExecutable(info); - setInstallationStage('removeUnnecessaryFile'); - await removeUnnecessaryFile(); - setInstallationStage('rewriteManifest'); await rewriteManifest(); @@ -233,9 +230,6 @@ async function onlineInstallation(info: PlatformInformation): Promise { setInstallationStage('makeBinariesExecutable'); await makeBinariesExecutable(); - setInstallationStage('removeUnnecessaryFile'); - await removeUnnecessaryFile(); - setInstallationStage('rewriteManifest'); await rewriteManifest(); @@ -316,22 +310,6 @@ async function cleanUpUnusedBinaries(info: PlatformInformation): Promise { await Promise.all(promises); } -function removeUnnecessaryFile(): Promise { - if (os.platform() !== 'win32') { - const sourcePath: string = util.getDebugAdaptersPath("bin/OpenDebugAD7.exe.config"); - if (fs.existsSync(sourcePath)) { - fs.rename(sourcePath, util.getDebugAdaptersPath("bin/OpenDebugAD7.exe.config.unused"), (err: NodeJS.ErrnoException | null) => { - if (err) { - getOutputChannelLogger().appendLine(localize("rename.failed.delete.manually", - 'ERROR: fs.rename failed with "{0}". Delete {1} manually to enable debugging.', err.message, sourcePath)); - } - }); - } - } - - return Promise.resolve(); -} - function touchInstallLockFile(info: PlatformInformation): Promise { return util.touchInstallLockFile(info); } @@ -443,20 +421,6 @@ async function finalizeExtensionActivation(): Promise { } })); getTemporaryCommandRegistrarInstance().activateLanguageServer(); - - const packageJson: any = util.getRawPackageJson(); - let writePackageJson: boolean = false; - const packageJsonPath: string = util.getExtensionFilePath("package.json"); - if (packageJsonPath.includes(".vscode-insiders") || packageJsonPath.includes(".vscode-exploration")) { - if (packageJson.contributes.configuration.properties['C_Cpp.updateChannel'].default === 'Default') { - packageJson.contributes.configuration.properties['C_Cpp.updateChannel'].default = 'Insiders'; - writePackageJson = true; - } - } - - if (writePackageJson) { - return util.writeFileText(util.getPackageJsonPath(), util.stringifyPackageJson(packageJson)); - } } function rewriteManifest(): Promise { @@ -496,5 +460,23 @@ function rewriteManifest(): Promise { "onFileSystem:cpptools-schema" ]; - return util.writeFileText(util.getPackageJsonPath(), util.stringifyPackageJson(packageJson)); + let doTouchExtension: boolean = false; + + const packageJsonPath: string = util.getExtensionFilePath("package.json"); + if (packageJsonPath.includes(".vscode-insiders") || + packageJsonPath.includes(".vscode-server-insiders") || + packageJsonPath.includes(".vscode-exploration") || + packageJsonPath.includes(".vscode-server-exploration")) { + if (packageJson.contributes.configuration.properties['C_Cpp.updateChannel'].default === 'Default') { + packageJson.contributes.configuration.properties['C_Cpp.updateChannel'].default = 'Insiders'; + doTouchExtension = true; + } + } + + return util.writeFileText(util.getPackageJsonPath(), util.stringifyPackageJson(packageJson)).then(() => { + if (doTouchExtension) { + // This is required to prevent VS Code from using the cached version with the old updateChannel setting. + util.touchExtensionFolder(); + } + }); } diff --git a/Extension/src/nativeStrings.json b/Extension/src/nativeStrings.json index 5dbd120227..868d3ed87b 100644 --- a/Extension/src/nativeStrings.json +++ b/Extension/src/nativeStrings.json @@ -122,10 +122,10 @@ "discovering_files_count": "Discovering files: {0}", "parsing_open_files": "Parsing open files", "tag_parser_initializing": "Tag parser initializing", - "parsing_paused": "Parsing paused", - "parsing_files": "Parsing files: {0}", + "parsing_paused": "Workspace parsing paused", + "parsing_files": "Parsing workspace files: {0}", "discovering_files_count_progress": "Discovering files: {0} / {1} ({2}%)", - "parsing_files_progress": "Parsing files: {0} / {1} ({2}%)", + "parsing_files_progress": "Parsing workspace files: {0} / {1} ({2}%)", "cant_find_or_run_process": "Can't find or run process_name", "child_exec_failed": "Child exec failed {0}", "could_not_communicate_with_child_process": "Could not communicate with child process!", diff --git a/Extension/src/packageManager.ts b/Extension/src/packageManager.ts index f94370bb1c..47f0d091c6 100644 --- a/Extension/src/packageManager.ts +++ b/Extension/src/packageManager.ts @@ -189,7 +189,7 @@ export class PackageManager { let success: boolean = false; let lastError: any = null; let retryCount: number = 0; - const MAX_RETRIES: number = 5; + const MAX_RETRIES: number = 10; // Retry the download at most MAX_RETRIES times with 2-32 seconds delay. do { @@ -244,7 +244,7 @@ export class PackageManager { const buffers: Buffer[] = []; return new Promise((resolve, reject) => { - let secondsDelay: number = Math.pow(2, delay); + let secondsDelay: number = Math.min(Math.pow(2, delay), 15); if (secondsDelay === 1) { secondsDelay = 0; } diff --git a/Extension/test/integrationTests/IntelliSenseFeatures/runTest.ts b/Extension/test/integrationTests/IntelliSenseFeatures/runTest.ts index 00737e08ef..78506df24d 100644 --- a/Extension/test/integrationTests/IntelliSenseFeatures/runTest.ts +++ b/Extension/test/integrationTests/IntelliSenseFeatures/runTest.ts @@ -1,6 +1,6 @@ import * as path from 'path'; -import { runTests } from 'vscode-test'; +import { runTests } from '@vscode/test-electron'; async function main() { try { diff --git a/Extension/test/integrationTests/debug/runTest.ts b/Extension/test/integrationTests/debug/runTest.ts index 23e4f51c6c..eb7af130aa 100644 --- a/Extension/test/integrationTests/debug/runTest.ts +++ b/Extension/test/integrationTests/debug/runTest.ts @@ -1,6 +1,6 @@ import * as path from 'path'; -import { runTests } from 'vscode-test'; +import { runTests } from '@vscode/test-electron'; async function main() { try { diff --git a/Extension/test/integrationTests/languageServer/runTest.ts b/Extension/test/integrationTests/languageServer/runTest.ts index a1f32c5da3..b7e47068e3 100644 --- a/Extension/test/integrationTests/languageServer/runTest.ts +++ b/Extension/test/integrationTests/languageServer/runTest.ts @@ -1,6 +1,6 @@ import * as path from 'path'; -import { runTests } from 'vscode-test'; +import { runTests } from '@vscode/test-electron'; async function main() { try { diff --git a/Extension/test/unitTests/runTest.ts b/Extension/test/unitTests/runTest.ts index 34964f62a5..fe56189545 100644 --- a/Extension/test/unitTests/runTest.ts +++ b/Extension/test/unitTests/runTest.ts @@ -1,6 +1,6 @@ import * as path from 'path'; -import { runTests } from 'vscode-test'; +import { runTests } from '@vscode/test-electron'; async function main() { try { diff --git a/Extension/tools/copyDebuggerDependencies.ts b/Extension/tools/copyDebuggerDependencies.ts deleted file mode 100644 index bd9a414057..0000000000 --- a/Extension/tools/copyDebuggerDependencies.ts +++ /dev/null @@ -1,219 +0,0 @@ -/* -------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All Rights Reserved. - * See 'LICENSE' in the project root for license information. - * ------------------------------------------------------------------------------------------ */ -'use strict'; - -/** - * This file is used for packaging the application and should not be referenced - * by any other source files - */ - -import * as fs from 'fs'; -import * as os from 'os'; -import * as path from 'path'; - -// Change this to true to force a dev workflow. -const EnableDevWorkflow: boolean = false; - -const DebugAdapterPath: string = "./debugAdapters"; -const DebugAdapterBinPath: string = DebugAdapterPath + "/bin"; - -let CpptoolsExtensionRoot: string = null; -let SearchCompleted: boolean = false; - -interface RootsHashtable { - "miEngineRoot": string; - "openDebugRoot": string; - "monoDeps": string; -} - -const internalBinaryRoots: RootsHashtable = { - "miEngineRoot": process.env.CPPTOOLS_MIENGINE_ROOT, - "openDebugRoot": process.env.CPPTOOLS_OPENDEBUG_ROOT, - "monoDeps": process.env.CPPTOLS_MONODEPS_ROOT -}; - -const externalBinaryRoots: RootsHashtable = { - "miEngineRoot": DebugAdapterBinPath, - "openDebugRoot": DebugAdapterBinPath, - "monoDeps": DebugAdapterPath -}; - -function findCppToolsExtensionDebugAdapterFolder(): string { - const vscodeFolderRegExp: RegExp = new RegExp(/\.vscode-*[a-z]*$/); - const cpptoolsFolderRegExp: RegExp = new RegExp(/ms\-vscode\.cpptools\-.*$/); - - let dirPath: string = os.homedir(); - if (fs.existsSync(dirPath)) { - const files: string[] = fs.readdirSync(dirPath); - for (let i: number = 0; i < files.length; i++) { - // Check to see if it starts with '.vscode' - if (vscodeFolderRegExp.test(files[i])) { - const extPath: string = path.join(dirPath, files[i], "extensions"); - if (fs.existsSync(extPath)) { - const extFiles: string[] = fs.readdirSync(extPath); - for (let j: number = 0; j < extFiles.length; j++) { - if (cpptoolsFolderRegExp.test(path.join(extFiles[j]))) { - dirPath = path.join(extPath, extFiles[j]); - break; - } - } - } - } - } - - if (dirPath === os.homedir()) { - console.error("Could not find installed C/C++ extension."); - return null; - } - - return dirPath; - } else { - console.error("Unable to determine C/C++ extension installation location."); - return null; - } -} - -function enableDevWorkflow(): Boolean { - if (process.env.AGENT_ID) { - // Agent machines must not attempt any dev workflows - return false; - } - - return (EnableDevWorkflow || (process.env.CPPTOOLS_DEV !== undefined)); -} - -function copySourceDependencies(): void { - copy("./", DebugAdapterBinPath, "cppdbg.ad7Engine.json"); -} - -function getRoot(rootKey: string): string { - const internal: string = internalBinaryRoots[rootKey]; - if (internal) { - return internal; - } - - // Only search for the extension root once. - if (!CpptoolsExtensionRoot && !SearchCompleted) { - CpptoolsExtensionRoot = findCppToolsExtensionDebugAdapterFolder(); - SearchCompleted = true; - } - - if (CpptoolsExtensionRoot) { - return path.join(CpptoolsExtensionRoot, externalBinaryRoots[rootKey]); - } - - console.error("Unable to determine internal/external location to copy from for root %s.", rootKey); - return null; -} - -function copyBinaryDependencies(): void { - const miEngineRoot: string = getRoot("miEngineRoot"); - const openDebugRoot: string = getRoot("openDebugRoot"); - - copy(miEngineRoot, DebugAdapterBinPath, "Microsoft.MICore.dll"); - copy(miEngineRoot, DebugAdapterBinPath, "Microsoft.MICore.dll.mdb"); - copy(miEngineRoot, DebugAdapterBinPath, "Microsoft.MICore.XmlSerializers.dll"); - copy(miEngineRoot, DebugAdapterBinPath, "Microsoft.MIDebugEngine.dll"); - copy(miEngineRoot, DebugAdapterBinPath, "Microsoft.MIDebugEngine.dll.mdb"); - copy(miEngineRoot, DebugAdapterBinPath, "osxlaunchhelper.scpt"); - copy(miEngineRoot, DebugAdapterBinPath, "Microsoft.VisualStudio.Debugger.Interop.15.0.dll"); - - copy(openDebugRoot, DebugAdapterBinPath, "Microsoft.VisualStudio.Debugger.Interop.10.0.dll"); - copy(openDebugRoot, DebugAdapterBinPath, "Microsoft.VisualStudio.Debugger.Interop.11.0.dll"); - copy(openDebugRoot, DebugAdapterBinPath, "Microsoft.VisualStudio.Debugger.Interop.12.0.dll"); - copy(openDebugRoot, DebugAdapterBinPath, "Microsoft.VisualStudio.Debugger.InteropA.dll"); - copy(openDebugRoot, DebugAdapterBinPath, "Microsoft.DebugEngineHost.dll"); - copy(openDebugRoot, DebugAdapterBinPath, "Microsoft.DebugEngineHost.dll.mdb"); - copy(openDebugRoot, DebugAdapterBinPath, "OpenDebugAD7.exe"); - copy(openDebugRoot, DebugAdapterBinPath, "OpenDebugAD7.exe.config"); - copy(openDebugRoot, DebugAdapterBinPath, "OpenDebugAD7.exe.mdb"); - copy(openDebugRoot, DebugAdapterBinPath, "Newtonsoft.Json.dll"); - copy(openDebugRoot, DebugAdapterBinPath, "WindowsDebugLauncher.exe"); - copy(openDebugRoot, DebugAdapterBinPath, "Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.dll"); -} - -function copyMonoDependencies(): void { - const monoDeps: string = getRoot("monoDeps"); - - copy(monoDeps, DebugAdapterPath, "OpenDebugAD7"); -} - -function copy(root: string, target: string, file: string): void { - if (!root) { - console.error("Unknown root location. Copy Failed for %s.", file); - return; - } - - const source: string = path.join(root, file); - const destination: string = path.join(target, file); - - if (!fs.existsSync(target)) { - console.log('Creating directory %s', target); - makeDirectory(target); - } - - console.log('copying %s to %s', source, destination); - if (fs.existsSync(source)) { - fs.writeFileSync(destination, fs.readFileSync(source)); - } else { - console.error('ERR: could not find file %s', source); - } -} - -function removeFolder(root: string): void { - if (!isDirectory(root)) { - console.warn('Skipping deletion of %s; directory does not exist', root); - return; - } - - const files: string[] = fs.readdirSync(root); - for (let i: number = 0; i < files.length; i++) { - const fullPath: string = path.join(root, files[i]); - console.warn('Found entry %s', fullPath); - if (!isDirectory(fullPath)) { - console.warn('Deleting %s', fullPath); - fs.unlinkSync(fullPath); - } else { - removeFolder(fullPath); - } - } - - console.warn('Deleting %s', root); - fs.rmdirSync(root); -} - -function isDirectory(dir: string): Boolean { - try { - return fs.statSync(dir).isDirectory(); - } catch (e) { - } - return false; -} - -function makeDirectory(dir: string): void { - try { - // Note: mkdir is limited to creating folders with one level of nesting. Creating "a/b" if 'a' doesn't exist will throw a ENOENT. - fs.mkdirSync(dir); - } catch (e) { - if ((e).code !== "EEXIST") { - throw e; - } - } -} - -if (enableDevWorkflow()) { - removeFolder("./debugAdapters"); -} - -makeDirectory("./debugAdapters"); -copySourceDependencies(); - -if (enableDevWorkflow()) { - copyMonoDependencies(); - copyBinaryDependencies(); -} else { - console.warn('WARNING: Debugger dependencies are missing.'); - console.log('If you are trying to build and run the extension from source and need the debugger dependencies, set the environment variable CPPTOOLS_DEV=1 and try again.'); -} diff --git a/Extension/tools/link-binaries b/Extension/tools/link-binaries deleted file mode 100644 index e481b644d7..0000000000 --- a/Extension/tools/link-binaries +++ /dev/null @@ -1,96 +0,0 @@ -# /* -------------------------------------------------------------------------------------------- -# * Copyright (c) Microsoft Corporation. All Rights Reserved. -# * See 'LICENSE' in the project root for license information. -# * ------------------------------------------------------------------------------------------ */ -#!/usr/bin/env bash - -fail() { - echo "$1" >&2 - exit 1 -} - -usage() { - echo "Usage: $0 [-v] path-to-extension path-to-miengine path-to-opendebug" - echo " e.g. $0 ~/.vscode/extensions/ms-vscode.cpptools-0.5.0 ~/src/MIEngine ~/src/OpenDebugAD7" - echo - echo " Parameters can also be provided by environment variables:" - echo " CPPDBG_EXTENSION_PATH (current value: ${CPPDBG_EXTENSION_PATH:-(none)})" - echo " MIENGINE_SRC_PATH (current value: ${MIENGINE_SRC_PATH:-(none)})" - echo " OPENDEBUG_SRC_PATH (current value: ${OPENDEBUG_SRC_PATH:-(none)})" - exit 0 -} - -remove_existing_binaries() { - local BIN_PATH=$1 - local RM_FLAGS="-f" - - if [ "${VERBOSE}" == "1" ] ; then - RM_FLAGS="${RM_FLAGS} -v" - fi - - rm ${RM_FLAGS} ${BIN_PATH}/*.dll || fail "Failed to clean up existing DLLs!" - rm ${RM_FLAGS} ${BIN_PATH}/*.exe || fail "Failed to clean up existing EXEs!" - rm ${RM_FLAGS} ${BIN_PATH}/*.mdb || fail "Failed to clean up existing MDBs!" -} - -link_file() { - local SRC=$1 - local DEST=$2 - - if [ "${VERBOSE}" == "1" ] ; then - echo "Linking '${SRC}' -> '${DEST}'" - fi - - ln -s ${SRC} ${DEST} || fail "Failed to link file '${SRC}' to '${DEST}'!" -} - -link_files() { - local DEST_PATH=$1 - local SRC_PATH=$2 - - shift 2 - - while [ ! -z $1 ] ; do - link_file ${SRC_PATH}/$1 ${DEST_PATH}/$1 - - # Link symbols, if present - if [ -e ${SRC_PATH}/$1.mdb ] ; then - link_file ${SRC_PATH}/$1.mdb ${DEST_PATH}/$1.mdb - fi - - shift - done -} - -VERBOSE=0 -if [ "$1" == "-v" ] ; then - VERBOSE=1 - shift -fi - -EXTENSION_PATH=${1:-${CPPDBG_EXTENSION_PATH}} -MIENGINE_PATH=${2:-${MIENGINE_SRC_PATH}} -OPENDEBUG_PATH=${3:-${OPENDEBUG_SRC_PATH}} - -if [ "$1" == "--help" -o -z "${EXTENSION_PATH}" -o -z "${MIENGINE_PATH}" -o -z "${OPENDEBUG_PATH}" ] ; then - usage -fi - -EXTENSION_BIN=${EXTENSION_PATH}/debugAdapters/bin - -remove_existing_binaries ${EXTENSION_BIN} - -# Link main binaries -link_files ${EXTENSION_BIN} ${OPENDEBUG_PATH}/out/Desktop.Debug OpenDebugAD7.exe Microsoft.DebugEngineHost.dll -link_files ${EXTENSION_BIN} ${MIENGINE_PATH}/bin/Desktop.Debug Microsoft.MICore.dll Microsoft.MIDebugEngine.dll Microsoft.MICore.XmlSerializers.dll osxlaunchhelper.scpt - -# Link dependencies -link_files ${EXTENSION_BIN} ${OPENDEBUG_PATH}/out/Desktop.Debug Newtonsoft.Json.dll -link_files ${EXTENSION_BIN} ${MIENGINE_PATH}/bin/Desktop.Debug Microsoft.VisualStudio.Debugger.Interop.10.0.dll Microsoft.VisualStudio.Debugger.Interop.11.0.dll Microsoft.VisualStudio.Debugger.Interop.12.0.dll Microsoft.VisualStudio.Debugger.InteropA.dll - -# Link engine JSON to real assembly location -if [ ! -e ${OPENDEBUG_PATH}/out/Desktop.Debug/cppdbg.ad7Engine.json ] ; then - link_files ${OPENDEBUG_PATH}/out/Desktop.Debug ${EXTENSION_BIN} cppdbg.ad7Engine.json -fi - -echo "Done!" diff --git a/Extension/tools/prepublish.js b/Extension/tools/prepublish.js index d061e2a7de..ca1e3d578b 100644 --- a/Extension/tools/prepublish.js +++ b/Extension/tools/prepublish.js @@ -31,13 +31,4 @@ tscCompileListStr.split(/\r?\n/).forEach(filePath => { if (!filePath.startsWith("#") && /\S/.test(filePath)) { compile(filePath); } -}); - -// If the required debugger file doesn't exist, make sure it is copied. -if (process.env.CPPTOOLS_DEV || !fs.existsSync('./debugAdapters/bin/cppdbg.ad7Engine.json')) { - const copyDebuggerDependenciesJSFile = './out/tools/copyDebuggerDependencies.js'; - - // Required for nightly builds. Nightly builds do not enable CPPTOOLS_DEV. - console.log(">> node " + copyDebuggerDependenciesJSFile); - cp.execSync("node " + copyDebuggerDependenciesJSFile, { stdio: [0, 1, 2] }); -} +}); \ No newline at end of file diff --git a/Extension/tscCompileList.txt b/Extension/tscCompileList.txt index bfcf50097c..0e73da3a93 100644 --- a/Extension/tscCompileList.txt +++ b/Extension/tscCompileList.txt @@ -9,5 +9,4 @@ # 3. If you created a new folder, please make sure it is added to the .vscodeignore tools/GenerateOptionsSchema.ts -tools/copyDebuggerDependencies.ts ui/settings.ts \ No newline at end of file diff --git a/Extension/walkthrough/debugconfig/run-and-debug-project-linux.md b/Extension/walkthrough/debugconfig/run-and-debug-project-linux.md index 5c8dcbda9c..cfc3ab967f 100644 --- a/Extension/walkthrough/debugconfig/run-and-debug-project-linux.md +++ b/Extension/walkthrough/debugconfig/run-and-debug-project-linux.md @@ -1,15 +1,15 @@ -# Run and debug your C++ file on Linux - -To run and debug your C++ file in VS Code: - -1. Open the C++ source file that you want to run and debug. Make sure this file is active (currently displayed and selected) in the editor. - -2. Press `F5`. Or, from the main menu, choose **Run > Start Debugging**. - -3. Select **C++ (GDB/LLDB)**. - -4. Choose **g++ - Build and debug active file**. - -After running and debugging your C++ file for the first time, you'll notice two new files inside your project's **.vscode** folder: **tasks.json** and **launch.json**. - -For more complex build and debug scenarios, you can customize your build tasks and debug configurations in tasks.json and launch.json. For example, if you normally pass arguments to your compiler when building from the command line, you can specify those arguments in tasks.json using the **compilerArgs** property. Similarly, you can define arguments to pass to your program for debugging in launch.json. \ No newline at end of file +

Run and debug your C++ file on Linux

+

To run and debug your C++ file in VS Code:

+
    +
  1. Open the C++ source file that you want to run and debug. Make sure this file is active (currently displayed and selected) in the editor.

    +
  2. +
  3. Press F5. Or, from the main menu, choose Run > Start Debugging.

    +
  4. +
  5. Select C++ (GDB/LLDB).

    +
  6. +
  7. Choose g++ - Build and debug active file.

    +
  8. +
+

After running and debugging your C++ file for the first time, you'll notice two new files inside your project's .vscode folder: tasks.json and launch.json.

+ +

For more complex build and debug scenarios, you can customize your build tasks and debug configurations in tasks.json and launch.json. For example, if you normally pass arguments to your compiler when building from the command line, you can specify those arguments in tasks.json using the compilerArgs property. Similarly, you can define arguments to pass to your program for debugging in launch.json.

diff --git a/Extension/walkthrough/debugconfig/run-and-debug-project-mac.md b/Extension/walkthrough/debugconfig/run-and-debug-project-mac.md index b49a3eef73..1f7af4688f 100644 --- a/Extension/walkthrough/debugconfig/run-and-debug-project-mac.md +++ b/Extension/walkthrough/debugconfig/run-and-debug-project-mac.md @@ -1,15 +1,15 @@ -# Run and debug your C++ file on macOS - -To run and debug your C++ file in VS Code: - -1. Open the C++ source file that you want to run and debug. Make sure this file is active (currently displayed and selected) in the editor. - -2. Press `F5`. Or, from the main menu, choose **Run > Start Debugging**. - -3. Select **C++ (GDB/LLDB)**. - -4. Choose **clang++ - Build and debug active file**. - -After running and debugging your C++ file for the first time, you'll notice two new files inside your project's **.vscode** folder: **tasks.json** and **launch.json**. - -For more complex build and debug scenarios, you can customize your build tasks and debug configurations in tasks.json and launch.json. For example, if you normally pass arguments to your compiler when building from the command line, you can specify those arguments in tasks.json using the **compilerArgs** property. Similarly, you can define arguments to pass to your program for debugging in launch.json. +

Run and debug your C++ file on macOS

+

To run and debug your C++ file in VS Code:

+
    +
  1. Open the C++ source file that you want to run and debug. Make sure this file is active (currently displayed and selected) in the editor.

    +
  2. +
  3. Press F5. Or, from the main menu, choose Run > Start Debugging.

    +
  4. +
  5. Select C++ (GDB/LLDB).

    +
  6. +
  7. Choose clang++ - Build and debug active file.

    +
  8. +
+

After running and debugging your C++ file for the first time, you'll notice two new files inside your project's .vscode folder: tasks.json and launch.json.

+ +

For more complex build and debug scenarios, you can customize your build tasks and debug configurations in tasks.json and launch.json. For example, if you normally pass arguments to your compiler when building from the command line, you can specify those arguments in tasks.json using the compilerArgs property. Similarly, you can define arguments to pass to your program for debugging in launch.json.

diff --git a/Extension/walkthrough/debugconfig/run-and-debug-project-windows.md b/Extension/walkthrough/debugconfig/run-and-debug-project-windows.md index 3d106bf4d9..22be524b49 100644 --- a/Extension/walkthrough/debugconfig/run-and-debug-project-windows.md +++ b/Extension/walkthrough/debugconfig/run-and-debug-project-windows.md @@ -1,15 +1,15 @@ -# Run and debug your C++ file on Windows - -To run and debug your C++ file in VS Code: - -1. Open the C++ source file that you want to run and debug. Make sure this file is active (currently displayed and selected) in the editor. - -2. Press `F5`. Or, from the main menu, choose **Run > Start Debugging**. - -3. Select **C++ (Windows)**. - -4. Choose **cl.exe - Build and debug active file**. - -After running and debugging your C++ file for the first time, you'll notice two new files inside your project's **.vscode** folder: **tasks.json** and **launch.json**. - -For more complex build and debug scenarios, you can customize your build tasks and debug configurations in tasks.json and launch.json. For example, if you normally pass arguments to your compiler when building from the command line, you can specify those arguments in tasks.json using the **compilerArgs** property. Similarly, you can define arguments to pass to your program for debugging in launch.json. +

Run and debug your C++ file on Windows

+

To run and debug your C++ file in VS Code:

+
    +
  1. Open the C++ source file that you want to run and debug. Make sure this file is active (currently displayed and selected) in the editor.

    +
  2. +
  3. Press F5. Or, from the main menu, choose Run > Start Debugging.

    +
  4. +
  5. Select C++ (Windows).

    +
  6. +
  7. Choose cl.exe - Build and debug active file.

    +
  8. +
+

After running and debugging your C++ file for the first time, you'll notice two new files inside your project's .vscode folder: tasks.json and launch.json.

+ +

For more complex build and debug scenarios, you can customize your build tasks and debug configurations in tasks.json and launch.json. For example, if you normally pass arguments to your compiler when building from the command line, you can specify those arguments in tasks.json using the compilerArgs property. Similarly, you can define arguments to pass to your program for debugging in launch.json.

diff --git a/Extension/walkthrough/installcompiler/install-clang-macos.md b/Extension/walkthrough/installcompiler/install-clang-macos.md index 9a1eeba0d3..23aaa405a1 100644 --- a/Extension/walkthrough/installcompiler/install-clang-macos.md +++ b/Extension/walkthrough/installcompiler/install-clang-macos.md @@ -1,13 +1,7 @@ -# Install a C++ compiler on macOS - -If you're doing C++ development for macOS, we recommend installing the Clang compiler. All you need to do is run the following command in a Terminal window to install the command line developer tools: - -```bash -xcode-select --install -``` - -Then, to verify that clang is installed, run the following command in a Terminal window. You should see a message with information about the version of Clang you're using. - -```bash -clang --version -``` \ No newline at end of file +

Install a C++ compiler on macOS

+

If you're doing C++ development for macOS, we recommend installing the Clang compiler. All you need to do is run the following command in a Terminal window to install the command line developer tools:

+
xcode-select --install
+
+

Then, to verify that clang is installed, run the following command in a Terminal window. You should see a message with information about the version of Clang you're using.

+
clang --version
+
diff --git a/Extension/walkthrough/installcompiler/install-compiler-windows.md b/Extension/walkthrough/installcompiler/install-compiler-windows.md index b1c6688d60..864bb714f7 100644 --- a/Extension/walkthrough/installcompiler/install-compiler-windows.md +++ b/Extension/walkthrough/installcompiler/install-compiler-windows.md @@ -1,17 +1,18 @@ -# Install a C++ compiler on Windows - -If you're doing C++ development for Windows, we recommend installing the Microsoft Visual C++ (MSVC) compiler toolset. If you're targeting Linux from Windows, check out [Using C++ and Windows Subsystem for Linux (WSL) in VS Code](https://code.visualstudio.com/docs/cpp/config-wsl). Or, you could [install GCC on Windows with MinGW](https://code.visualstudio.com/docs/cpp/config-mingw). - - - -1. To install MSVC, download **C++ Build Tools** from the Visual Studio [Downloads](https://visualstudio.microsoft.com/downloads#other) page. - -2. In the Visual Studio Installer, check the **C++ build tools** workload and select **Install**. - - >**Note**: You can use the C++ toolset from Visual Studio Build Tools along with Visual Studio Code to compile, build, and verify any C++ codebase as long as you also have a valid Visual Studio license (either Community, Pro, or Enterprise) that you are actively using to develop that C++ codebase. - -3. Open the **Developer Command Prompt for VS** by typing 'developer' in the Windows Start menu. - -4. Check your MSVC installation by typing `cl` into the Developer Command Prompt for VS. You should see a copyright message with the version and basic usage description. - - >**Note**: To use MSVC from the command line or VS Code, you must run from a **Developer Command Prompt for VS**. An ordinary shell such as PowerShell, Bash, or the Windows command prompt does not have the necessary path environment variables set. +

Install a C++ compiler on Windows

+

If you're doing C++ development for Windows, we recommend installing the Microsoft Visual C++ (MSVC) compiler toolset. If you're targeting Linux from Windows, check out Using C++ and Windows Subsystem for Linux (WSL) in VS Code. Or, you could install GCC on Windows with MinGW.

+
    +
  1. To install MSVC, download Build Tools for Visual Studio 2019 from the Visual Studio Downloads page.

    +
  2. +
  3. In the Visual Studio Installer, check the C++ build tools workload and select Install.

    +
    +

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

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

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

    +
    +

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

    +
    +
  8. +
diff --git a/Extension/walkthrough/installcompiler/install-gcc-linux.md b/Extension/walkthrough/installcompiler/install-gcc-linux.md index df97e121da..3d0c8e1f49 100644 --- a/Extension/walkthrough/installcompiler/install-gcc-linux.md +++ b/Extension/walkthrough/installcompiler/install-gcc-linux.md @@ -1,20 +1,16 @@ - -# Install a C++ compiler on Linux -If you're doing C++ development for Linux, we recommend installing the GCC compiler. Installing GCC is simple, just follow these three steps: - -1. Run the following command from the terminal window to update the Ubuntu package lists. An out-of-date Linux distribution can sometimes interfere with attempts to install new packages. - - ```bash - sudo apt-get update - ``` - -2. Install the GNU compiler tools and the GDB debugger with this command: - - ```bash - sudo apt-get install build-essential gdb - -3. Verify GCC is installed by running the following command. You should see a copyright message and information about the version of GCC you're using. - - ```bash - gcc --version - ``` \ No newline at end of file +

Install a C++ compiler on Linux

+

If you're doing C++ development for Linux, we recommend installing the GCC compiler. Installing GCC is simple, just follow these three steps:

+
    +
  1. Run the following command from the terminal window to update the Ubuntu package lists. An out-of-date Linux distribution can sometimes interfere with attempts to install new packages.

    +
     sudo apt-get update
    +
    +
  2. +
  3. Install the GNU compiler tools and the GDB debugger with this command:

    +
     sudo apt-get install build-essential gdb
    +
    +
  4. +
  5. Verify GCC is installed by running the following command. You should see a copyright message and information about the version of GCC you're using.

    +
     gcc --version
    +
    +
  6. +
diff --git a/Extension/yarn.lock b/Extension/yarn.lock index c6cd67c663..fb44117e0e 100644 --- a/Extension/yarn.lock +++ b/Extension/yarn.lock @@ -196,6 +196,11 @@ dependencies: "@types/node" ">= 8" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@types/eslint-scope@^3.7.0": version "3.7.0" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" @@ -284,10 +289,10 @@ resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.1.0.tgz#19cf73a7bcf641965485119726397a096f0049bd" integrity sha512-6IwZ9HzWbCq6XoQWhxLpDjuADodH/MKXRUIDFudvgjcVdjFknvmR+DNsoUeer4XPrEnrZs04Jj+kfV9pFsrhmA== -"@types/vscode@1.53.0": - version "1.53.0" - resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.53.0.tgz#47b53717af6562f2ad05171bc9c8500824a3905c" - integrity sha512-XjFWbSPOM0EKIT2XhhYm3D3cx3nn3lshMUcWNy1eqefk+oqRuBq8unVb6BYIZqXy9lQZyeUl7eaBCOZWv+LcXQ== +"@types/vscode@1.58.0": + version "1.58.0" + resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.58.0.tgz#91662aa27197c750df314e0d27de4b23512ebe59" + integrity sha512-enznxcBi4uYt20LWal09E0+VKEHZlq9PZawTu/mpWCVCFWWbiyR8HNI1ikBP1Ypqv8b3A/0md3DY1jcx+oQ8kQ== "@types/which@^1.3.2": version "1.3.2" @@ -384,6 +389,16 @@ resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== +"@vscode/test-electron@^1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@vscode/test-electron/-/test-electron-1.6.1.tgz#2b282154097e250ee9b94b6a284eb5804e53a3d7" + integrity sha512-WTs+OK9YrKSVJNZ9IjytNibHSJG2YslZXuS3pw9gedF25TgYF/+FQhQYL0ZPX4uupS0SGAPKzMnhYDkjPDxowA== + dependencies: + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + rimraf "^3.0.2" + unzipper "^0.10.11" + "@webassemblyjs/ast@1.11.0": version "1.11.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f" @@ -569,6 +584,13 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" @@ -959,6 +981,11 @@ before-after-hook@^2.0.0: resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== +big-integer@^1.6.17: + version "1.6.48" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" + integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== + big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -974,6 +1001,14 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +binary@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk= + dependencies: + buffers "~0.1.1" + chainsaw "~0.1.0" + bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -981,6 +1016,11 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +bluebird@~3.4.1: + version "3.4.7" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1048,6 +1088,16 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== +buffer-indexof-polyfill@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" + integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== + +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= + builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1101,6 +1151,13 @@ caniuse-lite@^1.0.30001219: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz#8135c57459854b2240b57a4a6786044bdc5a9f71" integrity sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ== +chainsaw@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg= + dependencies: + traverse ">=0.3.0 <0.4" + chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1456,6 +1513,13 @@ debug@3.X, debug@^3.1.0: dependencies: ms "^2.1.1" +debug@4: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + debug@4.3.1, debug@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" @@ -1597,6 +1661,13 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +duplexer2@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + dependencies: + readable-stream "^2.0.2" + duplexer@^0.1.1, duplexer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" @@ -2465,6 +2536,16 @@ fsevents@~2.3.1: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -2638,7 +2719,7 @@ graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, gr resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== -graceful-fs@^4.2.4: +graceful-fs@^4.2.2, graceful-fs@^4.2.4: version "4.2.6" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== @@ -2851,6 +2932,15 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + https-proxy-agent@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" @@ -2859,6 +2949,14 @@ https-proxy-agent@^2.2.4: agent-base "^4.3.0" debug "^3.1.0" +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -2925,7 +3023,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -3449,6 +3547,11 @@ liftoff@^3.1.0: rechoir "^0.6.2" resolve "^1.1.7" +listenercount@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" + integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -3718,6 +3821,13 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +"mkdirp@>=0.5 0": + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -4218,10 +4328,10 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-root-regex@^0.1.0: version "0.1.2" @@ -4665,6 +4775,13 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rimraf@2, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -4672,13 +4789,6 @@ rimraf@2.6.3: dependencies: glob "^7.1.3" -rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -4789,6 +4899,11 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" +setimmediate@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -5388,6 +5503,11 @@ to-through@^2.0.0: dependencies: through2 "^2.0.3" +"traverse@>=0.3.0 <0.4": + version "0.3.9" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= + ts-loader@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.1.0.tgz#d6292487df279c7cc79b6d3b70bb9d31682b693e" @@ -5569,6 +5689,22 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +unzipper@^0.10.11: + version "0.10.11" + resolved "https://registry.yarnpkg.com/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" + integrity sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw== + dependencies: + big-integer "^1.6.17" + binary "~0.3.0" + bluebird "~3.4.1" + buffer-indexof-polyfill "~1.0.0" + duplexer2 "~0.1.4" + fstream "^1.0.12" + graceful-fs "^4.2.2" + listenercount "~1.0.1" + readable-stream "~2.3.6" + setimmediate "~1.0.4" + upath@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" @@ -5767,15 +5903,6 @@ vscode-tas-client@^0.1.22: dependencies: tas-client "0.1.21" -vscode-test@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/vscode-test/-/vscode-test-1.3.0.tgz#3310ab385d9b887b4c82e8f52be1030e7cf9493d" - integrity sha512-LddukcBiSU2FVTDr3c1D8lwkiOvwlJdDL2hqVbn6gIz+rpTqUCkMZSKYm94Y1v0WXlHSDQBsXyY+tchWQgGVsw== - dependencies: - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.4" - rimraf "^2.6.3" - watchpack@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" diff --git a/Themes/README.md b/Themes/README.md index bf4e7c4700..70ad0ac74c 100644 --- a/Themes/README.md +++ b/Themes/README.md @@ -10,11 +10,11 @@ VS Code has since provided an API for semantic colorization. The C/C++ Extension Light Theme -![Light Theme example](https://github.com/Microsoft/vscode-cpptools/raw/main/Themes/assets/light.png) +![Light Theme example](https://raw.githubusercontent.com/microsoft/vscode-cpptools/main/Themes/assets/light.png) Dark Theme -![Dark Theme example](https://github.com/Microsoft/vscode-cpptools/raw/main/Themes/assets/dark.png) +![Dark Theme example](https://raw.githubusercontent.com/microsoft/vscode-cpptools/main/Themes/assets/dark.png) ## Contributing