vsc-blog

RSS RSS
  • VSCommands and Open Source

    It's been a lot of fun working on VSCommands over past few years and together with your support and feedback many great and innovative features have been implemented.

    It has also presented itself with great many challenges. Integration with Visual Studio is not an easy task on its own, and is further complicated by never ending battle to achieve compatibility with multitude of other software and extensions trying to share same IDE together.

    VSCommands started as a side project with most work done during daily commute to work and weekends. With time your support through license fees helped to pay for Visual Studio Industry Partner Program membership and  couple of weeks each year when I would take time off my normal job and dedicate more quality time to the product. As you can imagine those were the times when more complex and most popular features have been implemented.

    It is of no surprise that Site and Enterprise licenses bring much more revenue than Personal licenses do. This is expected as most Personal users use VSCommands for personal projects which does not require a paid license.

    From the feedback you gave over past few months it became clear that going open source would be the greatest long term contributor to convincing your company to own a license.
    This is not to say that open source is a requirement on its own, but rather that being open source would help eliminate several obstacles which would otherwise be prohibitively expensive for a small software vendor (such as easier integration from 3rd parties, easier to resolve compatibility issues, shorter release cycles [no need to spend time on bugs introduced by obfuscation, and there were many of those in the past], more trust as you can see what happens to your code and so on).

    This will also enable everyone in the community to be able to engage and provide feedback on bug fixes and feature development. Community contributions will also be welcomed, so you can help shape and build VSCommands into an even better product.

    Full switch to open source is planned to be complete by end of Q1 2015 and more details will follow.
    Licensing model will remain unchanged, with free licenses for personal use and paid licenses for commercial use.

    I hope that this change will be of mutual benefit and look forward to hear your feedback @vscommands or jarek@squaredinfinity.com

  • VSCommands 3.0.5

    Tags: vsc, release

    New version of VSCommands for Visual Studio 2012 and Visual Studio 2013 is available from Visual Studio Gallery!

    Solution Badges - SVN Support

    Solution Badges now support all svn based source control systems (previously support was limited to AnkhSvn).

    Branch name will be extracted from svn repository uri using regex defined in
    Tools | VSCommands | Options | IDE Enhancements  | Solution Badges | Svn Branch Regex

    Code Block End Tagger Improvements

    Code Block End Tagger now supports switch statements, multiline variable initializers and multiline method calls:

    Automatic License Deployment

    VSCommands Site and Enterprise licenses can now be deployed on individual machines by placing them in <user>\Documents\Visual Studio 2013 directory (or Visual Studio 2012).
    Next time Visual Studio is started VSCommands will detect the license file and apply it automatically so that no further restarts or manual activation is required.

  • VSCommands 3.0.0

    Tags: vsc, release

    New version of VSCommands for Visual Studio 2013 is available from Visual Studio Gallery!

    UPDATE: 0.2 Release includes following fixes / upates on top of features described below:
    -
     fixed unable to add stackoverflow user
    - fixed stackoverflow searchbar doesn't handle all key combinations (backspace, ctrl+v, ...)
    - VS2013 - removed toast notifications when new version available (notifications delivered via new Notifications Hub in VS2013)

    UPDATE: 0.1 Release includes following fixes / upates on top of features described below:
    -
     fixed solution filter icon broken
    - fixed file structure not opening
    - added ability to hide stackoverflow integraton
    - added ability to search stack overflow
    - fixed unable to compare files in solution explorer
    - fixed build progress indicator leaves red mark in windows taskbar
    - minor UI fixes


    See what's new:

    Disable Graph Provider

    You can bring back old (VS2010) behavior of Solution Explorer where files were not expandable (unless they had neted files):

    before/after

    This behaviour can be changed from Tools | VSCommands | Options | IDE Enhancements | Solution Explorer | Disable Graph Provider

    StackOverflow Integration

    Stackoverflow became a big part of life of many developers and now you can track your SO updates directly from Visual Studio.

    Simply click  on StackOverflow icon in Visual Studio titlebar and enter your user id.

    If you don't know your User Id you can find it in address bar on your Stack Overflow profile page

    Once ready VSCommands will display you reputation and latest updates

    All links are clickable and will take you directly to StackOverflow website.
    Reputation changes, messages and mentions from last 30 days are shown:

    ✉ - messages
    ★ - favourite questions
    ✄ - revisions
    ● - badges

    'New Questions' shows recent questions related to Visual Studio.
    Going forward you will be able to specify search terms or tags that you are interested in so new questions will be more personalized.

    You can disable StackOverflow integration from context menu on Visual Studio window toolbar

    If you have any ideas about future improvements of this feature do let me know at @vscommands or jarek@squaredinfinity.com

    Build Progress Indicator

    Build progress is now indicated in Windows Task Bar

     

    This way you can move to another task while waiting for this long build to complete!

    Touch Support - Pinch Zoom

    It is now possible to pinch-zoom in text editor and output window:

    Status Bar - Selection Information

    Status Bar will now display information about current text selection in text editor.
    This includes number of lines and character count

    Change VSCommands Data Directory

    By default VSCommands stores its data in current user app data directory.
    This works well in most cases, but in some companies this directory is mapped to a network drive causing slowdowns during reading/writing of settings.

    You can now set custom location of VSCommands data by setting this registry value: HKEY_CURRENT_USER\Software\squaredinfinity\vscommands\AppData.CustomPath

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\squaredinfinity\vscommands]
    "AppData.CustomPath"="c:\\temp"

    Other changes

    - Build Summary - fixed issue where single project build would show wrong total build time
    - File Structure - style fixes
    - Configuration | Main Menu - fixed config selection bug
    - Startup performance improvements
    - Restart Visual Studio - fixed issue where it would not work if some project types were loaded in current solution

  • VSCommands 2.10.3

    Tags: release, vsc11, vsc12

    New version of VSCommands for Visual Studio 2012 and Visual Studio 2013 is available from Visual Studio Gallery!

     

    VB Support

    Visual Basic is now supported in both File Structure and Code Block End Tagger:

     

    To enable File Structure: From Main Menu go to Tools | VSCommands | File Structure
    To enable Code Block End Tagger: From Main Menu go to Tools | VSCommands | Options | Text Editor | Enable Code Block End Tagger

    Code Block End Tagger

    It is now possible to make Code Block End Tagger navigate with mouse-click only when Ctrl key is pressed.
    If Ctrl key is not pressed then clicking on tagger will move text editor caret to that possition.

     

    This option can be enabled from Tools | VSCommands | Options | Text Editor | Navigate only when Ctrl is pressed

     

    Attach To IIS

    It is now possible to quickly select/unselect all sites in Attach To IIS window using checkbox in Attach column header:

     

    Other Changes

    • Solution Badges, Ankh Svn Integration - fixed issue where VSCommands sometimes failed to retrieve branch name
    • Solution Badges, TFS Integration - fixed issue where some branches were not properly identified
    • File Structure - fixed issue where some nodes were appearing multiple times
    • Other minor fixes
  • VSCommands 2.10.0

    Tags: vsc11-release, vsc11, vsc12, vsc12-release, release

    New version of VSCommands for Visual Studio 2012 and Visual Studio 2013 is available from Visual Studio Gallery!

    Bug Fixes And Changes

    •  Solution Badges | Jump List - fixed issue where TFS and AnkhSVN branch information was lost from Jump List after VS restart
    • Solution Badges - improved AnkhSvn support
    • Code Block End Tagger - fixed issue where tags were displayed on wrong lines
    • File Structure - fixed issue where sometimes File Structure window would stay blank and not refresh until source code file is modified
    • File Structure | Code Block End Tagger - fixed issue where empty catch block were not handled properly
    • Code Block End Tagger - fixed issue where some partial classes were missing tags
    • Touch Panning in Text Editor - removed 'window bounce' effect when reaching boundary of scrollable space
    • Paste as Link - it is now possible to paste same link multiple times
  • VSCommands 2.9.5

    New version of VSCommands for Visual Studio 2012 and Visual Studio 2013 is available from Visual Studio Gallery!

    Solution Badges - TFS Branch Name Support

    VSCommands will now try to use real TFS Branch name when solution is connected to TFS:

     

    By default both branch name and workspace name are included.

    This can be changed from Tools | VSCommands | IDE Enhancements | Solution Badges

    If TFS branch name cannot be detected VSCommands will try to use solution directory structure to get branch name (old way)

     

    Other Changes

    • File Structure - content will now be cleared when document closes
    • Code Block End Tagger - fixed issue where it would not show in some documents
    • Code Block End Tagger - fixed issue where tags were displayed incorrectly in partial classes defined in multiple documents.
    • Solution Badges - removed 'Branch' word from default branch names
    • Commands Binding window - fixed issue which prevented VSCommands (2013) from initializing properly on some systems.
    • Other minor fixes
  • VSCommands 11.2.9.0

    Tags: release, vsc11, vsc11-release

    New version of VSCommands for Visual Studio 2012 is available from Visual Studio Gallery

    File Structure - C# Support

    File Structure Window (Tools | VSCommands | File Structure) now supports C# files: 

     

    Both Light and Dark themes are supported:

     

    You can customize all the colors using Visual Studio 2012 Color Theme Editor extension:

     

    Code Block End Tagger

    Code Block End Tagger makes it much easier to find your way in large source files with nested code blocks by displaying additional info:

    Clicking on the tag will take you up to the first line of code block.

    This feature is disabled by default and can be enabled from Tools | VSCommands | Options | IDE Enhancements | Text Editor

     

    Default behavior is to navigate on single click, but this can be changed to use double-click instead.
    You can also pick one of three different display modes: Icon and Text (default), Icon Only and Text Only.

    Icons only mode will display description of code block in tooltip:

     

     Here again colors can be modified using Visual Studio 2012 Color Theme Editor:

    Solution Badges - Ankh Svn Support

    Solution Badges now support Ankh Svn.
    Branch name can be extracted from repository Uri and by default most popular branch naming strategy is recognized (e.g. http://repository/branches/MyMranchName)

    This can be configured from Tools | VSCommands | Options | IDE Enhancements | Solution Badges

    Solution Badges - TFS Support

    It is now possible to include Tfs Workspace name in branch name.
    This is not enabled by default, but you can configure it from Tools | VSCommands | Options | IDE Enhancements | Solution Badges

    Simply add {tfs:workspace} placeholder to TFS Branch Name Pattern, Main Window Title Pattern or Solution Explorer Window Title Pattern:

     

    Touch Screen Support and More

    I've been using Surface Pro for VSCommands development over last couple of weeks and it's been great fun, except for few minor annoyances which I tried to address:

    1. Text Editor Touch Support - VSCommands will now enable touch panning in Text Editor and Tool Windows

    Panning will automatically start when you move your finger vertically. If you start your movement horizontally it will make selection instead.

    Touch support can be disabled from Tools | VSCommands | Options | IDE Enhancements | Touch

    2. Aero Snap and WinKey + Arrow

    On my normal keyboard I'm used to pressing Ctrl + Arrow to navigate to next/previous word.
    When working on smaller keyboard such as Type Cover, my fat fingers keep pressing Windows Key + Arrow which triggers Aero Snap feature and moves whole Visual Studio window to the edge of the screen.
    This default behavior got annnoying to the point that it can now be disabled from Tools | VSCommands | Options | IDE Enahncement | Keyboard

    The setting is disabled by default and will not synchronize between machines.

    3. Main Menu Enhancements - Touch Support - When Main Menu is set to autohide, you can now tap with your finger anywhere on Visual Studio Title bar to make it appear again.
     

  • VSCommands 11.2.8.0

    Tags: vsc11-release, vsc11, release

    New version of VSCommands for Visual Studio 2012 is available from Visual Studio Gallery!

    This release brings back File Structure window you may already know from VSCommands 2010.

     

    File Structure displays representation of current file in a tool window which you can move and dock anywhere in Visual Studio.

    You can use it as a quick overview of a file you are working on and navigate to relevant places in code by double-clicking tree nodes.

    It can be accessed from main menu Tools | VSCommands | File Structure of with default shortcut Ctrl+Shift+Alt+T


    Filtering

    You can filter file content based on text search criteria:

    Press ESC key at any time to remove the filter

    Keyboard Navigation

    Full keyboard navigation is supported

    • Arrows/page up/page down - move between items.
    • Enter - find item in editor
    • Start typing to automatically navigate to item matched by typed text

    Mouse + Keyboard

    • Ctrl + Expand -> expand item and subtree
    • Ctrl + Collapse -> collapse item and subtree
    • Shift + Expand -> expand item and siblings
    • Shift + Collapse -> collapse item and siblings 

    XAML Specific Features 

    Brush & Color Preview

    Grid Row/Column Indicator

    Grid Row and Column placement is indicated with  and  icons
    Additional Row and Column descriptions are displayed next to definition and in tooltip (if you're using x:Name, AutmoationProperties.Name or AutmoationProperties.AutomationId)

     
    Theme Support

    Both Light and Dark themes are supported.
    You can modify File Structure colors using Visual Studio Color Theme Editor extension (available from Visual Studio Gallery).

    Make sure to click 'Show All Elements' icon from toolbar and type vsc in search box:

    Future & Feedback

    At the moment File Structure only supports xml based documents.
    C# support will be ready in June release.

    Priorities after that depend on what YOU need, so let me know @vscommands or jarek@squaredinfinity.com

     

     

    Changes And Bug Fixes 

    This release also includes following changes and bug fixes:

    • You no longer have to restart Visual Studio for configuration changes to be applied
    • Dark theme text colors will now be correctly applied
    • Unhandeld Exception Monitoring - toast notifications are disabled by default