[Tool]FemtoIDE

I wouldn’t really say clunky, as much as young.
Use your text/bitmap editors of choice and the worst that can happen is you’ll need to close and reload if something falls out of sync.

2 Likes

It has been in development for far less time than Embitz or VSCode, so clunkiness is to be expected. Polish takes time and it usually doesn’t come in version “0.0.14b”. Getting it to version “1.0.0” still requires a lot of work and feedback, so if something bothers you, go ahead and point it out.

As for not using the sprite editor, that’s totally alright. I don’t expect it to replace Aseprite or Photoshop, if that’s what you have at hand, but it will come in handy for those who don’t have anything better or in a pinch.

3 Likes

Im not dishing the project, to point out that i kinda like it. and it seems to work well or better for pokitto development.

my main issues i really have right now is its a bit random to hide the debug output window.

You mean the pane on the right, with the local variables and the stack trace?

bottom window looks like a terminal but cant type in it

It clears the log before a build, so as not to mix messages from the previous build.

It’s not documented yet, since it might change at any minute it’s a bit of an easter egg, but you can type in it:

Commands prefixed with an = are evaluated as javascript, so =1+1 prints 2.
Commands prefixed with # are executed in your shell. #python script.py will call the python executable with an argument.
Without a prefix, commands vary depending on the mode. If you’re debugging, they’re sent directly to GDB.

3 Likes

OMG thanks, i just dug in and added a clear button XD

3 Likes

It doesn’t work out of the box, but the setup is still pretty minimal,
and once it has been set up it just works from there on in.

That’s pretty much an occupational hazard when it comes to IDEs.

There’s no such thing as a perfect IDE, they all have various failings.

Technically PlatformIO is open source, so it could be forked, simplified and modified to create something Pokitto specific if any of that became a problem, but I doubt anyone can be bothered to do that.

If make weren’t so fiddly then makefiles would probably provide the most flexible solution.

Probably better off using Femto’s tool-chain and interface directly with vscode/atom.

Or can hack in something into FemtoIDE like in config.js under APP.bindKeys("global", {

"C-t": ()=>{ document.getElementById('logContainer').innerHTML = '';},

if you want the log out of the way

Or simply:
"C-t": APP.clearLog,

1 Like

ohh that’s how you call it, i was really confused why clearLog() wasn’t working outside the console

Yeah, the console adds the APP. part so you don’t have to keep typing it all the time.

Do you think it be possible to move this to electron, or would that just be a waist of time?
I know there’s a thing to have automatic updates and have a bit more control on the windowing.

Right now, it probably would be possible without too much hassle.
There are some things I’d like to do in the future that electron doesn’t do very well. For example, NWjs has a better serialport API and I’d like to use it for logging on hardware over USB.

been trying to fix the window state do you know what is setting the window to always start so small?

Have a look here:

It sets the initial window size for the splash, but not for the index.html editor windows.

yea thats why im confused, im trying to set the index.html to the last state (wen program closes) so it can remeber the monitor, position and window size.

So you added width and height to both places (lines 3 and 14) and it still opens up small?

:tired_face: idk anymore i need to save it to a file wen app close event triggers or something and pull that in wen the app starts, it a total hack

It might be simpler to keep it in localStorage instead of a file. I can look into it tonight, if you don’t manage.