Skip to content

An L5 OpenVSX Extension

Help test the beta!

smh
Jul 6, 20265 min read

much delayed post as I have been nose to the grindstone on this extension!

Recap

If you missed week 3 post (yes we are in week 6 now):

Article

Based on the schedule outline

Week 4:

  • Begin work on VS Code Extension with the following objectives:
    1. Compile and run L5 for local development
    2. Bundle L5 and Love2D into a single executable for sharing

Week 5:

  • Continue work on VS Code Extension. 
  • Tooling experiment #1: Test LoveJS to run L5 in the browser. Test with VSCode integration and whether or not LoveJS is a viable tool for sharing in the browser or to continue with sharing executable.

Week 6:

  • Get feedback on VS Code extension and iterate on feedback. 
  • Write tutorials using VS Code extension.
  • Tooling experiment #2: Create a repository for apt or homebrew package install for L5.

TLDR;

  • Published a beta version on OpenVSX (for VSCode forks like VSCodium)
  • Waiting on approval for VSCode Marketplace
  • Researched existing extensions for Love2d
  • Added L5 to Love2d resources list
  • Lee and Kit published a paper on L5!

Published OpenVSX Extension!

My first ever extension is live on the OpenVSX Registry!

Open VSX Registry

This means you can install it in any fork of VSCode or editor that uses the OpenVSX Registry.

Here is a screenshot of installing in VSCodium.

And here it is in action, with a sketch I put together for https://ifthen.cargo.site/.

I likely need to make some sort of release build action through GitHub workflows, but for now you can find the source code here. If you find any issues let me know! Give me feedback! Test it out!

GitHub - L5lua/L5-vscode-extension: Extension for VSCode and OpenVSX to run L5 scripts.

Extension for VSCode and OpenVSX to run L5 scripts. - L5lua/L5-vscode-extension

Research on Related Extensions and Projects

I looked through a couple of places for existing tutorials and references for this.

There's a nice book by Sheepolution that describes how to use Love2d and it has a nice chapter on using VSCode.

How to LÖVE

Learn how to program games with the LÖVE framework

Fortunately my extension bundles a lot of this setup for you.

There's a Processing VSCode Extension:

Open VSX Registry

And a p5.js project starter, which isn't officially maintained by Processing or p5.js as far as I know.

Open VSX Registry

And many, many extensions to run Love2d from VSCode. I even found in the Love2d wiki an entry on using Sublime Text (a very old-school text editor that I use in my classes to avoid auto-complete).

But nothing actually mentioned in the wiki itself on any VSCode Extensions. I searched the Marketplace. There were results for both LOVE, love, Löve, love2d, Löve2d with inconsistent tagging across the board.

One in particular was really useful, by Jan Werder, that helped me figure out how to even get Love2d running from the extension.

With MacOS, however, you actually can't run love from the path because it won't actually stop the sketch and you will end up with a bunch of Love2d windows running. This ended up being fixed by accessing the binary file directly. A huge headache caused by several concurrent Node child processes running.

JanW also maintains a huge list of Love2d tools and projects:

GitHub - love2d-community/awesome-love2d: A curated list of amazingly awesome LÖVE libraries, resources and shiny things.

A curated list of amazingly awesome LÖVE libraries, resources and shiny things. - love2d-community/awesome-love2d

and I added L5 to this list :)

added L5 library to utilities by samheckle · Pull Request #313 · love2d-community/awesome-love2d

L5 is a creative coding library that ports Processing / p5.js into Lua. The documentation website is here https://l5lua.org/ and the Github org is here https://github.com/orgs/L5lua/repositories It...

So why no VSCode?

It is in progress! Right now my account is going through some verification. There were a lot of errors going through the publishing process. OpenVSX is a little easier, but requires 2 accounts: OpenVSX and Eclipse Foundation. eclipse.org was actually down for a lot of the weekend. But the docs are pretty straightforward:

Publishing Extensions

An open-source registry for VS Code extensions. Contribute to eclipse-openvsx/openvsx development by creating an account on GitHub.

Whereas VSCode requires a dev.azure account AND some type of organization AND credit card info*1.

My account was flagged*2 so I am awaiting approval through the support process. Hopefully by the end of the week!

In the papers

Two weeks ago was Computing within Limits, an online conference on building within technological boundaries. Lee and Kit published a paper on designing L5.

Designing L5: A Permacomputing Approach to Creative Coding

Creative coding libraries provide high-level tools that make computational and algorithmic art accessible to artists and learners. Processing/p5 is one such family of libraries, known for its...

There were some other interesting papers at the conference:

Anyway

For those in New York this month, I have a couple of events coming up:

July 8th: Breaking Walled Gardens: an iOS Jailbreaking Workshop at NYC Resistor [Park Slope]

A lecture-workshop on how to jailbreak old iOS devices to repurpose them. As a part of this exercise, I've run a web server using my old iPod Touch 2 and will demo how to do that.

July 25th: MindSwap #5: (w)holesums at Hex House [East Williamsburg]

A bi-annual artist speaker series where each artist/researcher/academic/performer has 7-10 minutes to talk about a topic. Think of a variety powerpoint party with interactive art and formalized hyper-fixation rants. I made the poster using L5 :) Here is another variation of it:


  1. This made me irrationally angry. Bring down M$.
  2. I'm fake, obviously. 

Did you enjoy this article?

Recommend it — Standard Reader surfaces well-loved writing to more readers across the network.

Across the AtmosphereDiscussions