Komodo

Where do I post questions about Komodo?

Question: 

I can't find a place to post my Komodo questions any longer. What happened? Should I post in some other forum?

Answer: 

The Komodo Forums have moved to a shiny new home!

Please head over forum.komodoide.com, sign up to get a fresh user ID, and post your topics!

Off-topic posts entered in the Website forum, the Licensing forum, or the individual Languages forums cannot be transferred to the new Komodo forum. Another forum should only be used if your questions directly involve those topics.

Komodo 8.5 features

Product: Komodo | tags: Komodo 8.5 features

This is an overview of the major items included in the Komodo 8.5 release.

Download

Komodo 8.5 was officially released on September 10th, 2013. You can download it here:
http://www.activestate.com/komodo-ide/downloads
http://www.activestate.com/komodo-edit/downloads

Features

  • Code Refactoring: Provides these smart code-transformation capabilities for PHP, Perl, Python, Ruby, JavaScript and Node.js:

    • Rename Variable: quickly and easily rename variables in the editor. It uses inline markers and multiple cursor selections to easily change the name of a code variable.
    • Rename Class Member: similar to rename variable, but works on all instances and across multiple files, with an added confirmation step so you can verify and select the instances you want replaced.
    • Method Extraction: move parts of your code into a new function. Any variables used in the selected text are refactored into function arguments and are then passed to the extracted method.

  • Abyss Theme: A new dark theme for the Komodo user interface has been added. This theme affects Komodo user interface elements outside of the main editor (i.e. different from Komodo color schemes which only affect the main editor colors). You can enable Abyss in the Komodo Appearance preferences.

  • PHP 5.5: Komodo has been updated to support PHP 5.5, with a new Xdebug module (for debugging and code profiling), updates for the two new keywords (yield, finally) and updated code intelligence to provide the latest API data for PHP 5.5.

  • Multiple Selections: In addition to Komodo's rectangular (column) editing, you can now have multiple caret positions in the editor. Typing or editing commands will be reflected at all caret locations. Use the editor's right click contextual menu and choose the 'Select > Multiple Selection - Add ', then you can use Ctrl+Click (Cmd+Click on the Mac) to place additional carets and selections.

  • Button Menu: Komodo can now be configured to use a collapsed toolbar button menu, instead of a full menu bar (does not apply to Mac). This can be useful when you want to maximize your vertical editing space. A bonus of this feature is that the last used menu items will also be displayed in the top-level of the button menu, making it quick and easy to run the same menu command again.

  • Python Symbols: Due to popular demand, we've now added two-character length triggering for Python symbols in Komodo's code intelligence completions. For example, when you type "im" you'll now see completions for "import" as well as any local variables, functions, classes and builtins that have a name starting with "im".

  • Code Intelligence Out-Of-Process: Komodo's code intelligence system (code scanning, calltips, completions, goto definition, refactoring, etc...) is now handled by an external process. Mostly you won't notice any changes in functionality, but this does boost Komodo's responsiveness whilst editing.

  • Mac Improvements: Drawing is smoother and Komodo can draw using the integrated graphics card. There were some edge cases on Retina screens where drawing glitches could occur in the editor component, leaving unwanted artefacts - this has now been fixed. Komodo can now work with the integrated graphics card - which can lead to improved battery life on laptops.

  • Performance: Various performance tweaks were made to Komodo 8.5 to improve the editing performance, as well as improving the search speed, syntax checking times and general responsiveness of Komodo.

  • Other Mentionables

    • Side pane scrollbars now fade out when they are not in use
    • Open Files now includes additional sorting and grouping options
    • Font Quality (anti-aliasing) preferences were added (Windows and Mac)
    • Komodo now updated to use the Mozilla 24, Scintilla 3.34 and Python 2.7.5

Previous releases

Which directories will Komodo's Code Intelligence scan?

Question: 

How does Komodo's Code Intelligence system determine the directories to scan for code information?

Answer: 

Komodo's code intelligence system will scan multiple directories. Generally these are the locations Komodo will scan:

  • Current directory - any files residing in the same directory of the current editing file.
  • Project directory - the base directory of the project is recursively scanned (can be disabled by the "Include all files and directories from the project base directory" preference).
  • Additional include directory preferences - Any directory that has been added to the "Languages > Lang > Include Directories" preferences are scanned recursively.
  • Language interpreter include directories - any directories included by the language interpreter (i.e. language executable), such as PHP's php.ini settings, or Python's sys.path settings.
  • API Catalogs - any API catalogs that have not yet been scanned.
  • Stdlib - the language stdlib, if it's the first Komodo start, or the stdlib has changed.

The directories scanned and included are slightly different between languages, for example PHP and JavaScript use Import Everything handling, which means that there is no direct "import x" used to control what code the file has access to, but instead it has the ability to access all code, whereas other languages like Python explicitly import the modules they wish to use.

