Skip to main content

News

Topic: The Sphere Studio v1.2.1 (Read 200915 times) previous topic - next topic

0 Members and 3 Guests are viewing this topic.
  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #135
It is done. .NET 4.0 and VS2012 Premium are now being used.

With that I gotta rant.
I hate the look of VS2012! HATE IT!... And so I changed the default theme to the old 2010 editor style and now it looks slightly less garish. It's still ugly as hell, for one, they removed ALL visual cues. ALL OF THEM. I can't tell what a folder is apart from references and properties, and I can't tell menu items apart. Two-bit icons were definitely not the way to go here. There are also no icons on docked controls, for example the toolbox doesn't have the tool icon I look for. The menu bar doesn't start or stop anywhere, hell that applies to all the damn borders (my eyes just flow off the screen, I get disoriented). It's goddamn useless now. I don't care what people say or if they say "you'll get used to it", because that's plain rubbish. I never had to get used to VS2010, I fell in love with it the minute I put my eyes on it. That said, Github's Windows Git tool also looks in a similar way (borderless, crappy design) but is a far simpler tool and so I can manage that, but still I can't tell where the splitter bars are. What happened to the older, steadier designs of the past? This is plain ridiculous. Apparently, I'm also not the only one. A Google search returned hundreds of people saying the exact same things.
  • Last Edit: May 04, 2013, 04:26:17 am by Radnen
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Radnen's Sphere Studio v1.1.5.0
Reply #136
Yeah, the IDE is ugly as hell.  I get that they were going for an Office 2013 look, but Office did it better (I do like the Office 2013 look).  You will get used to it, though. Note I didn't say you'll ever LIKE it, just that you'll get used to it. Because it really is a nice IDE other than that--I love the new Start screen, for example.

I understand what they were going for, at least--minimize distractions so you can concentrate on the code instead of clicking around fiddling with other stuff (something I was guilty of with older versions of VS, more than I'd care to admit).  Which is an admirable goal for a programming environment.  The problem is that the total lack of contrast destroys all visual separation between things, so if you do have to look anywhere other than the code window, you get lost.  The idea was good, but the execution is all wrong.

Edit: Wow! The conversation was worth it, though: VS compiles the project much faster now, I wonder why .NET 2.0 took longer to compile... So um, am I allowed to fix bugs/implement features again? :)

Edit 2: Hm, looks like Microsoft was listening.  If you install SP2 (actually I think they call it "Update 2" now, but same thing), they added a "Blue" theme to the preferences that makes it look more like VS 2010.  The 2-bit icons are unchanged unfortunately, but at least there's a clear separation (a thick dark blue line, ala VS2010) between dock panes now.  Much more usable.  Unless that's the theme change you were talking about...?
  • Last Edit: May 04, 2013, 01:23:29 pm by Lord English
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #137
Yeah, I got the blue theme by downloading the VS theme plugin. You can also follow this tutorial here to get rid of the other crappy stuff: http://computerbeacon.net/blog/visualstudio2010iconsandt.

**Edit**:
When you make a new plugin, how do you get it to automatically move the DLL to the correct folder? It does it for all existing plugins, but not for any news ones. I'm right now in the process of actually creating a different script editor, using this.
  • Last Edit: May 04, 2013, 05:05:13 pm by Radnen
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

Re: Radnen's Sphere Studio v1.1.5.0
Reply #138
Crazy... I don't want to start a fundamental discussion, but I want to add that I fell in love with the new VS2012 style. So much that I am currently using it to edit my multiplatform JS project. Its JS support became very good. Maybe it is only because I am also very happy with the whole metro look and feel. I just wanted to say that there are actually people who like this change ^^;

But yeah, forcing everyone to use a completely redesigned UI in VS is probably not the best move of Microsoft...

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Radnen's Sphere Studio v1.1.5.0
Reply #139

When you make a new plugin, how do you get it to automatically move the DLL to the correct folder? It does it for all existing plugins, but not for any news ones. I'm right now in the process of actually creating a different script editor, using this.


