emacs-eclim
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:This project brings some of the great eclipse features to emacs developers. It is based on the eclim project, which provides eclipse features for vim.
[![License GPL 3][badge-license]](http://www.gnu.org/licenses/gpl-3.0.txt)
[![Build Status](https://travis-ci.org/senny/emacs-eclim.svg?branch=master)](https://travis-ci.org/senny/emacs-eclim)
[![MELPA](http://melpa.org/packages/emacs-eclim-badge.svg)](http://melpa.org/#/emacs-eclim)
[![MELPA Stable](http://stable.melpa.org/packages/emacs-eclim-badge.svg)](http://stable.melpa.org/#/emacs-eclim)

## Development has moved to https://github.com/emacs-eclim/emacs-eclim !!!

## Overview

[![Join the chat at https://gitter.im/senny/emacs-eclim](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/senny/emacs-eclim?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

**Please Note: Development has moved to https://github.com/emacs-eclim/emacs-eclim**

[Eclim](http://eclim.org) is an Eclipse plugin which exposes Eclipse
features through a server interface.  When this server is started, the
command line utility eclim can be used to issue requests to that
server.

Emacs-eclim uses the eclim server to integrate eclipse with
emacs. This project wants to bring some of the invaluable features
from eclipse to emacs. Please note, emacs-eclim **is limited to mostly java support at this time.**

It is also possible to start and stop the eclim daemon from emacs using the
`eclimd` package.

You can ask questions or discuss new features at our [Google Group](https://groups.google.com/forum/#!forum/emacs-eclim)

## A note about Eclim versions

Prior to version 1.7.3, eclim used a proprietary protocol for
communication with the eclim server. If you are running one of these
older versions, you need version 0.1 of emacs-eclim.

Eclim versions 1.7.3 and later however, serves responses using a
standard JSON format. These are supported by emacs-eclim versions 0.2
and later.

Emacs-eclim versions are tagged with the appropriate version
number. You can see and download previous releases
[here](https://github.com/senny/emacs-eclim/tags).

## Installation

1. [Download and install](http://eclim.org/install.html) eclim.
1. Install emacs-eclim. You have two options:
   * Installation from the [MELPA][melpa] package archive. Just add
   the archive to `package-archives` if you haven't already, and then
   install emacs-eclim with the `package-install` command.
   * Manual installation from GitHub.
       1. (`git clone git://github.com/senny/emacs-eclim.git`)
       1. Add `(add-to-list 'load-path "/path/to/emacs-eclim/")` to your startup script.
1. Add the following code to your emacs startup script

```lisp
(require 'eclim)
(global-eclim-mode)
```

If you want to control eclimd from emacs, also add:

```lisp
(require 'eclimd)
```


## Configuration

### Eclipse installation

Emacs-eclim tries its best to locate your Eclipse installation.  If
you have Eclipse installed in a non-standard location
(i.e. ~/nonStandard/eclipse or /opt/eclipse) you may specify the paths manually by adding this to your startup script:

```lisp
(custom-set-variables
  '(eclim-eclipse-dirs '("~/nonStandard/eclipse"))
  '(eclim-executable "~/nonStandard/eclipse/eclim"))
```

### Displaying compilation error messages in the echo area

When the cursor is positioned on an error marker in a code buffer,
emacs-eclim uses the local help feature in emacs to display the
corresponding error message in the echo area. You can either invoke
`(display-local-help)` manually or activate automatic display of local
help by adding the following to .emacs:

```lisp
(setq help-at-pt-display-when-idle t)
(setq help-at-pt-timer-delay 0.1)
(help-at-pt-set-timer)
```

### Configuring auto-complete-mode

If you wish to use [auto-complete-mode] with emacs-eclim, add the
following to your .emacs:

```lisp
;; regular auto-complete initialization
(require 'auto-complete-config)
(ac-config-default)

;; add the emacs-eclim source
(require 'ac-emacs-eclim-source)
(ac-emacs-eclim-config)
```

### Configuring company-mode

Emacs-eclim can integrate with [company-mode] to provide pop-up
dialogs for auto-completion. To activate this, you need to add the
following to your .emacs:

```lisp
(require 'company)
(require 'company-emacs-eclim)
(company-emacs-eclim-setup)
(global-company-mode t)
```

Emacs-eclim completions in company are case sensitive by default. To make completions
case insensitive set `company-emacs-eclim-ignore-case` to `t`.

### Configuring eclimd module

When `emacs-eclim` is configured correctly, you don't need to modify the
configuration for the `eclimd` package. Still, there are some configurable
variables you can tweak:

1. `eclimd-executable`: This variable is used for locating the `eclimd`
   executable file. You can set it to `nil` ("Same directory as eclim-executable
   variable" choice in customization screen) to indicate that the executable is in
   the same directory as the `eclim` program. Alternatively, you can give it a
   string value ("Custom value" choice in customization screen) to specify the
   location of the executable.

1. `eclimd-default-workspace`: When `start-eclimd` is executed, it will ask for
   the workspace directory to use. The default value for this question is
   controlled by this variable.

1. `eclimd-wait-for-process`: Normally, when `start-eclimd` starts the eclimd
   process, it pauses emacs until `eclimd` is ready to accept commands. If you
   change the value of this variable to `nil`, `start-eclimd` will return as
   soon as `eclimd` is started. Eclimd startup takes several seconds, so if you
   change the default value of this variable, `emacs-eclim` commands will fail
   until `eclimd` is ready.

## Dependencies
* [dash.el](https://github.com/magnars/dash.el) for list manipulation functions
* [s.el](https://github.com/magnars/s.el) for string manipulation functions
* json.el (part of emacs as of version 23)
* [popup.el](https://github.com/auto-complete/popup-el) for inplace popup menus

## Optional dependencies
* A recent version (0.6.0 or later) of [yasnippet]
* A recent version (tested with 0.5) of [company-mode]
* A recent version (tested with 1.4) version of [auto-complete-mode]
* ido-mode (part of emacs as of version 22)

## Usage
To get started just launch the eclim executable that the placed in
your Eclipse installation directory.

* [Projects](http://wiki.github.com/senny/emacs-eclim/projects)
* [Code Completion](http://wiki.github.com/senny/emacs-eclim/code-completion)
* [Java](http://wiki.github.com/senny/emacs-eclim/java)
* [Ant](http://wiki.github.com/senny/emacs-eclim/ant)
* [Maven](http://wiki.github.com/senny/emacs-eclim/maven)
* [Problems and Errors](http://wiki.github.com/senny/emacs-eclim/problems-and-errors)

### Controlling eclimd

When you import the `eclimd` package, you will have access to two commands:
`start-eclimd`, and `stop-eclimd`.

`start-eclimd` will ask for a workspace directory, and it will attempt to start
`eclimd` program with the entered workspace directory. The configurable variable
`eclimd-default-workspace` controls the default value of this directory. After
`start-eclimd` runs the daemon, it will monitor its log output, and wait for the
message that indicates that it is ready to accept commands. This is done to
prevent failures with `emacs-eclim` commands while `eclimd` is starting up.
While `start-eclimd` is waiting for the daemon to be ready, emacs will not
accept any user input. To prevent this pause, you can modify the configurable
variable `eclimd-wait-for-process`.

Normally, simply killing the buffer `*eclimd*` will allow you to stop the eclimd
daemon. However, there is a command to perform a graceful shutdown:
`stop-eclimd`. You should use this command when you wish to stop the `eclimd`
program.

## Press

Read more about emacs-eclim:

* [Enterprise Java Development in Emacs](http://www.skybert.net/emacs/java/), \[Torstein Krause Johansen\]
* [The Ballad of Emacs-Eclim](http://mulli.nu/2012/02/02/the-ballad-of-emacs-eclim.html), \[Fredrik Appelberg\]
* [Emacs and Java](http://blog.senny.ch/blog/2012/10/13/emacs-and-java-journey-of-a-hard-friendship/), \[Yves Senn\]
* [Java Autocompletion for Emacs](http://root42.blogspot.ch/2012/08/java-autocompletion-for-emacs.html), \[root42\]
* [Eclim: Eclipse Meets Vim And Emacs](http://faruk.akgul.org/blog/eclim-eclipse-meets-vim-emacs/), \[Faruk Akgul\]

## Contributing

Have a quick look at our [Contribution Guidelines](CONTRIBUTING.md)
and hack away.

[yasnippet]:https://github.com/capitaomorte/yasnippet
[company-mode]:https://github.com/company-mode/company-mode
[auto-complete-mode]:https://github.com/auto-complete/auto-complete
[melpa]:http://melpa.milkbox.net/
[repo]:https://github.com/senny/emacs-eclim

[badge-license]: https://img.shields.io/badge/license-GPL_3-green.svg

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。