Skookum IDE, the first impression/wish-list


#1

Hi, it’s me again.

Just gave Skookum IDE for a spin today and while my experiences are fresh, I would like to share some of my initial impressions.

The look and feel of the IDE are really great. I really like the way you structured Classes and Members in a separate tab. Everything is going in good directions. I know the new IDE is relatively new and it’s being worked on diligently but one of the first roadblocks I have is that it’s hard to know how to do a search project-wise. For example, would like to do a search within a function but it doesn’t seem possible. Anyway, I have a first impression/wish-list below.

  1. We need good search tools. This is one of the most important reasons I don’t want to work with BP. Searching in BP is not possible or very inefficient unless you comment them extensively. As an example, I use 3rd party search tool for VS called, Entrian Source Search http://entrian.com/source-search/ . (I’m not affiliated with Entrian in anyways) It uses Lucene based search engine(obscenely fast and versatile) and it is probably one of the best search tools I’ve ever used. I’m sure you can get some good ideas from them.

  2. The first thing I got stuck is where there are no parameter tooltips when typing a function. I can’t remember all parameter lists of function and it’s one of the roadblocks adopting SkookumSript. I know you will support it soon. Yeah, there is Alt-G to go to “members” but it won’t work unless the cursor is directly on top of the function name. I have to go back to the function name to press Alt-G. I guess one of the workaround, until parameter tooltips are supported, is that, you can automatically show members(like Alt-G) while you type a function. Make this as a user option to turn this feature on and off depends on your preference.

  3. Bonus Feature: I haven’t used debug feature yet but there is one thing I would really like to have. Inline watch in the debugger. This is huge productivity booster while debugging. http://entrian.com/inline-watch/

  4. As a side note, the syntax of SkookumScript is bit odd and it can be a turnoff for some. I know you mentioned that you purposely made it drastically different syntax from C/C++ not to confuse but many will disagree. I don’t really mind the syntax but I personally prefer similar syntax with new syntax added. For example, typing [ ] instead of { } and () is more error prone for me. But I also understand that Skookum script can save quite a bit of typing but with a good editor support, typing few more character are not that burdensome. Since you chose compact syntax, it might be good to take full advantage of it. Please take a look at how F# can shorten the code.

Basically, I would like to keep the good feature from VisualStudio without sacrificing the productivity with a move to Skookum IDE.

Please keep the good work and I really appreciate you guys again.

Cheers!


Skookum Syntax - is there a room for improvement?
#2

Thanks for your input Chris! These ideas are all great and make perfect sense. In regard to #4, do you envision a particular language or editor feature that would improve your workflow?


#3

This is great - thanks for the feedback!

We are indeed working on search. In the meantime, you can associate other editors with the SkookumScript .sk extension and load them up from the SkookumIDE when you press Ctrl+E. Then use that external editor’s features until we get more functionality in place. You could even associate Ctrl+E in some editors (Such as Notepad++) to load it back in the SkookumIDE so you can toggle back and forth.

Not the best solution of having it integrated though it works.

Also on our list. Your work-arounds and suggestions are good ones.

We don’t have this though it is a great idea.

Debugging visualizations of all kinds are on our agenda - particularly mechanisms to help visualize concurrency.

I’ve looked at F# before. Is there any aspect in particular that you think has a nice compact syntax?


#4

Hi, Noolarch, thanks for the reply to my initial impressions/requests that it would’ve been sounded bit harsh.

Here is a good summery why F# is compact. https://fsharpforfunandprofit.com/category/Conciseness/
I haven’t seen more compact syntax while readable. The most notable difference is its functional composition, aka piping. It takes bit of time to get used to but if you have seen Linq, you are already using functional programming. Funtional programming can be optional and it doesn’t have to replace traditional programming style. And also good pattern-matchings can save quite a bit of code. Anyway, if you read the article, you will get the idea.
If you are interested in F# in general, please read https://fsharpforfunandprofit.com/series/why-use-fsharp.html
The site has bunch of other interesting articles that are very easy to read.
I hope it helps to improve ScookumScript.
Cheers!


#5

Oh, btw, I didn’t know that there is Ctrl-E function. I guess I can use VS if I want to do a project wide search. Only thing missing is that VS require solution files. Would it be possible to automatically create and update VS solution file when new files are added or deleted?

There is CMake support for VS now, it might be better to support CMake file to become more useful for others who prefer different editors that understand CMake file. ^^

Cheers!


#6

Don’t worry. It did not come across as harsh at all.

I have a list of probably more than a hundred languages that I look through for SkookumScript ideas. F# was already on the list of course - I was just curious about features that you found interesting in F# in particular.

We really appreciate it!


#7

VS doesn’t need a solution file. At least I tried it with Visual Studio 2015 and it worked fine. Only issue is that by default it loads another instance of VS even if it is already running. You might be able to get around that using the \edit command line parameter with a bit of hacking.

Or just use a light program such as Notepad++. It is what I use. I just use VS for C++.

Also note that you can communicate back to the SkookumIDE from other applications using SkookumIDE command line arguments.

We are working to implement find and find in files natively for the SkookumIDE.


#8

Sure, I was talking about project-wide search/edit for muti-files, and you will need solution(project) files for that. But I can resort to other search tools for the search. Project wide search is not a showstopper so please take your time. It’s just the search/edit within VS is more convenient while waiting for Skookum IDE catches up. And who knows?, having a Skookum plugin for VS for code editing would be better faster to develop. VS got quite nice and fancy tools and SDK such as macros, code sniffet, and etc that we can take advantage of. I wish you the very best. Cheers!


#9

Might as well add pony to that list: https://www.ponylang.org/


Live++ and SkookumScript