Miscellaneous feedback on Cocos Code IDE

Hi all. In this post I will try to summarize several comments I have about the Cocos Code IDE. Some of the things I have to say are probably already in the work for the next version, but alas, it’s an opinion, and I believe it’s better to share it here so we can get comments from other users as well, since other people may have different criteria than me, and I think it would be good if we all got into an agreement on what would make the IDE a better tool.

Problems:

- Build problem: Build problem with JS project (LUA framework required?) Fixed in RC1 :smiley:

- “TODO, etc” problem: If you enable the use of Task Tags in Window/Preferences/JavaScript/Validator, then you are spammed with LOTS of entries to the list from the javascript framework’s code. The only way to ignore them that I’ve found is to ignore/delete the standard tags in the configs and to just use my own tags spelled differently, but this makes mycode less compatible with other editors.

- "Errors/Warnings" problem: if you enable JavaScript Error/Warnings Validation in Window/Preferences/JavaScript/Validator then the “Problems” output listing gets spammed with over 800 warnings from the JavaScript framework. Idially, Cocos2D-JS’s team should fix all of these issues, but until then perhaps there should be a way to turn-off feedback for files outside of your own game’s code. This can be worked-around via the manual fix described under “Improve JavaScript Validation with JSHint” below :smiley: In short: Install “JSHint Eclipse” from Eclipse Marketplace. Note that the problems are still lurking in the framework’s code, though

- "Multiple problems have occurred" dialog: Multiple problems have occurred Fixed in RC1 :smiley:

- Code Formatter not working right: I’ve set up some rules to the code formatter in Window/Preferences/JavaScript/Code Style/Formatter and they don’t seem to be taking effect (namely, I’ve set it to replace tabs with 2 spaces, and yes, I’ve configured the settings in General/Editors/Text Editors to match, with no luck). Also, Ive configured the editor to automatically format on-save (in JavaScript/Editor/Save Actions) but that does not seem to be working either…

- It is not clear how to use “live coding / hot code updating”: How to use live coding?

Ideas:

- Issue Tracker for Cocos Code IDE: idea presented here: Issue tracker for Code IDE? **Partially Implemented now :smile: **

- Integrate with Eclipse Marketplace: this one’s already been submitted via the contact form and I’ve been told it’s in the works, but I’ll put it here anyway: to be able to install eclipse plugins via the “Install new software…” menu that comes with other Eclipse-based IDEs. Implemented in RC1 :smiley:

- Improve JavaScript Validation with JSHint: Currently, enabling JavaScript validation in the Window/Preferences Menu does not provide useful information with static code-analisys (for example, if you type asd.doSomething() into your code, but you’ve never created a var asd = something; in any file, the editor doesn’t warn you you are trying to use a variable that doesn’t exist*). It is hard to properly describe what I mean, but the best way I can show you is with an example: The editor I know behaves best is Brackets with the Interactive Linter extension installed, which provides static code analisys with JSHint.
*This appears to be becasuse of two reasons: 1: the error is actually being generated, but it will only be informed in the “Problems” tab next to the Console at the bottom of the screen only after all other problems detected are shown (see my bug report titled "Errors/Warnings" problem:); 2: the “Problems” listing gets updated only each time you build your project (rather than every time you save it, or every time you make a change, like in Visual Studio). Of course there’s a practical limit to how much we can improve reason number 2, since we don’t want the editor to become super slow just to get feedback.
**Manual Fix: Install “JSHint Eclipse” from Eclipse Marketplace :smiley: **

- Learn from other code editors: One should always know when to “steal” good ideas (that article is about game design, but it applyable to many kinds of products, really). Cocos Code IDE is on it’s way to become a great IDE, but as far as JavaScript editors go, some things don’t feel quite natural. Of course, since this IDE is based off Eclipse, there’s a limit to how much it can be adapted, but if you take a look how Brackets and Scripted borrow heavily from Sublime Text 2, then you can also see how even another Eclipse based editor like Aptana manages to be it’s own thing while also borrowin common elements in web editors (alas, we are not really making web pages but JS and LUA based games, so many thing would probably not be a good idea to borrow). Aditionally: I’ve never used IntelliJ Idea’s WebStorm IDE, but since everyone speaks so highly of it, perhaps there are some lessons to be learned by observing it?

- Color Themes: this will probably come by itself if we get to install standard Eclipse plugins, but it’d be nice to have the ability to easily change the appearance of the IDE, since many people have different tastes for color schemes (ie, bright white, light beige, dark console-style, etc.).

- Make it open source: I know you’ve already said the IDE is not going to be open source, althought it will always be free to use, but I think it could grow much quicker if you let everyone see the code and contribute to it!

- CocoStudio Integration?: Are there plans to combine Cocos Code IDE and CocoStudio into one powerful product like Unity’s edito? (or to at least easily use them in junction?)

Cocos2d-JS relation

- “Eat your own food principle”: in the past, Cocos2d-HTML5/JS’s team has repeatedly said they use and reccomend WebStorm’s InteliJ IDEA IDE for working with JavaScript, but I think the best way for Cocos Code IDE to grow quickly would be to be adopted by all developers as their main editor for working with Cocos2d-JS. (Also see my bug report titled "Errors/Warnings" problem:)

- Auto configuration of paths: When you install Cocos2d-JS’s cocos console all the required paths (android sdk, jdk, ant…) are configured. It would be nice if Cocos Code IDE could auto detect these paths and configure itself.

- Support for more platforms: This is most likely an issue with lack of support on Cocos2d-JS rather than the IDE’s fault, but it would be nice to be able to one-click build the game as Windows-desktop, WP, BlackBerry and other platforms as well as Android, iOS and Web.

Wrapping up

I know this is a lot, and that the IDE still has a long time to grow, but I think it’s a great tool that you guys are making, and the work you’ve already made is awesome, but you also need as much feedback as you can get so you can make it even better, so here are my two cents.

So thanks and keep up the good work! :smiley:

Thanks for your feedback, we have keep this problems in our bug system, we’ll fix them as soon as possible.

Thanks!

But you don’t have to sound so harsh, most of my post is just opinions, it’s not like I’m demanding them to be implemented or something like that '^^