eclipse
The community/apps/eclipse
directory contains files that provide Talon voice commands for the Eclipse IDE.
The file eclipse_win.py
defines the core logic for how Talon interacts with Eclipse. It leverages Talon's context system to define actions specific to the Eclipse application on Windows. The file is organized into several action classes:
AppActions
defines actions like closing/navigating tabs, and opening/closing windows.CodeActions
defines code-related actions, such as toggling comments.EditActions
provides actions for editing text, such as navigating lines, indenting, and saving.UserActions
implements actions related to plugins, such as HandySplit, and find and replace functionality. This includes actions for manipulating splits and performing find and replace operations.
The eclipse.talon
file defines the voice commands that use the actions defined in eclipse_win.py
, and also defines some basic keybindings. The file also includes tags, which are used to activate certain Talon modules with additional features, in this case: user.find_and_replace
, user.line_commands
, user.splits
, user.tabs
, and user.command_search
. Some important commands defined in this file are:
- Sidebar Navigation: Commands to open different sidebars like "explore", "outline".
- Panel Navigation: Commands to open different panels like "output", "problems", "search", etc.
- Settings and Shortcuts: Commands to open Eclipse settings and shortcuts dialogs.
- File Commands: Commands for creating, opening, and renaming files.
- Language Features: Commands for features like fixing imports, and refactoring code.
- Code Navigation: Commands for navigation within code, such as going to declarations, and going back/forward in navigation history.
- Bookmarks: Commands for setting, and navigating bookmarks.
- Debugging: Commands for controlling the debugger such as setting breakpoints, stepping, and continuing execution.
- Copy Line: Commands for copying a line up or down.
Together, eclipse_win.py
and eclipse.talon
enable voice control for common Eclipse tasks, including editing, navigating, debugging, and managing files and panels.