1

我昨天开始使用 Microsoft Visual Studio 2012 学习 C++。我有 1-2 年的 Netbeans 和 Java 背景,我经常使用代码完成功能。

所以我有几个关于 MS Studio 2012 的问题:

  • 在 Netbeans 中,您可以 alt+I 修复导入,Studio 对应的是什么?
  • 在 Netbeans/Java 中,如果您键入File file = new File();然后按 alt+I,它将自动添加import java.io.File;

尽管在 MS Studio 2012 中,我对以下事情感到非常震惊,我想解决这个问题:

  • 在第一个“Hello World!”教程中,我必须使用 写入控制台cout << "Hello World!",所以我输入了……但它没有给我任何自动执行using namespace std;和/或的选项#include <iostream>

有没有办法让整个 MS Studio 2012 的行为尽可能接近我在 Netbeans/Java 中使用的内容?

4

2 回答 2

5

首先,C++ 不是 Java,#includes 不是导入。IDE 无法知道您要使用的类和函数在哪些头文件中声明/定义。为此,它必须解析包含路径中的任何标头。并且由于每个文件都可以用作标题,即可以包含,它必须(尝试)解析整个包含路径中的任何文件。
同样,C++ 不是 Java,因此与 Java 相比,C++ 有一些优点和缺点。后者之一是需要手动管理您的包含。

更新:正如 Martin Ba 所指出的,有一些工具可以在一组类上为您提供帮助,例如标准库等公共库中的类和您的 VS 项目中定义的类,但这些是第三方工具并且具有依赖手动管理的数据库,这些数据库需要扩展才能使该功能在存在其他库的情况下正常工作。

tl;博士您无法自动导入 C++ 中的所有内容

于 2013-10-02T09:58:26.190 回答
0

VS 的重构支持无法做到这一点。

但是,有第 3 方软件 - Visual Assist X - 能够尝试为某个符号包含正确的头文件。请参阅:自动使用和添加包含指令

您的上下文的问题是它是商业软件,您也只能与付费的非快速版本的 VS 一起使用。

于 2013-10-02T11:22:05.470 回答