VS Code中带有C/C++和TypeLens扩展的灰色代码

c8ib6hqw  于 6个月前  发布在  C/C++
关注(0)|答案(2)|浏览(116)

我正在尝试使用VS Code和Microsoft的C/C扩展解决以下问题。
上面提到的扩展在源代码中的每个函数/对象定义上添加了一个引用计数。到目前为止,这是一个有用的特性,但对我来说,它并没有像我想的那样工作。
在我的例子中,我开始实现一个线程安全的链表来练习(请忽略代码,这不是这个主题的内容)。虽然我导入了头文件,并在main函数中的main. cpp文件中示例化了该类的对象,但整个类都是灰色的。此外,整个main函数都是灰色的,因为没有找到对main函数的引用。这对我来说毫无意义,我为什么要在我的代码中引用main函数呢?它是程序的入口点,不应该在我的项目源代码中引用。
当我禁用C/C
扩展时,引用计数消失了,源代码再次突出显示。但我真的很想保留引用计数,只删除灰色代码(或使其正常工作,以便我在代码中引用的主函数和定义不会变灰)。
另外,通过禁用扩展,代码自动完成功能也消失了。所以这不是一个好的交易。我花了几个小时的阅读配置和搜索网络的解决方案,但我找不到任何有用的东西。唯一稍微与我发现的代码变灰有关的是在C/C++扩展的设置中找到的选项“Dim inactive regions”。但它没有解决我的问题。
提前感谢您的阅读/试图帮助!
灰色代码和引用计数示例:
x1c 0d1x的数据
由于0个对main的引用,因此main函数灰显:



暗淡非活动代码选项:



更新:所以结果是,引用计数器不仅在我禁用C/C扩展时消失,而且在我禁用TypeLens扩展时也消失了。这并没有解决我的问题,但至少我可以通过禁用TypeLens来摆脱灰色代码,并且仍然使用C扩展提供的自动完成功能。

w1e3prcc

w1e3prcc1#

正如我在更新的问题中提到的,这个问题与C/C扩展无关。实际上是TypeLens扩展导致了这里的问题。
我发现的最好的解决方案是将TypeLens配置为不灰显未引用的代码。这样我可以保留C/C
扩展的引用计数器和代码完成功能,但防止源代码被TypeLens灰显。
要实现这一点,您必须将Typelens:Unusedcolor值从#999设置为nothing(只需删除该值)。

8nuwlpux

8nuwlpux2#

可能你应该声明你的main函数

int main(void)

字符串

int main(int argc, char * argv [])

相关问题