Who we are

We are the developers of Plastic SCM, a full version control stack (not a Git variant). We work on the strongest branching and merging you can find, and a core that doesn't cringe with huge binaries and repos. We also develop the GUIs, mergetools and everything needed to give you the full version control stack.

If you want to give it a try, download it from here.

We also code SemanticMerge, and the gmaster Git client.

Improved text editor for diffs

Friday, June 19, 2015 Pablo Santos 3 Comments

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!

Pablo Santos
I'm the CTO and Founder at Códice.
I've been leading Plastic SCM since 2005. My passion is helping teams work better through version control.
I had the opportunity to see teams from many different industries at work while I helped them improving their version control practices.
I really enjoy teaching (I've been a University professor for 6+ years) and sharing my experience in talks and articles.
And I love simple code. You can reach me at @psluaces.

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