我昨天开始使用Microsoft Visual Studio 2012学习C ++。我有一年的Netbeans和Java背景,并且我使用了很多代码完成功能。
所以我在这里为MS Studio 2012提出了一些问题:
File file = new File();
然后按alt + I,它将自动添加import java.io.File;
我对MS Studio 2012中的以下内容感到震惊,我想解决这个问题:
cout << "Hello World!"
写入控制台,所以我键入了...但它没有给我任何选项来自动执行using namespace std;
和/或#include <iostream>
。有没有办法让整个MS Studio 2012的行为尽可能地与Netbeans / Java中使用的一样?
答案 0 :(得分:5)
首先,C ++不是Java,而#include不是导入。 IDE无法知道您要使用的类和函数在哪些标头中被声明/定义。要做到这一点,它必须解析包含路径中的任何标头。并且由于每个任何文件都可以用作标题,即可以包含,它必须(尝试)在整个包含路径中解析任何文件。登记/> 同样,C ++不是Java,因此与Java C ++相比具有一些优点和缺点。后者之一是需要手动管理您的包含。
更新:正如Martin Ba所指出的那样,有一些工具可以为您提供一组课程方面的帮助,例如:来自公共库的类,如标准库和VS项目中定义的类,但这些是第三方工具,必须依赖需要扩展的手动管理数据库才能使该功能在其他存在的情况下正常工作库。
tl; dr 你无法自动导入C ++中的所有内容
答案 1 :(得分:0)
VS的重构支持无法做到这一点。
但是,有第三方软件 - Visual Assist X - 能够尝试包含特定符号的正确头文件。请参阅:Auto Using and Add Include Directives
您的上下文存在的问题是,它是商业软件,您也只能使用付费的非快递版VS.