Code Writer App Transitioning to Windows 8.1

by Avatar Bill Henning (Actipro)
Thursday, September 12, 2013 at 9:10pm

BlogPostBanner

We've been anxious to get our hands on Windows 8.1 and were finally able to after Microsoft released the RTM to developers earlier this week!

We've been working on updating our Windows 8 controls and apps to target Windows 8.1.  These updates will be part of the 2013.2 version of our WinRT XAML UI controls.  That version will also be the first to include our syntax highlighting code editor control named SyntaxEditor, which is designed for use in Windows Store apps!

Our SyntaxEditor control is the same core editor used in our free text/code editing app named "Code Writer".

Improving Code Writer App Size Support

One feature we completed today for Code Writer is to have full support of Windows 8.1's new window sizes.  The current Code Writer version on the Store does support "snapped" mode, but while in that mode, app bars and the Advanced Editing gallery are disabled.

CodeWriterSnapped

In the new code updates we made for Windows 8.1, the app properly resizes itself and still allows full access to app bars and the gallery.  See the screenshot above for an example showing how the app bar buttons collapsed down to a compact size, which still providing app functionality.

Summary

The updates above will be published to the Windows Store once Windows 8.1 is publicly released next month.

Go to the Windows Store to download Code Writer, and help us by tweeting about the app!

TaskWideLearnMore TaskWideWindowsStore

Code Writer v2.0 Released

by Avatar Bill Henning (Actipro) - 2 comments
Tuesday, August 13, 2013 at 9:18am

Informative Live Tile

In the past, Code Writer had a plain tile, which is still the case when no documents are open.

LiveTile1

For version 2.0 we wanted to make the live tile really useful.  Now the live tile will list the documents you have open:

LiveTile2

In this screenshot, there are five documents open, sorted by the order in which they were last accessed.  A checked box means that the document is unmodified.  An unchecked box means that the document has pending changes that need to be saved.  Also, as in previous versions, the number at the bottom right corner indicates the total number of unsaved documents that are open.

The tile is also very intelligent and updates its display based on how big it is and how many documents are open.  If in the above screenshot only four documents were open, it would switch back to a single column display mode so that longer filenames could be visible.

LiveTile3

In this screenshot, we've switched to a smaller tile.  Since there are five documents open, not all of them can be listed on the four available lines.  Thus we show the last three that were accessed, along with a "+ 2 more" to let you know that you have five total documents open.

With all this information, you have a heads-up display right on your Windows start screen about what you're working on in the app.  We love this new feature!

Document Print Support

End users have asked for printing support and we've delivered it in v2.0.  You can print a document by opening the Windows 8 Devices charm or simply by pressing Ctrl+P.

Printing

Once a printer is selected, a flyout will display that shows a preview of what will be printed.  Numerous options are also available, such as the ability to turn off syntax highlighting, show/hide line numbers, or show/hide whitespace markers.

Since Windows 8 allows you to print to an XPS Document Writer, you can print right to an .OXPS file (similar to a PDF) and send it to other colleagues or review it later on other machines.

Block Auto-Indent

Block auto-indent has been added, which kicks in when Enter is pressed within a curly brace pair for the C, C++, C#, CSS, Java, JavaScript, Lua, Perl, PHP, PowerShell, Python, and Ruby file types.

image(40)

With the caret in between the curly braces in this JavaScript code, Enter is pressed.

image(41)

The result is that the text after the caret moves two lines down and the caret indents on the middle line.  This really helps typing efficiency.  For some more detail, see the related SyntaxEditor post.

Nested CSS and JavaScript Editing Improvements

Block auto-indent, delimiter highlighting, and delimiter auto-complete have been added to CSS and JavaScript sections that are nested in HTML, ASP, ASP.NET, and PHP file types.

Twilight Background Theme

The Add Document, Help, and Release History screens have always been rather spartan:

DocumentAddPlain

This look remains the default when you first start Code Writer.  While this is great and adheres to the Metro principles, we wanted to spruce things up by adding a new optional Twilight theme:

