Command and shortcut reference
Find commands covered by this Developer ID manual. Menu actions and editor keyboard bindings are listed separately because a key can produce a different result in ACE, Native (TextKit) or another focused control. Every custom menu group is mapped below, but a visible label is not by itself proof that its operation succeeded in every context. Follow the linked procedures and their stated limitations for the tested behavior.
On a narrow screen, scroll a wide table sideways to read its remaining columns. The table scrolls independently of the page; return to its left edge to see the task names again.
Menu bar capability map
The menu bar is one of the app's primary capability maps. This table accounts for the reviewed Developer ID build's custom command groups and directs each group to the part of the manual that explains the user-visible feature. Dynamic items can change with the selected document, running process, Git state or distribution channel; disabled commands are not evidence that the feature is absent.
| Menu | Capabilities exposed | Where to continue |
|---|---|---|
| Py Editor | About, Developer ID update checks and app-level Settings. Store-only subscription commands do not belong to this channel. | Help and updates and Settings. |
| File | Create files and folders; open projects or the launcher; use recents; save, Save As, reload, rename and close a tab; open Project Settings; prepare or refresh the project environment. | Getting started, Project files and Settings. |
| Edit | Standard macOS editing plus join lines, case changes, selection growth/shrink, column selection and current-file Find/Replace. | Editing and navigation. The reviewed local Replace action did not change source, so read its limitation before relying on it. |
| View | Open tool windows for browsing, execution, project systems and AI; toggle the Left sidebar. Native macOS tab-bar and full-screen items are window controls, not extra Py Editor document features. | Workspace, GUI map and the panel-specific chapters. |
| Navigate | Go to file or symbol, revisit recent locations, request definition/references and move between Problems. | Editing and navigation. Definition/reference and exact diagnostic-line placement retain documented limitations. |
| Code | Reformat and optimize imports; request completion or quick documentation; make multi-selections; fold/unfold; comment, duplicate or move lines. | Editing and navigation. Successful and unsuccessful language-service operations are separated there. |
| Refactor | Rename a symbol, extract a variable and extract a method. | Editing and navigation. The presence of these labels does not override the reviewed failures and incomplete results. |
| Run | Run, debug, profile, use the Python Console, select configurations, stop work, open execution results, manage breakpoints/tests/coverage and invoke project checks. | Run and output, Debugging, Interactive Python and Quality and performance. |
| Git | Commit; pull, rebase, fetch and push; switch, create or merge branches; abort merge/rebase; refresh status; open Working Tree or log; clone or initialize a repository. | Git workflows. Local disposable-repository operations were verified; remote and conflict operations remain unverified. |
| Window | Cycle open Py Editor documents with Show Next Tab and Show Previous Tab, alongside macOS window commands. | Project files and the tested shortcuts below. |
| Help | Open Py Editor Help and Send Product Feedback. | Help and updates. In the reviewed build, standard Help reported that help was unavailable; the in-app Learn book worked separately. |
Use this table as an inventory, then use the procedure pages as the operational manual. It deliberately does not turn untested remote, account, destructive or permission-dependent commands into supported-result claims.
Files and navigation
| Task | Control or menu | Scope |
|---|---|---|
| Find a project | File → Show Project Launcher | Launcher; search, select the intended result and press Return. |
| Create a workspace | Launcher → New Python Project | First project; choose an unused name and inspect Where. |
| Browse files | Project, left rail | Files; a tab can belong to an example outside the project. |
| Close all editor tabs | Tab options → Close All Tabs | Bulk close; the tested unsaved active file was saved, not discarded. Project and files remain available. |
| Cycle open editor documents | Window → Show Next Tab / Show Previous Tab | Use the enabled app commands; sequence wraps at either end. |
| Create a folder | File → New Folder… | Check the destination shown in the dialog. |
| Create a named Python file | File → New File… | Interactive tutorial; check the displayed parent and use an unused name. |
| Save under another name | File → Save As… | Keeps the original; the active tab switches to the new file in the tested flow. |
| Reload the current file | File → Reload From Disk | Can discard unsaved text without confirmation; differs from the Project context command. Read the reload warning. |
| Rename a file or folder | Project-item context menu → Rename… | Saved-file/folder examples verified; inspect the new tree location. |
| Duplicate a saved file | Project-item context menu → Duplicate | Creates and opens a uniquely named sibling; inspect its actual name. |
| Move a saved file | Project-item context menu → Cut; destination-folder context menu → Paste | Move; source disappears from its former location. |
| Copy to another folder | Project-item context menu → Copy; destination-folder context menu → Paste | Copy; original remains, repeated Paste generated a numbered sibling. |
| Close the selected document | File → Close Tab | Saving behavior; did not discard the trial edit or ask for confirmation. |
| Search project text | Find, left rail | Search; some folders are excluded. |
| Search within the current file | Edit → Find / Find Next / Find Previous | Editor search; local Replace did not change the source in this review. |
| Replace all listed matches | Find → Show Replace → All → Replace All | Replacement; review affected files first. |
| Open by filename | Navigate → Go to File… | File navigation. |
| Find a current-file symbol | Navigate → Go to Symbol… | Symbols. |
| Reopen a recent document | Navigate → Recent Files… | The list can display personal filesystem paths. |
| Revisit files | Navigate → Back / Forward | Correct files were opened; exact cursor restoration was limited. |
| Save a source location | Bookmarks → Add bookmark | Bookmarks; a second click may be needed after changing files. |
| Compare earlier saves | Editor-tab context menu → Show Local History | Local History; no one-click restore control. |
| Switch document views | Editor only / Editor and preview / Preview only | Previews; Markdown, static HTML/SVG and read-only notebook checks are distinguished. |
Editing through the Code menu
| Command | Observed result |
|---|---|
| Toggle Line Comment | Added a Python comment prefix in ACE and Native (TextKit). Undo restored the original in both; Redo was also checked in ACE. |
| Reformat Code | Normalized spacing with bundled Ruff. |
| Optimize Imports | Organized names/groups; an unused import remained. |
| Complete Symbol | Offered a local function name for a typed prefix. |
| Toggle Fold / Unfold All | Hid and restored the displayed function body. |
| Duplicate Line or Selection | Duplicated the current line through the menu. |
| Select All Occurrences / Add Selection for Next Occurrence | Selected both occurrences in the tutorial; one typed replacement changed both, and Undo restored them. |
| Move Line Up / Move Line Down | Moved a print statement and returned it to its original position. |
See editing for prerequisites and procedures. Definition/reference lookup, Quick Documentation and refactoring did not obtain verified successful results. Language-server Ready status alone is not proof that those operations worked.
Text and selection commands in Edit
| Command | Observed result in ACE |
|---|---|
| Extend Selection / Shrink Selection | Cursor → word → whole line, then back to word and original cursor. |
| Toggle Case | Selected Vision became VISION, then vision; two Undo actions restored the original. |
| Toggle Column Selection | Converted an equal-column selection across three lines into three insertion points; one typed prefix changed all three labels. |
| Join Lines | Joined selected lines and the following line; could absorb the next Python statement. Review the result and Undo an unintended join. |
See the label-editing exercises for exact setup, boundaries and recovery. These are not symbol-refactoring commands.
Execution and inspection
| Task | Entry point | Guide or limitation |
|---|---|---|
| Run the selected target | Top toolbar → Run active configuration | AI tutorial; inspect the configuration first. |
| Stop normal Run | Top toolbar → Stop active execution | Stop a script; not an undo of changes the script already made. |
| Start again after stopping | Top toolbar → Run active configuration | New invocation, not resuming the interrupted batch. |
| Clear the Run transcript | Bottom → Run pane → Clear output, trash icon | Clear output; did not stop the active demo process. |
| Open the Run output view | Run menu → Show Running List | Opened Execution → Run in the tested idle project; not a separately verified process manager. |
| Inspect execution options | Run selector → Edit Configurations… | Run settings; Save effects still under review. |
| Run then inspect Python objects | Run → Run File in Python Console | Console. |
| Change a live global value | Python Console → Variables → Edit | Integer and string edits and cancellation of an unsubmitted string edit verified; changes memory, not the source file. |
| Start with an empty interpreter | Python Console → New Python Console | Replaces the session; previous objects and transcript are discarded. |
| End a console command/session | Python Console → Stop Python Console | Verified during a running command; Interrupt echoed ^C without preventing its final output. |
| Enter shell commands | Results → Terminal | Terminal; check directory and interpreter. |
| Answer a Python input prompt | Terminal → project Python command | Class inspector; normal Run raised EOFError in the tested Helper/.venv path. |
| Start with a fresh shell | Terminal → New session | Replaces the shell and clears its transcript; temporary variables are lost. |
| Request shell-command interruption | Terminal → Interrupt | Timed wait still completed in the reviewed check; ^C alone does not prove cancellation. |
| Start debugging | Top toolbar → Debug active configuration | Debugger. |
| Toggle a line breakpoint | Run → Toggle Breakpoint → Toggle Line Breakpoint | Use the intended file and line. |
| Advance or resume a paused program | Debug → Step over / Continue | Visual and fallback evidence are distinguished in the debugger guide. |
| Enter/leave a function or stop a paused session | Debug → Step into / Step out / Quit debugger | Verified in interactive pdb fallback, not all visual equivalents. |
| Execute to an editor location | Run → Debugging Actions → Run to Cursor | Verified within the same file in pdb fallback. |
| Evaluate while paused | Debug → Evaluate expression | An expression can execute code. |
| Test or measure performance | Results → Tests / Coverage / Profiler | Quality tools. |
| Inspect a test failure and rerun | Tests → failed row / Raw output / Rerun Failed | Failure tutorial; restored expectation passed on rerun. |
| Rerun failures from a mixed suite | Tests → Rerun Failed | Mixed results; Results retains other rows, Raw output identifies the latest subset. |
| Run one named test | Test result row → right-click → Run test name | Single-test run; other rows can remain from earlier runs. |
| Check the whole project | Run → Project Actions | Project checks; Compile/Test report to Run, Analyze to Problems; Ruff/Mypy required missing packages. |
| Read diagnostics | Results → Problems | Next/Previous Problem switched files but did not reliably reach the diagnostic line. |
Panels, settings and help
| Task | Entry point | Guide or distinction |
|---|---|---|
| Open tools | Left/Right rails or Results buttons | Locations; launch button and content can be in different areas. |
| Hide/restore the Left column | View → Toggle Sidebar | Hides both Left content slots while keeping the tool rail; Bottom was unaffected. |
| Hide a docked area | Manage panel → Minimize | Reopen with rail/Results; tested Terminal and Console sessions were discarded, unlike completed Run output. |
| Detach Project or Execution | Manage panel → Open in Window | Dock in Workspace returns the tested detached window. |
| Inspect global preferences | Application Settings, toolbar gear | Settings; affects more than one project. |
| Inspect project options | Project Settings, status bar | Save and Cancel belong to the project sheet. |
| Ask about source code | AI Assistant, right rail | Assistant; check provider and context. |
| Inspect models/services | Ollama / Services, right rail | Installed Ollama models and Services; unavailable access is not an empty resource list. |
| Open lessons and book | Learn, left rail | Learn. |
| Identify version/build | Py Editor → About Py Editor | Help. |
| Check Developer ID updates | Py Editor → Check for Updates… | Only the no-update result was replayed. |
Keyboard combinations tested successfully
| Keys | Observed action | Context |
|---|---|---|
| Command-S | Save | Source editor; reopening retained the saved code. |
| Command-F | Find in current file | ACE focused; distinct from the project Find panel. |
| Command-G / Shift-Command-G | Next / previous search match | Wrapped between the two matches in the tested file. |
| Tab / Shift-Tab | Indent / outdent | At the start of a Python statement in ACE; added/removed four spaces. |
| Command-Z | Undo | ACE comment edit and menu-based duplication. |
| Shift-Command-Z | Redo | ACE comment edit. |
| Shift-Command-O | Go to File | Searched for and opened data.py. |
| Option-Command-O | Go to Symbol in Current File | Selected accuracy in model.py. |
| Command-E | Recent Files | Reopened model.py. |
| Shift-Command-] | Next editor tab | Wrapped from the last open SVG to the first README. |
| Shift-Command-[ | Previous editor tab | Returned from the first README to the last SVG. |
| Control-Command-S | Toggle Sidebar | Restored Left Project and Structure after menu-based hiding. |
| Return | Apply search or accept selection | Depends on focus; book search also requires Return. |
| Up, then Return | Recall and execute the previous shell command | Terminal at the shell prompt; verify the command before Return. |
Use the documented menu instead of a conflicting shortcut. Command-D removed a line in ACE rather than duplicating it. Format and preview keyboard attempts did not consistently perform their intended action. Additional menu bindings remain under review and are not presented here as tested shortcuts.