Hugoware

The product of a web developer with a little too much caffeine

jsshell 2.0 – The Release

with 17 comments

Today you can download jsshell 2.0. This new version has a lot of new features.

If you’ve never used it before you might want to watch the jsshell screencast to help you get caught up on what it does and how it works.

Basic Usage

Here are the basics of using jsshell.

  • CTRL + Enter: Runs all of the code in the current window. You can also highlight the code you want to run and press the same keys to run just the selected code.
  • CTRL + Delete: Wipes out all of the code currently in the editor.
  • Double Click the Title bar: This will minimize and restore the code window on the page.

You can drag the window around the screen and also resize the text area by clicking the corner of the textarea and dragging it to the correct size.

Settings

You can now adjust settings in jsshell to behave how you want. Below are some commands you can use.

  • js.setting("allowAuto", true|false): Turns on and off the ability for commands to run automatically when browsing to a web page.
  • js.setting("autoDelay", milliseconds): The time to wait before attempting to run a command automatically on a page.
  • js.setting("showHint", true|false): Turns on and off the ‘intellisense’ box with the page elements, classes and ids.
  • js.setting("displayNodes", true|false): Turns on and off is the ‘Growl’ style boxes can appear or not.
  • js.setting("autoShow", true|false): Turns on or off if the box should automatically appear at the bottom of every page (without clicking the jsshell icon)
  • js.setting("onlyTop", true|false): (experimental) Causes the editor window to only appear in the top frame and not any other sub frames.
  • js.color("dialog|editor|font", "#color"): Changes a color setting for the jsshell window.

Data

jsshell now allows settings to persist from session to session and page to page.

  • js.data.list(): Shows a complete list of all data currently saved for the browser.
  • js.data.save("key", {object}): Saves an object to the data container. Uses JSON.stringify so be careful what you save.
  • js.data.load("key"): Returns the object the data found in the container of the key provided.
  • js.data.edit("key", delegate(data) { }): Edits the data found with the method provided. The method must return the data or nothing will be saved.
  • js.data.use("key", delegate(data) { }): Similar to the edit command, but just allows access to the data. Nothing will be saved regardless of what is returned.

Other Built In Commands

jsshell also has several other built in commands that perform a variety of tasks.

  • js.call("command"): Invokes a built in command like nostyle or any custom commands you have created.
  • js.note({message:"message", [title:"title"]}): Displays a ‘Growl’ style popup box with a message inside. The Message accepts HTML so you can include links.
  • js.go("url.com"): Browses to the url provided in the command.
  • js.debug(): Nothing special…

Shortcut Commands

Shortcut commands can be called by simply entering !commandName or with js.call(“commandName”).

  • !nostyle: Removes style information from the page like stylesheets, attributes and classes.
  • !flash: Attempts to move the jsshell window over the top of Flash elements on the page.
  • !save: Manually saves the settings for jsshell, but you shouldn’t ever need to call it. Special for all you paranoid people out there ๐Ÿ™‚
  • !reset: Resets all information for jsshell and returns to the default settings.

Custom/Auto Commands

One of the cooler new features is that you can write custom commands to run as soon as you get to a page. You can specify a regular expression to evaluate the URL you navigate to and then have a custom command run right away (or multiple commands). If you don’t want to run them automatically then you can still invoke them by using the Shortcut Command syntax shown above.

  • js.custom.edit("commandName"): Shows the dialog to allow you to make changes to a custom command.
  • js.custom.remove("commandName"): Removes a custom command from your settings.
  • js.custom.list(): Displays a full list of all commands available in your settings file.

New Screencast

You can watch the new screencast to see more of the new features in jsshell.

Download It Now!

You can download jsshell 2.0 at my website. Make sure to send me a message if this is helpful and any other features you might want to see!

Written by hugoware

January 12, 2010 at 12:29 am

17 Responses

Subscribe to comments with RSS.

  1. How to run it.

    I click js icon… in the pop up

    I type

    js.go(“google.com”);

    Press enter….

    It does not work?

    is there any run button

    Aditya Chandra Thota

    January 12, 2010 at 2:56 pm

    • Just press CTRL + Enter to run everything in the window — You can also highlight the code you want to run and press the same keys and it will only run what is selected.

      webdev_hb

      January 12, 2010 at 10:00 pm

    • I’ve added that information to the blog post — I didn’t really occur to me that I should add it here as well as the screencast — thanks ๐Ÿ™‚

      webdev_hb

      January 12, 2010 at 10:10 pm

  2. […] leave a comment » The new jsshell is here! Go read about the release at this blog post […]

  3. […] with 4 comments The new jsshell is here! Go read about the release at this blog post […]

  4. Hi
    For some reason there are times I can’t open Jsshell (Currently I can’t and its annoying me).
    Sometimes it works sometimes it doesn’t, but when it stops working it seems to be for a bit and for all websites.

    Taylor Lodge

    January 28, 2010 at 1:19 am

    • Interesting — With the exception of the Chrome Extensions site, I haven’t found places where this doesn’t work. Can you give some examples and I’ll check them out?

      webdev_hb

      January 28, 2010 at 12:25 pm

      • This is on all websites, Youtube forums etc. The extension just stops working. It was doing it when I installed it then it started working randomly. Now its stopped working when I figured out how to use it lol.

        I’ve uninstalled and reinstalled it as well.

        Taylor Lodge

        January 28, 2010 at 1:00 pm

      • Ack… Looking at the error message I can see the problem. I guess I didn’t update the library file on this last update. Clearly, we’re dealing with an amateur programmer here… ๐Ÿ˜

        Anyways, I’ll update the file shortly and it should be repaired…

        webdev_hb

        January 28, 2010 at 1:13 pm

      • Bug has been fixed, uploaded and tested… everything appears okay. Sorry for the bad post on my behalf.

        webdev_hb

        January 28, 2010 at 6:41 pm

  5. Yep thanks its fixed now ๐Ÿ™‚

    Taylor Lodge

    January 28, 2010 at 6:49 pm

  6. Just finished writing my jsshell extension/plugin to show all youtube comments, Been wanting to do that for awhile just never had a way.

    Taylor Lodge

    January 28, 2010 at 7:23 pm

  7. Thanks for adding in the jQuery documentation trick – that’s awesome! It’s a big help to js noobs like myself.

    Is there any plans for adding a section to the site for user scripts (such as the one created by Taylor Lodge). Kind of a “User Scripts” area…

    Just another thought!
    :o)

    SirG

    January 29, 2010 at 2:35 pm

    • It is a good idea, but I couldn’t come up with a way to integrate it directly into the extension — AKAIK you can’t talk to external sites still with jQuery from the page so I wasn’t sure of a way to load scripts without having to visit my site first…

      Maybe that wouldn’t be so bad? Having to visit a site to load user-submitted code?

      webdev_hb

      January 29, 2010 at 2:50 pm

      • Greasemonkey? Thats what you have to do for that. But I must say this is much much easier then greasemokey ๐Ÿ˜›

        Taylor Lodge

        January 29, 2010 at 4:35 pm

    • maybe even something as simple as js.UserScripts which is an alias for js.go(“UserScripts”) that takes people to a page on your blog with a collection of submitted code.

      Even just having to do js.go(“UserScripts”) would be fine by me.

      ?

      SirG

      January 29, 2010 at 4:46 pm

  8. Add a feauture that save the console text between sesion (by using localStorage). (like Java script tester extensions)

    Sometime the page refresh while I am writing, and I lose all the text.

    Anonymous

    May 25, 2010 at 5:07 am


Leave a comment