Monkey Studio IDE The way IDEs should be

Project timeline

hlamer's picture

MkS development process was chaotic and without any strategies in first time. I and P@sNox usually made things, which we need more than others until now, and which we know how to do.
Often decision to write some module was made in one minute, just because someone asked/said about it.
It was a wrong way, as result - now we have a lot of advanced features of IDE, but we just are only advanced text editor, because haven't usable debugger. I and P@sNox yesterday night tried to fix this situation, and develop some plane of further development, that we call "Timeline". Here is it by priority order (a --> highest, z--> lowest)

a - Finish PHP-Qt support

b - Implement PyQt support. Really, it not so important feature, as some others, but, it as too much asked by some users, and it's easy enough to implement (will require less of time)

c - Debugger Now we have a debugger, but it not so usable, as necessary. We can finish debugger, written by xiantia, or take some other, from Qt Creator for instance ;)

d - Universal class browser Many users asked about class browser for whole project, not only for one file (as in the Navigator plugin). But for implement it, need to make big internal changes. We have to collect all possible info from project internally, and implement some engines, maybe inherited from QAbstractItemModel, for display whole project, single file, current scope. Also, will be possible to do variant of Navigator, which will be ComboBox on top toolbar, not a big dock.
Also, data model with information about project will be base for e- feature

e - Smart autocompletion Now we have only simple autocompletion - from current source file, or from .api file. But - it only completion of words, and editor know nothing about classes, methods, enumerators. With start autocompletion we will be able to show methods only current object, enumerators only of this type. But, maybe it's will be hard enough to do :-;

f - Support of project type, which builds by custom (entered by user) console commands As result, user will be able to build from IDE any project, which have Makefiles. Generally, it's possible now. You can create user tool, which will use Console Manager and execute build process; but it is bad way.

g - Expert .pro editor Currently we have only simple editor of .pro files (QMake project), and we don't know, how to do comfort GUI with full support of .pro format. PasNox generated idea to write advanced text editor for it. So, novice user will use our simple GUI, and advanced users, which need more features - let's edit .pro file by manually in the comfort editor.

f - File associations MkS already can open files and projects, if give names to it in the console. And, we will implement some way, for automatically create file associations within the desktop.

h - Rework IRC plugin

i - Internal MkS shell I want to create internal command interpreter, which will allow to move some functionality from code to script files. Also, will be possible to create macros for system. Ideally - I want to write plugins on some interpreted language. There are very good experience of it - emacs. But - it's far perspective, will think about details later.

k - Move out abbreviations from code (now it's hardcoded) to some scripts, which will be interpreted by internal command interpreter

l - Cmake project support. We will be able to build cmake projects after implementation of feature f. And on this stage we will be able to edit cmake projects (cmake project files)

m - SVN integration User will be able to work with Subversion version control system dirrectly from the IDE

Possible, this list will be corrected with time, but I think, features a-f will be implemented with highest priority. Than - possible some variations.
Don't know, how much of time will require this plane. In last time we have much more responses from users (seems, we have more users :) ) I hope, we also will get some new developers.


My vote... for what it is worth.

First off, I am in love with MkS. Awesome stuff, thanks for making it!
Second, I think that the version control stuff should be higher on the priority list (and should be Mercurial, rather than SVN... but any version control is better than none). I can understand that there are other workbench tools for working with version control stuff, but the whole point of the IDE is to make the programming envirnoment into a 'one stop shopping' experience... and version control is an absolute must have for any project.