Visual Studio 2010中的C ++ / CLI没有IntelliSense?

我刚刚从Visual Studio 2008迁移到Visual Studio 2010 (最终),并注意到一个主要缺陷:

当我尝试在托pipeC ++的C ++源文件中使用自动完成function时,会在页脚中显示一个小记事:

IntelliSense for C ++ / CLI不可用

呃,从Visual Studio 2010中删除了IntelliSense for C ++ / CLI? 有什么办法让它回来吗? 这相当有用的…

你是对的。 不幸的是,它已经下降。 您可以在Microsoft的Connect网站上查看此问题。

为了答案,我会引用他们:

不幸的是,在这个版本中,由于时间限制,我们不得不削减C ++ / CLI的intellisense支持。 如果你想在本地类上获得一些智能感知,如快速信息和成员列表,你可以通过在项目属性中selectno / clr支持来获得它。

关于获取智能感知,现在最好的机会是使用第三方工具,例如VA Assist。 我已经用Visual Studio 2008试过了,它的智能感知比默认的好很多。

它在Visual Studio 2012中再次可用。

根据Visual C ++团队博客 ,C ++ / CLI Intellisense将在Visual Studio的下一个版本中,但不在VS2010的Service Pack中。 那个博客文章也给出了一些细节,以便了解到哪里出了问题,并导致了这种悲伤的状态

如果您想获得IntelliSense,请从Whole Tomato Software安装Visual Assist X. 在这里你可以得到一个30天的试用来检查智能感知。

我不知道你是否可以使用这个设置,但它对我有用。 我只检查使用它的cpp文件的公共语言运行时支持。 我不检查整个项目,并且对于所有不使用CLI的文件都有智能感知。

是! 您可以启用IntelliSence,但方式棘手。 遵循这些指示:

  1. 转到您的项目属性。 (右键单击项目资源pipe理器中的项目名称,然后select“属性”或简单地按Alt + Enter
  2. 从configuration属性中select常规
  3. 在右侧部分,find“公共语言运行时支持”并将其更改为“无公共语言运行时支持”。
  4. 点击确定button。

现在IntelliSence正在工作。 但是编译代码时出现问题是一个错误! (错误是: 错误LNK1123:在转换为COFF期间失败:文件无效或损坏

您可以简单地返回到“项目属性”,更改“公共语言运行时支持,旧语法(/ clr:oldSyntax)”。

祝你好运。

只有在不需要公共语言运行时的情况下,才能使用此解决scheme
它在VS2010中为我工作
转到项目属性>configuration属性>常规>公共语言运行时支持并将其设置为无公共语言运行时支持 。 点击应用button后,这将工作正常。

如前所述,您可以安装一些付费软件,例如“全番茄软件中的Visual Assist X”。

要么

你可以使用包含intellisense *的开源工具,其中一个工具是Qt Creator 3.3.1(opensource)。 你有两个select,要么用Qt设置你的整个项目使用VS2010编译器编译,要么使用Qt链接到您的源文件,并与VS2010编译。 你用Qt写你的代码,保存,将窗口翻转到vs2010并编译和debugging。

当更改保存在Qt中时,vs2010会自动重新加载项目中的源文件并且可以编译。