docs
code
community
mailing lists
downloads
blogs
bugs
safari bookshelf
workspace
Product Documentation
Komodo 5.2 Documentation
Table of Contents
Welcome to Komodo
Release Notes (IDE/Edit)
What's New
Detailed Changes
Known Issues
Installation Issues
Startup Issues
Editing Issues
Debugging Issues
Interactive Shell Issues
Linux Issues
Mac OS X Issues
Other Issues
Starting Komodo
Starting on Windows
Starting on Mac OS X
Starting on Linux
Installation Guide
Installing on Windows
Windows Prerequisites
Installing the Komodo License on Windows
Upgrading Komodo on Windows
Installing Komodo on Windows
Command Line Installation Options
Starting Komodo on Windows
Uninstalling Komodo on Windows
Installing on Mac OS X
OS X Prerequisites
Installing the Komodo License on OS X
Upgrading Komodo on OS X
Installing Komodo on OS X
Starting Komodo on OS X
Uninstalling Komodo on OS X
Installing on Linux
Linux Prerequisites
Installing the Komodo License on Linux
Upgrading Komodo on Linux
Installing Komodo on Linux
Starting Komodo on Linux
Uninstalling Komodo on Linux
Language Debugging Prerequisites
Source Code Control Integration Prerequisites
The Komodo Workspace
Start Page
Menus
Context Menus
Toolbars
Left Pane
Right Pane
Editor Pane
Bottom Pane
Managing Sidebars, Tabs and Panes
Enabling Full Screen Mode
Komodo's Sample Project
Open the Sample Project
Edit a Sample Program
Debug a Sample Program
Releases
License and Copyright
Support and Feedback
Documentation
ActiveState Community Site
Mailing Lists
Reporting Bugs
Feature Requests
ActiveState Technical Support
Comments and Feedback
Projects Sidebar
Displaying the Projects Sidebar
Creating Projects
Live Import
Opening Projects
Setting the Active Project
Adding Components to Projects
Project Display Settings
Saving Projects
Refreshing Project Status
Importing/Exporting via Packages
Importing from a File System
Project Source Code Control
Reverting Projects
Closing Projects
Deleting Projects
Project Properties
Toolbox
Displaying the Toolbox
Adding Components to the Toolbox
Exporting and Importing Toolbox Contents
Sharing Toolboxes
Files
Creating Files
Creating Files from Templates
Storing Files within a Project or the Toolbox
Creating an Open Shortcut
Exporting Files as Projects
Exporting Files to a Package
Opening Files
Go to File (Fast Open)
Opening Files with the Open/Find Toolbar
Opening Remote Files
Connecting to a Remove Server
Using Public Key Authentication
Navigating the Remote File System
Storing Remote Files in Projects or the Toolbox
Opening Mapped URIs
Switching Between Files
Comparing Files
Refreshing File Status
Source Code Control Files
File Properties and Settings
Properties
Source Control
Editing
Indentation
Preview
Printing Files
Printing Overview
Page Setup
Print to HTML File
Saving Files
Saving Files Remotely
Show Unsaved Changes
Reverting Files
Closing Files
Find and Replace
Match Highlighting
Incremental Search
Find Dialog
Regex Searches
Case Sensitivity
Match Whole Words
Multiline
Search Scope
Search and Replace Actions
Replace in Files
Confirming Changes
Confirm Replacements
Make Changes
Review and Undo
Find Results Tabs
Open/Find Toolbar
Function Search
Editing
Language Support
Syntax Coloring and Indentation
Background Syntax Checking
AutoComplete and CallTips
Perl AutoComplete
Python AutoComplete
Ruby AutoComplete
PHP AutoComplete
Tcl AutoComplete
XSLT AutoComplete
XML AutoComplete
Soft Characters
Viewing File as Another Language
Commenting Blocks of Code
Manipulating Code
Cutting and Copying Lines
Selecting and Dragging Lines
Repeating Keystrokes
Indenting Code
Reflowing Paragraphs
Formatting Code
Joining Lines
Converting Case
Transposing Characters
Literal Characters
Commenting Code
Cleaning Line Endings
Tabifying Code Regions
Rectangular Selection
Column Editing
Completing Words
Selecting Blocks of Code
Editor Display
Toggling Whitespace Display
Toggling Indentation Guides
Toggling Line Numbers
Toggling EOL Markers
Changing the Font Size
Toggling Font Width
Code Folding
Navigating Within Files
Moving to a Specific Line
Go to Definition
Using Bookmarks and Marks
Matching Braces
Detecting Changed Files
Preview in Browser
Editor Tab Display
Abbreviations
Inserting Snippets
Language-Specific Search Order
Adding New Abbreviations
History
Locations
History Navigation
Editor Hyperlinks
Go to Definition
URLs
Colors
Custom
Folders
Folder Options
Import from File System
Import Contents from Package
Export Contents to Package
Refresh Folder Contents Status
Adding Components to Folders
Exporting Contents as Project File
Renaming Folders
Source Control on Folder Contents
Deleting Folders
Snippets
Creating Snippets
Configuring Snippets
Using Snippets
Snippet Abbreviations
Snippet Options
Snippet Properties
Assigning Custom Icons to Snippets
Snippet Key Bindings
Tabstops
Creating Tabstops
Using Tabstops
Tabstop Examples
Macros
Creating Macros
Recording Macros
Writing Macros
Running Macros
Managing Macros
Macro Properties
Assigning Key Bindings to Macros
Assigning Custom Icons to Macros
Running Macros in the Background
Specifying Macro Triggers
Trigger Macro subject Variable
Macro Return Values
Vi Command Mode Macros
Macro API
Macro API Overview
JavaScript Macros
The scimoz Object
The document Object
The document.file Object
The doCommand Function
The open.URI Function
The findPart Function
The interpolate Function
The getWordUnderCursor Function
The runEncodedCommand Function
Python Macros
Creating a view object (XPCOM)
Opening a URI (XPCOM)
Interpolate a string (komodo.interpolate)
Get word under cursor (komodo.getWordUnderCursor)
Running a Komodo command (XPCOM)
Find a part (XPCOM)
Command ID List
Templates
Creating New Files from Templates
Custom Templates
Using Interpolation Shortcuts in Custom Templates
Project Templates
Storing Templates in a Project or the Toolbox
Template Options
Assigning Custom Icons to Templates
Template Key Bindings
Open Shortcuts
Open Shortcut Options
Open Shortcut Properties
Assigning Custom Icons to Open Shortcuts
Open Shortcut Key Bindings
URL Shortcuts
URL Shortcut Options
URL Shortcut Properties
Assigning Custom Icons to URL Shortcuts
URL Shortcut Key Bindings
Run Commands
Creating Run Commands
Simple Run Commands
Advanced Run Commands
Command Output Tab
Storing Run Commands in a Project or the Toolbox
Run Command Properties
Assigning Custom Icons to Run Commands
Run Command Key Bindings
Custom Toolbars and Menus
Creating Custom Toolbars and Menus
Custom Menu and Toolbar Options
Custom Menu and Toolbar Properties
Debugging
General Usage
Starting the Debugger
Multi-Session Debugging
Debugging Options
Global Options
General Options
Environment Options
CGI Environment Options
CGI Input Options
Storing Debug Configurations
Breakpoints and Tcl Spawnpoints
Breakpoint and Spawnpoint Management
Toggling Breakpoints
Toggling Spawnpoints
Go to the Source Code
Breakpoint Properties
Forcing a Break
Remote Debugging
When to use Remote Debugging
Listen for Remote Debugger
Check Listener Status
Multi-User Debugging
Mapped URIs for Remote Debugging
Debugger Proxy
Sending Input to the Program
Debugger Commands
Command Description
Debugger Stepping Behavior
Viewing the Debugging Session
Viewing Variables
Python, PHP and Tcl Variables
Perl Variables
XSLT Variables
Setting Watched Variables
Output Tab
HTML Preview Tab
Viewing the Call Stack
Watching Files
Detaching the Debugger
Stopping the Debugger
Debugging JavaScript
Understanding JavaScript Debugging
Configuring the JavaScript Debugger
JavaScript Debugging Process
Debugging Perl
Configuring the Perl Debugger
Starting a Komodo debugging session with perl -d
Enabling Break Now
Debugging Perl Remotely
Disabling Remote PDK Debugger
CGI Debugging
Configuring an IIS Web Server
Configuring an Apache Web Server
Starting a CGI Debugging Session
Debugging mod_perl
Debugging Python
Configuring the Python Debugger
Python Remote Debugging
Installing the Python Remote Debugger
Invoking the Python Remote Debugger
Running dbgpClient.py from the Command Line
Using dbgpClient Functions in Python Programs
Python Just-in-Time Debugging
Python CGI Debugging
Debugging PHP
Installing PHP
Local PHP Debugging
Configuring PHP Local Debugging
PHP Debugger Config Wizard
Starting Local Debugging
Remote PHP Debugging
Configuring PHP Remote Debugging
Starting Remote Debugging
Using xdebug_break()
Xdebug Logging
PHP Just-in-Time Debugging / Break on Exception
Common PHP Debugging Problems
Debugging PHP on OS X
Debugging PHP on 64-bit Linux
Zend Optimizer and Zend Studio Debugger
Debugging Ruby
Configuring the Ruby Debugger
Debugging Ruby Remotely
Setting a Break in your Ruby Code
Rubygems and RUBYOPT
Debugging Rails Applications
Debugging Tcl
Configuring the Tcl Debugger
Debugging Tcl Remotely
Installing the Remote Debugger
Invoking the Remote Debugger
Debugging XSLT
Using the XSLT Debugger
Using a Remote XML Input File
XSLT Stepping Behavior
Unit Testing
Creating and Editing Test Plans
Supported Test Frameworks by Language
Running a Test Plan
Importing Global Test Plans
HTTP Inspector
HTTP Inspector Overview
Starting the HTTP Inspector
Connecting the Browser
Inspecting the HTTP Data
Break on Request/Response
Rules
Interactive Shell
Stand-Alone Interactive Shell
Debugging with an Interactive Shell
Using the Interactive Shell
Setting Shell Preferences
Starting the Interactive Shell
Using Multiple Shells
Using AutoComplete and CallTips
Customizing Colors and Fonts
Viewing History
Stopping a Shell Session
Clearing the Shell Buffer
Python Interactive Shell
Debugging with the Python Shell
Tcl Interactive Shell
Debugging with the Tcl Shell
Perl Interactive Shell
Debugging with the Perl Shell
JavaScript Interactive Shell
Ruby Interactive Shell
Debugging with the Ruby Shell
Code Intelligence
Code Browser
Context Menu
Sorting
Locating Current Scope
Filtering Symbols
Sections List
Viewing the List
Selecting and Filtering
DOM Viewer
Navigating the DOM Tree
Filtering the DOM Tree
DOM Resources
Source Code Control
Using Source Code Control
SCC Toolbar, Menus and Output Tab
SCC Commands
File Status Icons
Refresh Status
SCC Checkout Wizard
Set the SCC handler and the checkout data
Customize the SCC checkout parameters
SCC Command line summary
Change Lists
Default Change Lists
Creating a New Change List
Change List Properties
Modifying the File List
Making a Patch
Configuring SCC Integration
Configuring CVS
Basic CVS Configuration
Configuring CVS with SSH
Configuring Subversion (SVN)
Basic SVN Configuration
Configuring SVN with SSH
Configuring Perforce (P4)
Basic Perforce Configuration
Configuring Preferences
Configuring SSH Support for CVS and Subversion
Configuring Putty on Windows
Using CVS with Putty on Windows
Using Subversion with Putty on Windows
Configuring CVS with Windows/Cygwin-SSH or Linux/SSH
Configuring Subversion with Windows/Cygwin-SSH or Linux/SSH
Regular Expressions
Rx Toolkit
Creating Regular Expressions
Adding Metacharacters to a Regular Expression
Setting the Match Type
Adding Modifiers to a Regular Expression
Evaluating Regular Expressions
Regular Expressions Overview
Match Results
Modifier Examples
Using Ignore Case
Using Multi-Line Mode
Using Single-Line Mode
Using Multi- and Single-line Mode
Using Verbose
Using Regular Expressions
Regular Expressions Primer
About this Primer
What are regular expressions?
Matching: Searching for a String
Literal Match
Wildcards
Escaping Metacharacters
Quantifiers
Question Mark
Asterisk
Plus
Number: '{N}'
Ranges: '{min, max}'
Quantifier Summary
Alternation
Grouping with Parentheses
Character Classes
Negated Character Classes
Anchors: Matching at Specific Locations
Substitution: Searching and Replacing
Modifiers
Modifier Summary
Python Regex Syntax
More Regex Resources
Perl Dev Kit Integration
Version 6 and 7
Versions 3.1 to 5.3
General Tab
Modules Tab
Files Tab
Version Tab
Library Paths Tab
Extra Tab
Interpolation Shortcuts
Interpolation Shortcut List
Interpolation Shortcut Syntax
Non-Bracketed Syntax
Bracketed Syntax
Basic Interpolation Shorcut Options
%(date)
%(ask)
%(path)
%(debugger)
%(pref)
Back-References
Preferences
Appearance
Code Intelligence Preferences
Debugger
Debugger Connection Options
Advanced Debugger Preferences
Directory Import
Editor
Key Bindings
Indentation
Smart Editing
Background Syntax Checking Preferences
Word Completion
Word Wrap
Configuring Edge Lines
Soft Characters
Line Cut/Copy
Configuring Folding
Save Options
Environment
Find
File Associations
Fonts and Colors
Fonts
Colors
Common Syntax Coloring
Language-Specific Coloring
Code Formatters
HTTP Inspector Preferences
Interactive Shell Preferences
Internationalization Preferences
Language Help Preferences
Language Configuration Preferences
JavaScript Configuration
Perl Configuration
PHP Configuration
Python Configuration
Ruby Configuration
Tcl Configuration
HTML Configuration
XML Catalog Configuration
Mapped URIs
New Files
Printing
Projects and Workspace
Server Configuration
Shared Support
Configuring the Common Data Directory
Sharing .tip, .pcx and .pdx Files
Sharing Preferences
Source Code Control Preferences
CVS Integration
Perforce Integration
Subversion Integration
Web and Browser
Windows Integration
Tutorials
Feature Showcase
Live Projects
Remote Files
Custom Toolbars
Directory Shortcut
Export/Import a Project Package
Filesystem in Project
Custom Keybindings
Custom Template in a Project
Preview Cascading Style Sheets
Simple Snippets
Create a Prompting Snippet
Code Completion Snippet
Break on a Variable Value
Debug an XSLT Program
Fast String Finder
Incremental Searching
The Open/Find Toolbar
Installing Extensions
Using SCC
Google Run Command
Using Interactive Shells
Test a Regular Expression
Perl Tutorial
Perl Tutorial Overview
Installing Perl Modules
Opening Perl Tutorial Files
Analyzing the Perl Program
Run the Program to Generate Output
Debugging the Perl Program
More Perl Resources
PHP Tutorial
PHP Overview
Opening the PHP Tutorial Project
Analyzing the PHP Tutorial File
Running the PHP Program
Debugging the PHP Program
More PHP Resources
Python Tutorial
Python Overview
Opening the Python Tutorial Project
Analyzing the Python Files
Running the Python Program
Debugging the Python Program
Explore Python with the Interactive Shell
More Python Resources
Ruby Tutorial
Ruby Tutorial Overview
Opening the Ruby Tutorial Files
Analyzing the Ruby Program
Running the Ruby Program
Debugging the Ruby Program
More Ruby Resources
Rails Tutorial
Rails Tutorial Overview
Rails Tutorial Prerequisites
Rails Tutorial Scenario
Creating the Rails Project
Creating the Database
Editing the database.yml file
Running the Create Databases Macro
Creating a Scaffold
Migration
Rails Testing Basics
Running Model Tests in Komodo IDE
Running Tests in Komodo Edit
Running Controller Tests
Starting the Rails Application Server
Mongrel Issues
Testing the Application
Installing Plugins
Adding Pagination
Testing Pagination
Using Pagination
Adding In-Place Editing
Adding Borrower Data
Handling Checkouts
Rails Resources
JavaScript Tutorial
JavaScript Tutorial Overview
Opening the JavaScript Tutorial Files
Analyzing the JavaScript Program
Debugging the JavaScript Program
Adding Links
More JavaScript Resources
XSLT Tutorial
XSLT Tutorial Overview
Opening the XSLT Tutorial Project
Analyzing the XSLT Program
Running the XSLT Program
Debugging the XSLT Program
More XSLT Resources
Run Command Tutorial
Run Command Tutorial Overview
Running Simple Commands
Using Advanced Options
Saving and Rerunning Commands
Using Interpolation Shortcuts
Prompting for Input
Parsing Command Output
Komodo Reference
Komodo FAQ
Key Binding Schemes
Windows/Linux Key Bindings
OS X Key Bindings
Emacs Key Bindings
Vi Key Bindings
Custom Vi Commands
Sharing Key Binding Schemes
Komodo JavaScript API Reference
ko
ko.abbrev
ko.browse
ko.commands
ko.dbg
ko.dbg.breakpoints
ko.dbg.invocation
ko.dialogs
ko.dragDrop
ko.dragDrop.dragObserver
ko.eggs
ko.filepicker
ko.fileutils
ko.formatters
ko.help
ko.history
ko.hyperlinks
ko.inputBuffer
ko.interpolate
ko.isearch
ko.keybindings
ko.keybindings._commandParams
ko.keybindings.activeCommands
ko.keybindings.command2key
ko.keybindings.key2command
ko.keybindings.keyTree
ko.launch
ko.launch.find2_dialog_args
ko.lint
ko.logging
ko.logging.LoggerMap
ko.macros
ko.main
ko.markers
ko.mozhacks
ko.mru
ko.open
ko.printing
ko.projects
ko.run
ko.run.output
ko.scc
ko.scc.logger
ko.sleuth
ko.statusBar
ko.stringutils
ko.tabstops
ko.tabstops._parseResultsById
ko.toolboxes
ko.toolboxes.shared
ko.toolboxes.shared.viewMgr
ko.toolboxes.shared.viewMgr.view
ko.trace
ko.uilayout
ko.uriparse
ko.views
ko.widgets
ko.window
ko.windowManager
ko.workspace
xtk
xtk.clipboard
xtk.color
xtk.domutils
xtk.domutils.tooltips
xtk.logging
XML Catalogs
Using XML Catalogs
Creating XML Catalogs
XML Catalog Resources
User-Defined Languages
Introduction
Luddite Language Overview
A Sample
Luddite in a Nutshell
Families
Styles
UDL Keywords
Pattern Variables
States and Transitions
The Initial State
Specifying State Transitions
Include, Upto, and EOF Conditions
Redo and Lookahead
Preventing Keyword Promotion
Pattern Syntax
Pushing States
Handling Newlines
Supporting Arbitrary Delimiters
Disambiguation
Specifying Folding
Compiling and Installing
Samples
Luddite Reference
Keywords
Style Names
Terms
Concepts