Open fnoop opened 5 years ago
Basic visual studio code support in place, some extensions installed automatically.
Increasing the kernel limit hugely increases memory usage but still doesn't have enough to cover the entire maverick filetree:
# Increase kernel inotify watcher limits
base::sysctl::conf {
"fs.inotify.max_user_watches": value => $filewatchers;
}
Probably just suppressing the warning is ok - and document that changes on the filesystem may not be picked up through codeserver.
Extensions don't work:
Startup errors:
No terminal:
Updated node.js from 8.x to 10.x (latest LTS).
Memory note: https://github.com/cdr/code-server/issues/232 We shouldn't make this the default unfortunately, probably still stick with cloud9 as default. Install both, but make cloud9 active and codeserver inactive.
Ah, updating node.js to 10.x fixes most of the above problems. Terminal works, extensions work, python now linting etc.
Need to suppress load warnings/errors, as they show up every time it's loaded in a browser.
Python setup:
Great work! +1 for black formatter. Re linter I'm not too fussed.
code v2 complete rewrite, much more efficient: https://github.com/cdr/code-server/releases
Also, vscode native remote extensions now work with raspberry, as an additional option.
Having the dev environment accessible by the browser is quite useful IMO as it lowers the barrier of entry to having a web browser installed on the machine. So +1 for code-server if it is infact reliable.
We can document the use of vscode remote if that is the user preference.
My 2c
maverick_web::codeserver manifests updated with code-server v2 build steps. v2 uses a lot more memory to build, but packages into a single binary and has much reduced memory usage at runtime. Good enough I think to make it the default and deprecate cloud9.
Memory usage for codeserver v2 is still 200mb+ resident which is too much for a pi zero with 512mb ram. resident memory usage of cloud9 is only about half that - 120mb+, but I don't think worth keeping around and supporting it, particularly as it's license is distinctly non-opensource friendly. For smaller systems like rpizero, just install but disable codeserver by default and allow the user to quickly start when they need it.
c9 dead, should be removed asap: https://github.com/c9/core/issues/536
Nothing is likely to replace c9 anytime soon on smaller boards, due to the memory limitation. Fork c9/core and reference that, just incase amazon pull the upstream repo.
Need to do a memory review of all current options: c9 codeserver theia
Not an IDE, just the editor functions of VS Code in browser https://microsoft.github.io/monaco-editor/index.html
Likely much more light weight and would also likely require a bunch of work to make useful in context. But still worth noting IMO.
Forked cloud9 to github.com/fnoop in case amazon pull the now-dead c9 repo. Adding theia manifest as well - looks like a very interesting alternative, as well as being properly open-source project.
There are lots of problems with cloud9 alternatives, the two biggest are currently:
Suggest that this is shelved until 2.0 - for now we'll stick with cloud9, which is a known quantity and stable. I've forked the repo and repointed, just in case amazon pull the upstream repo.
https://github.com/codercom/code-server