diff --git a/Extension/CHANGELOG.md b/Extension/CHANGELOG.md index 49820240fa..d261615dfe 100644 --- a/Extension/CHANGELOG.md +++ b/Extension/CHANGELOG.md @@ -1,5 +1,20 @@ # C/C++ for Visual Studio Code Change Log +## Version 1.3.0-insiders4: April 6, 2021 +### New Features +* Add native language service binaries for ARM64 Mac. [#6595](https://github.com/microsoft/vscode-cpptools/issues/6595) + +### Enhancements +* Add auto-closing of include completion brackets. [#7054](https://github.com/microsoft/vscode-cpptools/issues/7054) +* Add a `C_Cpp.files.exclude` setting, which is identical to `files.exclude` except items aren't excluded from the Explorer view. [PR #7285](https://github.com/microsoft/vscode-cpptools/pull/7285) + +### Bug Fixes +* Fix directory iteration to check files.exclude and symlinks and use less memory. [#3123](https://github.com/microsoft/vscode-cpptools/issues/3123), [#4206](https://github.com/microsoft/vscode-cpptools/issues/4206), [#6864](https://github.com/microsoft/vscode-cpptools/issues/6864) +* Fix bug with placement new on Windows with gcc mode. [#6246](https://github.com/microsoft/vscode-cpptools/issues/6246) +* Fix `GoToNextDirectiveInGroup` command for multiroot. [#7283](https://github.com/microsoft/vscode-cpptools/issues/7283) +* Fix field requirements for custom configurations. [PR #7295](https://github.com/microsoft/vscode-cpptools/pull/7295) +* Fix integrity hash checking of downloaded packages for the extension. [PR #7300](https://github.com/microsoft/vscode-cpptools/pull/7300) + ## Version 1.3.0-insiders3: April 1, 2021 ### New Features * Add commands for navigating to matching preprocessor directives in conditional groups. [#7256](https://github.com/microsoft/vscode-cpptools/pull/7256) diff --git a/Extension/README.md b/Extension/README.md index a5fbaa9843..1e4635573c 100644 --- a/Extension/README.md +++ b/Extension/README.md @@ -54,7 +54,8 @@ The extension has platform-specific binary dependencies, therefore installation `cpptools-linux.vsix` | Linux 64-bit `cpptools-linux-armhf.vsix` | Linux ARM 32-bit `cpptools-linux-aarch64.vsix` | Linux ARM 64-bit -`cpptools-osx.vsix` | macOS +`cpptools-osx.vsix` | macOS 64-bit +`cpptools-osx-arm64.vsix` | macOS ARM64 `cpptools-win32.vsix` | Windows 64-bit & 32-bit `cpptools-win-arm64.vsix` | Windows ARM64 `cpptools-linux32.vsix` | Linux 32-bit ([available up to version 0.27.0](https://github.com/microsoft/vscode-cpptools/issues/5346)) diff --git a/Extension/i18n/chs/package.i18n.json b/Extension/i18n/chs/package.i18n.json index 52497d56c3..02f04dca99 100644 --- a/Extension/i18n/chs/package.i18n.json +++ b/Extension/i18n/chs/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "将 vcpkg 安装命令复制到剪贴板", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "访问 vcpkg 帮助页", "c_cpp.command.generateEditorConfig.title": "从 VC 格式设置生成 EditorConfig 内容", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "c_cpp.configuration.formatting.description": "配置格式化引擎", "c_cpp.configuration.formatting.clangFormat.description": "将使用 clang-format 设置代码的格式。", "c_cpp.configuration.formatting.vcFormat.description": "将使用 Visual C++ 格式设置引擎来设置代码的格式。", diff --git a/Extension/i18n/chs/src/nativeStrings.i18n.json b/Extension/i18n/chs/src/nativeStrings.i18n.json index 6a6946aa50..0408d577d7 100644 --- a/Extension/i18n/chs/src/nativeStrings.i18n.json +++ b/Extension/i18n/chs/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "未能在路径 \"{0}\" 处查询编译器以获得默认标准版本。已对此编译器禁用编译器查询。", "unrecognized_language_standard_version": "编译器查询返回了无法识别的语言标准版本。将改用受支持的最新版本。", "intellisense_process_crash_detected": "检测到 IntelliSense 进程崩溃。", - "return_values_label": "返回值:" + "return_values_label": "返回值:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/cht/package.i18n.json b/Extension/i18n/cht/package.i18n.json index 14b765eecc..78b6ee95a5 100644 --- a/Extension/i18n/cht/package.i18n.json +++ b/Extension/i18n/cht/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "將 vcpkg 安裝命令複製到剪貼簿", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "瀏覽 vcpkg 說明頁面", "c_cpp.command.generateEditorConfig.title": "從 VC 格式設定產生 EditorConfig 內容", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "c_cpp.configuration.formatting.description": "選擇格式設定引擎", "c_cpp.configuration.formatting.clangFormat.description": "將使用 clang-format 來格式化程式碼。", "c_cpp.configuration.formatting.vcFormat.description": "將使用 Visual C++ 格式化引擎來格式化程式碼。", diff --git a/Extension/i18n/cht/src/nativeStrings.i18n.json b/Extension/i18n/cht/src/nativeStrings.i18n.json index 04156e0ce0..02aefc8d32 100644 --- a/Extension/i18n/cht/src/nativeStrings.i18n.json +++ b/Extension/i18n/cht/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "無法查詢位於路徑 \"{0}\" 的編譯器預設標準版本。已停用此編譯器的編譯器查詢。", "unrecognized_language_standard_version": "編譯器查詢傳回無法辨識的語言標準版本。將改用支援的最新版本。", "intellisense_process_crash_detected": "偵測到 IntelliSense 流程損毀。", - "return_values_label": "傳回值:" + "return_values_label": "傳回值:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/csy/package.i18n.json b/Extension/i18n/csy/package.i18n.json index e577a12e12..120be2bc74 100644 --- a/Extension/i18n/csy/package.i18n.json +++ b/Extension/i18n/csy/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "Zkopírovat příkaz pro instalaci vcpkg do schránky", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "Navštívit stránku nápovědy k vcpkg", "c_cpp.command.generateEditorConfig.title": "Vygenerovat obsah EditorConfig z nastavení formátu VC", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "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++.", diff --git a/Extension/i18n/csy/src/nativeStrings.i18n.json b/Extension/i18n/csy/src/nativeStrings.i18n.json index 16e208f2c1..08c6ada2bc 100644 --- a/Extension/i18n/csy/src/nativeStrings.i18n.json +++ b/Extension/i18n/csy/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "Nepovedlo se dotázat kompilátor na cestě {0} na výchozí standardní verze. Dotazování je pro tento kompilátor zakázané.", "unrecognized_language_standard_version": "Dotaz na kompilátor vrátil nerozpoznanou standardní verzi jazyka. Místo ní se použije nejnovější podporovaná verze.", "intellisense_process_crash_detected": "Zjistilo se chybové ukončení procesu IntelliSense.", - "return_values_label": "Návratové hodnoty:" + "return_values_label": "Návratové hodnoty:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/deu/package.i18n.json b/Extension/i18n/deu/package.i18n.json index 44193a7728..d9eff80e1c 100644 --- a/Extension/i18n/deu/package.i18n.json +++ b/Extension/i18n/deu/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "vcpkg-Installationsbefehl in Zwischenablage kopieren", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "vcpkg-Hilfeseite aufrufen", "c_cpp.command.generateEditorConfig.title": "EditorConfig-Inhalte aus VC-Formateinstellungen generieren", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "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.", diff --git a/Extension/i18n/deu/src/nativeStrings.i18n.json b/Extension/i18n/deu/src/nativeStrings.i18n.json index 684a5cf314..1865a19949 100644 --- a/Extension/i18n/deu/src/nativeStrings.i18n.json +++ b/Extension/i18n/deu/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "Der Compiler im Pfad \"{0}\" konnte nicht nach standardmäßigen Standardversionen abgefragt werden. Die Compilerabfrage ist für diesen Compiler deaktiviert.", "unrecognized_language_standard_version": "Die Compilerabfrage hat eine unbekannte Sprachstandardversion zurückgegeben. Stattdessen wird die neueste unterstützte Version verwendet.", "intellisense_process_crash_detected": "IntelliSense-Prozessabsturz erkannt.", - "return_values_label": "Rückgabewerte:" + "return_values_label": "Rückgabewerte:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/esn/package.i18n.json b/Extension/i18n/esn/package.i18n.json index 5b6049baca..aa6a4f13ea 100644 --- a/Extension/i18n/esn/package.i18n.json +++ b/Extension/i18n/esn/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "Copiar el comando vcpkg install en el Portapapeles", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "Visitar la página de ayuda de vcpkg", "c_cpp.command.generateEditorConfig.title": "Generar contenido de EditorConfig a partir de la configuración de formato de VC", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "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.", diff --git a/Extension/i18n/esn/src/nativeStrings.i18n.json b/Extension/i18n/esn/src/nativeStrings.i18n.json index aa08d62928..035e3d7172 100644 --- a/Extension/i18n/esn/src/nativeStrings.i18n.json +++ b/Extension/i18n/esn/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "No se pudo consultar el compilador en la ruta de acceso \"{0}\" para las versiones estándar predeterminadas. La consulta del compilador está deshabilitada para este.", "unrecognized_language_standard_version": "La consulta del compilador devolvió una versión estándar del lenguaje no reconocida. En su lugar se usará la última versión admitida.", "intellisense_process_crash_detected": "Se ha detectado un bloqueo del proceso de IntelliSense.", - "return_values_label": "Valores devueltos:" + "return_values_label": "Valores devueltos:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/fra/package.i18n.json b/Extension/i18n/fra/package.i18n.json index abf8da33bd..7ae6187286 100644 --- a/Extension/i18n/fra/package.i18n.json +++ b/Extension/i18n/fra/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "Copier la commande vcpkg install dans le Presse-papiers", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "Visiter la page d'aide de vcpkg", "c_cpp.command.generateEditorConfig.title": "Générer le contenu d'EditorConfig à partir des paramètres de format VC", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "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.", diff --git a/Extension/i18n/fra/src/nativeStrings.i18n.json b/Extension/i18n/fra/src/nativeStrings.i18n.json index b70509c019..3a0720ce07 100644 --- a/Extension/i18n/fra/src/nativeStrings.i18n.json +++ b/Extension/i18n/fra/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "Échec de l'interrogation du compilateur sur le chemin \"{0}\" pour les versions normalisées par défaut. L'interrogation du compilateur est désactivée pour ce compilateur.", "unrecognized_language_standard_version": "L'interrogation du compilateur a retourné une version de norme de langage non reconnue. La toute dernière version prise en charge va être utilisée à la place.", "intellisense_process_crash_detected": "Détection d'un plantage du processus IntelliSense.", - "return_values_label": "Valeurs de retour :" + "return_values_label": "Valeurs de retour :", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/ita/package.i18n.json b/Extension/i18n/ita/package.i18n.json index d677175786..eb4bfdb2a9 100644 --- a/Extension/i18n/ita/package.i18n.json +++ b/Extension/i18n/ita/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "Copia il comando di installazione di vcpkg negli Appunti", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "Visitare la pagina della Guida di vcpkg", "c_cpp.command.generateEditorConfig.title": "Genera il contenuto di EditorConfig dalle impostazioni di Formato VC", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "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++.", diff --git a/Extension/i18n/ita/src/nativeStrings.i18n.json b/Extension/i18n/ita/src/nativeStrings.i18n.json index d25d1ed0af..ce90215333 100644 --- a/Extension/i18n/ita/src/nativeStrings.i18n.json +++ b/Extension/i18n/ita/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "Non è stato possibile eseguire una query sul compilatore nel percorso \"{0}\" per le versioni standard predefinite. L'esecuzione di query del compilatore è disabilitata per questo compilatore.", "unrecognized_language_standard_version": "La query del compilatore ha restituito una versione standard del linguaggio non riconosciuta. In alternativa, verrà usata la versione più recente supportata.", "intellisense_process_crash_detected": "È stato rilevato un arresto anomalo del processo IntelliSense.", - "return_values_label": "Valori restituiti:" + "return_values_label": "Valori restituiti:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/jpn/package.i18n.json b/Extension/i18n/jpn/package.i18n.json index 2e4e2bf5a0..e6ba5df0ed 100644 --- a/Extension/i18n/jpn/package.i18n.json +++ b/Extension/i18n/jpn/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "vcpkg インストール コマンドをクリップボードにコピーする", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "vcpkg のヘルプ ページへのアクセス", "c_cpp.command.generateEditorConfig.title": "VC 形式の設定からの EditorConfig コンテンツの生成", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "c_cpp.configuration.formatting.description": "書式設定エンジンを構成します", "c_cpp.configuration.formatting.clangFormat.description": "clang-format を使用してコードがフォーマットされます。", "c_cpp.configuration.formatting.vcFormat.description": "コードの書式設定に Visual C++ の書式設定エンジンが使用されます。", diff --git a/Extension/i18n/jpn/src/nativeStrings.i18n.json b/Extension/i18n/jpn/src/nativeStrings.i18n.json index 389729d02a..7a0e5d151d 100644 --- a/Extension/i18n/jpn/src/nativeStrings.i18n.json +++ b/Extension/i18n/jpn/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "既定の標準バージョンのパス \"{0}\" でコンパイラをクエリできませんでした。このコンパイラでは、コンパイラのクエリが無効になっています。", "unrecognized_language_standard_version": "コンパイラ クエリにより、認識されない言語標準バージョンが返されました。代わりに、サポートされている最新のバージョンが使用されます。", "intellisense_process_crash_detected": "IntelliSense プロセスのクラッシュが検出されました。", - "return_values_label": "戻り値:" + "return_values_label": "戻り値:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/kor/package.i18n.json b/Extension/i18n/kor/package.i18n.json index cb6d9f5397..a7c0151b67 100644 --- a/Extension/i18n/kor/package.i18n.json +++ b/Extension/i18n/kor/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "vcpkg install 명령을 클립보드에 복사", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "vcpkg 도움말 페이지 방문", "c_cpp.command.generateEditorConfig.title": "VC 형식 설정에서 EditorConfig 콘텐츠 생성", + "c_cpp.command.GoToNextDirectiveInGroup.title": "조건부 그룹의 다음 전처리기 지시문으로 이동", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "조건부 그룹의 이전 전처리기 지시문으로 이동", "c_cpp.configuration.formatting.description": "서식 엔진을 구성합니다.", "c_cpp.configuration.formatting.clangFormat.description": "코드 서식을 지정하는 데 clang-format이 사용됩니다.", "c_cpp.configuration.formatting.vcFormat.description": "코드 서식을 지정하는 데 Visual C++ 서식 엔진이 사용됩니다.", diff --git a/Extension/i18n/kor/src/nativeStrings.i18n.json b/Extension/i18n/kor/src/nativeStrings.i18n.json index 8bba410f32..5541853c2e 100644 --- a/Extension/i18n/kor/src/nativeStrings.i18n.json +++ b/Extension/i18n/kor/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "기본 표준 버전에 대해 경로 \"{0}\"에서 컴파일러를 쿼리하지 못했습니다. 이 컴파일러에 대해서는 컴파일러 쿼리를 사용할 수 없습니다.", "unrecognized_language_standard_version": "컴파일러 쿼리에서 인식할 수 없는 언어 표준 버전을 반환했습니다. 지원되는 최신 버전이 대신 사용됩니다.", "intellisense_process_crash_detected": "IntelliSense 프로세스 크래시가 감지되었습니다.", - "return_values_label": "반환 값:" + "return_values_label": "반환 값:", + "nvcc_compiler_not_found": "nvcc 컴파일러를 찾을 수 없음: {0}", + "nvcc_host_compiler_not_found": "nvcc 호스트 컴파일러를 찾을 수 없음: {0}", + "invoking_nvcc": "명령줄 {0}을(를) 사용하여 nvcc를 호출하는 중", + "nvcc_host_compile_command_not_found": "nvcc의 출력에서 호스트 컴파일 명령을 찾을 수 없습니다.", + "unable_to_locate_forced_include": "강제 포함을 찾을 수 없음: {0}" } \ No newline at end of file diff --git a/Extension/i18n/plk/package.i18n.json b/Extension/i18n/plk/package.i18n.json index 5a4ee07ee9..0f24f74bb8 100644 --- a/Extension/i18n/plk/package.i18n.json +++ b/Extension/i18n/plk/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "Kopiowanie polecenia instalowania menedżera vcpkg do schowka", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "Odwiedź stronę pomocy menedżera vcpkg", "c_cpp.command.generateEditorConfig.title": "Generuj zawartość pliku EditorConfig z ustawień formatu VC", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Przejdź do następnej dyrektywy preprocesora w grupie warunkowej", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Przejdź do poprzedniej dyrektywy preprocesora w grupie warunkowej", "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++.", diff --git a/Extension/i18n/plk/src/nativeStrings.i18n.json b/Extension/i18n/plk/src/nativeStrings.i18n.json index 33dd562b4b..7e4f558ede 100644 --- a/Extension/i18n/plk/src/nativeStrings.i18n.json +++ b/Extension/i18n/plk/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "Nie można wykonać zapytań dotyczących kompilatora w ścieżce „{0}” dla domyślnych wersji standardowych. Wykonywanie zapytań dotyczących kompilatora jest wyłączone dla tego kompilatora.", "unrecognized_language_standard_version": "Zapytanie kompilatora zwróciło nierozpoznaną wersję standardu języka. Zamiast tego zostanie użyta najnowsza obsługiwana wersja.", "intellisense_process_crash_detected": "Wykryto awarię procesu funkcji IntelliSense.", - "return_values_label": "Wartości zwracane:" + "return_values_label": "Wartości zwracane:", + "nvcc_compiler_not_found": "Nie można zlokalizować kompilatora nvcc: {0}", + "nvcc_host_compiler_not_found": "Nie można zlokalizować kompilatora hosta nvcc: {0}", + "invoking_nvcc": "Wywoływanie narzędzia nvcc za pomocą wiersza polecenia: {0}", + "nvcc_host_compile_command_not_found": "Nie można znaleźć polecenia kompilacji hosta w danych wyjściowych narzędzia nvcc.", + "unable_to_locate_forced_include": "Nie można zlokalizować wymuszonego dołączenia: {0}" } \ No newline at end of file diff --git a/Extension/i18n/ptb/package.i18n.json b/Extension/i18n/ptb/package.i18n.json index d5f743f915..3690b49a90 100644 --- a/Extension/i18n/ptb/package.i18n.json +++ b/Extension/i18n/ptb/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "Copiar o comando de instalação vcpkg para a área de transferência", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "Visite a página de ajuda do vcpkg", "c_cpp.command.generateEditorConfig.title": "Gerar o conteúdo do EditorConfig por meio das configurações de Formato do VC", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "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.", diff --git a/Extension/i18n/ptb/src/nativeStrings.i18n.json b/Extension/i18n/ptb/src/nativeStrings.i18n.json index 317fa66afc..a92b2dd763 100644 --- a/Extension/i18n/ptb/src/nativeStrings.i18n.json +++ b/Extension/i18n/ptb/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "Falha ao consultar compilador no caminho \"{0}\" para as versões padrão. A consulta do compilador está desabilitada para este compilador.", "unrecognized_language_standard_version": "A consulta do compilador retornou uma versão do padrão de linguagem não reconhecida. Nesse caso, será usada a última versão com suporte.", "intellisense_process_crash_detected": "Falha detectada no processo do IntelliSense.", - "return_values_label": "Valores retornados:" + "return_values_label": "Valores retornados:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/rus/package.i18n.json b/Extension/i18n/rus/package.i18n.json index 060eba75ab..3e7a2e73c2 100644 --- a/Extension/i18n/rus/package.i18n.json +++ b/Extension/i18n/rus/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "Копировать команду vcpkg install в буфер обмена", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "Посетите страницу справки по vcpkg", "c_cpp.command.generateEditorConfig.title": "Создание содержимого EditorConfig из параметров формата VC", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "c_cpp.configuration.formatting.description": "Настраивает подсистему форматирования.", "c_cpp.configuration.formatting.clangFormat.description": "Для форматирования кода будет использоваться clang-format.", "c_cpp.configuration.formatting.vcFormat.description": "Для форматирования кода будет использоваться подсистема форматирования Visual C++.", diff --git a/Extension/i18n/rus/src/nativeStrings.i18n.json b/Extension/i18n/rus/src/nativeStrings.i18n.json index bc0fbb30a3..0169be5ef2 100644 --- a/Extension/i18n/rus/src/nativeStrings.i18n.json +++ b/Extension/i18n/rus/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "Не удалось запросить компилятор по пути \"{0}\" для стандартных версий по умолчанию. Запросы для этого компилятора отключены.", "unrecognized_language_standard_version": "Проба компилятора возвратила нераспознанную версию стандарта языка. Вместо этого будет использоваться последняя поддерживаемая версия.", "intellisense_process_crash_detected": "Обнаружен сбой процесса IntelliSense.", - "return_values_label": "Возвращаемые значения:" + "return_values_label": "Возвращаемые значения:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/i18n/trk/package.i18n.json b/Extension/i18n/trk/package.i18n.json index 00aef41887..d0a7a8ee3c 100644 --- a/Extension/i18n/trk/package.i18n.json +++ b/Extension/i18n/trk/package.i18n.json @@ -23,6 +23,8 @@ "c_cpp.command.vcpkgClipboardInstallSuggested.title": "vcpkg yükleme komutunu panoya kopyalayın", "c_cpp.command.vcpkgOnlineHelpSuggested.title": "vcpkg yardım sayfasını ziyaret edin", "c_cpp.command.generateEditorConfig.title": "VC Biçimi ayarlarından EditorConfig içerikleri oluştur", + "c_cpp.command.GoToNextDirectiveInGroup.title": "Go to next preprocessor directive in conditional group", + "c_cpp.command.GoToPrevDirectiveInGroup.title": "Go to previous preprocessor directive in conditional group", "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.", diff --git a/Extension/i18n/trk/src/nativeStrings.i18n.json b/Extension/i18n/trk/src/nativeStrings.i18n.json index 42ae2aa927..cbc3447326 100644 --- a/Extension/i18n/trk/src/nativeStrings.i18n.json +++ b/Extension/i18n/trk/src/nativeStrings.i18n.json @@ -207,5 +207,10 @@ "failed_to_query_for_standard_version": "Varsayılan standart sürümler için \"{0}\" yolundaki derleyici sorgulanamadı. Derleyici sorgulaması bu derleyici için devre dışı bırakıldı.", "unrecognized_language_standard_version": "Derleyici sorgusu, tanınmayan bir dil standardı sürümü döndürdü. Bunun yerine desteklenen en güncel sürüm kullanılacak.", "intellisense_process_crash_detected": "IntelliSense işlem kilitlenmesi saptandı.", - "return_values_label": "Dönüş değerleri:" + "return_values_label": "Dönüş değerleri:", + "nvcc_compiler_not_found": "Unable to locate nvcc compiler: {0}", + "nvcc_host_compiler_not_found": "Unable to locate nvcc host compiler: {0}", + "invoking_nvcc": "Invoking nvcc with command line: {0}", + "nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.", + "unable_to_locate_forced_include": "Unable to locate forced include: {0}" } \ No newline at end of file diff --git a/Extension/package.json b/Extension/package.json index be9e703146..e2bc358872 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -1163,6 +1163,33 @@ "default": false, "description": "%c_cpp.configuration.autocompleteAddParentheses.description%", "scope": "resource" + }, + "C_Cpp.files.exclude": { + "type": "object", + "markdownDescription": "%c_cpp.configuration.filesExclude.description%", + "default": { + "**/.vscode": true + }, + "additionalProperties": { + "anyOf": [ + { + "type": "boolean", + "description": "%c_cpp.configuration.filesExcludeBoolean.description%" + }, + { + "type": "object", + "properties": { + "when": { + "type": "string", + "pattern": "\\w*\\$\\(basename\\)\\w*", + "default": "$(basename).ext", + "description": "%c_cpp.configuration.filesExcludeWhen.description%" + } + } + } + ] + }, + "scope": "resource" } } }, diff --git a/Extension/package.nls.json b/Extension/package.nls.json index 4bc9a4fdfb..e65c5588bc 100644 --- a/Extension/package.nls.json +++ b/Extension/package.nls.json @@ -165,6 +165,9 @@ "c_cpp.configuration.addNodeAddonIncludePaths.description": "Add include paths from nan and node-addon-api when they're dependencies.", "c_cpp.configuration.renameRequiresIdentifier.description": "If true, 'Rename Symbol' will require a valid C/C++ identifier.", "c_cpp.configuration.autocompleteAddParentheses.description": "If true, autocomplete will automatically add \"(\" after function calls, in which case \")\" may also be added, depending on the value of the \"editor.autoClosingBrackets\" setting.", + "c_cpp.configuration.filesExclude.description": "Configure glob patterns for excluding folders (and files if \"C_Cpp.exclusionPolicy\" is changed). These are specific to the C/C++ extension and are in addition to \"files.exclude\", but unlike \"files.exclude\" they are not removed from the Explorer view. Read more about glob patterns [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", + "c_cpp.configuration.filesExcludeBoolean.description": "The glob pattern to match file paths against. Set to true or false to enable or disable the pattern.", + "c_cpp.configuration.filesExcludeWhen.description": "Additional check on the siblings of a matching file. Use $(basename) as variable for the matching file name.", "c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "If true, debugger shell command substitution will use obsolete backtick (`).", "c_cpp.contributes.views.cppReferencesView.title": "C/C++: Other references results", "c_cpp.debuggers.pipeTransport.description": "When present, this tells the debugger to connect to a remote computer using another executable as a pipe that will relay standard input/output between VS Code and the MI-enabled debugger backend executable (such as gdb).", diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index 7af603f738..338f6f3a63 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -922,6 +922,7 @@ export class DefaultClient implements Client { const settings_clangFormatFallbackStyle: (string | undefined)[] = []; const settings_clangFormatSortIncludes: (string | undefined)[] = []; const settings_filesEncoding: (string | undefined)[] = []; + const settings_cppFilesExclude: (vscode.WorkspaceConfiguration | undefined)[] = []; const settings_filesExclude: (vscode.WorkspaceConfiguration | undefined)[] = []; const settings_searchExclude: (vscode.WorkspaceConfiguration | undefined)[] = []; const settings_editorAutoClosingBrackets: (string | undefined)[] = []; @@ -1093,6 +1094,7 @@ export class DefaultClient implements Client { settings_intelliSenseMemoryLimit.push(setting.intelliSenseMemoryLimit); settings_autocomplete.push(setting.autocomplete); settings_autocompleteAddParentheses.push(setting.autocompleteAddParentheses); + settings_cppFilesExclude.push(setting.filesExclude); } for (const otherSetting of otherSettings) { @@ -1212,6 +1214,7 @@ export class DefaultClient implements Client { autoClosingBrackets: settings_editorAutoClosingBrackets }, workspace_fallback_encoding: workspaceOtherSettings.filesEncoding, + cpp_exclude_files: settings_cppFilesExclude, exclude_files: settings_filesExclude, exclude_search: settings_searchExclude, associations: workspaceOtherSettings.filesAssociations, @@ -1301,6 +1304,9 @@ export class DefaultClient implements Client { const settings: any = { C_Cpp: { ...cppSettingsScoped, + files: { + exclude: vscode.workspace.getConfiguration("C_Cpp.files.exclude", this.RootUri) + }, vcFormat: { ...vscode.workspace.getConfiguration("C_Cpp.vcFormat", this.RootUri), indent: vscode.workspace.getConfiguration("C_Cpp.vcFormat.indent", this.RootUri), @@ -2395,11 +2401,11 @@ export class DefaultClient implements Client { } private isSourceFileConfigurationItem(input: any, providerVersion: Version): input is SourceFileConfigurationItem { - // IntelliSenseMode and standard are optional for version 5+. However, they are required when compilerPath is not defined. + // IntelliSenseMode and standard are optional for version 5+. let areOptionalsValid: boolean = false; - if (providerVersion < Version.v5 || input.configuration.compilerPath === undefined) { + if (providerVersion < Version.v5) { areOptionalsValid = util.isString(input.configuration.intelliSenseMode) && util.isString(input.configuration.standard); - } else if (util.isString(input.configuration.compilerPath)) { + } else { areOptionalsValid = util.isOptionalString(input.configuration.intelliSenseMode) && util.isOptionalString(input.configuration.standard); } return (input && (util.isString(input.uri) || util.isUri(input.uri)) && @@ -2468,12 +2474,11 @@ export class DefaultClient implements Client { private configurationLogging: Map = new Map(); private isWorkspaceBrowseConfiguration(input: any): boolean { - const areOptionalsValid: boolean = (input.compilerPath === undefined && util.isString(input.standard)) || - (util.isString(input.compilerPath) && util.isOptionalString(input.standard)); - return areOptionalsValid && - util.isArrayOfString(input.browsePath) && - util.isOptionalString(input.compilerArgs) && - util.isOptionalString(input.windowsSdkVersion); + return util.isArrayOfString(input.browsePath) && + util.isOptionalString(input.compilerPath) && + util.isOptionalString(input.standard) && + util.isOptionalString(input.compilerArgs) && + util.isOptionalString(input.windowsSdkVersion); } private sendCustomBrowseConfiguration(config: any, providerId?: string, timeoutOccured?: boolean): void { diff --git a/Extension/src/LanguageServer/configurations.ts b/Extension/src/LanguageServer/configurations.ts index 7a97484143..d94423266f 100644 --- a/Extension/src/LanguageServer/configurations.ts +++ b/Extension/src/LanguageServer/configurations.ts @@ -1161,10 +1161,26 @@ export class CppProperties { } this.configurationJson.configurations.forEach(e => { - if ((e).knownCompilers) { + if ((e).knownCompilers !== undefined) { delete (e).knownCompilers; dirty = true; } + if ((e).compilerPathIsExplicit !== undefined) { + delete (e).compilerPathIsExplicit; + dirty = true; + } + if ((e).cStandardIsExplicit !== undefined) { + delete (e).cStandardIsExplicit; + dirty = true; + } + if ((e).cppStandardIsExplicit !== undefined) { + delete (e).cppStandardIsExplicit; + dirty = true; + } + if ((e).intelliSenseModeIsExplicit !== undefined) { + delete (e).intelliSenseModeIsExplicit; + dirty = true; + } }); if (dirty) { diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index 03f115b9aa..52a597f055 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -915,12 +915,14 @@ function onGenerateEditorConfig(): void { function onGoToNextDirectiveInGroup(): void { onActivationEvent(); - selectClient().then(client => client.handleGoToDirectiveInGroup(true)); + const client: Client = getActiveClient(); + client.handleGoToDirectiveInGroup(true); } function onGoToPrevDirectiveInGroup(): void { onActivationEvent(); - selectClient().then(client => client.handleGoToDirectiveInGroup(false)); + const client: Client = getActiveClient(); + client.handleGoToDirectiveInGroup(false); } function onAddToIncludePath(path: string): void { diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index c3c3f75547..e3fd42451f 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -144,6 +144,7 @@ export class CppSettings extends Settings { public get vcpkgEnabled(): boolean | undefined { return super.Section.get("vcpkg.enabled"); } public get addNodeAddonIncludePaths(): boolean | undefined { return super.Section.get("addNodeAddonIncludePaths"); } public get renameRequiresIdentifier(): boolean | undefined { return super.Section.get("renameRequiresIdentifier"); } + public get filesExclude(): vscode.WorkspaceConfiguration | undefined { return super.Section.get("files.exclude"); } public get defaultIncludePath(): string[] | undefined { return super.Section.get("default.includePath"); } public get defaultDefines(): string[] | undefined { return super.Section.get("default.defines"); } public get defaultMacFrameworkPath(): string[] | undefined { return super.Section.get("default.macFrameworkPath"); } diff --git a/Extension/src/githubAPI.ts b/Extension/src/githubAPI.ts index 4811c7ad9c..0ae6cd1a9a 100644 --- a/Extension/src/githubAPI.ts +++ b/Extension/src/githubAPI.ts @@ -121,7 +121,12 @@ export function vsixNameForPlatform(info: PlatformInformation): string { case 'arm64': return 'cpptools-win-arm64.vsix'; default: throw new Error(`Unexpected Windows architecture: ${platformInfo.architecture}`); } - case 'darwin': return 'cpptools-osx.vsix'; + case 'darwin': + switch (platformInfo.architecture) { + case 'x64': return 'cpptools-osx.vsix'; + case 'arm64': return 'cpptools-osx-arm64.vsix'; + default: throw new Error(`Unexpected macOS architecture: ${platformInfo.architecture}`); + } default: { switch (platformInfo.architecture) { case 'x64': return 'cpptools-linux.vsix'; diff --git a/Extension/src/packageManager.ts b/Extension/src/packageManager.ts index 6d1de552c7..5657e29377 100644 --- a/Extension/src/packageManager.ts +++ b/Extension/src/packageManager.ts @@ -33,7 +33,7 @@ export function isValidPackage(buffer: Buffer, integrity: string): boolean { return (value === integrity.toUpperCase()); } // No integrity has been specified - return true; + return false; } export interface IPackage { diff --git a/README.md b/README.md index f9857805a4..7e14d5059b 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,8 @@ The extension has platform-specific binary dependencies, therefore installation `cpptools-linux.vsix` | Linux 64-bit `cpptools-linux-armhf.vsix` | Linux ARM 32-bit `cpptools-linux-aarch64.vsix` | Linux ARM 64-bit -`cpptools-osx.vsix` | macOS +`cpptools-osx.vsix` | macOS 64-bit +`cpptools-osx-arm64.vsix` | macOS ARM64 `cpptools-win32.vsix` | Windows 64-bit & 32-bit `cpptools-win-arm64.vsix` | Windows ARM64 `cpptools-linux32.vsix` | Linux 32-bit ([available up to version 0.27.0](https://github.com/microsoft/vscode-cpptools/issues/5346))