我正在使用VSCode远程SSH在Linux机器上进行远程开发。我已经通过VSCode在远程计算机上安装了C/C++扩展。大多数代码的语法都是正确的,但我注意到了一些问题。
C结构一点也不着色。
有趣的是,当我ctrl+click去结构的时候,颜色是工作的。
这件事真让我心烦。为什么这些结构不像我在窗口机器上进行本地开发时那样着色呢?
这是我的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
}
发布于 2019-12-05 21:59:25
不幸的是,根据对以下问题的讨论,目前远程开发似乎不支持增强着色:https://github.com/microsoft/vscode-cpptools/issues/4569
增强的彩色化目前无法通过远程处理工作,因为我们无法访问当前主题的文件来查找颜色。
这意味着基于语法的常规语法突出显示将起作用,就像在typedef struct mystruct
中,所有令牌的功能只能根据周围的上下文来确定,而需要智能感知提供更多知识的高级突出显示则不能。
注意,intellisense总体上与远程开发和ctrl+click一起工作,它将显示相应的定义,该定义基于语法正确着色。
发布于 2020-11-20 21:49:10
这是修正的,因为cpptools版本为0.29.0
您可以在changelog中看到它:https://github.com/microsoft/vscode-cpptools/releases/tag/0.29.0
上面写着:
切换到使用VS代码语义标记API进行语义着色(适用于远程处理)。PR #5401,#3932,#3933,#3942
更新您的扩展程序,它现在应该可以正常工作了。
https://stackoverflow.com/questions/58487405
复制相似问题