June 19, 2015

Improved text editor for diffs

The Windows GUI in release 674 is out and it comes with a greatly improved diff system!!!

The new diff is based on a totally new text editor. It took us a while to complete the change but we believe the results are really worth. We received many requests and suggestions to improve the editors, so we’re very happy to finally release the new features.

The new text editor introduces a completely reworked syntax highlight, much faster handling of big files plus the ability to outline code to collapse methods, undo and many more!

Hide unchanged code

The new outline adds the option to hide the code that didn't change, which helps focusing on what really matters.

The following picture shows how it looks like once you collapse the methods that don’t contain changes. We’re working on a way to hide (not only collapse the body) of all areas not involved in diffs.

Show blank spaces and tabs

Not sure about you, but I can’t almost edit any code in Visual Studio if I don’t enable the “show hidden chars” thing. Well, now this is finally available in the diff tool, together with vertical guides at predefined places (60, 80, 100 columns…).

Improved editing

Whenever you have to type some small change from “pending changes” you’ll enjoy the new editor: it marks what has been modified, and introduces *undo*, one of the missing key features in the previous version. You can also select to change tabs by spaces and a few more.

Availability

At the time of writing this BL674 is ready to download under the labs section of our downloads page at plasticscm.com.

We published it under labs so you notice this is a big change and some issues could show up, although we plan to move it to “official” real soon.

The new version is fully compatible with all the 5.4 releases so it is easy to give it a try.

Future work

This text editor change is just the beginning of what’s to come. We’re working on a bunch of changes to improve the diff, and the new textbox is the cornerstone for that. Basically we want to make code reviews much easier.

Plastic can extract more info from the files, do more preprocessing and let us focus on the real important changes instead of having to go through irrelevant ones again and again. Not an easy task but we’re moving fast.

Stay tuned!

3 comments:

  1. Will the user be able to:
    1. Customize the syntax highlighting colors?
    2. Define their own file extensions syntax. (For in house or legacy formats, for example)

    ReplyDelete
    Replies
    1. Hey Ryan,

      Yes, the two things will be doable. I'll add Dani to the conversation so he can add more details.

      Delete
  2. Hi Ryan. Regarding 1) unfortunately it's not possible at this moment, but we will add support for configuring themes in the future.

    About 2), there are two configurations: you can configure file extensions to use languages by creating a file C:\Users\danipen.CODICE\AppData\Local\plastic4\syntaxhighlight\languages.conf with the following content:

    #syntax language definition by file extension
    #example:
    #.js:JavaScript
    #.py2:Python v2.x
    .build:XML
    .include:XML

    These are the supported languages at this moment:

    Plain text
    C#
    Visual Basic
    Python v2.x
    Python v3.x
    JavaScript
    JSON
    XML
    Batch file
    C
    C++
    CSS
    HTML
    INI file
    Assembly
    Java
    Lua
    Markdown
    MSIL
    Pascal
    Perl
    PHP
    PowerShell
    RTF
    Ruby
    SQL
    VBScript
    XAML

    If you mean adding new custom languages, it's possible by adding new language definitions. We use Actipro's syntax editor: http://www.actiprosoftware.com/products/controls/wpf/syntaxeditor. It's possible to define grammars for new languages. Take a look to their documentation to learn how to create them. You can send us the language definition file and we'll add it. Also we'll create a mechanism to add custom-language definition files.

    ReplyDelete