BIDE - Basic IDE
Posté le 26/08/2016 19:36
Je vous présente mon nouveau projet : un IDE pour le Basic (casio bien entendu).
Lien de téléchargement
Un petit malin a écrit :
Mais ça va faire un bide ton projet !
...
(bref, si quelqu'un a un meilleur nom pour ça, qu'il le dise.
)
En particulier pour les prochains CPC, un IDE pour le basic serait assez utile (enfin pour tout programme basic, c'est horriblement chiant de faire de grands programmes illisibles sur un écran monochrome (donc sans coloration syntaxique) de 21*6 sans aucune indentation).
Todo list (ça c'est pour moi) :
- Conversion des lignes des options en \r\n (ou édition directement dans BIDE)
- Optimisation : enlèvement des accolades, crochets et parenthèses fermants
- Conversion optimisée png -> multi drawstat
- Importation automatique sur la calculatrice
- Option pour générer du super drawstat
Les features de cet IDE seraient :
- Remplacement automatique des caractères spéciaux : par exemple si l'utilisateur tape "- >" (sans l'espace bien entendu) ça le remplacera automatiquement par "→". Pareil pour =>, <=, >=, etc. (pas fait)
Pour les autres caractères qui n'ont pas vraiment de représentation ASCII (disp par exemple) le remplacement s'effectue en tapant un '&' avant le nom de caractère, dans ce cas taper "&disp" le remplaçera par "◢".
Si l'utilisateur ne veut pas le remplacement (par exemple, s'il veut avoir "- >" et non pas "→") il lui suffit de séparer le "mot-clé" en deux parties et de les recoller après. Le remplacement se fera uniquement si l'utilisateur tape tout le mot d'un coup.
Cela remplace aussi les noms de fonction, si l'utilisateur tape "locate" ce sera remplacé automatiquement par "Locate".
Là où vous pouvez m'aider : me fournir les caractères unicode correspondant à chaque caractère ("◢" = 0x0C, etc).
- Possibilité de nommer ses variables. Il sera possible par exemple de mettre "vieJoueur" comme nom de la variable "A", et dans ce cas la variable A sera remplacée par "vieJoueur" dans le programme. Ca évite de se rappeler à chaque fois de l'utilité de chaque variable. (pas fait, utiliser les octets de header pour identifier les g1m)
- Aide au niveau des fonctions graphiques : survoler une fonction graphique montrera son résultat dans une petite pop-up. (pas fait)
- Indentation automatique lors de l'importation du projet (fait), et lors de l'écriture (pas fait) (par exemple, écrire "If A=2" puis faire une nouvelle ligne mettra automatiquement un ":Then" après le "A=2", un "IfEnd", puis augmentera le niveau d'indentation).
- La coloration syntaxique (c'est la base
), dites si vous voulez un style du type
notepad++,
eclipse, ou autre. Je préfère personnellement celui de notepad++. (fait à moitié)
- D'autres fonctions assez utiles inspirées d'eclipse : survoler une fonction affiche sa documentation, l'auto-completion, la sidebar à droite montrant les todos/warnings/erreurs, etc. (pas fait)
- Optimisation automatique lors de la compilation : enlever les guillemets/crochets/parenthèses/accolades à la fin d'une instruction (d'autres suggestions pour optimiser ?). La désoptimisation se fera à l'importation du .g1m (parce que des parenthèses pas fermées c'est chiant (pas fait)
- Support de B2C pour pouvoir tester sur l'émulateur facilement (pas fait)
- L'IDE refusera de compiler le programme s'il y a un quelconque goto dedans (j'ai du compromettre)
- Support de commentaires style C (// et /*...*/) (pas fait)
Voilà, si vous avez d'autres suggestions n'hésitez pas à les dire
et aussi, si quelqu'un a un bon tutoriel sur les GUI en java, ça me serait bien utile (sachant que j'en ai trouvé aucun de compréhensible et que j'y comprends toujours rien).
Citer : Posté le 11/05/2018 18:56 | # | Fichier joint
Salut,
Comme tu m'a demander par message je te passe en fichier joint le g1m contenant un extrait de mon problème avec BIDE,
- A partir de la ligne 90 jusqu'à la ligne 238, toutes les commandes sont remplacées (on peut remettre les vraies commandes mais à la réouverture du programme les commandes sont à nouveau modifiées)
- Pour ce qui est du problème des suites de caractères l'exemple est ligne 118, normalement la mise en forme est identique à la ligne 86
J'espère que cela te sera utile.
En tout cas cela reste un très bon éditeur de programme
PS: c'est un PRGM de "Cours" je préfère prévenir
Citer : Posté le 11/05/2018 20:26 | #
En fait c'est parce qu'à la ligne 26, tu as :
Le guillemet en trop à la fin fait que BIDE considère tout ce qui suit comme string, et ça provoque un effet inverse : ce qui doit être dans un string ne l'est pas, et ce qui ne doit pas être dans un string l'est (ce qui explique aussi ton 2ème bug).
Du coup, BIDE 4.1 :
- Lors de l'importation des g1m, les retours à la ligne sont considérés comme fin de string
- Correction du rectangle rouge qui s'affichait sur le sélecteur de caractères lors du démarrage
http://puu.sh/Akl7Y.zip
Ajouté le 16/06/2018 à 07:28 :
BIDE 4.2 :
- La sauvegarde en .bide ne reset pas les modifications faites depuis la dernière sauvegarde (en .g1m)
- Correction d'un bug de taille lors de l'importation des pictures en png
- Importer une picture en png ne créait pas correctement la picture
- Ajout d'une alerte lors de la sortie d'une nouvelle version
http://puu.sh/AGblB.zip
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 16/06/2018 10:34 | #
C'est vraiment un IDE intérressant pour débuter en Basic Casio. De plus, tout est pensé pour que l'utilisateur s'y retrouve et puisse programmer dans de bonnes conditions !
J'ai vu qu'il faut Java pour l'installer, tu pourrais pas l'inclure directement dans l'exécutable ?
Citer : Posté le 16/06/2018 10:39 | #
Lol, nope
C'est le principe de Java : t'installes Java une fois, et il exécute ce que tu lui donnes. Sinon ça s'appelle Electron (installer x fois la même usine à gaz pour x programmes).
Citer : Posté le 16/06/2018 10:41 | #
Je veux juste dire que si tu ne l'as pas sur ton pc, BIDE s'occupe d'installer Java puis l'IDE sinon, il installe directement BIDE
Citer : Posté le 16/06/2018 10:43 | #
Ah, j'ai eu peur
Le truc c'est que l'installation de Java dépend complétement du système sur lequel tu l'installes. Windows a pas le même mode de fonctionnement qu'OSX, sans parler des n distros Gnunux qui ont chacune leur gestionnaire de paquets
Citer : Posté le 30/06/2018 12:25 | #
BIDE 4.3 : http://puu.sh/AOun8.zip
Le changelog sera dans la RDP.
Ajouté le 17/08/2018 à 23:34 :
BIDE 4.4 : https://puu.sh/BfYju.zip
Le changelog sera dans la RDP.
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 18/08/2018 22:38 | #
Le choix de U+E064 dans la Private Use Area pour représenter le E majuscule des exposants n'est pas très judicieux, il existe un caractère dédié :
ᴇ U+1D07 Latin Letter Small Capital E
Le caractère actuel ne s'affiche pas quand on copie/colle depuis BIDE sur le forum, comme par exemple dans ce message de Drak : #156659.
Il faudrait utiliser le caractère approprié à la place, qui lui s'affiche bien, comme dans mon message plus bas : #156666.
Citer : Posté le 19/08/2018 00:45 | #
En effet, je pense que je l'avais réservé pour le petit E dans les caractères, mais vu que j'ai mis tout ça en caractères privés on peut le mettre pour l'exposant. Je ferai ça pour la prochaine version.
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 19/08/2018 08:43 | #
Ah, je vois l'intérêt. On se sert moins des petits caractères, toutefois.
Citer : Posté le 06/02/2019 21:01 | #
Je t'aime lmao en 5 secondes je l'ai installé sous linux. Je dit mille fois oui
Citer : Posté le 26/08/2019 11:53 | #
Im getting
ERROR: Could not find memory menu, check the offset of the emulator screen
I've tried a bunch of differents cords (and restarted BIDE each time)
But it keeps saying that
What is defined as the top left corner?
is it the top left calc screen pixel?
where the black case starts? or ends?
of the emulator window?
Citer : Posté le 26/08/2019 21:37 | #
The top left is the top left calculator screen pixel, you can use "take emulator screenshot" to get what BIDE sees as the window, and "take emulator screen screenshot" to get what BIDE sees at the screen.
Note that you have to be on the main menu; it could be that you need to replace the image of the main menu (if you have a color calculator, for example).
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 26/08/2019 23:36 | #
I updated the 3 different images
memMenu, confirmation and complete
It now detects the memory menu correctly
File explorer opens up like instantly, but BIDE doesn't detect it and times out 10sec later
If I manully select the file and press enter, BIDE doesn't detect the confirmation screen
Im on Windows 10
and the g1m file is on my D: drive
When BIDE switches to the emulator, it takes it out of maximised mode
Mrvoxy Invité
Citer : Posté le 05/01/2020 22:31 | #
Whenever I try to download BIDE from puu.sh, I always get the error "That puush cannot be found"
The version that I downloaded from Planet Casio says version=1.1, so it is not the latest, right?
How can I get newer BIDE versions?
Citer : Posté le 05/01/2020 22:33 | #
On the top of this topic, there is a big centered link to this page, where you can download the latest version (it seems to be the 4.4).
Citer : Posté le 29/01/2020 14:31 | #
Hey, j'ai essayé de lancer BIDE avec le sous-système Linux pour Windows, et une magnifique ClassNotFoundException apparait:
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at zezombye.BIDE.BIDE.<clinit>(BIDE.java:62)
Caused by: java.lang.ClassNotFoundException: javax.swing.plaf.basic.FixedTabbedPaneUI
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 10 more
Appart ça, le code source n'est plus dispo sur le gitea...
Lien: https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15779
Citer : Posté le 29/01/2020 14:36 | #
BIDE supporte déjà Windows, tu peux le lancer directement avec Java sans WSL.
Citer : Posté le 29/01/2020 14:37 | #
Mais le problème c'est qu'il crash au démarrage (en double cliquant sur le .jar)
Lien: https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15779
Citer : Posté le 29/01/2020 15:30 | #
Ouvrir une console ("cmd"), faire "java -jar BIDE.jar" et voir ce que ça dit ...
Citer : Posté le 29/01/2020 15:31 | #
En faisant ça, y'a pas d'erreurs, mais c'est chiant de lancer un cmd pour lancer bide ensuite
Lien: https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15779