Jump to content

[WIN] the kOS IDE - Current version 0.33


SolarLiner

Recommended Posts

I noticed, as some of the newer terms are not recognized. I have already grown attached to it, however, so I am curious what SolarLiners plans are :)

I see there is an XML that will probably allow me to add new terms myself, but that would be a last resort I guess.

Well I did a similar thing for VIM, which is designed to allow people to make their own syntax files fairly simply with just a knowledge of regular expressions. I don't think it's that much work.

Link to comment
Share on other sites

Is the project dead? Are you dead? Any news about it or you?

This is my spirit speaking, relayed to Kerbin with a SatanSat (because I'm in hell right now :D ), and I am. The project is not. My HDD broke and hopefully I was still able to get the data back from the project, with the help of the online source repository. But there were errors in it, and I completely changed my coding style in the way (way closer to POO), so I decided to start rewriting parts of the code. The fact that high school took me my free time and pulled me in high orbit, far away from surface did not help with this.

Plus I have some other projects now (Nagging Nadia, some Orbiter-related projects) so I have to spread my free time over it.

And finally, the kOS plugin is updating soo fast !!

So yeah, the project's not dead, but I have way more limited free time than when I want, maybe I have too much projects running right now, maybe I need to "finish" some, but I'll sure will not let this be abandoned !

Answers time !

Rather than using Scintilla's Margin0 numbering, have you considered implementing your own line number margin? ScintillaNET doesn't expose the methods to do it, but you can still use the NativeInterface.

Here's a simple proof of concept:


const uint SCI_SETMARGINTYPEN = 0x08C0;
const uint SCI_MARGINSETTEXT = 0x09E2;

Editor.Margins.Margin1.Width = 30;
Editor.NativeInterface.SendMessageDirect(SCI_SETMARGINTYPEN, 1, 4);
for (int i = 0; i < Editor.Lines.Count; i++)
{
Editor.NativeInterface.SendMessageDirect(SCI_MARGINSETTEXT, i, i.ToString());
}

Thanks alot Pizza (I didn't know i'd say that one day :D ) for that concept, I guess then that "Editor" is the Scintilla control? (EDIT: Sur it is, as it is the same name as mine in the code ^^)

Nice catch Steven ! Never thought about that. I'll change it ASAP. We still have that 1 line offset because Scintilla starts counting at 1 and kOS at 0. Did not discovered how to change it yet...

Indent stripper is on the way to be implemented too.

Thanks for the suggestions !

(Quoting myself, like a boss)

Indent stripper done but what about loading the stripped file instead of keeping the {EOL}s ? I really hate seeing too much blank on files, sorry 'bout that but it's me just being me :)

I noticed, as some of the newer terms are not recognized. I have already grown attached to it, however, so I am curious what SolarLiners plans are :)

I see there is an XML that will probably allow me to add new terms myself, but that would be a last resort I guess.

As I said above, nope I didn't have time to keep up with the changes. I might try to separate into two working copies, one for the "released" state that allows me to quickly change things and release with the same version, without adding the beta features and alpha testing.

I finally have the chance to mess around with kOS, so I downloaded the IDE too. I was hoping it would help me punctuate every line properly and warn me if I don't. Is that something the kOS IDE does?

There is an autocompletion feature, but it's kinda rough for now, and there is no error warnings for what you mistyped. Sory for now :/

I've made an icon for your IDE, not the best one (far from it), but something))

0vjqDT99HDM.jpg

(The best for the end !)

Ouh I love it ! Pixel art and the green and black screens adds to the retro style that kOS has taken. I will make a transparent "computer-only" version for the icon on the executable, the full one will be the window's art !

Link to comment
Share on other sites

There is an autocompletion feature, but it's kinda rough for now, and there is no error warnings for what you mistyped. Sory for now :/

That is fine! The program is already very nice, if it is coming I will simply have some patience :) Your IDE really helps to make the scripting a lot more streamlined and relaxed.

Edited by Camacha
Link to comment
Share on other sites

That is fine! The program is already very nice, if it is coming I will simply have some patience :) Your IDE really helps to make the scripting a lot more streamlined and relaxed.

It's good to see that my goal has been reached ! I felt kinda uncomfortable with the in-game editor, that it misses things to help you. i wanted to make a tool that makes the scripting life easier and less "headache-maker". I guess I did a good job with that idea in mind ! :)

