Unfortunately, I'm not able to install Ubuntu on the student chromebooks and they don't support linux apps so this solution will work for me.
The builds should work on all Chromebooks, but you need to have one of:
1) An Intel or ARM64 Chromebook with Google's official Linux Apps support. This is the easiest path, and most likely to be available to you in education. You can install the relevant build from the GitHub releases page.
2) The ability to enable developer mode on the device. The scripts linked in the post will automate setting up an Ubuntu jail and installing the builds of Code into it.
Theoretically this gives 100% coverage of devices, but only if you're not restricted by the school/IT department.
Of course the target machines need to be beefy enough for all the students to be running VSCode and any compilation & output on at the same time, which almost certainly rules out a single rPi! You'd need a much larger machine or a little farm of Pi-class units.
If you can't modify the machines to run full Linux environments (ala crouton), you're mostly stuck with web-based experiences, or the apps provided to you by the Chrome Web Store.
Teaching your students to SSH into a Linux box and teaching them basic BASH skills is pretty worthwhile in itself. You seem to have made the best of a quirky situation.
What I would definitely do is set up something better than nano for them. Emacs works like a charm over ssh with full syntax highlighting, intuitive UI, and powerful features. Find (or make) a nice little config for them.
There is also Jupyter and Jupyter Hub which might be good for you. Essentially an on-prem Web-based environment. While I think teaching at a lower level is better for serious computer science, this could still be good for young people.
If the teacher is worried about having to teach ssh/bash before they can start programming I would strongly believe emacs is out of the picture.
At least with emacs, you could load a key map which gives them modern keybindings and give them a print out. There's a built-in CUA mode too. That way they get better syntax highlighting, indentation and backup files for free. They don't have to /learn/ emacs.
I strongly agree with you though that the last thing you want to is throw up all these barriers to students getting started with programming and am appalled that the kids and teacher have to put up with the pi and shell solution.
You shouldn't have to install Ubuntu or a native Linux app just to be able to write some code on a Chromebook.
If you're interested, I've been working on a Monaco-based editor for Chrome OS (just like VS Code) that doesn't require installing Crouton nor a native Linux app. Works fully offline and performs pretty well on low-end hardware.
In any case, this is awesome and I'll definitely give it a try
Ever downloaded an EXE on Windows or DMG on Mac? It's the same, except you can inspect the code doing it this way if you were worried.
It's my preferred editor right now on my Pixelbook running from the Embedded Linux container beta.
Basically it's the ARM and ARM64 support that's new. For anyone who has a device that supports the official Linux apps containers I steer them down that route, the Crouton method is kept around for older kernel devices (as their out of luck wrt official Linux support, sadly)
Currently I am not in Developer Mode and I have a linux box for running a different IDE. I am okay with my Pixel being for testing and non-dev things.
So, before I powerwash the thing and get Crouton working again (which I am slightly loathed to do since the five year support period is over), could I please have a few screen shots? I hope I am speaking here not just for myself but for others with a loved but dated Chromebook and questions about how this would work in the file-less world of ChromeOS where I am not so likely to be able to sync my files to a remote server. If I am to swap over to a different IDE then I need a few pictures to persuade me that the efforts are worthwhile. The Pixel (original vintage) has the best screen/keyboard/trackpad/speakers/design of any laptop ever made even if the CPU is a bit lame by today's standards and the battery doesn't last all day. So it would be nice to code on.
A few years back, my "main" machine was a Samsung Chromebook 2 (13") running Xubuntu (Ubuntu with XFCE) via crouton. Surprisingly snappy and quite useful as a thin client/web coding machine.
My biggest gripe back then was the lack of Sublime builds for ARM machines. This then, would be pretty welcome to anyone in that niche.
pretty sure all the common linux IDEs, QtCreator, KDevelop, Gnome Builder, etc. work fine on ARM
The star is appreciated! :-)
In terms of the builds themselves, they're using Archie:
(on Github at https://github.com/headmelted/archie)
It runs well for the light projects I use it for, and I've yet to encounter plugins that don't work - although I'm sure they exist.