AddDocumentTwilight

The twilight theme still keeps focus on the content as every good Windows Store app should, however it renders a night sky with a star field at the top, and multiple cloud layers at the bottom.  Best of all, if you scroll the screen, you'll encounter parallax scrolling of the theme's elements.

The Twilight background theme option can be activated on the General flyout via the app's Settings charm.

Improved Copy and Share

Past versions of Code Writer supported clipboard copy and sharing via the Windows Share charm.  In v2.0, we improved these areas further.

Share

Here we see the Share charm flyout, where I've shared the document I'm editing.  Notice how now the text that is added to the message is fully syntax highlighted and line breaks are passed correctly, both of which are part of the v2.0 improvements.

Copying text to the clipboard and pasting in other apps such as OneNote will also retain syntax highlighting.

Code Writer is smart in that if you have a dark editor theme active, all the syntax highlighting used for sharing and copying will be done in the light background theme so that it shows up properly in other apps.

Protocol Activation

This version adds protocol activation support.  This means that you can enter codewriter:// in your browser to open Code Writer.

Commands can also be passed to Code Writer:

  • codewriter://add - Opens the Add Document screen.
  • codewriter://help - Opens the Help screen.
  • codewriter://open?path=c:\document.txt - Opens the document at local path "c:\document.txt".  Note that due to Window Store app security, the file will not be accessible unless you have previously opened the document in Code Writer using the Browse dialog.

All of the protocol-based commands listed above can be easily executed from PowerShell by using the Start-Process cmdlet. This example shows how to open a local file (be aware of security notes above):

  • Start-Process "codewriter://open?path=c:\document.txt"

Tutorial Overlays

In past versions, Code Writer would display a mostly textual introduction screen the first time you used it.  We never really liked that concept and wanted a more visual tutorial.  In v2.0, when you first visit the Add Document and Editor screens, you are now presented with a single page tutorial overlay that gives some quick tips on how to use the page.

Tutorial

The screenshot above shows the Add Document screen tutorial.

Miscellaneous

Numerous miscellaneous improvements have also been made:

  • The mouse back button now simulates clicks on page back buttons.
  • A Help button to access app documentation has been added to the Add Document screen's app bar.
  • Minor user interface improvements have been made such as subtle outlines to the Add Document screen's items.
  • Updated document save code to reduce memory usage for large documents.
  • Fixed a bug where JavaScript sections in HTML weren't being syntax highlighted.

Summary

As you can see, this release adds a ton of great new features.  Be sure to grab it.

Go to the Windows Store to download Code Writer, and help us by tweeting about the app!

TaskWideLearnMore TaskWideWindowsStore

Code Writer v1.9 Released

by Avatar Bill Henning (Actipro)
Wednesday, June 26, 2013 at 7:40am

BlogPostBanner

We just published v1.9 of Code Writer, our free text/code editor app, to the Windows Store.  Here's what's new…

End Tag Auto-Complete

Users have been asking for HTML end tag auto-complete for a while now.  Previous versions of Code Writer already had it for XML and XAML.  In this version, we've also added the feature to the HTML, PHP, ASP.NET and ASP file types!  Let's see it in action…

EndTag1

In the screenshot above, I've started typing a div tag on line 42.  Next I'll type a > character:

EndTag2

The end tag is automatically inserted and the caret remains where it should be.

Indentation Guides

Indentation guides are subtle vertical lines that render at each tab stop on lines prior to the first non-whitespace character.  They help visually align the indentation of visible code blocks.  You can see the indentation guide lines in the screenshots above.

Whitespace-only lines are intelligent and render indentation guides based on the tab stop level of surrounding text.

Indentation guides are disabled by default but can be enabled in the Editor Settings.

Miscellaneous

We also fixed a couple bugs found in the new delimiter auto-complete and word wrap features.

Summary

This new version comes right on the heels of v1.8, which added advanced JavaScript editing, word wrap, and delimiter auto-completion.  We're happy to deliver more commonly-requested features.

