【问题标题】:Eclipse creating projects every time to run a single file?Eclipse创建项目每次运行单个文件?
【发布时间】:2013-06-14 09:23:33
【问题描述】:

我是使用 Eclipse CDT 的初学者。 通常在 DEVc++ 或其他轻量级 IDE 中,我们可以直接从桌面打开和编辑单个 .cpp 文件并运行它。

另一方面,我在 Eclipse CDT 中找不到这个简单的功能! 每次我需要运行单个 .cpp 文件时,我都需要创建一个项目!

对于竞争性编程,例如 TOPCODER cotections 或 CodeForces,我通常希望快速运行单个文件!

有没有办法在 Eclipse CDT 中运行单个 .cpp 文件而无需每次都创建项目?

【问题讨论】:

  • 我假设您可以预先创建一个项目并将文件放入其中
  • 为了测试和丢弃代码,我预先创建了一个项目,然后我使用这个项目。
  • 在轻量级 IDE 中,如著名的 geany、Dev C++ 等。一个简单的 Ctrl+N 和一个新文件被创建......它可以运行!我们不能在 Eclipse CDT 中这样做吗?
  • @nitind 在诸如 topcoder 或 codeforces 等竞争性编程网站中,我们需要提交单个运行文件而不是应用程序!考虑到在 topcoder 类型网站中编码的用户数量,单个运行文件是必需的!
  • 我受够了这种废话。 :) 我也是 Eclipse 的初学者。所以在这个页面上解决了一个小时我最后只是在Code::Blocks IDE而不是Eclipse中打开了单个文件,然后我点击了“构建并运行” " 按钮,瞧!——几秒钟后,应用程序神奇地运行并工作了!——即使它与其他 5 个文件位于 Windows 文件夹中——所有独立的 C++ 程序都有自己的 main()功能。

标签: c++ eclipse eclipse-cdt


【解决方案1】:

在 Visual Studio Code 中有一个 Code Runner 插件可以构建和运行单个文件,但在 eclipse 中我找不到。

我尝试了另一种方法,使用“外部工具”功能:

  • 创建一个项目并将所有代码放入其中。

  • 在某个地方创建一个脚本文件 run.bat 在 Windows 上或 run.sh 在 Linux 上,如下所示:

g++ %1 -o %1.exe
%1.exe

...其中%1 表示传递给.bat 的第一个参数,应替换为.sh 中的$1

  • 在工具栏上找到“外部工具配置”...

...或在“运行”菜单中。

  • 像这样添加“程序”配置:

“位置”是你刚刚创建的运行脚本的路径;

“参数”将传递给您的脚本。 ${resource_loc} 代表您当前正在编辑的文件。

  • 保存配置并关闭窗口。

之后,您可以打开一个 cpp 文件并运行此工具。您的程序将在控制台中启动。

【讨论】:

    【解决方案2】:

    创建一个Makefile 项目File->New->C++ Project->Makefile project->Empty project->Linux GCC

    然后为您的项目创建一个Makefile 并添加以下行:

    CXXFLAGS := -std=c++14 -Wall -Wextra -pedantic-errors    
    
    SOURCES  := $(wildcard *.cpp)
    PROGRAMS := $(patsubst %.cpp,%,$(SOURCES))
    
    all: $(PROGRAMS)
    
    clean:
        $(RM) $(PROGRAMS)
    

    注意:clean: 之后的命令缩进使用TAB(空格无效)。

    这将编译项目目录中以.cpp 结尾的任何源文件。

    然后选择Outline View窗口。选择并添加 allclean 作为目标。然后打开Build Targets 窗口编译或清理您的项目。

    【讨论】:

      【解决方案3】:

      使用 geany。它使用单个 C++ 文件开箱即用。如果您需要修改设置,它可以运行自定义的 make 文件。

      【讨论】:

        【解决方案4】:

        创建一个新文件夹(例如:tmplib)

        右键单击“tmplib” -> 资源配置 -> 从构建中排除(调试和发布)

        在 src 和“tmplib”文件夹之间拖放文件 - src 文件夹中的任何内容都将被构建(无需删除 src 文件夹)

        【讨论】:

        • 据我所知,这可能是最简单的解决方案。
        【解决方案5】:

        我知道 eclipse 有能力创建一个 java 剪贴簿,使用它你可以编写一些 java 代码并运行该代码,而无需设置任何类或主要函数。你可能想看看 eclipse 是否在 New 对话框中有 C++ 剪贴簿。

        【讨论】:

        • 我没有找到 c++ 的剪贴簿,你能分享一个链接吗?
        【解决方案6】:

        这就是我所做的。例如,您可以创建一个名为 Coeforces 的项目,然后您可以在项目中创建一个名为 AC 的文件夹,然后右键单击它 --> Resource Configuration --> Exclude from build --> 检查 Debug 和 Release 。

        然后删除 src 文件夹。每当您完成代码时,只需将其拖放到文件夹中,然后您就可以直接在项目中创建一个新的源文件。您也可以创建另一个名为 WA 的文件夹,例如用于解决您无法解决并希望保存代码以便稍后再考虑的问题。

        【讨论】:

          【解决方案7】:

          Eclipse 很棒。我喜欢它,但你是对的,单文件项目有太多负担。所以可能以不同的方式解决问题:

          1. 在 Eclipse 中编写代码,享受所有 IDE 功能。

            将您所有的单一文件程序放到一个项目中。不,Eclipse 不会编译它们,因为它有多个主要功能,但是...

          2. 从命令行编译文件。

            您可以在构建项目时从 Eclipse 控制台复制正确的命令行。您必须很聪明,因为您正在玩 topcoder,因此您会弄清楚如何根据需要更改命令行。 ;)

          【讨论】:

          • 这是最好的。我可以处理终端,但不能处理多个主要废话。
          【解决方案8】:

          假设您在同一个项目中删除了多个.cpp 文件(每个文件都包含一个主文件),您可以:

          • 右键单击您的.cpp 文件和Properties > C/C++ build > Settings > Manage Configurations
          • 创建新配置并将其设置为活动配置 + OK。
          • 选择新创建的配置。
          • 选择您不想为此配置运行的文件,打开属性和check“排除资源表单构建”,为每个文件。
          • 选择您要为该配置保留的文件,并确保“排除资源表单构建”为 unchecked
          • 构建项目
          • 按下按钮play

          最后,要从一种运行配置切换到另一种运行配置,请转到 Project > Properties > Manage Configurations 并更改活动配置。重建并运行。

          编辑:正如shivi 提到的,最痛苦的部分(不包括资源表单构建)可以通过在Package Explorer 视图和Right-click > Resource Configurations > Exclude from build... 中多选要排除的文件来一次性完成。

          这是我们能做的最好的......

          【讨论】:

          • 从构建选项中排除可以直接从项目资源管理器中完成。存在右键单击文件选项。但是对每个 .cpp 文件执行此操作对于仅 1 个文件来说太过分了!
          • 好的,感谢您的宝贵意见。很抱歉,我无法提供比您已经知道的更多的信息.​​..
          猜你喜欢
          • 2014-08-06
          • 2015-05-12
          • 1970-01-01
          • 2014-04-10
          • 2013-06-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-01
          相关资源
          最近更新 更多