Py Editor MAC USER MANUALDeveloper ID · 27.0.2 (32)
REVIEWED EDITION · Developer ID 27.0.2 (32)

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.

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.