Add the plugin as a project reference of the editor so it copies it to the output directory first. If it's not named ending in Plugin, you'll also have to modify the move command under Project Properties -> Build Events.
  • Last Edit: May 05, 2013, 10:52:19 am by Lord English
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #140
Alright, I have added a new scripting plugin. Tell me what you think.

The plugin lacks autocomplete, but the new FastScriptEditor.DLL has a built-in way of handling it, which is nice. I can even get an intellisense-like autocomplete out of it too! Just gotta implement it.
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Radnen's Sphere Studio v1.1.5.0
Reply #141
Well, the new plugin certainly looks nicer... but it also feels a lot more sluggish compared to the old Scintilla control.  I probably wouldn't have noticed it on my i7, but the all-in-one desktop in my living room only has a crappy AMD E2 dual-core processor (pretty much the AMD equivalent to a Celeron) and the new editor is noticeably laggy--enough to be distracting.  The Scintilla editor--and even Visual Studio's editor for that matter!--is smooth as butter on the same machine.

Edit: It also seems to be converting all the tabs in my JS files into spaces on load. Not nice.  Good thing I discovered that before I edited any Specs files, I would have had to go back and put all the tabs back... :)

Edit 2: The performance difference is even noticeable on the i7.  It's at least usable there (only barely noticeable when scrolling), but I should not be able to perceive scroll lag on a 3rd gen Core i7 (nope, not even if I'm specifically looking for it! ;) ).  Are they really sure this is a FastColoredTextBox? :D
  • Last Edit: May 05, 2013, 10:55:16 pm by Lord English
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #142
Wow, I hadn't noticed the speeds. Haha, well I guess I'll have to call him out on that. It's not fast. But, to be fair it did have a much better API than the scintilla one, and the fonts display much better, and the folding, and the line numbers, and bracket matching (it really solved a lot of problems in far less code). Plus, the Scintilla control is no longer being worked on. I want a nice text editor that behaves just like the .NET one.

The problem, just about the only one with the Scintilla editor, is the font. I have it on 'Consolas 10', but it looks... thinner, or lacks anti-aliasing. Do you also get that? It makes it look like twigs. It's also a fairly dated box, if it were not for it being fast I would love to replace it.
  • Last Edit: May 06, 2013, 12:02:43 am by Radnen
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Radnen's Sphere Studio v1.1.5.0
Reply #143
There's definitely a difference between the look of Consolas 10 in the Scintilla box versus the new one.  To be honest, though, I think I liked the thinner look better.  The FastScriptPlugin makes the text a bit more bold, almost identical to the way VS renders it, actually.  But now I feel like I'm going to get lost in a wall of code (and it's my own code, so that's saying something)... Maybe it's just that I have to get used to it, though.  It never bothered me in Visual Studio, no reason it should be any different just because it's JS instead of C#.

For what it's worth I say stick with the Scintilla editor as the default, at least for now, and provide the new one as an optional download.  If it were just lag when scrolling that wouldn't be a big deal, but I also noticed it when just entering text, there was a noticeable delay between when a character is typed and when it appears on-screen.  That would be quite distracting in day-to-day scripting, I'd wager.  But wow, I didn't realize the Scintilla control you were using was that old. Scintilla itself is still an active project, it was last updated (v3.3.1) only a month ago, but I just looked up Scintilla.NET and that's still only on version 2.5.2...

Edit: So what it looks like is that the Scintilla control is rendering the text with only standard anti-aliasing, whereas VS and the FastTextBox are rendered with full ClearType.  This is a great example of what a difference ClearType can make!
  • Last Edit: May 06, 2013, 12:36:19 am by Lord English
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #144
Scintilla did use ClearType, the thinness had to do with the new way I'm using fonts. If I completely remove the font system from it, it will render the cleartype version of Consolas 10. But then it must pull from the XML always.

I guess I'll try going back to the drawing board on the font menu, perhaps go full-on with editing the XML via an editor, and then reloading that into the Scintilla control.

