LoginLogin
Might make SBS readonly: thread

SmileIDE

Root / Submissions / [.]

raimondzCreated:
Download:DCEVN4E
Version:0.4Size:
SmileIDE is my attempt to do a better IDE for Smilebasic. This program is still in development but it works at the current stage. Warning: Programs are edited on ram. This means that you could lost your code if you close the editor without saving. The project include uncompiled code in lowerdash for those peoples who want to see the implementation or change this program. Features: - Basic Editor - Load and save files - Syntax Highlight. - Autocomplete (By pressing B) - Custom configuration. Recent changes(V0.5) - Change keyboard - Add search functionality on file explorer - Bugfix. RoadMap: - Rewrite text editor(Use gap buffer and pages instead of a string array in memory) - Comment an entire line or multiples lines. - New text input for search text operation. - Display help document based on the function focused by the cursor.

Instructions:

Assign the file .exe to the smile button. Color selector - Press a to confirm color selection. B to Cancel. Buttons functionalities: - The buttons functionalities are the same as smilebasic's editor. - Press B to display autocomplete. The List is based on the texts inside DICT file. Keyboard functionalities: - Press "Top Menu" to display the app menu. - Press ? to see the changelog/roadmap (In the future I want to display help of functions based on the position of the cursor). - Copy paste buttons work. - Undo redo doesn't work yet. App menu: - J2L= Jump to line (Same as List:X). - Tools let you store shortcut to other programs. They will run on slot 0.

Notes:

Credits: - Kl'Dck Hul. (Lowerdash) - ActorBug. (Lex) - Pocky (PTMLReader) - SquareFingers. - 12Me21 (Automatic Code Indenter )

This is fantastic. The interface looks awesome, and it feels better designed than the default editor. However, I found a few problems. While typing some code, I found that the cursor has almost no delay between pressing it and the button repeating. For example, I type this:
WHO<backspace>ILT<backspace>E 1
VSYNC
WEND
and it comes out like this:
WIE 1




VSYNC


WEND
(I constantly use Y for backspace and A for enter) A solution to this would be having a key repeat page in the config. Also, it would be great if I could change the background color and sidebar color of the editor (or even have a GRP background) Also I have a glitch with the autoindent enter key thing. If I try to do this:
WHILE 1
 <cursor>VSYNC
WEND
and press enter, it glitches out and does this:
WHILE 1
 VSYNC
W<cursor><out of place enter character?><normal enter character>
END
I got a crash from the 12me21 autoindenter thing, but I forgot the line number (somewhere around 4500). It said Subscript out of range. I can't reproduce it, but it happens when I do the autoindent thing, then immediately press enter. <whoops accidental post>

Replying to:TheV360
This is fantastic. The interface looks awesome, and it feels better designed than the default editor. However, I found a few problems. While typing some code, I found that the cursor has almost no delay between pressing it and the button repeating. For example, I type this:
WHO<backspace>ILT<backspace>E 1
VSYNC
WEND
and it comes out like this:
WIE 1




VSYNC


WEND
(I constantly use Y for backspace and A for enter) A solution to this would be having a key repeat page in the config. Also, it would be great if I could change the background color and sidebar color of the editor (or even have a GRP background) Also I have a glitch with the autoindent enter key thing. If I try to do this:
WHILE 1
 <cursor>VSYNC
WEND
and press enter, it glitches out and does this:
WHILE 1
 VSYNC
W<cursor><out of place enter character?><normal enter character>
END
I got a crash from the 12me21 autoindenter thing, but I forgot the line number (somewhere around 4500). It said Subscript out of range. I can't reproduce it, but it happens when I do the autoindent thing, then immediately press enter. <whoops accidental post>
Thanks for posting those issues. I wll try to solve them ASAP. 1. I didn't understand very well the first problem but I'll add those options on the config screen. I need to change all the inputs of the editor anyway because the best way to implement undo and redo is to turn every action in events. 2. I will put that idea on the list but I don't think that I'll do that soon. I want to set all the basic features of the editor first. 3. Mmm... I didn't expect that behavior with the auto indenter but I will check whats the problem.

Do you think you'll ever add in editing multiple programs?

I have a few ideas of what to do to this, first off if I would personally like the text to be put out in caps at normal, also maybe I thought it would be cool to make a custom keyboard for it to make it feel really original, though I don't know if this would mess up some of the keys because of certain things, another idea is adding a boundary to the pointer on the ? screen, also btw a lot of times copy and paste doesn't work for some reason. but these are just like a few ideas

