Possibility of LSP server on Designer for scripting

As others have stated before, the built-in scripting in the Designer is missing a lot of the features of an IDE. This is totally fair, as Ignition is SCADA software first and foremost, but is there work being on on attempting to offload some of the work onto an already established IDE such as VS code?
This comment made in 2021 gave the impression that there may be challenges too difficult to overcome in getting some sort of support, but has there been any progress since that point?

No real progress has been made along that avenue, but it's definitely on my/our roadmap for scripting. There are some significant hurdles to that adoption; our split-brain execution model (gateway scope vs designer scope vs client scope) is not readily compatible with LSP, nor is the fact that the Designer doesn't have any actual filesystem representation of all the project resources locally -- but they're definitely solvable problems.

Definitely nothing happening in 8.3.0, though.

2 Likes

Do you have a very rough estimate on when it may happen? Considering taking this on as an Ignition module, however I do understand this is quite the undertaking, and modules may not even provide all of the capabilities needed to create this.

No earlier than 8.3.something. Depending on how things evolve as we actually start working on it, possibly in some 8.3.x patch version, but more likely as an 8.4 or 8.5 or whatever other our next major version is. So, I wouldn't expect it to happen in less than ~years.

Modules can't really get you the underlying access you'd need to hook into things in a very satisfying way to end users.

You may be interested in @kgamble's Flint VS Code extension, which does the nicer editing of Ignition resources "backwards" (by directly interacting with the gateway, then poking the designer to notice the updates, essentially).

1 Like

Thanks! I'll check that out