Anyway, does the kOS script searches for sub-directories inside the Archive folder?

Link to comment
Share on other sites

Anyway, does the kOS script searches for sub-directories inside the Archive folder?

For as far as I have been able to tell, no. I have not got that working and it is a bit of a headache when it comes to managing my files. I was quite a mess before, now I just make a seperate numbered folder for each set of scripts (they often come together) with an as descriptive as possible name. When I need a set, I copy them manually to Archive.

I would be nice if the Archive drive could contain subfolders.

Edited by Camacha
Link to comment
Share on other sites

Actually for what I intend to do no, because as the edit stripped files after saving to make the line numbers correspond, I will save the original file into a "NonStripped" folder or something like that and take them back if you choose to reload the commented version.

But as I discovered that you can use different scripts as working functions, I have a bit of an idea to help you manage sets. The editor will slowly take a "project" turn, where a custom file will keep the used scripts (you'll be able to link other scripts from other "projects", as a "library" project that contains helpful scripts), and then you will be able to load one or several "projects" for use within the Archive.

Sounds like a good concept, Need to organize this though.

Link to comment
Share on other sites

I am happy that you are still working on this.

Anyway the features you have announced and my 5 cent to them:

  • Smart Indent - 80% -> not really important
  • Variable tracking - 45% -> important for error checking. Also important to check conflicts with reserved names
  • File content watching (warns you when file is updated) -> not important at all. Very low chance of this happening without you knowing it.
  • Error checking -> very very important. also very very complicated. *1)
  • Snippets -> I can live without.

*1) = best solution would be a one which reads the intended behavior from the current source code or dll or so.

but there a lots of ways to do error checking.

  • Starting off at a low level way ... like a terminator check... does every command end with one .. or the better check: does a terminator comes before a new command does.

    clearscreen. print "bla" print "blub". // missing a dot

  • Is a command valid this way .. a not valid one (in middle): clearscreen. p
    ir
    nt "bla". print "blub".

  • a example for both checks:

    clearscreen p
    ir
    nt "bla" print "blub"


    • is a dot at the very end (of file)? no! adding one.

      result: clearscreen p
      ir
      nt "bla" print "blub".


    • is a dot before every command except the very first .. adding some

      result: clearscreen p
      ir
      nt "bla" .print "blub".


    • check terms. throw a "clearscreen does not accept parameters". (or add a dot)
    • assuming the user added now the dot after clearscreen but didn't do anything else. check terms, throw a "unknown term 'pirnt' at line 1" and focus it. ..

also while writing this the kOS IDE needs then a window where all errors are listed and clicking at one moves the cursor to the related code.

andwhattheheckamidoingrightnowtellingyouhowtoprogramwhileionlywantendtomakesomeinspirationsandsomaybeazombyatemybrainargh.

(surprisingly the preview has whitespaces in it, in edit window are none, and I also haven't added any... guess the board has trouble with really long strings)

Link to comment
Share on other sites

Hi, lovely IDE!

Here's a simple suggestion:

1. Make the loaded file name first in the window title bar. When 2 IDEs are open I'd love to see the names of files in the taskbar like

"KTS_launch.txt - kOS IDE" | "ap.txt - kOS IDE", right now I have to check each to see window which file is it on.

Another, more complicated suggestion would be to make tabbed view such as in notepad++, but not necessary =)

2. Color configuratior with presets (themes). Make reserved text / background with editable colors. Probably not that complicated and very useful. The color collection could be saved to "themes" so you could have for example "dark theme" with black background. On my screen the orange color for numbers is barely visible and I'd like to change it without bothering you "Change the color of this, change the color of that!.." but since you can't please the world, it would be much more useful if we could change it to our liking.

There are a few errors for example some special words don't get colored. Also the dot after a number gets colored together with the number so it's hard to see (on my screen) if the line is ended or not.

Link to comment
Share on other sites

1. Make the loaded file name first in the window title bar. When 2 IDEs are open I'd love to see the names of files in the taskbar like

"KTS_launch.txt - kOS IDE" | "ap.txt - kOS IDE", right now I have to check each to see window which file is it on.

Well, it is supposed to behave like that. And works wonders for me. What do you do? Can you explain me the way to reproduce the bug?

