git clone 'git://github.com/senny/emacs-eclim.git'
Eclim 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
You can ask questions or discuss new features at our Google Group
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.
package-archivesif you haven't already, and then install emacs-eclim with the
git clone git://github.com/senny/emacs-eclim.git)
(add-to-list 'load-path "/path/to/emacs-eclim/")to your startup script.
(require 'eclim) (global-eclim-mode)
If you want to control eclimd from emacs, also add:
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:
(custom-set-variables '(eclim-eclipse-dirs '("~/nonStandard/eclipse")) '(eclim-executable "~/nonStandard/eclipse/eclim"))
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:
(setq help-at-pt-display-when-idle t) (setq help-at-pt-timer-delay 0.1) (help-at-pt-set-timer)
If you wish to use auto-complete-mode with emacs-eclim, add the following to your .emacs:
;; 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)
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:
(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
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:
eclimd-executable: This variable is used for locating the
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.
start-eclimd is executed, it will ask for
the workspace directory to use. The default value for this question is
controlled by this variable.
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
start-eclimd will return as
eclimd is started. Eclimd startup takes several seconds, so if you
change the default value of this variable,
emacs-eclim commands will fail
eclimd is ready.
To get started just launch the eclim executable that the placed in your Eclipse installation directory.
When you import the
eclimd package, you will have access to two commands:
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.
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
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
Read more about emacs-eclim:
Have a quick look at our Contribution Guidelines and hack away.