Wow This is amazing You should look into using CLIPBOARD to keep a backup of the program since its the only way to keep data outside of RAM without the save dialog Then, I don't know if it's possible, but keep a copy/paste function inside the program Also note, this does not work as a Smile button, it gives a error. I'm gonna try using this next time

Replying to:Simeon
Wow This is amazing You should look into using CLIPBOARD to keep a backup of the program since its the only way to keep data outside of RAM without the save dialog Then, I don't know if it's possible, but keep a copy/paste function inside the program Also note, this does not work as a Smile button, it gives a error. I'm gonna try using this next time
In the current version, CLIPBOARD is used for copy/paste. In fact, you can copy part of the code, close the program and paste it on the console or a.nother page I forgot to mention this on the description but the program is not aware of the project that is edited yet when used via smile button(By default, it store the program on SmileIDE's folder). However, the program has an option to store the current project on the last page of the config (Project folder).

Replying to:SwanBot
I have a few ideas of what to do to this, first off if I would personally like the text to be put out in caps at normal, also maybe I thought it would be cool to make a custom keyboard for it to make it feel really original, though I don't know if this would mess up some of the keys because of certain things, another idea is adding a boundary to the pointer on the ? screen, also btw a lot of times copy and paste doesn't work for some reason. but these are just like a few ideas
I like lowercase by default because I try to keep my syntax using java naming conventions (https://www.javatpoint.com/java-naming-conventions). If you don't like that, then you can uncheck the option "Invert case". I don't have plans to make a custom keyboard yet. I know that it would be useful because there are some characters that aren't on Smilebasic's keyboard and the fact that the character displayed are the same on the font page. However, I don't have much time to reinvent the keyboard and the inkey$ function. That's why I didn't put it on the roadmap. However, let me know if you find a program with a good keyboard. That way, I could do some modification to integrate that on the project.

Replying to:NateDogg1232
Do you think you'll ever add in editing multiple programs?
I thought about keeping tabs or a list on the menu (The black box), but I haven't decided yet.

It runs a little slow on the o3ds and the screen sometimes flickers. I've noticed it most when trying to load programs. Also, I don't know if this is just an o3ds problem or not but while I'm scrolling through the program the text turns white which is kind of annoying.

This project is amazing I love it! :D I found a little bug. When I try to load a file it says there is an error in line 5535(SORT:1)

Replying to:blizord
It runs a little slow on the o3ds and the screen sometimes flickers. I've noticed it most when trying to load programs. Also, I don't know if this is just an o3ds problem or not but while I'm scrolling through the program the text turns white which is kind of annoying.
Well, the file loader was made by SquareFingers (http://smilebasicsource.com/page?pid=174). I tried to fix that problem but there still some issues with it. I will change the implementation to load projects and files separately. The other problem is a feature that I made to disable the syntax highlighter while scrolling. You can enable that by unchecking the option "Smooth Scroll" but the performance will be horrible while scrolling throught the program. I know because I own a o3ds.

Replying to:Alicekitty
This project is amazing I love it! :D I found a little bug. When I try to load a file it says there is an error in line 5535(SORT:1)
I guess that this problem was generated if you have an empty project. However, now this should be fixed.

Replying to:Simeon
Wow This is amazing You should look into using CLIPBOARD to keep a backup of the program since its the only way to keep data outside of RAM without the save dialog Then, I don't know if it's possible, but keep a copy/paste function inside the program Also note, this does not work as a Smile button, it gives a error. I'm gonna try using this next time
perhaps you could store backup code in another slot or store the clipboard in another variable and only put it in CLIPBOARD when exiting normally (so if it crashes, the backup program will be in CLIPBOARD instead)

SmileIDE is really cool! Seriously, this has a lot of potential. I just have two suggestions/bug fixes. My first one is that you should add a keyboard instead of the default one for adding exclusive options or hotkeys. My second one is that you should set sysbeep to false, as when I type, sounds play twice and it sounds weird. Other than that, this is amazing! Keep up the great work!

Replying to:Simeon
Wow This is amazing You should look into using CLIPBOARD to keep a backup of the program since its the only way to keep data outside of RAM without the save dialog Then, I don't know if it's possible, but keep a copy/paste function inside the program Also note, this does not work as a Smile button, it gives a error. I'm gonna try using this next time
I'm going to try to put the program on a slot. Right now, I only do that when I save the program but maybe I can write it while the program is idle.

Second image appears to be broken.

Replying to:Yolkai
Second image appears to be broken.
I deleted some pictures from my miiverse account. I used the url option to upload the image so maybe that's why it appears broken.

Public key doesn't seem to be working.

Replying to:HTV04
Public key doesn't seem to be working.
Thanks, now I changed the key.

what engine do you use for this, Sprint?