Skip to content

Latest commit

 

History

History
211 lines (162 loc) · 11.9 KB

README.md

File metadata and controls

211 lines (162 loc) · 11.9 KB

EasyShell

Version Issues Chat @ gitter build 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: https://marketplace.eclipse.org/content/easyshell

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

OR

Use update site: https://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

  • Open with / Edit
    • Eclipse - Full Path : line number
  • 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 of file or directory (to workspace)
  • ${easyshell:resource_loc_path} = relative location path of file or directory (to workspace)
  • ${easyshell:resource_project_path} = relative path of file or directory (to project)
  • ${easyshell:resource_project_loc_path} = relative location path of file or directory (to project)
  • ${easyshell:resource_line_number} = line number (within view or editor)
  • ${easyshell:selected_text_start_line} = selected text start line (within view or editor), it's equal to ${easyshell:resource_line_number}
  • ${easyshell:selected_text_end_line} = selected text end line (within view or editor)
  • ${easyshell:selected_text_length} = selected text length (within view or editor)
  • ${easyshell:selected_text_offset} = selected text offset (within view or editor)
  • ${easyshell:selected_text} = selected text (within view or editor)
  • ${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 of file directory or directory itself (to workspace)
  • ${easyshell:container_loc_path} = relative location path of file's parent directory or directory itself (to workspace)
  • ${easyshell:container_project_path} = relative path of file's parent directory or directory itself (to project)
  • ${easyshell:container_project_loc_path} = relative location path of file's parent directory or directory itself (to project)
  • ${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:parent_loc_path} = relative location path of parent directory (to workspace); for files it's equal to ${easyshell:container_loc_path}
  • ${easyshell:parent_project_path} = relative path of parent directory (to project); for files it's equal to ${easyshell:container_project_path}
  • ${easyshell:parent_project_loc_path} = relative location path of parent directory (to project); for files it's equal to ${easyshell:container_project_loc_path}
  • ${easyshell:project_loc} = absolute path of project
  • ${easyshell:project_name} = name of project
  • ${easyshell:project_path} = relative path to workspace of project
  • ${easyshell:project_loc_name} = location name (folder) of project
  • ${easyshell:project_parent_loc} = absolute path of project's parent
  • ${easyshell:workspace_loc} = absolute path of workspace
  • ${easyshell:workspace_loc_name} = location name (folder) of workspace
  • ${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