VSCode C/C++ 远程开发 - 语法高亮颜色不起作用
VSCode C/C++ Remote Development - Syntax Highlighting Colors Not Working
我正在 Linux 机器上使用 VSCode Remote-SSH 进行远程开发。我已经通过 VSCode 在远程机器上安装了 C/C++ 扩展。大多数代码确实正确地突出显示了语法,但我注意到了一些问题。
C 结构根本没有颜色。
有趣的是当我 ctrl+click 转到结构时,颜色起作用了。
这真的很困扰我。为什么这些结构没有像我在 windows 机器上进行本地开发时那样着色?
这是我的 c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}",
"${workspaceFolder}/../../dwcore/dwcore",
"${workspaceFolder}/../../dwcore/ilsutil",
"${workspaceFolder}/../../dwcore/ilslog"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64",
"compilerArgs": [],
"browse": {
"path": [
"${workspaceFolder}/**",
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true
}
}
],
"version": 4
}
不幸的是,根据对以下问题的讨论,目前远程开发似乎不支持增强着色:https://github.com/microsoft/vscode-cpptools/issues/4569
Enhanced colorization does not currently work via remoting, as we don't have access to the current Theme's files to look up colors.
这意味着通常基于语法的语法高亮会起作用,如在 typedef struct mystruct
中,所有标记的功能只能根据周围的上下文来确定,但高级高亮需要更多的知识,需要不会被intellisense提供。
请注意,intellisense 整体与远程开发一起工作,ctrl+click 会显示相应的定义,根据语法正确着色。
自 cpptools 版本 0.29.0 以来已修复此问题
您可以在此处的变更日志中看到它:
https://github.com/microsoft/vscode-cpptools/releases/tag/0.29.0
上面写着:
Switch to using the VS Code Semantic Tokens API for semantic colorization (works with remoting). PR #5401, #3932, #3933, #3942
更新您的扩展程序,它现在应该可以正常工作了
我正在 Linux 机器上使用 VSCode Remote-SSH 进行远程开发。我已经通过 VSCode 在远程机器上安装了 C/C++ 扩展。大多数代码确实正确地突出显示了语法,但我注意到了一些问题。
C 结构根本没有颜色。
有趣的是当我 ctrl+click 转到结构时,颜色起作用了。
这真的很困扰我。为什么这些结构没有像我在 windows 机器上进行本地开发时那样着色?
这是我的 c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}",
"${workspaceFolder}/../../dwcore/dwcore",
"${workspaceFolder}/../../dwcore/ilsutil",
"${workspaceFolder}/../../dwcore/ilslog"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64",
"compilerArgs": [],
"browse": {
"path": [
"${workspaceFolder}/**",
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true
}
}
],
"version": 4
}
不幸的是,根据对以下问题的讨论,目前远程开发似乎不支持增强着色:https://github.com/microsoft/vscode-cpptools/issues/4569
Enhanced colorization does not currently work via remoting, as we don't have access to the current Theme's files to look up colors.
这意味着通常基于语法的语法高亮会起作用,如在 typedef struct mystruct
中,所有标记的功能只能根据周围的上下文来确定,但高级高亮需要更多的知识,需要不会被intellisense提供。
请注意,intellisense 整体与远程开发一起工作,ctrl+click 会显示相应的定义,根据语法正确着色。
自 cpptools 版本 0.29.0 以来已修复此问题
您可以在此处的变更日志中看到它: https://github.com/microsoft/vscode-cpptools/releases/tag/0.29.0
上面写着:
Switch to using the VS Code Semantic Tokens API for semantic colorization (works with remoting). PR #5401, #3932, #3933, #3942
更新您的扩展程序,它现在应该可以正常工作了