Another, more complicated suggestion would be to make tabbed view such as in notepad++, but not necessary =)

Tabs will be a hell of a rework on the code ! I didn't start with tabs in mind, now it's too late, I'm afraid ...

2. Color configuratior with presets (themes). Make reserved text / background with editable colors. Probably not that complicated and very useful. The color collection could be saved to "themes" so you could have for example "dark theme" with black background. On my screen the orange color for numbers is barely visible and I'd like to change it without bothering you "Change the color of this, change the color of that!.." but since you can't please the world, it would be much more useful if we could change it to our liking.

Good idea ! I'll try a simple implementation before moving on to a more stable and complicated "themes" feature.

There are a few errors for example some special words don't get colored. Also the dot after a number gets colored together with the number so it's hard to see (on my screen) if the line is ended or not.

The first part is soo true. Because of all the new version with all the new words that I can't keep up with. The second part is, unresolvable for the moment, I noticed it and try to look for other ways than the Scintilla built-in one, but I found none, for the moment. So the dot after a number on a line is a persistent bug.

And something else on my TODO list ! I'll work hard for this one, results SoonTM

Link to comment
Share on other sites

On my screen the orange color for numbers is barely visible

[...]

Also the dot after a number gets colored together with the number so it's hard to see (on my screen) if the line is ended or not.

Very offtopic, but it sounds like you need a better screen :)

Edited by Camacha
Link to comment
Share on other sites

Very offtopic, but it sounds like you need a better screen :)

I'd say better eyes xD

It's not really the problem that I don't see it, I DO SEE THEM. But the yellowish-orange color makes them look "less important" than the rest of the code. That's what I don't like.

Edited by nothke
Link to comment
Share on other sites

Well, it is supposed to behave like that. And works wonders for me. What do you do? Can you explain me the way to reproduce the bug?

Yes, but what I asked is if you could make the file name FIRST and then the name of the program like

| test1.txt - kOS IDE | test2.txt - kOS IDE |

take a look on my screen http://i.imgur.com/tixIf6k.png

right bottom corner, the 2 taskbar kOS IDEs say the same, if I have more of them open it's a total mess. Most programs I use have the file name first for exactly this reason, as you can see the google chrome is doing on the left, and 3dsmax below first says UNTITLED for the file loaded and then Autodesk 3dsmax.

Edited by nothke
Link to comment
Share on other sites

right bottom corner, the 2 taskbar kOS IDEs say the same, if I have more of them open it's a total mess.

I always open the modules in the order they are in the script. That way, they are neatly from left to right in the taskbar and I can find easily what I need.

Link to comment
Share on other sites

Development status: For some reason, Visual Studio doesn't want to load the GUI because the Editor (Scintilla Control) is saying that it is not initialized. The last thing I did before that happened is putting Pizza's margin solution. I removed it and the problem is still there. Argh !

Link to comment
Share on other sites

  • 1 month later...

Development status: Aight! I'm back ! It's real hard to make all the IRL and "internet" project work at once ...

Anyway ! I still have this "Form doesn't want to load" in the Designer of VS2010, but when I build everything is fine.

Pizza's margin solution is there for nothing. Damnit, Visual Studio ...

Link to comment
Share on other sites

  • 3 weeks later...

I cant find the source code. in the OP ther is only twice the program no source.

can you uzpload the source pls or give me the github link? i am also practicing with C# and vb and i think your project is good for me i had a similar project but cant get it to work.

whaaw

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...

Hey,

It's been a long time! But I've finally done a return trip from Whatever-Planet and landed back at Kerbin to produce more of this! kOS is my most used addon so this IDE is my best shot at making something that helps kOS in a way :)

@whaaw: I've transfered the repo to GitHub, see link in main post.

Link to comment
Share on other sites

Hey,

It's been a long time! But I've finally done a return trip from Whatever-Planet and landed back at Kerbin to produce more of this! kOS is my most used addon so this IDE is my best shot at making something that helps kOS in a way :)

@whaaw: I've transfered the repo to GitHub, see link in main post.

All I can say is hurray. The humble IDE goes a long way to make KSP and kOS a lot more fun.

Link to comment
Share on other sites

  • 1 year later...
  • 6 months later...
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...