a command context so that you can pass variables to a command and they become local variables in that command only. Would save setting umpteen variables prior to running a command.
If I understand this correctly, you can to it with a small Inline function:
This is the command
Set Text [CreateLocalText] to 'Var1|AAA;Var2|BBB;Var3|;Var4|something else'
Set Text [CreateLocalInt] to 'Var1|12;Var2|0;Var3|1;Var4|987'
Inline VB Function: Set local vars from list
Write '[Orange] {TXT:~Var1}, {TXT:~Var2}, {TXT:~Var3}, {TXT:~Var4}' to log
Write '[Purple] {INT:~Var1}, {INT:~Var2}, {INT:~Var3}, {INT:~Var4}' to log
and this is the inline function to put at line 3:
Public Class VAInline
Dim variables() As String
Dim variable() As String
Public Sub Main()
If VA.GetText("CreateLocalText") IsNot Nothing
variables = VA.GetText("CreateLocalText").Split(";")
For each s As String in variables
variable = s.Split("|")
VA.SetText("~" & variable(0),variable(1))
Next
End If
If VA.GetText("CreateLocalInt") IsNot Nothing
variables = VA.GetText("CreateLocalInt").Split(";")
For each s As String in variables
variable = s.Split("|")
VA.SetInt("~" & variable(0),Convert.ToInt32(variable(1)))
Next
End If
End Sub
End Class
... expand at will with other data types
Note that you could also replace the two initial "Set Text [CreateXXX]"" with two "Read File" actions, and you will obtain a way to quickly initialize your local variables from simple text files
As for the debug mode, it would be nice if instead Gary could extend a bit the VA proxy object... what I'm thinking is simply a set of functions to return existing variable
names, so that one could use the list to iterate and call the relevant GetXXX(name) functions... bonus point if the proxy could also expose a VariableChanged event that one could listen to from inline/plugin code
With this, it would be pretty easy to code your own debug windows as Inline Functions as well