RFE: Visual Studio Code Extension

So, I’ve had an idea for the last few days that I’ve been kicking around that I think, with proper implementation, could be invaluable to the TouchDesigner community. Before I get started, I apologize if any of my descriptions or if my terminology is misused; I have been learning TouchDesigner and Python autodidactically for only a few short months, so I apologize if any of this is misspoken.

Many of the people I’ve spoken with who use TouchDesigner use Visual Studio Code (VSC) for coding. I’m incredibly new to coding in general, so I’ve found intellisense and autocomplete that VSC has in its python extension invaluable, as I constantly have typos and am not always sure exactly what function I’m looking for. This is where TD comes in: an extension which supports TD’s operators and parameters could be incredibly powerful for coding in TD.

The mock-up I have is something like this (I apologize for my poor paint skills):

Ideally, what I would like to see from such an extension is this:

When typing in the name of an operator (such as container1.par.) as soon as I hit the " . " after “par” it recognizes that I’m looking for parameters related to the container operator, and it uses intellisense to help me auto-complete by narrowing down all the parameters to just those that are used within the container operator. Obviously this, if it is possible, could be used to show all of the different operators related to a NoiseChop when you type in “noisechop1.par.”. I also think it would be incredibly helpful to not have VSC yelling at us because it doesn’t recognize the op() function. :laughing:

I don’t believe there is any way to have VSC “recognize” what each operator does automatically, hence why in my mock-up above I had renamed the default “project1” container operator to “container1” in the textdat, as that is something that we could make use of. Additionally, I also thought it would be important to allow users of TouchDesigner to continue to use whatever name they desire for their operators within the tree itself, but typically we tend to rename our operators when we code anyway, so this shouldn’t add any unnecessary burden.

Finally, this is technically a project that could be done by the community, and I even found a json file that another user (idzard#2277 in TD Discord) made that has a list of all of the operators and parameters for each operator, but from what I was hearing on the TD Discord, some believe that it is likely that if the community made this extension themselves, it could be broken or have major changes from build to build, so I was recommended by a few people on the TD Discord to post this here and ask for official developer support.

Thank you for all your help, TD developers and community. I hope that you consider this undertaking, as it would be a massive benefit to both new programmers (like myself) and veteran ones alike.

2 Likes

+1 would be very helpful

1 Like

Jacques Lucke from the blender team built a plugin for developing blender plugins that allows you to execute code from vscode in blender.

twitter.com/jacqueslucke/status … 52?lang=en

it would be interesting to see if there is some way of using a similar approach to issuing par collection calls to TD from vscode to get dynamically populated autocomplete fields from a running instance.