/EasyShell

EasyShell - This Eclipse plugin allows to open a shell window or file manager from the popup menu in the navigation tree or editor view. Additionally it is possible to run selected file in the shell, copy file or directory path or run user defined external tools. Key shortcuts and multiple selections are also supported!

Primary LanguageJavaEclipse Public License 2.0EPL-2.0

EasyShell

Version Issues Chat @ gitter Build Status License

This Eclipse plugin allows to open a shell window or file manager from the popup menu in the navigation tree or editor view. Additionally it is possible to run selected file in the shell, copy file or directory path or run user defined external tools. Key shortcuts and multiple selections are also supported!

Installation:

Eclipse Markeplace: http://marketplace.eclipse.org/content/easyshell

Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client

OR

Use update site: http://anb0s.github.io/EasyShell

OR

Download EasyShell from GitHub OR Download EasyShell from SourceForge Download EasyShell

extract it to "eclipse\dropin" folder and restart.

Features:

The plugin is platform independent in principal. It just launches a (configurable) system command to open the shell, file explorer or other user defined command. It also copies path etc. to clipboard. Just open context menu for an Eclipse editor or selected resource in some view:

context_menu_windows context_menu_Linux

Keyboard-shortcuts:

ATTENTION For EasyShell v2.2 and newer all shortcuts are starting with Alt + E and after releasing one of the letters A, E, C, D, X, O, R, U must be used:

main_menu_dialog_windows

Alt + E, A: Main popup menu shows all commands and multiple commands can be selected (EasyShell v2.1 and older: Alt + E)

multi_selection_dialog_windows multi_selection_dialog_linux

Alt + E, E: Main popup menu shows all commands and one commands can be directly selected (EasyShell v2.1 and older: Alt + Shift + E)

popup_menu_windows

Shortcuts that executes the command directly if only one defined or opens a popup menu like Alt + E, E reduced for category:

Alt + E, O: Open - open or show in shell

popup_menu_linux

Alt + E, R: Run - execute in shell

Alt + E, X: Explore - open and select in file browser

Alt + E, C: Clipboard - copy to clipboard

Special and not available if no user defined categories are available:

Alt + E, U: User - user defined category

Special and not available for all OS:

Alt + E, D: Default - open with default application

Supported OS and commands:

The following platform, shell combinations and tools are supported as selections available in the preferences page. The user can define own commands and menues or just adapt the predefined ones!

Windows:

Linux:

MAC OS X

  • Terminals
    • Open
    • Terminal
    • iTerm
  • File Browsers
    • Finder

All OS

  • Copy to clipboard:
    • Full Path
    • Full Path Unix (@Windows)
    • Qualified Name
    • ... more configurable...

If path to your tool is not added to PATH variable, please add it or adapt the command in EasyShell!

Preferences:

preferences_general

preferences_menu

preferences_menu_edit

preferences_menu_edit_filter

preferences_menu_edit_content_assist

But you can configure any shell or command you like as long as you can figure out how to run a command to open the shell with given parameters or execute the tool you want.

preferences_command

preferences_command_new_content_assist

The following substitution variables are available for building the command:

  • ${easyshell:resource_loc} = absolute path of file or directory
  • ${easyshell:resource_name} = name of file or directory
  • ${easyshell:resource_basename} = name of file without extension
  • ${easyshell:resource_extension} = extension of file name (without '.')
  • ${easyshell:resource_path} = relative path to workspace of file or directory
  • ${easyshell:container_loc} = absolute path of file directory or directory itself
  • ${easyshell:container_name} = name of file directory or directory itself
  • ${easyshell:container_path} = relative path to workspace of file directory or directory itself
  • ${easyshell:parent_loc} = absolute path of parent directory, for files it's equal to ${easyshell:container_loc}
  • ${easyshell:parent_name} = name of parent directory, for files it's equal to ${easyshell:container_name}
  • ${easyshell:parent_path} = relative path to workspace of parent directory, for files it's equal to ${easyshell:container_path}
  • ${easyshell:project_loc} = absolute path of project
  • ${easyshell:project_name} = name of project
  • ${easyshell:project_path} = relative path to workspace of project
  • ${easyshell:windows_drive} = drive letter of file or directory on Windows
  • ${easyshell:qualified_name} = full qualified (class) name
  • ${easyshell:line_separator} = line separator, e.g. '\n' (Unix) or '\r\n' (Windows)
  • ${easyshell:path_separator} = path separator, e.g. ':' (Unix) or ';' (Windows)
  • ${easyshell:file_separator} = file separator, e.g. '/' (Unix) or '\' (Windows)
  • ${easyshell:script_bash} = Bash script (internal)
  • and all other available variables in Eclipse

The following substitution variables are available for building the menu name:

  • ${easyshell:command_category} = command category
  • ${easyshell:command_type} = command type
  • ${easyshell:command_name} = command name
  • ${easyshell:command_os} = command operating system
with-Eclipse logo