Protocol Used between Cicode Editor and Runtime for Debugging

I am working on a VsCode extension for Cicode and have syntax highlighting, antlr cicode parser, code snippets and variable lookup working. But I was wondering if anybody had any information about the protocol used between the Cicode Editor and the Runtime for Debugging? It would be super nice to be able to debug from VsCode.

From what I can see the connection is made over a named pipe 'Citect.Debug' and I can identify roughly how the connection is setup and how the filename and line numbers are requested. But it would be super helpful if AVEVA or anybody had some documentation about the protocol that is being used here.

Parents
  • Disappointed but not really surprised at the lack of response to this.

    It would be really good if Aveva could get behind this. I'm old enough to remember when the official Cicode editor was Notepad, and the huge step forward that Cicode Editor reprresented at the time. But that is getting on for 30 years ago (can it really be that long?) and it hasn't had all that much love since then.

    VSCode is well supported and would be a great tool to support. Doing the hard yards to make it work would be a big ask of anyone so if you have someone like Ben offering his time to do it then surely that's worth supporting?

    In the meantime if the VSCode extension as it stands is available I'd love to take advantage of the syntax highlighting within an editor with fewer quirks than Cicode Editor.

  • Interesting.  There used to be a parameter - can't remember the section at this point - where you would specify your Cicode editor.  Back in version 3 and 4 days, Notepad was not adequate, and there was "ED For Windows" that was popularly used.  I'm also not sure if EdLin was a precursor to Notepad.  As far as I can tell, Cicode files are just text files with a .ci extension.  They still open in Notepad and Notepad++.  In Notepad++, you can change your language to "C", and manipulate your colors and views to see it in many ways.  I know I had to do this a few times, and it works just fine.

  • They are just text files. Notepad++ is a great alternative barring the lack of proper syntax highlighting - Cicode isn'r really that C-like in practise (THEN/END instead of {}, for example) and obviously the function keywords are different.

    But Cicode Editor is also a debugger and that integration does require knowledge (or reverse engineering) of the debugger's protocol. Using NP++ (or VSCode) to edit and Cicode Editor to debug isn't ideal, although I suspect it's what a lot of us do.

    It's worth adding that NP++ is really just a wrapper for the Scintilla editor component so in principle Cicode editor could replace its own editing component with Scintilla. But opening the debugger protocol so that tools like VSCode can implement them allows for a much more powerful ecosystem for anything more than casual use.

Reply
  • They are just text files. Notepad++ is a great alternative barring the lack of proper syntax highlighting - Cicode isn'r really that C-like in practise (THEN/END instead of {}, for example) and obviously the function keywords are different.

    But Cicode Editor is also a debugger and that integration does require knowledge (or reverse engineering) of the debugger's protocol. Using NP++ (or VSCode) to edit and Cicode Editor to debug isn't ideal, although I suspect it's what a lot of us do.

    It's worth adding that NP++ is really just a wrapper for the Scintilla editor component so in principle Cicode editor could replace its own editing component with Scintilla. But opening the debugger protocol so that tools like VSCode can implement them allows for a much more powerful ecosystem for anything more than casual use.

Children