Komodo indentation settings

Question: 

How does Komodo determine indentation settings?

Answer: 

There are a number of preferences that have an affect on Komodo's indentation behaviour. These preferences can be changed on a global, project and file level (3 different places), with the per-file preferences having the highest priority, global preferences the lowest priority.

The most important setting is:

  • Editor > Indentation > Allow file contents to override Tab and Indentation settings
    With this enabled, when Komodo first opens the file, Komodo will determine the indentation from the existing file contents - which will then override any other indentation setting you have set in your preferences. Note that Komodo will remember these determined indentation settings after you open/close a file (so it doesn't have to determine it again next time), so changing the global/project indentation settings may not affect these determined/remembered indentation settings, in such a case you'll need to edit the per-file indentation preferences.

When Komodo is not determining the indentation from the file contents (i.e. preference above is disabled), or when creating new files, Komodo will then use the following preferences to set indentation:

  • Editor > Indentation > Prefer Tab characters over spaces
    When performing indentation (i.e. tab, auto-indentation), Komodo will use this setting to determine if it uses a real tab character, or a number of space characters (indent width is affected by settings below).
  • Editor > Indentation > Number of spaces per indent
    When "Pref tab over spaces" is disabled, this sets the number of spaces inserted for each Komodo indentation operation. When "Pref tab over spaces" (above) is enabled and this value is less than the tab width (below), you'll get indentation that uses a mix of tab and space characters.
  • Editor > Indentation > Width of each Tab character
    This is the width used when displaying a raw tab "\t" character (i.e. number of columns).

When the Ruby debugger bails out with an obscure error message (Linux 64-bit)

Question: 

When I try to use the Ruby debugger, on a 64-bit Linux machine, stops after giving this error message:

Error: cannot load such file --
/home/lorned/Komodo-IDE-8/lib/support/dbgp/rubylib/1.9/../lib/trace_nums19

What should I do?

Answer: 

So trace_nums.so is a Ruby C-extension that is used by the debugger, and
normally can be completely ignored. It was a bit puzzling why Ruby wasn't
loading this file, as it was clearly present and on Ruby's library load
path.

I got the customer who reported this problem to fire up irb, cd'ed to
the directory containing trace_nums.so, and run `require 'trace_nums19'`.
He reported this error message:

irb(main):002:0> require './trace_nums19'
LoadError: libruby.so.1.9: cannot open shared object file: No such file or
directory -
/home/abc/Komodo-IDE-8/lib/support/dbgp/rubylib/1.9.3/x86_64/trace_nums19.so
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from (irb):2
        from /usr/bin/irb:12:in `<main>'

The customer had /usr/lib/libruby-1.9.1.so installed, but not libruby-so.1.9
I see that rvm installs libruby.so.1.9.1 in each directory, and then
creates symbolic links libruby.so and libruby.so.1.9 pointing to it, so the
libruby-so.M-N form looks correct. But this naming is inconsistent -- Python
puts the version numbers before the ".so" extension, while Perl and Ruby
typically put them after.

Anyway, the simple fix was to run

cd /usr/lib
sudo ln -s libruby-1.9.1.so libruby.so.1.9

Why does Komodo tell me that "Komodo does not Support execution of <enter language here>"? I know it does.

Question: 

Why is Komodo IDE telling me it does not support Python (for example) debugging when I know it does?

Answer: 

This usually means that your Komodo install isn't configured properly for the supported language.

Try checking the following to see if it helps:

  • View > Start Page > Check Configuration: Make sure there are green check marks on your language.
  • The file type (bottom of screen, language popup list).
  • Preferences > Languages > your language > "Use this interpreter": "Browse" to the interpreter you want to use.

There is a known issue with Windows and Cygwin that overrides anything in your path. If you have done the above, you have Cygwin isntalled and on your system path, and debugging is still not working, you can do the following:

  • Preferences > Environment > Double click "PATH" in the "Startup environment variables" section
  • Double click "PATH" in the bottom section now
  • Click the little double down arrows in the dialog that appears
  • Find any references to Cygwin and delete it from the PATH

This will remove Cygwin from Komodo's reference of the system path and has no effect on your computer's system path. Remember you did this though! It will block Komodo from seeing other system path changes you may want Komodo to detect later on.

Cheers,

- Carey

I'm stuck in Full Screen mode on OS X! Help!

Question: 

I entered full screen mode through the Komodo menu and now now I'm stuck. How do I get out?

Answer: 

If you are stuck in Komodos Full Screen mode and you can't seem to turn it off, we have a work around for you until the issue is resolved properly.

- Cmd + Q to exit Komodo
- open the following file in a text editing program: /Users/*username*/Library/Application Support/KomodoIDE/8.0/prefs.xml
- search the "startupFullScreen" preference and change the 1 to 0
- DELETE the prefs.xmlc file (it's a back and will over write the change you just made)
- start Komodo

Once you've accomplished this you can assign a keybinding to full screen mode through Preferences > Editor > Key bindings: Search "full screen" and assign whichever key binding you like to it.

This will not be an issue for long.

- Carey

Komodo Tab Side Panes

Question: 

What happened to my tabs in the side Pane? Why do they look like massive columns?

Answer: 

With the slick new updates to the Komodo IDE UI, a problem has arisen when you switch Komodo IDE 8a side pane tabs to "Icon in tabs" under Preferences->Appearance->Left/Right pane layout.

This gets Sync'd to your Komodo IDE 7 profile as well. Komodo IDE 7 has no idea what you're talking about and reacts accordingly; it creates tabs the size of index fingers (window height and personal anatomy dependent).

This is easily remedied. First turn off Sync in Komodo IDE 8a once you have imported all your settings. Then simply revert the changes to your prefs. Preferences is under the Komodo menu option on OS X and under Edit in Linux and Windows.

Have a great holiday!

- Carey

Komodo 8.0 features

Product: Komodo | tags: komodo 8.0 release features

This is an overview of the major items included in the Komodo 8.0 release.

Download

Komodo 8 was officially released on March 7th, 2013. You can download it here:
http://www.activestate.com/komodo-ide/downloads
http://www.activestate.com/komodo-edit/downloads

Features

  • User Interface Styling: We've revamped the Komodo user interface, you'll notice a new Komodo logo, the toolbars, statusbars and side panes have all been updated, the editor schemes have been tweaked, and we'll continue to improve and modify the styling throughout the Komodo 8 release series. We've also kept around the old Komodo 7 styling for those that prefer a dash of color - simply choose the Classic icon set in Komodo's appearance preferences, or try one of the other myriad of new icon sets we now include in Komodo.

  • Floating Side Panes: You now get the ability to detach individual side pane tabs (Places, Code Browser, Debug, Find Results, Breakpoints, etc...) into their own separate window, so you can now put your debugging pane on a completely separate monitor screen (if you're lucky enough to have multiple monitors). Just use the mouse and right-click on the tab/icon you wish to move and you'll get the appropriate context menu.

  • Mini-map: Sitting right next to your editor scrollbar, the mini-map gives a high-level (10,000 foot) view of your code. It gives just enough details to allow you to quickly scroll and re-position the editor on a targeted section of code.

  • Open Files Side Pane: There is a new widget in the left pane that groups and lists all of the files you have opened. It groups the files by language and then sorts them - this is really useful if you have a lot of opened files. You can also hide the editor tabs completely, and just use the Open Files pane, giving you more vertical editing space.

  • Retina Support - Mac OS X: Retina support has been enabled in Komodo 8 - providing crystal clear high definition fonts for both the main editor and the interface. Combining the new Retina support, native full screen support and the updated Komodo interface - it's awesome to be a Mac developer using Komodo.

  • Auto Abbreviation Snippets: Komodo now provides automatic triggering for a selected group of toolbox abbreviations (snippets). This makes developing code faster, smarter and easier, with the user in complete control of the content being inserted. The below screenshot shows a Python auto abbreviation after typing "class " (note the space) and then tabbing between the different positions.

  • Conditional Snippets: It's now possible to use JavaScript code within a snippet, so you can programatically determine the snippet contents at runtime. Komodo allows the use of Embedded JavaScript (EJS) inside of the snippet text, which will be dynamically executed inside of Komodo's JavaScript environment, and as such it has full access to the Komodo JavaScript API.

  • Fast Open Shortcuts: When using the fast open dialog, you can now make a shortcut to frequently used files and directories. For example, given the directory "/some/long/path/to/my/code", you can make a shortcut called "code", then when using the fast open dialog, simply typing "code/" will now show you the files of this directory without the need to type out that full path.

  • New Languages

    • Laravel Blade - a PHP templating language
    • Sass - syntax checking added
  • Updated Platform: Komodo has received a number of updates to it's underlying code base. Komodo now uses Mozilla 18, Python 2.7 and Scintilla 3.2.4, Cocoa 64-bit (on the Mac), as well as other updated internal components. All of this means:

    • Better performance
      • faster startup time
      • uses less CPU and memory resources
      • find in files now 2x faster than Komodo 7
    • Better hardware support - by detecting and supporting modern computer systems
    • A better browser preview - supporting the latest and greatest web technologies

Komodo IDE and Right-to-Left (RTL) Languages

Question: 

Will Komodo work with Farsi, Hebrew or some Asian languages that are read right to left?

Answer: 

Komodo unfortunately does not work with right-to-left languages, as mentioned in our Komodo IDE release notes, due to a limitation in the text editor component.