Resource Programming in MS Paint [UPDATED]

Discussion in 'Spigot Plugin Development' started by RubbaBoy, Dec 11, 2017.

  1. People joke about what IDE they use often, things like Word, MS Notepad, sometimes even Eclipse, and then often times MS Paint. People joke about MS Paint because it's not even a text editor, people joke about it because it doesn't have one feature in common with IDEs. Well, this application gives MS Paint a boost, and lets MS Paint highlight, compile, and execute code, with just a few clicks of a button, and only text coming from MS Paint. It is now much more practical than things like Word, Notepad, and obviously Eclipse.

    (This has been updated as of 7/17/19 from the huge release v3)

    Links:
    Website | Wiki | GitHub | Demo video | The project's Discord server

    How it works
    There is now an installation and demo video, for anything not explained fully here, or just for those who want to see the IDE in action:


    MS Paint IDE's features include:
    • Can read, parse, and highlight code from purely image files
    • Finding and replacing of text from image files (wiki)
    • Supports Java, Python, JavaScript, and Go, with many more planned (wiki)
      • Includes LSP support alongside a very simple language API to add custom languages (wiki)
    • Git tools, to create and manage your project in Git from within the IDE (wiki)
    • Google Assistant support (wiki)
    • Right-click context menu to open and edit ANY text file in an MS Paint instance (wiki)
    • Integrated buttons within MS Paint (No program modifications) to do basic IDE tasks (wiki)
    • Native installer for easy usage
    • Automatic Discord RPC support
    • IDE theming via CSS files (wiki)
    • Program and compiler outputs as image logs

    The IDE uses a custom OCR made just for this IDE (https://github.com/MSPaintIDE/NewOCR), with the entire project taking well over a thousand hours to complete. Here are some screenshots:

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    Donations
    If anyone would like to support me with donations, I would be extremely grateful, and would help support for future suggested projects :) If you donate and would like your name posted here, please PM me!

    Thank you to:
    @Mr.Midnight

    @Stef
    @iCodeHaven
    @AL_1

    Feel free to donate via PayPal or Open Collective
     
    #1 RubbaBoy, Dec 11, 2017
    Last edited: Jul 17, 2019 at 7:38 PM
    • Winner x 95
    • Funny x 37
    • Creative x 8
    • Like x 6
    • Agree x 4
    • Optimistic x 4
    • Informative x 2
    • Friendly x 1
    • Useful x 1
  2. what the fuck
     
    #2 loidsemus, Dec 11, 2017
    Last edited: Jun 29, 2018
    • Agree x 54
    • Funny x 13
    • Optimistic x 2
    • Like x 1
    • Winner x 1
  3. That is real art
     
    • Agree Agree x 22
  4. Thank you. Code is art, so it should be created in a workspace that allows for all kinds of art, not just textual.
     
    • Agree Agree x 6
    • Winner Winner x 1
  5. That is art, and as Bob Ross once said..
    "I guess I’m a little weird. I like to talk to trees and animals. That’s okay though; I have more fun than most people.”
    - Bob Ross
     
    • Like Like x 1
    • Funny Funny x 1
  6. Thank the lord a reliable IDE exists now.
    Note: Ms paint was killed by Microsoft.
    Also a Linux user.
     
    • Winner Winner x 4
  7. Now I can finally move away from this IntelliJ bullshit to a truly SUPERIOR IDE. God bless.
     
    • Funny Funny x 10
    • Agree Agree x 4
    • Like Like x 2
    • Winner Winner x 2
  8. Yep, so full of themselves they included themselves in the name..
     
  9. MS Paint will never die, it will always be with us. And for being a Linux user, as long as you run the jar with your JDK, it should work with you.
     
  10. Amen Brother!
     
  11. Mas

    Mas

    "The perfect IDE doesn't exi-"
     
    • Funny Funny x 4
    • Like Like x 3
    • Agree Agree x 3
  12. Is that a.... CHALLENGE??? If I get enough support on this project, I'll accept your offer. Hell, I'll add multi-class support, the only thing holding me back is loading times.
     
  13. FormallyMyles

    Supporter

    I've been looking for something to increase my productivity...
     
    • Funny Funny x 10
  14. What kind of support are you looking for? If it means donations to get multi-class and external library support, so be it
     
  15. Nah just likes and views, I could put up a donation link if people would actually consider donating :p which would help. I just haven't made worth much donating for in the past xD
     
  16. I'll donate. Put that link up.
     
  17. Thank you, check the bottom of the post :)
     
  18. Done, I've donated :D
    Also, read the message with it :p
     
    • Like Like x 1
    • Informative Informative x 1
  19. Is it April 1st already?
     
    • Funny Funny x 7
  20. You can check the GitHub, I can promise that everything is 100% legit. It uses an OCR to get all the letters from the images and assembles into a 2D grid of rows and columns, with all X and Y coordinates saved. The program then truncates any null elements in the grid. Then, it converts it into a String, then uses a library, JHighlight, with a custom class for it to read to and from strings, only giving a grid of colors. Then it does the process of going through each letter and setting each letter object's color to the one specified by the JHighlight thing. The program loops through each letter and draws them to an image, setting all non-white pixels to the highlighted color to give the syntax highlighted color effect. After that, if selected, it gets the text and uses the Java tools.jar to compile the class from an in-memory String, then converting any errors into "Angry Squiggles" as referred to in the program. It gets the locations of each column and row and draws those to the specific lengths with a padding of 3 pixels on either side to make it prettier. If no errors are present, it loads the compiled class, and invokes the main method in the class. All output from the program and compiler is routed through a custom PrintStream that writes to images, and is saved after everything is completed, to keep things fast (In relative terms).

    TL;DR
    It's real.
     
    • Like Like x 1
    • Funny Funny x 1
    • Winner Winner x 1