BlitzMax VSCode extension worklog

Started by Hezkore, June 29, 2019, 20:11:31

Previous topic - Next topic

Hezkore

#75
I caved to peer pressure and added some basic "version switching".

All information i previously posted here is still true.
You can still switch by a keyboard shortcut or based on workspace.
But this new method lists all of your BlitzMax installations and lets you quickly switch between them at any time.
(easier than trying to remember keyboard shortcuts!)
The switch is a permanent change to your global setting, so it'll keep using that version until you switch to another one.
Any workspace specified BlitzMax path will override your global setting.

The new 'Versions' view is of course found in our BlitzMax view container, and comes with its own welcome message.



Adding a new BlitzMax version is easy.
Just press the "Add BlitzMax Version" button, or click the little + in the corner.
Select your folder and enter a name for this BlitzMax version.
And there's no limited to the number of versions you can add, so go crazy.



You can also right click a version for more options.



Hovering over a BlitzMax version will reveal its location.



Then just double click or click the little rocket icon to switch to that version.



The extension will have to load for a bit to switch everything over.
I'll probably cache the modules based on version later on, which should make it a bit quicker.
But for now it works pretty well!

For those of you that have no interest in version switch; you can just hide the 'Versions' view.



This has been pushed to the marketplace as version 1.28.0.
Simplicity is the ultimate sophistication. 🚀
GitHub
BlitzMax for VSCode
BlitzMax for Vim

Hezkore

#76
A long time ago (second post in this thread actually) I talked about the web view in VSCode being perfect for the BlitzMax documentation.
I couldn't quite figure out how to get it working back then though.
But I recently spent some time on trying to get that implemented again and I've managed to get some decent results.
Hovering over something defined in a module and clicking "More info" (or pressing F1) will now bring up the new web view.



It'll give you all the information MaxIDE gives you, along with some extra info like where it's defined.
(click 'Source' to directly jump to that line)
It'll also match your current VSCode theme!

I've also fixed a bunch of issues regarding the documentation and how it's all linked together.
So it should make a tiny bit more sense from now on.
Oh and the "Samples" view has been replaced by a new "Help" view.
It quickly gives you an overview of all the modules and examples.



A few extra tips!
If you hover over a word, like "Print" and click the module name; you'll instantly jump to where Print is defined.


And if you click on the module name while reading the documentation; you'll instantly open up that module.


The exampel can also be directly opened by clicking on the example title.


This has been pushed to the marketplace as version 1.30.0.
VSCode should automatically update the extension for you.
Simplicity is the ultimate sophistication. 🚀
GitHub
BlitzMax for VSCode
BlitzMax for Vim

DruggedBunny

Just tried it -- that is f***ing awesome! Well done and many thanks!

iWasAdam

is there a VERY simple explanation of how to actually compile and run something. Let's say the breakout demo?

I just cant for the life of me work out how to do it :(

Hezkore

#79
File > Open File... > breakout.bmx > Press F5.
(or one of the build buttons in the upper right corner)
Simplicity is the ultimate sophistication. 🚀
GitHub
BlitzMax for VSCode
BlitzMax for Vim

iWasAdam

Nice n simple :)
Last question. When you run (F5,etc) the app launches below Code. Is there a way to force the running app to be the top most window?

Hezkore

#81
Hmm not had that happen on any OS yet.
It's been tested on MacOS High Sierra, Linux(elementary.io) and Windows 10.
I can't promise that VSCode acts nicely on other Linux distros though.

The terminal in VSCode is your actual terminal, which is also what launches your app (and compiles your app!).
So what you could do is change which one it uses by default:


Another one might work better for you.
Simplicity is the ultimate sophistication. 🚀
GitHub
BlitzMax for VSCode
BlitzMax for Vim

Hezkore

#82
It's now been exactly one year since the first version was released.
(I've worked on it behind the scenes for even longer)

There's been over 380 downloads, which means an average of just over 1 download per day.
It may not be much compared to most other extensions heh.
But I'm still very happy that over 300 people have downloaded the extension.

So a big thank you to everyone for trying out the extension!
And here's to another year of updates! :D
Simplicity is the ultimate sophistication. 🚀
GitHub
BlitzMax for VSCode
BlitzMax for Vim

Hezkore

#83
Another year, over 900 downloads, and another update I suppose.
I haven't really posted much here in the last year, but that doesn't mean progress hasn't been made.
If anything, it's the other way around.

The extension has been rewritten from scratch since version 2.0.0.
The new extension is ready for the work-in-progress LSP: https://github.com/blitzmax-itspeedway-net/Blitzmax-Language-Server
And also features a fully functional debugger:



The official BlitzMax documentation is now supported and coloured to match your VS Code theme:



And most of the old features and menus have been overhauled, like the build menu:



And hover information:



There's also a brand new walkthrough guide right inside of VS Code!
You can view it by going to Help > Welcome > Configuring BlitzMax.
I suggest everyone reads through it as it gives a pretty decent overview of how things work.

There's just too much new stuff for me to post here!

Regarding forum updates
I'm not a "forum guy", and I don't think I'll be posting here much more.
Of course, work still continues on the extension, and you can view the marketplace changelog for updates.
The official GitHub repo can be used for discussions, issues and to get a glimpse of any WIP features.
My GitHub is also a great way to see what else I'm working on, for example the BlitzMax GitHub action, which lets you compile your BlitzMax code "in the cloud" (for free!) for any platform.
My BlitzMax Vim plugin and upcoming Atom plugin.
I'm also active on Discord in the dedicated #vscode-extension channel, posting about updates, new features, VS Code and just about anything really heh.

The downside to all of this is of course that this worklog will get pushed further and further back into the forum archive.
That means that people will have a harder time finding the extension.
The original post about the extension - found here: https://www.syntaxbomb.com/index.php/topic,5771.0.html - is already so far back that it's almost impossible to find.
But I guess that's just something I'll have to live with. 🤷‍♂️
And I guess I'll have to trust the existing VS Code users to spread the word if anyone's looking for an alternative BlitzMax IDE.

And that's about it I guess...
Toodles 👋
Simplicity is the ultimate sophistication. 🚀
GitHub
BlitzMax for VSCode
BlitzMax for Vim