在 Eclipse 中保存时运行外部应用程序

发布于 2024-07-06 16:01:32 字数 212 浏览 12 评论 0原文

由于我们无法设置 Eclipse 的 RSE 以在远程编辑工具中使用,因此我安装了 齐声。 但是如何让 Eclipse 在每个文件保存时自动一致运行呢? 有没有可用的 eclipse 插件?

TIA

Since we cannot setup Eclipse's RSE to use at the tool for remote editing, I have installed Unison. But how can I get Eclipse to automatically run unison on every file save? Is there an eclipse plugin available for this?

TIA

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

美人如玉 2024-07-13 16:01:32

您可以将其设置为在每个构建上运行。 任何外部工具都可以在每个构建上运行,只需打开项目的首选项,转到构建器页面,单击“新建...”。

You can setup it to be run on every build. Any external tool can be run on every build, just open project's preferences, go to Builders page, click “New…”.

っ〆星空下的拥抱 2024-07-13 16:01:32

根据重要性,我会编写一个简单的插件来处理这个问题。

编辑:
真正需要做的就是:

1) 使用 RCP\PDE Eclipse 安装从模板创建插件
2) 将以下代码添加到您的激活器...

@Override
public void start( final BundleContext context ) throws Exception {
    super.start( context );
    plugin = this;

    ICommandService commandService = (ICommandService)plugin.getWorkbench().getService( ICommandService.class );
    commandService.addExecutionListener( new IExecutionListener() {

        public void notHandled( final String commandId, final NotHandledException exception ) {}

        public void postExecuteFailure( final String commandId, final ExecutionException exception ) {}

        public void postExecuteSuccess( final String commandId, final Object returnValue ) {
            if ( commandId.equals( "org.eclipse.ui.file.save" ) ) {
                // add in your action here...
                // personally, I would use a custom preference page, 
                // but hard coding would work ok too
            }
        }

        public void preExecute( final String commandId, final ExecutionEvent event ) {}

    } );
}

Depending on the importance, I would write a simple plugin to handle this.

EDIT:
All you really need to do is this:

1) Create the plugin from the templates with the RCP\PDE Eclipse install
2) Add the following code to your activator...

@Override
public void start( final BundleContext context ) throws Exception {
    super.start( context );
    plugin = this;

    ICommandService commandService = (ICommandService)plugin.getWorkbench().getService( ICommandService.class );
    commandService.addExecutionListener( new IExecutionListener() {

        public void notHandled( final String commandId, final NotHandledException exception ) {}

        public void postExecuteFailure( final String commandId, final ExecutionException exception ) {}

        public void postExecuteSuccess( final String commandId, final Object returnValue ) {
            if ( commandId.equals( "org.eclipse.ui.file.save" ) ) {
                // add in your action here...
                // personally, I would use a custom preference page, 
                // but hard coding would work ok too
            }
        }

        public void preExecute( final String commandId, final ExecutionEvent event ) {}

    } );
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文