关于C#:使用Eclipse通过SSH处理远程项目

Work on a remote project with Eclipse via SSH

我有以下方框:

  • 带有Eclipse CDT的Windows框,
  • 一个Linux机器,只能通过SSH访问我。
  • 构建和运行我的项目所需的编译器和硬件都只在机器B上。

    我想使用Eclipse CDT从该项目的Windows框中"透明地"工作,并能够在IDE中远程构建,运行和调试项目。

    我如何设置:

    • 大楼会起作用吗? 比编写rsync项目然后调用远程makefile启动实际构建的本地makefile更简单的解决方案? Eclipse托管构建是否具有此功能?
    • 调试会有效吗?
    • 最好 - Eclipse CDT代码索引可以工作吗? 我是否必须将所有必需的头文件从机器B复制到机器A并将它们手动添加到包含路径?


    尝试远程系统资源管理器(RSE)。这是一组完全符合您要求的插件。

    RSE可能已包含在您当前的Eclipse安装中。要检入Eclipse Indigo,请转到Window> Open Perspective> Other ...并从Open Perspective对话框中选择Remote System Explorer以打开RSE透视图。

    要从Eclipse中的RSE透视图创建SSH远程项目:

  • 定义新连接,然后从"新建连接"对话框的"选择远程系统类型"屏幕中选择"仅限SSH"。
  • 输入连接信息,然后选择"完成"。
  • 连接到新主机。 (假设已经设置了SSH密钥。)
  • 连接后,深入查看主机的Sftp文件,选择一个文件夹,然后从项目的上下文菜单中选择创建远程项目。 (等待创建远程项目。)
  • 如果正确完成,现在应该可以从Project Explorer和eclipse中的其他视角访问新的远程项目。通过正确的SSH连接设置,密码可以成为正常SSH身份验证过程的可选部分。现在创建了一个使用Eclipse通过SSH的远程项目。


    最简单的方法是在Linux Box上运行Eclipse CDT并使用X11-Forwarding或远程桌面软件(如VNC)。

    当然,这只有当Linux上的Eclipse存在且您的网络连接足够快时才可能。

    优点是,由于一切都是本地的,您不会遇到同步问题,并且您不会遇到任何棘手的跨平台问题。

    如果盒子上没有eclipse,你可以考虑通过SMB(或SSHFS)共享你的linux工作目录,并从你的windows机器访问它,但这需要相当多的设置。

    两者都比拥有两个副本更好,特别是当它是跨平台的时候。


    我自己(或曾经)在同一个地方,我最终检查了Linux主机上的samba共享,并在Windows机器上使用notepad ++在本地编辑该共享,然后我通过PuTTY在Linux机器上编译。 (我们不允许在Linux主机上更新10个版本的编辑器,它没有Java,所以我放弃了X11转发)

    现在......我在Windows主机上的VM中运行现代Linux,将我想要的所有工具(例如CDT)添加到VM,然后我签出并构建一个非常类似于RTE的chroot监狱。

    这是一个笨重的解决方案,但我想我会把它扔进去。


    除了使用sshfs之外,我的解决方案类似于SAMBA。使用sshfs挂载我的远程服务器,在远程计算机上打开我的makefile项目。从那里开始

    我似乎也可以通过这种方式运行GUI前端。

    构建我的远程代码非常简单:ssh address remote_make_command

    我正在寻找一个体面的调试方法。可能通过gdbserver?


    我在2年前遇到了同样的问题,我通过以下方式解决了这个问题:

    1)我使用makefile构建我的项目,而不是由eclipse管理
    2)我使用SAMBA连接来编辑Eclipse中的文件
    3)建设项目:
    Eclipse使用makefile调用"本地"make,打开SSH连接
    到Linux主机。在SSH命令行上,您可以提供参数
    在Linux主机上执行。我为该参数使用makeit.sh shell脚本
    在linux主机上调用"真正的"make。
    构建你的不同目标也可以通过参数给出
    linux主机上的本地makefile - > makeit.sh - > makefile。


    我试过ssh -X,但速度难以忍受。

    我也试过RSE,但它甚至不支持使用Makefile构建项目(我被告知自从我发布我的答案后这已经改变了,但我还没试过)

    我读到NX比X11转发更快,但我无法让它工作。

    最后,我发现我的服务器支持X2Go(如果没有,则链接有安装说明)。 现在我只需要:

    • 在服务器上下载并解压缩Eclipse,
    • 在我的本地计算机上安装X2Go(在Ubuntu上sudo apt-get install x2goclient),
    • 配置连接(主机,使用ssh键自动登录,选择运行Eclipse)。

    一切就像我在本地机器上工作一样,包括构建,调试和代码索引。 而且没有明显的滞后。


    对于这种情况,您可以使用ptp eclipse https://eclipse.org/ptp/进行源浏览和构建。

    您可以使用此插件来调试您的应用程序

    http://marketplace.eclipse.org/content/direct-remote-c-debugging