[PowerShell Studio] Extended Wishlist

Post feature requests, product enhancement ideas, and other product-specific suggestions here. Do not post bug reports.
Forum rules
Do not post any licensing information in this forum.
Posts: 282
Joined: Sun Mar 03, 2013 12:45 pm

[PowerShell Studio] Extended Wishlist

Post by Bosparan » Wed Jan 22, 2014 10:09 am

Hi Fellows,

once again I have compiled a feature wishlist for PowerShell Studio, this one a bit more esoteric than the last few lists I compiled (gotta keep track of those, maybe I'll create a big master list one of these days).

As usual, there's a chance any of those features might already be there and I simply didn't notice it so far; if that's the case, please tell me how I can do that.

Embeded Library / Module
I work at an IT Service Provider with many individual customers, many of whom have a local IT and we are only one of several ITSPs. This means our means for centralized administration are highly limited and there rarely is what we could consider a known state for any individual machine.
This means, that even if our techs install a library somewhere, there's no guaranteeing that it'll still be there when we return (or that the machine itself will be there / the same / etc).

Given this state of affairs, I'd really love to be able to embed .dlls (like for example the Exchange Webservices Managed Api.dll) and PowerShell Modules directly into the package built by PowerShell Studio, which are loaded / imported at the beginning of the execution (and thus their contents, cmdlets and namespaces available to all functions in the script).

C# Class Library as supported File Type
I'd love to have an additional File Type: The C# Class Library Type, as available in Visual Studio (with as much of the Intellisense and utilities available there as you can manage).

For large projects, I have found it easy to loose track just what kind of object a given PSCustom Object is at any moment. Which is how I ended up creating a dedicated File in the project ("Libraries", a common .ps1 file), where I create a big string with C# source code and implement it with Add-Type at the bottom of the page. And since coding it in PowerShell Studio is a royal pain in the ass, I have to do it in Visual Studio and copy&paste it.
This is a bit cumbersome, but a real blessing when dealing with large projects with thousands of lines of code, as it allows me to enforce types, know what input I get from the file-type of a variable (otherwise I need to be absolutely draconian with naming policies which is ... less than popular.).

A dedicated class library file with proper coding support would make it easier to do in a single tool.
On the other hand, while doing it in Visual Studio is a bit cumbersome (managing two different applications across multiple users, each with their own specialties, rolls and skills), it's doable.

Project Statistics
I'd love to have some statistics on my project available. Something like total lines of code, or - more interesting - ratio of production code to comments. Or advanced comments of a function to its code body (not counting inline comments).
Not really vital, but nice-to-have imo.
However I assume that most users of PSS use it for smaller things (like single-page scripts). If that assumption proves correct, it may not be all that useful for the majority of your users, so I won't be keeping my breath on getting this feature. :)

Search & Replace across multiple files in the project
S&R only works for a single file. Some of our projects exceed twenty files by now and finding all instances of some text can take considerable time. Being able to do it over all files would be nice, being able to choose over which files to run it would be even better.

Search & count
Another addition to the search function I'd like to have would be a Count option: Count all instances of a given string. I got that for my Ebook editor (Sigil), and it's a godsend when it comes to mass replacements, as it gives one a quick way to gauge the magnitude of the change. Imagine making a littly typo during regex matches and instead of two lines you wreck 50 functions ...

Snippets become update-resilient
Each time I updated PSS, it wrote back all your Sapien snippets to the place where they are by default. I happen to usually banish them to some subfolder where they don't interfere with my own, more plentyful, Snippets.
This makes updating PSS a bother, instead of a joy.
Would it be possible to give snippets a Guid, and have the installer search all subfolders for them?

Snippet & Module market
It might be nice to support a centralized snippet & module plattform, where users of PSS could upload such, browse for interesting items and rate contributions of others.
A nice implementation of that kind of thing can be seen in the Steam Workshop for Game-Mods. I'd fancy having something like that ...

Content load sequence
What actually happens when a package loads?
Can I affect the sequence in which files within a package are loaded?
Does the sequence matter?
Currently, I have the feeling of lack of control over it, which makes me feel slightly uneasy (it's working just fine, don't misunderstand, but I like knowing how and why it's doing that).

Is there some place where you publish Patchnotes for new releases?
If yes: I haven't found it.
If no: I'd like to have access to those. Again, one of those "I don't like not knowing, even if having knowledge wouldn't necessarily change a thing" things.


User avatar
Posts: 5913
Joined: Thu Aug 18, 2011 4:56 am

Re: [PowerShell Studio] Extended Wishlist

Post by davidc » Wed Jan 22, 2014 5:11 pm

Embedded Library / Module
We recommend creating installers for modules, but you could technically embed a file into a script and extract it similar to how we embed an image into a script. The problem is if the module is more than one file it gets more complicated and bloats the size of the script. In addition, this behavior isn't Microsoft's preferred way of doing things.

C# Class Library
Adding syntax coloring for C# files is on our wish list.

Project Statistics
You are probably correct that most people will not use this feature (please chime in if you would use this). Either way I will add the request to the list.

Search & Replace
On the list.

Snippets become update-resilient
We are aware of this issue and are looking into it.

Snippet & Module market
If there is enough community demand and interest. Please chime in.

Content load sequence
There isn’t a way to influence it but it shouldn’t matter. Projects are usually converted to a single processed file.

Patch notes
We published release notes on the blog and they should appear on the feed of the start page.
Is there someplace else you were expecting the notes to be or were you looking elsewhere? What would be best for you as a user? We would like feedback on this to improve user experience.

Thank you once again for the feedback!

SAPIEN Technologies, Inc.

Posts: 282
Joined: Sun Mar 03, 2013 12:45 pm

Re: [PowerShell Studio] Extended Wishlist

Post by Bosparan » Thu Jan 23, 2014 1:00 am

davidc wrote:We published release notes on the blog and they should appear on the feed of the start page.
Is there someplace else you were expecting the notes to be or were you looking elsewhere? What would be best for you as a user? We would like feedback on this to improve user experience.
Just found the latest blog entry, and like the grade of detail :)

Product page
My usual places to check for patchnotes include the specific product page (not necessarily on the primary tab, which after all exists to lure potential customers, but somewhere as a link on a secondary tab/page (Maybe turn the "current version" field into a convenient, inconspicious link to a page listing versions and updates ...).

Support Forums
Another place I usually check for software I use is the support-forums for the tool in question (as a sticky at the top).

My Account > Registered Software
Then there's the table with my registered software under My Account. Another place where one could hide a link to such information.
In either case, a list with all patchnotes for a single product, the latest release on the top, with links refering to it from multiple likely places would be my preference.
It would also be great if it'd be possible to sign up for mail notification (for updates of selected products only, not a full newsletter).

The Thing with the start page
Didn't see them on the Start Page, because honestly, disabling auto-showing it is one of the first things I do, when I install PSS. For most of my regular needs, the start page does not provide info of any relevance:
- I tend to work on one project at a time, for lengthy periods (lengthy at least as scripting duration is considered), making recently opened files & projects less than necessary.
- The only of your products I really do use is PSS, so that list hasn't been of much use either (Admittedly, I'll likely return to using PrimalSQL sometimes down the road).
- News feed: Notifications on most of your products are of no interest to me and given my usual esoteric issues with PowerShell, the info- & tutorial-news regarding PowerShell are rarely of much interest to me (and when there is one that'd help me, its bound to be not on the top 10 lists of news, so I'll need to visit your HP anyway. Good content usually btw, just either I already knew or I have other trouble at the moment :)).

Maybe I ought to keep an eye on it every now and then anyway - not like you keep up a constant barrage of shallow articles anyway (in opposite to quite some other software developing companies I know of :) ).