Oslo May 2009 CTP: Intellipad Changes
Posted by Dan Rigsby on May 27th, 2009
The May 2009 CTP of “Oslo” introduces a lot of new features and enhancements to the existing toolset. As a developer, my primary “Oslo” tool has been Intellipad. It does seem much faster and more stable after a little over an hour of use. Previous CTPs were memory hogs and would occasionally crash. I will be upgrading all of my demos and work projects over to the latest CTP over the next week, so I will get to see how much more stable it really is. Here is an overview of some of the UI Change:
Shell
For the most part we have the same familiar interface. You have the same basic layout shell which is a mixture of a standard application frame and menu bar in one. Everything else in Intellipad is a workspace window which can be docked any number of ways inside this shell. The shell itself has a couple of new features:
- A new icon (same icon used by Quadrant)
- The build number is now displayed next to the control box
- Menu items now appear to use much less white space, display proper “…” labels on items that open new windows, and a few other UI adjustments
Workspace Window
Each workspace window has its own title bar as always. The title bar appears to be the same. We still have the document name, zoom level, a drop down to change “Modes” and a close button. However, now the the active workspace window is highlighted in “Oslo Green”. This is a minor change, but really comes in hand when working with multiple documents.
The “Edit” menu item for windows has a number of new features. Check out the list of commands:
We have our standard Undo/Redo/Cut/Copy/Paste/Delete/Find/Replace/GotoLine options which we had before, but now we have:
- Disable External Changes:Behaviors
- Selection Highlight: This is really neat! With this option as you select text in the document, it will be highlighted in “Oslo Green” and other uses of that same text in the same document will also be highlighted in blue.
- Error Squiggles: Whether or not to show the red squiggle under errors. if you turn this off, you will still see errors in the error window, but you will have no visual indicator on the document, nor will you have the error tooltips
- Column Indicator:
- Link Navigation:
- Work Wrap: Wraps the text at the end of the line
- Line Numbers: Provides line numbers to the left of the document
This screenshot shows the “error squiggle” and “selection highlighting” in action:
There is new a View menu item which generously gives us support for quickly launching the three most important developer windows: Minibuffer, Errors, and Notifications.
There is also a new Help menu item for displaying an “Intellipad Primer” document in Rich Text mode:
Mini-Buffer
The mini buffer has change dramatically. It use to pop up a kind of modal WPF dialog which allowed you to enter in commands. This would occasionally cause Intellipad to crash on me. In May CTP, it is now a standard document window where you can enter in commands and see previous commands much like if it were a command line window.
Some people may dislike this little change, but personally I like this change as it is more consistent with the rest of the UI and user friendly.
DSL Authoring Mode
The “DSL Authoring Mode” is a 3-Windows view inside of Intellipad which contains:
- The document containing the DSL
- The input: some document were you could enter in data to test against the DSL
- The output: The AST tree that was generated from the input via the DSL
This mode is the preferred way to write a DSL as you can see how changes affect the schema in real time.
In previous CTPs you had to launch a Intellipad with special command line options to be able to work in what was known as “DSL Authoring Mode”. This usually meant selecting “Intellipad (Samples Enabled)” from the start menu instead of just “Intellipad”. This was annoying at best. In the May CTP however, you can now enter “DSL Authoring Mode” from the standard launch of Intellipad. Just open a document in “DSL Grammar Mode”, and there is a new DSL menu item called “Split New Input and Output Views” which launches the 3-Window view.
















