我正在尝试使用NetBeans(7.3.1)来处理远程项目。
我的配置如下:
然而问题是我们的工作“程序”要求我们首先设置环境。因此,当我使用PuTTY登录时,我必须首先使用适当的参数调用setsee
。这会通过添加大量变量来严重影响环境,例如包括:
GCC_HOME
的/opt/gcc/linux64/ix86/gcc_4.3.2-7p3
,而不是NetBeans在其GNU编译器集合中为C ++编译器显示的/user/bin/g++
和CPLUS_INCLUDE_PATH
指向某个路径(而NetBeans没有看到很多包含,可能缺少该路径)。那么有没有办法告诉NetBeans在做其他事情之前在远程服务器上调用setsee
?
答案 0 :(得分:1)
事实证明setsee
或多或少是一种内部工具。然而,“核心问题”依然存在:如何在IDE实际使用该脚本之前代表IDE创建的SSH会话执行任意脚本。
Answer对超级用户的“How can I set environment variables for a remote rsync process?”问题说明了一切。
。”简要总结一下:在〜/ .ssh / authorized_keys中,必须修改与IDE将登录的密钥对应的条目。必须添加一个command
参数作为脚本登录后但在“返回控制”之前执行。
还有另一个与该解决方案相关的事情。如果要在command
选项中执行的脚本输出任何内容,它将破坏许多工具(可能还有IDE)。这些工具通常在输出上期望所谓的工具。解析这样的输出然后失败command
脚本输出。
一个简单的解决方案是使用tail
。但缺点是你松了“进步”。漫长的操作看起来像挂起,然后一次性输出所有内容。在某些情况下,它根本不起作用(例如,如果git clone --progress
脚本输出任何内容,则在Tortoise Git上通过SSH执行command
将失败。