Team DevLog Holzchopf - Update 2021/07/06

Phil7

Administrator
CX Code Contributor
3rd Party Tool Dev
Joined
Jun 26, 2017
Messages
602
Seems you are tackling the hardest parts first. Great work! :D
 

Holzchopf

Moderator
3rd Party Module Dev
Tutorial Author
Joined
Jul 31, 2017
Messages
493
Version 0.1.2

Changelog

Added
- Key bindings for
- Build HTML game (F6)
- Build & run HTML game (F5)
- Show context help (F1)
- onTypeFormattingEditProvider for auto-capitalization
- Rebuild documentation command
- Tokenizer and Semanter for Cerberus X
- Back and forward navigation in the documentation panel "browser"

Changed
- Whole source refactored - while the extension started out as a test whether the Cerberus X Documentation would be displayable in a VS Code webview panel, it's now built to be an actual language extension
- Single Cerberus X tools' paths are now derived from the configured CX installation path
- DocumentSymbolProvider now relies on the tokenizer (massive performance improvement)
- Cerberus X documentation style improved to match the original one-page-per-class style

Fixed
- Syntax highlighter not accepting scope accessors after indexing expression
- Reopening the documentation creating additional webview panels

Known Issues
- F1 help not context aware
- Documentation browser's address bar not fully functional
- Documentation browser's search shows first match only
- Semanter not scoping Select / Case statements correctly
- DocumentSymbolProvider level of detail not configurable
- DocumentSymbolProvider needs a filter

To Dos
- Context recognition (for F1 context help and auto-complete)
- Build and run options for other targets


Installation Guide



Feel free to test, report any issues (please consider the "known issues" above before reposting), comment on wishes or to dos or ask questions =)
 

Attachments

  • cerberus-x-0.1.2.zip
    188.7 KB · Views: 5

Phil7

Administrator
CX Code Contributor
3rd Party Tool Dev
Joined
Jun 26, 2017
Messages
602
I just installed it and my first impression is great! I have the feeling that this extension is a huge step for CX and its future!
Thank's a lot!
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
3,042
Ok, so far it looks great.

Here my wishes for the next iteration:

1625682848312.png


1) Get rid of If /else statements and local var declarations in the outline window.

2) A toolbar for check/build/run&build.
3) A toolbar to select the target.
4) A way to fix the build file via menu and/or keys.
5) Clear the output console when you build and run.

Question: How will the debugger in C++ integrated?

Overall it feels great. I need to think who a final version could be distributed and installed.
 
Last edited:

Pierrou

Active member
Joined
Jul 6, 2017
Messages
204
It looks good and I was able to compile Bouncy Aliens to HTML without any issue. Many thanks!!
 

Holzchopf

Moderator
3rd Party Module Dev
Tutorial Author
Joined
Jul 31, 2017
Messages
493
1) Get rid of If /else statements and local var declarations in the outline window.

Yes, that's what I meant with
- DocumentSymbolProvider level of detail not configurable
- DocumentSymbolProvider needs a filter

;)

The default would be to only show global and class level declarations.

I'm not sure how I can make this easily accessible however. My dream would be to have a toolbar for that directly in the outline panel. But I don't think that's possible. Maybe there will be a general Cerberus X toolbar that gives access to all these functions.

2) A toolbar for check/build/run&build.
3) A toolbar to select the target.
4) A way to fix the build file via menu and/or keys.
5) Clear the output console when you build and run.

Question: How will the debugger in C++ integrated?

Overall it feels great. I need to think who a final version could be distributed and installed.

2-4) probably above mentioned toolbar. Or the actual "Run and debug" panel, but IMHO that's a bit too over the top for our use.
5) good idea!

So far I don't spend time thinking about the C++ debugger, so I'm not going to answer this now :)

The final version could be distributed in the extensions store (or however it is called). Some mentioned coupling it from VS Code using it's open source base. I don't know how this works, but if it works, we'll figure out.
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
3,042
Not sure if this is being worked on, but the 3rd party docs page doesn't show them, and their icons don't show like it does currently, so there is no way to display additional information for these modules. Example: fantomCX

Edit: Ok, the page that is normally linked through the icon can be reached by pressing f1 on the module name.
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
3,042
Bug: Code samples like this one

Code:
<pre>
Local myEngine = New ftEngine
' Now deactivate all sound playback
myEngine.ActivateSound(False)

</pre>

Don't show up.
 

Holzchopf

Moderator
3rd Party Module Dev
Tutorial Author
Joined
Jul 31, 2017
Messages
493
Thanks for reporting these, Mike! I'll tackle them in the next iteration.
 

Phil7

Administrator
CX Code Contributor
3rd Party Tool Dev
Joined
Jun 26, 2017
Messages
602
I have a small wish for the next iteration:
I realized that I only use it for testing just because it is limited to html5 builds.
The chances that I use it as a daily driver are much higher if you could add desktop and android build and run commands.

Another minor thing is the optional auto-capitalization. Maybe you can set it enabled by default or add a toggle switch inside the extension settings. I think it is best to have most functionality enabled by default, just to increase the probability of getting them tested.
 

Holzchopf

Moderator
3rd Party Module Dev
Tutorial Author
Joined
Jul 31, 2017
Messages
493
Yes, other build targets are on the list. And high priority even!

Another minor thing is the optional auto-capitalization.

What do you mean exactly? Auto-capitalization is no option at the moment, it's a forced feature. Have you run into trouble with it/experienced situations where you would have preferred it not being there? Could you share those? I'd really like to make this feature flawless - because if it is flawed, people will turn it off (once that's possible).
 

Phil7

Administrator
CX Code Contributor
3rd Party Tool Dev
Joined
Jun 26, 2017
Messages
602
1626277299661.png


This is the popup in the right bottom corner when installing the extension for the first time. If you ignore it - and I did - it disapears until the next start of vscode and auto-capitalisation is not working. After pressing yes it didn't appear even after uninstalling and a fresh install.
Maybe this is just some annoying security feature you cannot avoid.
 

Holzchopf

Moderator
3rd Party Module Dev
Tutorial Author
Joined
Jul 31, 2017
Messages
493
Ah, that! formatOnType is an extension-independent global VS Code setting. Seems I've always had it turned on here and thus never got to see that popup. I'll need to test this thoroughly... Yes, there absolutely must be a way to re-trigger it. Maybe I will just add a command that calls the initialisation method of that feature again (which checks that setting and - if turned off - causes the popup to appear)
 
Top Bottom