Go to the Windows Store to download Code Writer, and help us by tweeting about the app!

TaskWideLearnMore TaskWideWindowsStore

Code Writer v1.8 Released

by Avatar Bill Henning (Actipro) - 2 comments
Monday, June 17, 2013 at 8:39am

BlogPostBanner

We just published v1.8 of Code Writer, our free text/code editor app, to the Windows Store.  Here's what's new…

Advanced JavaScript Editing

Code Writer has had basic JavaScript editing functionality since its first version.

Last month we announced that a JavaScript language add-on was being added to SyntaxEditor's Web Languages Add-on in the 2013.2 version of SyntaxEditor.  This same functionality is now available in Code Writer.

JavaScript

The advanced JavaScript editing features include:  code block selection, code outlining, delimiter auto-complete, smart indent, syntax error reporting, text formatting, and more.

Word Wrap

Word wrap has been desired by users for a while, and we've delivered it in this version.

WordWrap

Go to the Editor settings to see the new word wrap mode option.

Delimiter Auto-Completion

Delimiter auto-completion, described in this post, is where the user types a start delimiter and a related end delimiter is auto-inserted after the caret.  This is especially helpful when working on mobile tablets like a Surface since it means less overall typing is required to output the same code.

This new feature has been added to the the C, C++, C#, CSS, INI, Java, JavaScript, Lua, Perl, PHP, PowerShell, Python, RTF, Ruby, SQL, VB, and VBScript file types.

Miscellaneous

We've also added :

  • Search results scroll to the vertical middle if scrolling is needed.
  • Labels for documents opened from Box and Dropbox.

Summary

Many of these new features have been highly requested by users.

Go to the Windows Store to download Code Writer, and help us by tweeting about the app!

TaskWideLearnMore TaskWideWindowsStore

Code Writer v1.7 Released

by Avatar Bill Henning (Actipro)
Friday, May 10, 2013 at 7:17am

CWBlogPostBanner

We just published v1.7 of Code Writer, our free text/code editor app, to the Windows Store. 

Markdown File Type

This version adds a new Markdown file type. 

Markdown

Markdown is used to provide simple markup formatting to regular text files.

Auto-Case Correct

Auto-case correct (described here) is a feature that just made its way into our latest WPF and Silverlight SyntaxEditor releases.  Basically as you edit certain file types like Visual Basic, VBScript, or PowerShell, when you move off a line, the keywords on the line will auto-case themselves to the proper casing.

AutoCaseCorrectOption

An Editor settings option has been added to allow configuration of whether this feature is active.

Code Block Selection

Code block selection (described here) is a feature where the editor selection can be expanded to include containing code blocks, and then later contracted all the way back down to the caret as appropriate.  This feature has been added to XML and XAML file types in this version.  It is accessible via the Ctrl+= and Ctrl+- hotkeys.

If the caret is in an attribute name, expanding selection will select the full attribute (name and value).  Expanding again selects all attributes in the tag.  Expanding again selects the tag.  Then the containing tag block's content, the entire tag block, and so on up the XML element hierarchy.  It's a really handy feature.

Line Ends

In the past, all files were saved with CR/LF line ends.  This made it difficult to work on files from other operating systems, like Unix or Mac.  In this latest version, we now attempt to detect which line end is being used in a file.  And we save it back out the same way.

LineEndsDocProps

You can override the setting on a per-document basis from the Document Properties pane.

LineEndsOption

There also is a new Editor settings option for designating which line end to use by default for new documents.

Miscellaneous

Several other handy features have been added:

  • .rss and .atom extensions for the XML file type.
  • Auto-fill the find text from editor selection when the Find/Replace Pane opens.
  • Rearchitected internal file management to better support future features.
  • Improved text rendering performance.

Summary

Auto-case correct and line end customization were features requested by our users.  Please keep the suggestions coming and enjoy this new version.

Go to the Windows Store to download it, and help us by tweeting about the app!

TaskWideLearnMore TaskWideWindowsStore