You have not heard from us in a while, but that does not mean that we have been idle.
We are finalizing the 2.12 build of X# at this moment that comes with several changes that people have asked for:
- TEXT .. ENDTEXT support in all dialects. We have change how this command is implemented to make it as flexible as possible. The TEXT .. ENDTEXT is a UDC that is translated to a #text .. #endtext preprocessor directive. You will have the ability to change how this command works.
- We have added a new compiler option (/vo17) to make the BEGIN SEQUENCE commands more compatible with Visual Objects. Commands with a RECOVER USING statement were "swallowing" exceptions in the past. With this option the exceptions will be sent to a special function (FUNCTION _SequenceError(e AS Exception) AS USUAL)) that you can override in your code. The default implementation of this function calls the runtime error handler.
And when there is NO RECOVER USING then the compiler will generate one and will call a runtime function that you can also override (FUNCTION _SequenceRecover(uBreakValue AS USUAL) AS VOID).) Of course "real" exceptions will also call the _SequenceError that was mentioned above.
- We fixed several issues in the compiler
- We fixed several issues in the runtime
Visual Studio integration
- Many issues were fixed in the editor.
- We have added a new options page (Tools/Options/Text Editor/X#) where you can control which suggestions the editor will suggest in "general" code completion list. Code completion after a colon or dot will show namespaces, types, members etc. And codecompltion after AS or IS will show types and namespaces. But for example code completion after the := operator may show locals, fields & properties of the current class, Globals, Functions etc. You can control where the editor looks for these entries.
- You can now control the indenting settings from the .editorconfig file.
The new version will be tested by a small group of beta testers this week. We plan to release it to the rest of the subscribers next week, and a new public version will most likely be released a week after that.