I was wondering if it is possible to use another IDE for programming python programs for Visual Components.
For example I am trying to use PyCharm in order to wright my python programs but I am stuck at adding / finding all libraries that are specific for Visual Components.
So is this possible? Does anyone have experience with this?
You can use PyCharm for writing python plugins, i.e. the scripts which go in the MyCommands folder, but the scripts stored inside components are not text files on disk, so can’t be opened in the traditional way…
Plus, I can’t find the source python files for things such as vcScript etc, so autocomplete won’t work for VC objects in an IDE, the only benefit it adds is syntax checking.
There’s no interface to the python interpreter or runtime that could be hooked with any external debugging tools. The Python implementation is tightly coupled with the main application.
Although, it is possible to edit Python Script behavior (component script) contents via the Python or .NET API. Since e.g. the vcScipt in Python API exposes the contents via Script property. Once the content of the script is changed (and sim not running) it will be compiled automatically.
So there’s some what limited way to expose the contents for external editing. It will get more complicated when syncing is needed between the external and VC script contents, monitoring the lifetime of the behaviors etc…
old Python interpreter: Stackless Python 2.7 (CPython 2.7 is obsolete since this year)
missing pyi files for IDEs (for type hints)
2 space indentation (violates PEP8!)
no support for git (Version Control)
Please fix this soon. You don't need to provide xml files for external IDEs.
The existing IDEs work fine with type hinting, so even the source files are not required. They could be all in binary form (compiled bytecode or extensions). There are some tools, which can generate from source files annotated pyi files. Of course the Types itself have to be added. So if you swap over to a modern Python Version (Stackless), you can begin with Type Hinting. This improves the code quality and give the IDE hints. I think Visual Studio is also pushing this features.