diff --git a/Extension/.vscode/launch.json b/Extension/.vscode/launch.json index a0ec326742..e52864f10d 100644 --- a/Extension/.vscode/launch.json +++ b/Extension/.vscode/launch.json @@ -98,7 +98,7 @@ "request": "launch", "runtimeExecutable": "${execPath}", "args": [ - "${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject", + "${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index" ], diff --git a/Extension/CHANGELOG.md b/Extension/CHANGELOG.md index e78471fc1b..16fcc320bd 100644 --- a/Extension/CHANGELOG.md +++ b/Extension/CHANGELOG.md @@ -1,5 +1,10 @@ # C/C++ for Visual Studio Code Change Log +## Version 1.2.2-insiders2: February 18, 2021 +### Bug Fixes +* Fix an extension activation failure when a non-existent folder exists in the workspace. [#6981](https://github.com/microsoft/vscode-cpptools/issues/6981) +* Fix a regression with handling of -isysroot/--sysroot compiler arguments. [#6992](https://github.com/microsoft/vscode-cpptools/issues/6992) + ## Version 1.2.2-insiders: February 17, 2021 ### Bug Fixes * Fix for random IntelliSense communication failures on Mac. Potentially fixes: [#6809](https://github.com/microsoft/vscode-cpptools/issues/6809), [#6958](https://github.com/microsoft/vscode-cpptools/issues/6958) diff --git a/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json index 401d256165..e792879d11 100644 --- a/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json @@ -14,7 +14,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Intellisense 引擎在 Mac 框架中搜索包含的标头时要使用的路径的列表。仅在 Mac 配置中受支持。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "要在 Windows 上使用的 Windows SDK 包含路径的版本,例如 \"10.0.17134.0\"。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "分析文件时 IntelliSense 引擎要使用的预处理器定义的列表。(可选)使用 = 设置值,例如 VERSION=1。", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.intelliSenseMode": "The IntelliSense mode to use that maps to a platform and architecture variant of MSVC, gcc, or Clang. If not set or if set to ${default}, the extension will choose the default for that platform. Windows defaults to windows-msvc-x64, Linux defaults to linux-gcc-x64, and macOS defaults to macos-clang-x64. IntelliSense modes that only specify - variants (e.g. gcc-x64) are legacy modes and are converted automatically to the -- variants based on the host platform.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.intelliSenseMode": "要使用的 IntelliSense 模式,该模式映射到 MSVC、gcc 或 Clang 的平台和体系结构变体。如果未设置或设置为 ${default},则扩展将选择该平台的默认值。Windows 默认为 windows-msvc-x64,Linux 默认为 linux-gcc-x64,macOS 默认为 macos-clang-x64。仅指定 - 变体(例如 gcc-x64)的 IntelliSense 模式是旧模式,它们会根据主机平台自动转换为 -- 变体。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.forcedInclude": "应在翻译单元中包括在任何包含文件之前的文件的列表。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "可为源文件提供 IntelliSense 配置信息的 VS Code 扩展的 ID。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "如果为 true,则仅处理以标头形式直接或间接包含的文件;如果为 false,则处理指定的包含路径下的所有文件。", diff --git a/Extension/i18n/chs/package.i18n.json b/Extension/i18n/chs/package.i18n.json index f3122eb304..4c4fac7c73 100644 --- a/Extension/i18n/chs/package.i18n.json +++ b/Extension/i18n/chs/package.i18n.json @@ -114,8 +114,8 @@ "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-format 可执行文件的完整路径。如果未指定,并且 Clang 格式在环境路径中可用,则使用 Clang 格式。如果在环境路径中找不到 Clang 格式,则将使用与该扩展绑定的 clang-format 的副本。", - "c_cpp.configuration.clang_format_style.description": "Coding style, currently supports: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Use \"file\" to load the style from a .clang-format file in the current or parent directory. Use {key: value, ...} to set specific parameters. For example, the \"Visual Studio\" style is similar to: { 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 of the predefined style used as a fallback in case clang-format is invoked with style \"file\" but the .clang-format file is not found. Possible values are Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none, or use {key: value, ...} to set specific parameters. For example, the \"Visual Studio\" style is similar to: { 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": "编码样式,当前支持: 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_sortIncludes.description": "如果已设置,则重写由 SortIncludes 参数确定的包含排序行为。", "c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供程序。“标记分析器”提供非上下文感知的“模糊”结果。“默认”提供上下文感知结果。“已禁用”将关闭 C/C++ 语言服务功能。", "c_cpp.configuration.intelliSenseEngineFallback.description": "控制 IntelliSense 引擎是否自动切换到包含 #include 错误的翻译单元的标记分析器。", diff --git a/Extension/i18n/chs/ui/settings.html.i18n.json b/Extension/i18n/chs/ui/settings.html.i18n.json index 5b12962201..74728e0e20 100644 --- a/Extension/i18n/chs/ui/settings.html.i18n.json +++ b/Extension/i18n/chs/ui/settings.html.i18n.json @@ -30,7 +30,7 @@ "compiler.arguments": "用于修改所使用的包含或定义的编译器参数,例如 {0}、{1} 等。", "one.argument.per.line": "每行一个参数。", "intellisense.mode": "IntelliSense 模式", - "intellisense.mode.description": "The IntelliSense mode to use that maps to a platform and architecture variant of MSVC, gcc, or Clang. If not set or if set to {0}, the extension will choose the default for that platform. Windows defaults to {1}, Linux defaults to {2}, and macOS defaults to {3}. Select a specific IntelliSense mode to override the {4} mode. IntelliSense modes that only specify {5} variants (e.g. {6}) are legacy modes and are converted automatically to the {7} variants based on the host platform.", + "intellisense.mode.description": "要使用的 IntelliSense 模式,该模式映射到 MSVC、gcc 或 Clang 的平台和体系结构变体。如果未设置或设置为 {0},则扩展将选择该平台的默认值。Windows 默认为 {1},Linux 默认为 {2},macOS 默认为 {3}。选择特定 IntelliSense 模式以替代 {4} 模式。仅指定 {5} 变体(例如 {6})的 IntelliSense 模式是旧模式,它们会根据主机平台自动转换为 {7} 变体。", "include.path": "包含路径", "include.path.description": "include 路径是包括源文件中随附的头文件(如 {0})的文件夹。指定 IntelliSense 引擎在搜索包含的头文件时要使用的列表路径。对这些路径进行的搜索不是递归搜索。指定 {1} 可指示递归搜索。例如,{2} 将搜索所有子目录,而 {3} 则不会。如果在安装了 Visual Studio 的 Windows 上,或者在 {4} 设置中指定了编译器,则无需在此列表中列出系统 include 路径。", "one.include.path.per.line": "每行一个包含路径。", 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 3eb4796f24..e2cd701306 100644 --- a/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json @@ -14,7 +14,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "供 Intellisense 引擎在 Mac 架構中搜尋包含的標頭時使用的路徑清單。僅支援用於 Mac 組態。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "要在 Windows 上使用的 Windows SDK 包含路徑版本,例如 '10.0.17134.0'。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "剖析檔案時,IntelliSense 引擎要使用的前置處理器定義清單。您可使用 = 來設定值,例如 VERSION=1。", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.intelliSenseMode": "The IntelliSense mode to use that maps to a platform and architecture variant of MSVC, gcc, or Clang. If not set or if set to ${default}, the extension will choose the default for that platform. Windows defaults to windows-msvc-x64, Linux defaults to linux-gcc-x64, and macOS defaults to macos-clang-x64. IntelliSense modes that only specify - variants (e.g. gcc-x64) are legacy modes and are converted automatically to the -- variants based on the host platform.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.intelliSenseMode": "要使用的 IntelliSense 模式 (對應到 MSVC、gcc 或 Clang 的平台及架構變體)。如果未設定或設為 ${default},延伸模組會選擇該平台的預設。Windows 預設為 windows-msvc-x64、Linux 預設為 linux-gcc-x64、macOS 預設為 macos-clang-x64。僅指定 - 變體 (例如 gcc-x64) 的 IntelliSense 模式即為舊版模式,會依據主機平台自動轉換為 -- 變體。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.forcedInclude": "應包含在編譯單位中任何 include 檔案之前的檔案清單。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "提供原始程式檔 IntelliSense 組態資訊的 VS Code 延伸模組識別碼。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "設為 true,就會只處理直接或間接以標頭形式包含的檔案; 設為 false,則會處理位於指定 include 路徑下的所有檔案。", diff --git a/Extension/i18n/cht/package.i18n.json b/Extension/i18n/cht/package.i18n.json index 25948552ad..4d09fce009 100644 --- a/Extension/i18n/cht/package.i18n.json +++ b/Extension/i18n/cht/package.i18n.json @@ -114,8 +114,8 @@ "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-format 可執行檔的完整路徑。如果未指定,且在環境路徑中可用 clang-format,即會使用該格式。如果在環境路徑中找不到,則會使用延伸模組所配備的 clang-format 複本。", - "c_cpp.configuration.clang_format_style.description": "Coding style, currently supports: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Use \"file\" to load the style from a .clang-format file in the current or parent directory. Use {key: value, ...} to set specific parameters. For example, the \"Visual Studio\" style is similar to: { 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 of the predefined style used as a fallback in case clang-format is invoked with style \"file\" but the .clang-format file is not found. Possible values are Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none, or use {key: value, ...} to set specific parameters. For example, the \"Visual Studio\" style is similar to: { 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": "編碼樣式,目前支援: 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_sortIncludes.description": "若設定,會覆寫 SortIncludes 參數所決定的包含排序行為。", "c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供者。「標籤剖析器」會提供非內容感知的「模糊」結果。「預設」會提供內容感知的結果。「停用」會關閉 C/C++ 語言服務功能。", "c_cpp.configuration.intelliSenseEngineFallback.description": "控制 IntelliSense 引擎是否會自動切換到包含 #include 錯誤之編譯單位的標籤剖析器。", diff --git a/Extension/i18n/cht/ui/settings.html.i18n.json b/Extension/i18n/cht/ui/settings.html.i18n.json index f4a0f11453..70fdec968f 100644 --- a/Extension/i18n/cht/ui/settings.html.i18n.json +++ b/Extension/i18n/cht/ui/settings.html.i18n.json @@ -30,7 +30,7 @@ "compiler.arguments": "用來修改所使用之包含或定義的編譯器引數,例如 {0}、{1} 等。", "one.argument.per.line": "每行一個引數。", "intellisense.mode": "IntelliSense 模式", - "intellisense.mode.description": "The IntelliSense mode to use that maps to a platform and architecture variant of MSVC, gcc, or Clang. If not set or if set to {0}, the extension will choose the default for that platform. Windows defaults to {1}, Linux defaults to {2}, and macOS defaults to {3}. Select a specific IntelliSense mode to override the {4} mode. IntelliSense modes that only specify {5} variants (e.g. {6}) are legacy modes and are converted automatically to the {7} variants based on the host platform.", + "intellisense.mode.description": "要使用的 IntelliSense 模式 (對應到 MSVC、gcc 或 Clang 的平台及架構變體)。如果未設定或設為 {0},延伸模組會選擇該平台的預設。Windows 預設為 {1}、Linux 預設為 {2}、macOS 預設為 {3}。選取特定的 IntelliSense 模式可覆寫 {4} 模式。僅指定 {5} 變體 (例如 {6}) 的 IntelliSense 模式即為舊版模式,會依據主機平台自動轉換為 {7} 變體。", "include.path": "包含路徑", "include.path.description": "include 路徑是包含來源檔案所含之標頭檔 (例如 {0}) 的資料夾。請為 Intellisense 引擎指定搜尋所含標頭檔時所要使用的路徑清單。這些路徑不會重複搜尋。若要重複搜尋,請指定 {1}。例如 {2} 會搜尋所有子目錄,而 {3} 不會。若在安裝了 Visual Studio 的 Windows 上,或在 {4} 設定中指定了編譯器,就無須在此清單中列出系統的 include 路徑。", "one.include.path.per.line": "每行一個包含路徑。", 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 621793735c..4974b47efc 100644 --- a/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json @@ -14,7 +14,7 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Mac 프레임워크에서 포함된 헤더를 검색하는 동안 사용할 IntelliSense 엔진의 경로 목록입니다. Mac 구성에서만 지원됩니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Windows에서 사용할 Windows SDK 포함 경로의 버전입니다(예: '10.0.17134.0').", "c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "파일을 구문 분석하는 동안 사용할 IntelliSense 엔진의 전처리기 정의 목록입니다. 선택적으로 =을 사용하여 값을 설정합니다(예: VERSION= 1).", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.intelliSenseMode": "The IntelliSense mode to use that maps to a platform and architecture variant of MSVC, gcc, or Clang. If not set or if set to ${default}, the extension will choose the default for that platform. Windows defaults to windows-msvc-x64, Linux defaults to linux-gcc-x64, and macOS defaults to macos-clang-x64. IntelliSense modes that only specify - variants (e.g. gcc-x64) are legacy modes and are converted automatically to the -- variants based on the host platform.", + "c_cpp_properties.schema.json.definitions.configurations.items.properties.intelliSenseMode": "MSVC, gcc 또는 Clang의 플랫폼 및 아키텍처 변형에 매핑되는 사용할 IntelliSense 모드입니다. 설정되지 않거나 ${default}로 설정된 경우 확장에서 해당 플랫폼의 기본값을 선택합니다. Windows의 경우 기본값인 windows-msvc-x64로 설정되고, Linux의 경우 기본값인 linux-gcc-x64로 설정되며, macOS의 경우 기본값인 macos-clang-x64로 설정됩니다. - 변형(예: gcc-x64)만 지정하는 IntelliSense 모드는 레거시 모드이며 호스트 플랫폼에 따라 -- 변형으로 자동으로 변환됩니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.forcedInclude": "변환 단위에서 포함 파일 앞에 포함해야 하는 파일의 목록입니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "소스 파일에 IntelliSense 구성 정보를 제공할 수 있는 VS Code 확장의 ID입니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "true인 경우 직접적으로 또는 간접적으로 헤더로 포함된 파일만 처리되고, false인 경우 지정된 포함 경로 아래의 모든 파일이 처리됩니다.", diff --git a/Extension/i18n/kor/package.i18n.json b/Extension/i18n/kor/package.i18n.json index cb626ef45b..5b98492564 100644 --- a/Extension/i18n/kor/package.i18n.json +++ b/Extension/i18n/kor/package.i18n.json @@ -114,8 +114,8 @@ "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-format 실행 파일의 전체 경로입니다. 지정하지 않은 경우 clang-format을 환경 경로에서 사용할 수 있으면 해당 실행 파일이 사용됩니다. 환경 경로에 clang-format이 없는 경우에는 확장과 함께 제공된 clang-format의 복사본이 사용됩니다.", - "c_cpp.configuration.clang_format_style.description": "Coding style, currently supports: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Use \"file\" to load the style from a .clang-format file in the current or parent directory. Use {key: value, ...} to set specific parameters. For example, the \"Visual Studio\" style is similar to: { 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 of the predefined style used as a fallback in case clang-format is invoked with style \"file\" but the .clang-format file is not found. Possible values are Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none, or use {key: value, ...} to set specific parameters. For example, the \"Visual Studio\" style is similar to: { 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": "코딩 스타일은 현재 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": "clang-format이 \"file\" 스타일을 사용하여 호출되지만 .clang-format 파일을 찾을 수 없는 경우 대체로 사용되는 미리 정의된 스타일의 이름입니다. 가능한 값은 Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, 없음이거나 {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 공급자를 제어합니다. \"태그 파서\"는 컨텍스트가 인식되지 않는 \"유사\" 결과를 제공합니다. \"Default\"는 컨텍스트가 인식된 결과를 제공합니다. \"Disabled\"는 C/C++ 언어 서비스 기능을 끕니다.", "c_cpp.configuration.intelliSenseEngineFallback.description": "IntelliSense 엔진이 #include 오류를 포함하는 변환 단위에 대해 태그 파서로 자동으로 전환되는지 여부를 제어합니다.", diff --git a/Extension/i18n/kor/ui/settings.html.i18n.json b/Extension/i18n/kor/ui/settings.html.i18n.json index d171cf91bb..3c9dd7d1f5 100644 --- a/Extension/i18n/kor/ui/settings.html.i18n.json +++ b/Extension/i18n/kor/ui/settings.html.i18n.json @@ -30,7 +30,7 @@ "compiler.arguments": "사용된 포함 또는 정의를 수정하는 컴파일러 인수입니다(예: {0}, {1} 등).", "one.argument.per.line": "줄당 하나의 인수입니다.", "intellisense.mode": "IntelliSense 모드", - "intellisense.mode.description": "The IntelliSense mode to use that maps to a platform and architecture variant of MSVC, gcc, or Clang. If not set or if set to {0}, the extension will choose the default for that platform. Windows defaults to {1}, Linux defaults to {2}, and macOS defaults to {3}. Select a specific IntelliSense mode to override the {4} mode. IntelliSense modes that only specify {5} variants (e.g. {6}) are legacy modes and are converted automatically to the {7} variants based on the host platform.", + "intellisense.mode.description": "MSVC, gcc 또는 Clang의 플랫폼 및 아키텍처 변형에 매핑되는 사용할 IntelliSense 모드입니다. 설정되지 않거나 {0}(으)로 설정된 경우 확장에서 해당 플랫폼의 기본값을 선택합니다. Windows의 경우 기본값인 {1}(으)로 설정되고, Linux의 경우 기본값인 {2}(으)로 설정되며, macOS의 경우 기본값인 {3}(으)로 설정됩니다. {4} 모드를 재정의하려면 특정 IntelliSense 모드를 선택합니다. {5} 변형(예: {6})만 지정하는 IntelliSense 모드는 레거시 모드이며 호스트 플랫폼에 따라 {7} 변형으로 자동으로 변환됩니다.", "include.path": "경로 포함", "include.path.description": "포함 경로는 소스 파일에 포함된 헤더 파일(예: {0})을 포함하는 폴더입니다. 포함된 헤더 파일을 검색하는 동안 사용할 IntelliSense 엔진의 경로 목록을 지정합니다. 이러한 경로 검색은 비재귀적입니다. 재귀적 검색을 나타내려면 {1}을(를) 지정합니다. 예를 들어 {2}은(는) 모든 하위 디렉터리를 검색하지만 {3}은(는) 그러지 않습니다. Visual Studio가 설치된 Windows를 사용하거나 {4} 설정에 컴파일러가 지정된 경우 이 목록에 시스템 포함 경로를 나열할 필요가 없습니다.", "one.include.path.per.line": "줄당 하나의 포함 경로입니다.", diff --git a/Extension/package.json b/Extension/package.json index 7317ee2d60..8a58bfc80e 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.2.1-main", + "version": "1.2.2-main", "publisher": "ms-vscode", "icon": "LanguageCCPP_color_128x.png", "readme": "README.md", diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index 6f7826b445..0ee7e158f2 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -705,7 +705,7 @@ export class DefaultClient implements Client { constructor(allClients: ClientCollection, workspaceFolder?: vscode.WorkspaceFolder) { this.rootFolder = workspaceFolder; - this.rootRealPath = this.RootPath ? fs.realpathSync(this.RootPath) : ""; + this.rootRealPath = this.RootPath ? (fs.existsSync(this.RootPath) ? fs.realpathSync(this.RootPath) : this.RootPath) : ""; let storagePath: string | undefined; if (util.extensionContext) { const path: string | undefined = util.extensionContext.storageUri?.fsPath; diff --git a/Extension/test/integrationTests/languageServer/runTest.ts b/Extension/test/integrationTests/languageServer/runTest.ts index bddcd5c1e8..a1f32c5da3 100644 --- a/Extension/test/integrationTests/languageServer/runTest.ts +++ b/Extension/test/integrationTests/languageServer/runTest.ts @@ -12,7 +12,7 @@ async function main() { // Passed to --extensionTestsPath const extensionTestsPath = path.resolve(__dirname, './index'); - const testWorkspace = path.resolve(extensionDevelopmentPath, 'test/integrationTests/testAssets/SimpleCppProject'); + const testWorkspace = path.resolve(extensionDevelopmentPath, 'test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace'); const launchArgs = [ "--disable-extensions", testWorkspace ]; diff --git a/Extension/test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace b/Extension/test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace new file mode 100644 index 0000000000..be78eb6c3a --- /dev/null +++ b/Extension/test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace @@ -0,0 +1,10 @@ +{ + "folders": [ + { + "path": "." + }, + { + "path": "../nonExistent" + } + ] +} \ No newline at end of file