[Virtuous Ten Studio] Diamondback:
A little status update:

As indicated in my previous post I decided to postpone any new VTS release till next year. There are two major reasons for this:

There don't seem to be any wide spread issues with the current version, everyone seems to be more or less happy with it

I am current working on a set of pretty major new features, all of them requiring very deep changes and tons of testing. I simply need more time to finish them and it's easier for me if I can work on those fulltime instead of also releasing a few smaller updates.

Concerning those major updates, here's the list:

Dedicated smali debugger

Plugin system

Script driven build/import/push system

All the other things already listed in the changelog (https://docs.google.com/document/d/1kEiNNgOXuHsheqZRR8b6CJDjDz9Z9KwZGGECOztBZ0w/edit)

Please note: images posted here are completely WIP and are just for illustration purposes. The final UI is likely going to look differently.

Dedicated smali debugger

This topic is probably only interesting for those of you actively working with smali code. The people used to real programming languages know that there's nothing better than a good debugger to find quirks and issues in your code, so I figured a nicely implemented smali debugger would be very helpful for all sorts of smali work.

The goal is to replicate as much known features from other debuggers as possible. It's a very complicated and complex topic so I am not sure how much I can really manage to implement, but so far the basic things already work:

Breakpoints

Stepping

Reading register values

It's not going to be as awesome as debugging .net code in Visual Studio but certainly better than using various IDEA hacks and other tricks to get it running with other IDEs.

Plugin system

Many times I had to reject feature requests because they were to specific for one special task or didn't really fit the whole concept of VTS.

This is no longer going to be a problem. I have implemented a plugin system that allows me to write very specific code without breaking anything in VTS.

It also allows other people to write custom plugins for their tasks. I am going to release a little documentation and a project template for Visual Studio using C# so people can easily write their own plugins.

Plugins have access to pretty much everything VTS itself has access to, so it's going to be super powerful.

Script driven build system

Traditionally each project type in VTS has its own code for importing/building/pushing binaries. The different code parts are roughly the same but different enough to give you a bad time trying to simplify/reuse them even more than I already do.

This led me to the idea of using some sort of script for these things. The script uses so called "modules" for different sub tasks, the modules itself are generic enough to be used across different project types.

Instead of the "black box" the build/import process is right now, you can fully customize it. You can select what modules are used or how they interact with each other. You can also do more advanced things things like telling the "push script" to remount with a custom shell command for example. Or to stop the shell first and restart it after pushing.

You can also include plugins here to extend the scripts with your own code.

All in all: It's going to be super powerful and the main task here is to provide also an easy option to edit these things.

Please let me know what you think :)