Also, the Scintilla control doesn't keep track of modified lines and the newer one does (I just have to enable it).

BTW, the FastScripter was only a trial. I never intended for it to replace the Scintilla box. However, one thing is revealed: removing a plugin doesn't dissociate it from the filetype list. When I switch between them, it will still load the other script editor, until I restart the editor. Huh.

Edit:
I have sorta gotten used to VS2012 now. :)
  • Last Edit: May 06, 2013, 01:13:35 am by Radnen
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Radnen's Sphere Studio v1.1.5.0
Reply #145
Haha, I did a trial run with the VS2012 blue theme, ended up going back to default gray one.  Too much color drew my eyes away from the code. :)  I guess that's the reason they went with those flat icons, too... yeah, it's harder to find stuff initially, but once you know where the necessary commands are, the lack of distractions is refreshing.

But that's odd with the fonts, so if you change the font in the Scintilla control programmatically, it renders the text differently than if the same font were used by default? Seems like weird behavior.  And yeah, I noticed that about the plugin registration.  I bet I know what it is: The plugin isn't actually being unloaded because the garbage collector still sees references to it--it still has the editor events hooked.  Let me try something...

Edit: Yep, that fixed it.  You have to unregister your event handlers in the Destroy() method, otherwise the previously-selected plugin still gets TryEditFile first, and once that's matched everybody else ignores it):
Code: (csharp) [Select]
host.TryEditFile -= host_TryEditFile;


I sent a pull request.
  • Last Edit: May 06, 2013, 01:36:41 am by Lord English
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #146
Well, that was a quick pull request, I had already figured that out and made those changes! I knew it had something to do with the events. I even removed the sound test's project events and TestGame event as well.

I got a good setup for the fold margin in the Scintilla control. And for now, I'll not force-style it anymore until I can solve this problem. I guess people will be forced to use Consolas 10 for a while. Hint: you can change sizes, etc. in the XML though. ;)

My next commit, you can see for yourself these scintilla changes.

Edit:
I still like the blue theme, I am not going to change that. :) My eyes can't even see the white theme, it really burns my corneas. Anyways, that's just an aside. Also, I like tabs too, but many do not, and Scintilla at least converts seamlessly between the two whereas the 'fast' control did not. So, I'm at odds with these script editors. Scintilla wins here, for now.
  • Last Edit: May 06, 2013, 02:35:47 am by Radnen
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Radnen's Sphere Studio v1.1.5.0
Reply #147
Yeah, I'm fickle, currently I'm using 4-character tabs almost exclusively but I've been known to switch between 2, 4 and 8 depending on my mood.  A lot of developers like to use spaces for consistency (the code looks the same for everybody), but tabs are better for me because I change my coding style so much! :-)

The Scintilla editor looks much better now, by the way.  The only suggestion I have, and I don't even know if this is possible, is some sort of indication that a block of code is collapsed, you know, other than the plus box changing to a minus.  Visual Studio has that "[...]" indicator, and even the old Sphere editor put a vertical line under the fold...
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #148

The Scintilla editor looks much better now, by the way.  The only suggestion I have, and I don't even know if this is possible, is some sort of indication that a block of code is collapsed, you know, other than the plus box changing to a minus.  Visual Studio has that "[...]" indicator, and even the old Sphere editor put a vertical line under the fold...


Lord English, you do realize you're asking me to have a battle of wits with a crappy API. :P I don't know if it's possible, but there might be some folding properties in the lexer. I think it's possible to do a color change, but not a line underneath. And that is if I can figure it out! I mean, the margin fold lines I was just able to add I found out about by looking through old forum posts on the Scintilla.NET site. There's possibly more there too, hidden underneath a lot of noise.
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Radnen's Sphere Studio v1.1.5.0
Reply #149
Doesn't the old Sphere 1.5 editor use Scintilla? Unless the Scintilla.NET API is drastically different, maybe you could take some hints from there.  I'd look into it myself but I'm not near a computer right now.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub