<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://community.activestate.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>ActiveState Community Site - Some thoughts on how to further improve the great Komodo IDE - Comments</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide</link>
 <description>Comments for &quot;Some thoughts on how to further improve the great Komodo IDE&quot;</description>
 <language>en</language>
<item>
 <title>Thanks for the update</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide#comment-5424</link>
 <description>&lt;p&gt;Thanks for the update, Eric(and for the fix of course). I&#039;m looking forward Komodo IDE 4.4 and I&#039;m hoping you&#039;ll have the time to fix more bugs from the list for it.&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;br /&gt;
Bozhidar Batsov a.k.a. Lord Bad :)&lt;/p&gt;
</description>
 <pubDate>Thu, 22 May 2008 12:16:19 -0700</pubDate>
 <dc:creator>Lord_Bad</dc:creator>
 <guid isPermaLink="false">comment 5424 at http://community.activestate.com</guid>
</item>
<item>
 <title>I remembered a bug being</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide#comment-5381</link>
 <description>&lt;p&gt;I remembered a bug being filed for side-by-side diffs quite awhile back ...&lt;br /&gt;
&lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=20732&quot; title=&quot;http://bugs.activestate.com/show_bug.cgi?id=20732&quot;&gt;http://bugs.activestate.com/show_bug.cgi?id=20732&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Just a Komodo user&#039;s comment here ... Honestly, it&#039;s probably better for a Komodo developer just to drop a shortcut to their own favorite diff tool in the Toolbox. (Getting a diff tool right is, of course, a whole project in itself.) My favorite diff tool is SourceGear&#039;s DiffMerge, which is a free download for Windows, Linux and OS X.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.sourcegear.com/diffmerge/&quot; title=&quot;http://www.sourcegear.com/diffmerge/&quot;&gt;http://www.sourcegear.com/diffmerge/&lt;/a&gt;&lt;/p&gt;
</description>
 <pubDate>Thu, 15 May 2008 05:43:51 -0700</pubDate>
 <dc:creator>bcorfman</dc:creator>
 <guid isPermaLink="false">comment 5381 at http://community.activestate.com</guid>
</item>
<item>
 <title>One request done for 4.4</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide#comment-5380</link>
 <description>&lt;p&gt;Hey Lord Bad, we haven&#039;t forgotten the list, just been working on a mess&lt;br /&gt;
of different items.&lt;/p&gt;
&lt;p&gt;Bug &lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=74487&quot; title=&quot;http://bugs.activestate.com/show_bug.cgi?id=74487&quot;&gt;http://bugs.activestate.com/show_bug.cgi?id=74487&lt;/a&gt; is now fixed -- this&lt;br /&gt;
is the one where when you type something like&lt;/p&gt;
&lt;pre class=&quot;geshifilter&quot;&gt;@array.each do&amp;lt;|&amp;gt;&lt;/pre&gt;&lt;p&gt;
Komodo will place &#039;end&#039; on the line underneath.  That fix will be out&lt;br /&gt;
in the next 4.4 alpha (&quot;&amp;lt;|&amp;gt;&quot; denotes the cursor position).&lt;/p&gt;
</description>
 <pubDate>Wed, 14 May 2008 15:20:02 -0700</pubDate>
 <dc:creator>ericp</dc:creator>
 <guid isPermaLink="false">comment 5380 at http://community.activestate.com</guid>
</item>
<item>
 <title>I&#039;ve added support for auto-insert of &#039;end&#039; after &#039;do&#039;</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide#comment-4666</link>
 <description>&lt;p&gt;Hey, Mr. Bad,&lt;/p&gt;
&lt;p&gt;Please see &lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=74487&quot; title=&quot;http://bugs.activestate.com/show_bug.cgi?id=74487&quot;&gt;http://bugs.activestate.com/show_bug.cgi?id=74487&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It&#039;s a big enough change that it needs a review before getting checked in.&lt;/p&gt;
&lt;p&gt;If you can apply the patch and let me know if it works, great.  Otherwise&lt;br /&gt;
I&#039;ll send you an updated koRubyLanguage.py and get you to try it out.&lt;/p&gt;
</description>
 <pubDate>Sat, 15 Mar 2008 15:45:34 -0700</pubDate>
 <dc:creator>ericp</dc:creator>
 <guid isPermaLink="false">comment 4666 at http://community.activestate.com</guid>
</item>
<item>
 <title>More thoughts on the ruby remarks</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide#comment-4009</link>
 <description>&lt;p&gt;Hello, Eric,&lt;br /&gt;
Thanks for the quick response. I was very pleasantly surprised by your desire to respond to a user&#039;s feedback. Many companies ignore their products users totally, that&#039;s why I wrote my thoughts on the community forum instead of submitting them as bugs directly. Anyways - I&#039;ll know better for the future.&lt;/p&gt;
&lt;p&gt;About your comments...&lt;/p&gt;
&lt;p&gt;I totally agree about the numbers part. I thought that things were connected with floating point numbers, but your point on the issue of style(no magic number floating around) is even stronger argument for them to remain the way they are.&lt;/p&gt;
&lt;p&gt;About the soft char &quot;|&quot; - it should be considered soft not only after a &quot;{&quot;, but also after a &quot;do&quot;. I&#039;ll add it as a comment in the bug.&lt;/p&gt;
&lt;p&gt;About adding some default var name between || - I was thinking this to optional. You pop CI with ctr+j for example and you see &quot;do&quot;, &quot;do ||&quot; and &quot;do |item|&quot; for instance. This adds some extra lines to CI list though so doing &quot;|&quot; after &quot;do&quot; will probably be enough to avoid clutter in CI list of suggestions.&lt;/p&gt;
&lt;p&gt;- please, revisit this old &lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=41356&quot;&gt;bug&lt;/a&gt;. It would be very nice to have this feature.&lt;/p&gt;
&lt;p&gt;Thanks again for considering my feedback and suggestions.&lt;/p&gt;
</description>
 <pubDate>Mon, 28 Jan 2008 05:24:51 -0800</pubDate>
 <dc:creator>Lord_Bad</dc:creator>
 <guid isPermaLink="false">comment 4009 at http://community.activestate.com</guid>
</item>
<item>
 <title>Focusing on point 4 (ruby suggestions)</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide#comment-4005</link>
 <description>&lt;p&gt;Bozhidar, that is excellent feedback.  Thanks a great deal.&lt;/p&gt;
&lt;p&gt;Addressing each point...&lt;/p&gt;
&lt;p&gt;* Numeric constant code-completion&lt;/p&gt;
&lt;p&gt;&amp;gt; 4. Although the completion of Komodo is one of the best in business, I&lt;br /&gt;
&amp;gt; noticed some problems in it - particularly for ruby. Notions like&lt;br /&gt;
&amp;gt; 10.times seem to unrecognized for example. I think that | should be&lt;br /&gt;
&amp;gt; added to the soft characters for ruby as well, but enough of that, I&#039;m&lt;br /&gt;
&amp;gt; deviating from my main line of thoughts. What I wanted to say is that&lt;br /&gt;
&amp;gt; although the code assist is very good it need a little polish.&lt;/p&gt;
&lt;p&gt;The reason why we don&#039;t present a dropdown when you type &quot;10.&quot; is&lt;br /&gt;
that it would annoy people trying to enter a floating-point constant.&lt;br /&gt;
If you press Ctrl-J (Windows/Unix) after the &quot;.&quot; you&#039;ll get the&lt;br /&gt;
menu.  We do present a dropdown after a second period, as in &quot;10.0.&quot;,&lt;br /&gt;
because the second dot is not ambiguous.&lt;/p&gt;
&lt;p&gt;As a coding style issue, if you assign 10 to a constant or variable,&lt;br /&gt;
you&#039;ll get the dropdown on &quot;.&quot;, and you&#039;ll have one less &quot;magic number&quot;&lt;br /&gt;
in your code.  On the other hand, we _could_ add a preference to present&lt;br /&gt;
the menu on the first period, but we try to avoid adding too many prefs.  There&lt;br /&gt;
are other IDEs out there I&#039;d rather &amp;lt;cough&amp;gt;ecl&amp;lt;cough&amp;gt; not name&lt;br /&gt;
which have tons of prefs.&lt;/p&gt;
&lt;p&gt;* Soft char bar&lt;/p&gt;
&lt;p&gt;Soft characters for &quot;|&quot; immediately after a &quot;{&quot; or &quot;do&quot; is a great idea.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=74485&quot; title=&quot;http://bugs.activestate.com/show_bug.cgi?id=74485&quot;&gt;http://bugs.activestate.com/show_bug.cgi?id=74485&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;* do: add an end&lt;/p&gt;
&lt;p&gt;&amp;gt; - when a developer types &quot;do&quot; end should be auto inserted. Currently&lt;br /&gt;
&amp;gt; this is not the case. Examle arr = [1, 2, 3] arr.each do end&lt;/p&gt;
&lt;p&gt;&amp;gt; Currently when I type &quot;do&quot;, the cursor marker indents properly but no&lt;br /&gt;
&amp;gt; &quot;end&quot; is added so I have to write it manually which is tedious.&lt;/p&gt;
&lt;p&gt;I&#039;ve been doing more Rails work lately, and completely agree.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=74487&quot; title=&quot;http://bugs.activestate.com/show_bug.cgi?id=74487&quot;&gt;http://bugs.activestate.com/show_bug.cgi?id=74487&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;gt; It would be even better if besides &quot;end&quot; typind &quot;do&quot; would add&lt;br /&gt;
&amp;gt; something like |item|, since code blocks are generally used with yield&lt;br /&gt;
&amp;gt; passing value to them.&lt;/p&gt;
&lt;p&gt;&amp;gt; arr = [1, 3, 4]&lt;br /&gt;
&amp;gt; arr.each do |item|&lt;br /&gt;
&amp;gt; print item, &quot; &quot;&lt;br /&gt;
&amp;gt; end&lt;/p&gt;
&lt;p&gt;&amp;gt; Adding an |item| to single line blocks like&lt;/p&gt;
&lt;p&gt;&amp;gt; arr.each { |item| print item, &quot; &quot; }&lt;/p&gt;
&lt;p&gt;&amp;gt; would be valuable as well. Since in Ruby the analysis about what is&lt;br /&gt;
&amp;gt; method and what is not will probably be far from trivial, maybe it&lt;br /&gt;
&amp;gt; would be good idea if methods that can take blocks as arguments showed&lt;br /&gt;
&amp;gt; in the completion tool tip with or without a block associated with&lt;br /&gt;
&amp;gt; them and them you select &quot;each&quot; with a block, the block will be&lt;br /&gt;
&amp;gt; appended after the method call.&lt;/p&gt;
&lt;p&gt;I&#039;m not adding a bug yet.  Features like these have to be somewhat&lt;br /&gt;
universal.  You&#039;ll notice we never insert &quot;standard&quot; variable names,&lt;br /&gt;
because having to change one name for another can be more annoying&lt;br /&gt;
than having to type in your desired name the first time around.&lt;/p&gt;
&lt;p&gt;&amp;gt; I realize stuff like that can added by everyone on their own with say&lt;br /&gt;
&amp;gt; snippets, but it&#039;s pretty standard construct and most Ruby IDE&#039;s would&lt;br /&gt;
&amp;gt; have it built in their code assist.&lt;/p&gt;
&lt;p&gt;Definitely have a look at our snippets with tab stops.&lt;/p&gt;
&lt;p&gt;&amp;gt; -methods like attr_reader, attr_writer, attr_accessor are not auto&lt;br /&gt;
&amp;gt; completed, though they are very widely used in class definitions.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=74491&quot; title=&quot;http://bugs.activestate.com/show_bug.cgi?id=74491&quot;&gt;http://bugs.activestate.com/show_bug.cgi?id=74491&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;gt; -same goes for methods for test cases like assert_equal() and so on.&lt;/p&gt;
&lt;p&gt;That&#039;s due to a limitation of the Ruby code-completion engine.  It&#039;s a&lt;br /&gt;
known problem, but I couldn&#039;t find another bug on it, so I added this one:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=74492&quot; title=&quot;http://bugs.activestate.com/show_bug.cgi?id=74492&quot;&gt;http://bugs.activestate.com/show_bug.cgi?id=74492&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;gt; Is code intelligence working only for methods from the Kernel module&lt;br /&gt;
&amp;gt; and methods from the current project?&lt;/p&gt;
&lt;p&gt;No, it follows &#039;require&#039; and &#039;include&#039; statements, but doesn&#039;t handle&lt;br /&gt;
includes in included modules.&lt;/p&gt;
&lt;p&gt;&amp;gt; -there is no code assist for instance, class and global variables.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=65403&quot; title=&quot;http://bugs.activestate.com/show_bug.cgi?id=65403&quot;&gt;http://bugs.activestate.com/show_bug.cgi?id=65403&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;gt; Also local variable seem to be added to the code assist without a&lt;br /&gt;
&amp;gt; notion of the scope in which they are valid. For example :&lt;/p&gt;
&lt;p&gt;&amp;gt; class SomeClass&lt;br /&gt;
&amp;gt; end&lt;/p&gt;
&lt;p&gt;&amp;gt; some_var = 5&lt;/p&gt;
&lt;p&gt;&amp;gt; If I return to the body of the class and start typing so.. the code&lt;br /&gt;
&amp;gt; assist will display a prompt with &quot;some_var&quot; in it, though the&lt;br /&gt;
&amp;gt; variable is non existing in the scope of the class definition.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://bugs.activestate.com/show_bug.cgi?id=74493&quot; title=&quot;http://bugs.activestate.com/show_bug.cgi?id=74493&quot;&gt;http://bugs.activestate.com/show_bug.cgi?id=74493&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reporting all these, and please feel free to add&lt;br /&gt;
new bugs in the future.  A separate bug on each request&lt;br /&gt;
or breakage is easier for us to deal with.&lt;/p&gt;
</description>
 <pubDate>Sun, 27 Jan 2008 16:55:10 -0800</pubDate>
 <dc:creator>ericp</dc:creator>
 <guid isPermaLink="false">comment 4005 at http://community.activestate.com</guid>
</item>
<item>
 <title>Thanks for the response, my thoughts continued</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide#comment-4000</link>
 <description>&lt;p&gt;Thanks for the super quick response on a weekend day. It is very nice to see for a change that a company takes some time to examine feedback from its products users.&lt;br /&gt;
I&#039;ll now comment on the points of your reply and more specifically on the version control diffs:&lt;/p&gt;
&lt;p&gt;1. Perhaps a total rewrite of the project management system would be one of the great new features in Komodo 5, but     for now file-type -&amp;gt; icon mapping and perhaps some more projects templates will suffice. Currently only 3 project templates are being shipped with the Komodo. There are many other web frameworks, besides rails after all and many developers using them. &lt;/p&gt;
&lt;p&gt;2. The search improvements for Komodo 4.3 are great news. I&#039;d recommend you to remove the &quot;find function&quot; from the code menu and add it to the unified search as well. Generally everyone expects to find all the search functionality in one place. Btw, when is Komodo 4.3 slated for release?&lt;/p&gt;
&lt;p&gt;3. Diffs. What I meant when I said that the diff in Komodo are basic is that they look just as the output of the diff -u command(and I guess that&#039;s exactly the case since the source control has an section named diff options). This is perfectly sufficient for someone with a experience in diff and patch, but new developers tend to be frustrated by such comparison between files. Most newer IDE&#039;s present the diff info in two side by side frames for the two versions of the file. The removed content in the one shows greyed for example, the new in some other color and the intersection of the code is of the same color. Some tools like smart cvs, meld, eclipse&#039;s version control plugin even show arrows from the old file to the new one showing where changes occurred. Personally I think that this is an overkill, but nevertheless even if Komodo&#039;s diffs remain in a single frame I think that their representation should be improved for the sake of clarity and of course to attract more customers acustommed to using a more descriptive diff info. If I were to implement it I&#039;d chose a single frame approach with the lines of source code from the previous revision colored grey and scratched with a thin line and the new code colored green with the intersection colored black(color scheme like always will be adjustable, I just like those colors). Depending only on a color scheme makes things more intuitive then depending on pluses and minuses.&lt;/p&gt;
&lt;p&gt;4. Could you forward to Eric some other remarks about the Ruby support:&lt;br /&gt;
- when a developer types &quot;do&quot; end should be auto inserted. Currently this is not the case. Examle&lt;br /&gt;
arr = [1, 2, 3]&lt;br /&gt;
arr.each do&lt;br /&gt;
end&lt;/p&gt;
&lt;p&gt;Currently when I type &quot;do&quot;, the cursor marker indents properly but no &quot;end&quot; is added so I have to write it manually which is tedious.&lt;/p&gt;
&lt;p&gt;It would be even better if besides &quot;end&quot; typind &quot;do&quot; would add something like |item|, since code blocks are generally used with yield passing value to them.&lt;/p&gt;
&lt;p&gt;arr = [1, 3, 4]&lt;br /&gt;
arr.each do |item|&lt;br /&gt;
  print item, &quot; &quot;&lt;br /&gt;
end &lt;/p&gt;
&lt;p&gt;Adding an |item| to single line blocks like &lt;/p&gt;
&lt;p&gt;arr.each { |item| print item, &quot; &quot; }&lt;/p&gt;
&lt;p&gt;would be valuable as well.&lt;br /&gt;
Since in Ruby the analysis about what is method and what is not will probably be far from trivial, maybe it would be good idea if methods that can take blocks as arguments showed in the completion tool tip with or without a block associated with them and them you select &quot;each&quot; with a block, the block will be appended after the method call. &lt;/p&gt;
&lt;p&gt;I realize stuff like that can added by everyone on their own with say snippets, but it&#039;s pretty standard construct and most Ruby IDE&#039;s would have it built in their code assist.&lt;/p&gt;
&lt;p&gt;-methods like attr_reader, attr_writer, attr_accessor are not auto completed, though they are very widely used in class definitions.&lt;/p&gt;
&lt;p&gt;-same goes for methods for test cases like assert_equal() and so on. Is code intelligence working only for methods from the Kernel module and methods from the current project?&lt;/p&gt;
&lt;p&gt;-there is no code assist for instance, class and global variables. Also local variable seem to be added to the code assist without a notion of the scope in which they are valid. For example :&lt;/p&gt;
&lt;p&gt;class SomeClass&lt;br /&gt;
end&lt;/p&gt;
&lt;p&gt;some_var = 5&lt;/p&gt;
&lt;p&gt;If I return to the body of the class and start typing so.. the code assist will display a prompt with &quot;some_var&quot; in it, though the variable is non existing in the scope of the class definition.&lt;/p&gt;
&lt;p&gt;5. Thanks for the tip, I&#039;ll try it right away, but I still think that you should consider per language editor settings for future versions of Komodo.&lt;/p&gt;
&lt;p&gt;I don&#039;t want my post to sound like criticism, I love Komodo and wouldn&#039;t trade it for any other IDE, but I want users of other IDE&#039;s to trade theirs for Komodo and the things that I suggest are one way to make something like that happen.&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;br /&gt;
Bozhidar&lt;/p&gt;
</description>
 <pubDate>Sun, 27 Jan 2008 11:41:15 -0800</pubDate>
 <dc:creator>Lord_Bad</dc:creator>
 <guid isPermaLink="false">comment 4000 at http://community.activestate.com</guid>
</item>
<item>
 <title>Great feedback</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide#comment-3997</link>
 <description>&lt;p&gt;Thanks for all the feedback, I&#039;ll to respond to each of your points:&lt;/p&gt;
&lt;p&gt;1. Projects&lt;/p&gt;
&lt;p&gt;The current project system is quite old and is suffering for its age. We&#039;ve done a few things in Komodo 4 to hot-rod projects a bit ( Live Folders and Project templates mostly ) but we tend to agree that projects need a re-think and possible a re-write from scratch. &lt;/p&gt;
&lt;p&gt;As for some sort of file-extension -&amp;gt; file-type -&amp;gt; icon mapping, that&#039;s a pretty good idea and may not be too difficult to implement.&lt;/p&gt;
&lt;p&gt;In short, we agree generally, but making projects better implies a significant amount of work and likely won&#039;t happen for Komodo 4.&lt;/p&gt;
&lt;p&gt;2. Currently search doesn&#039;t tie into the Code Intelligence data, however we are improving search in Komodo 4.3 in a couple of related ways. There is a new unified find/replace dialog that folds in &#039;find in files&#039;, adds &#039;find and replace in files&#039; and also allows you to restrict searches to the current project.&lt;/p&gt;
&lt;p&gt;3. Diffs. Do you have an example of what you&#039;re talking about? The diff window in Komodo is quite basic, but I guess I&#039;m used to it by now and haven&#039;t used many other tools.&lt;/p&gt;
&lt;p&gt;4. I&#039;ve forwarded this post to our internal dev list, and I&#039;ll bug Eric ( our Ruby guy ) to see if your points can be addressed.&lt;/p&gt;
&lt;p&gt;5. &quot;It would be nice of the editor could be configured on language basis. For example the standard php indentation is 4 spaces, but in ruby it is 2.&quot;&lt;/p&gt;
&lt;p&gt;We&#039;ve had people ask for this and are considering per-language editor prefs, but this work isn&#039;t slated for 4.3. There are ways around this limitation using a simple Macro:&lt;/p&gt;
&lt;div class=&quot;geshi-block&quot;&gt;
&lt;div class=&quot;geshifilter javascript&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;try&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; doc = ko.&lt;span style=&quot;color: #006600;&quot;&gt;views&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;manager&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;currentView&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;document&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; filetype = doc.&lt;span style=&quot;color: #006600;&quot;&gt;language&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; doc.&lt;span style=&quot;color: #006600;&quot;&gt;useTabs&lt;/span&gt; = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;filetype&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #3366CC;&quot;&gt;&#039;Ruby&#039;&lt;/span&gt;:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; doc.&lt;span style=&quot;color: #006600;&quot;&gt;indentWidth&lt;/span&gt; = &lt;span style=&quot;color: #CC0000;&quot;&gt;2&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;break&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;default&lt;/span&gt;:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; doc.&lt;span style=&quot;color: #006600;&quot;&gt;indentWidth&lt;/span&gt; = &lt;span style=&quot;color: #CC0000;&quot;&gt;4&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;break&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; msg = &lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;Set indentWidth to &amp;quot;&lt;/span&gt;+doc.&lt;span style=&quot;color: #006600;&quot;&gt;indentWidth&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; ko.&lt;span style=&quot;color: #006600;&quot;&gt;statusBar&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;AddMessage&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;msg, &lt;span style=&quot;color: #3366CC;&quot;&gt;&#039;editor&#039;&lt;/span&gt;, &lt;span style=&quot;color: #CC0000;&quot;&gt;3000&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;catch&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;e&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #000066;&quot;&gt;alert&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;e&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;pre class=&quot;geshi-plain&quot;&gt;try {
  doc = ko.views.manager.currentView.document;
  filetype = doc.language;
  doc.useTabs = false;
  switch(filetype) {
    case &#039;Ruby&#039;:
      doc.indentWidth = 2;
      break;
    default:
      doc.indentWidth = 4;
      break;    
  }
  var msg = &amp;quot;Set indentWidth to &amp;quot;+doc.indentWidth;
  ko.statusBar.AddMessage(msg, &#039;editor&#039;, 3000, true);
} catch(e) {
  alert(e);
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;To use this code:&lt;/p&gt;
&lt;p&gt; - go to ToolBox / Add... / New Macro&lt;br /&gt;
 - paste in the above text and call the macro &#039;set indent&#039; or somethign similarly sensible.&lt;br /&gt;
 - on the Triggers tab, set the Macro to trigger on file open.&lt;/p&gt;
&lt;p&gt;You can add additional cases in the switch statement.&lt;/p&gt;
&lt;p&gt;--&lt;br /&gt;
JeffG&lt;/p&gt;
</description>
 <pubDate>Sat, 26 Jan 2008 15:55:51 -0800</pubDate>
 <dc:creator>jeffg</dc:creator>
 <guid isPermaLink="false">comment 3997 at http://community.activestate.com</guid>
</item>
<item>
 <title>Some thoughts on how to further improve the great Komodo IDE</title>
 <link>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide</link>
 <description>&lt;p&gt;First I&#039;d like to congratulate the staff of ActiveState for the amazing work that they have been doing for so many years in the field of dynamic languages. You&#039;re really great - keep those great tools rolling.&lt;/p&gt;
&lt;p&gt;Now on my thoughts on the Komodo IDE. I have been a professional developer for quite some time now. In my career I have worked on C, C++, PHP, Java, Perl and Ruby projects among others and every now and then I have tried to find the perfect working environment. In the very beginning I thought that this was emacs, later on - eclipse and netbeans, but more recently as I find myself working mostly with Ruby and PHP I think that the perfect IDE is Komodo. I think so for a number of reasons - its lightweight(compared to eclipse or netbeans), it looks great in GNOME, it is highly customizable, it&#039;s extendable, it&#039;s highly integrated and it&#039;s makes doing your job fun. Last, but not least - it has a great name(unlike netbeans) and a neat mascot.:) &lt;/p&gt;
&lt;p&gt;But even the best has always some room for improvement. Here follows my list of suggestion for improving Komodo, based on my humble experience:&lt;/p&gt;
&lt;p&gt;1. Project creation/management can be somewhat improved. It would be nice to see in Komodo some notion of workspaces - current way to create a project asking you for some folder for the project is not very intuitive. Also it would be great if different file types had different icons associated with them in the projects tab - a .rb file could have a little ruby in it&#039;s icon, a .php file could have the php logo... You get my idea...&lt;br /&gt;
2. Search can be improved. I would be nice to have the option to search for a class definition, a method definition or a variable definition across an entire project. Also - the find function option in the code menu seems somewhat misplaced.&lt;br /&gt;
3. cvs diffs are really primitive - it&#039;s ok if one is used to working with diff and patch, but this might confuse some new developers.&lt;br /&gt;
4. Although the completion of Komodo is one of the best in business, I noticed some problems in it - particularly for ruby. Notions like 10.times seem to unrecognized for example. I think that | should be added to the soft characters for ruby as well, but enough of that, I&#039;m deviating from my main line of thoughts. What I wanted to say is that although the code assist is very good it need a little polish.&lt;br /&gt;
5. It would be nice of the editor could be configured on language basis. For example the standard php indentation is 4 spaces, but in ruby it is 2.&lt;br /&gt;
6. There should be some built-in ability to reformat source code or at least an official extension. Code reformatting is very valuable, especially if you are working with someone else&#039;s code.&lt;/p&gt;
&lt;p&gt;That&#039;s all from me folks. I hope you&#039;ll find some of my thoughts helpful.&lt;/p&gt;
</description>
 <comments>http://community.activestate.com/forum-topic/some-thoughts-how-further-improve-great-komodo-ide#comments</comments>
 <category domain="http://community.activestate.com/forums/komodo-discussion-0">Komodo discussion</category>
 <category domain="http://community.activestate.com/os/all-any">All / Any</category>
 <pubDate>Sat, 26 Jan 2008 11:01:31 -0800</pubDate>
 <dc:creator>Lord_Bad</dc:creator>
 <guid isPermaLink="false">1859 at http://community.activestate.com</guid>
</item>
</channel>
</rss>
