Your Next MultiValue Editor

There are lots of ways to edit programs in your MultiValue system. Most everyone has used the original editor "ED". Others use more advanced editors, many of which are included with your MV database like BDT, JED, SED and as well as popular third-party options like WED, Notepad++ and Sublime.

In non-MV environments, more full-featured IDEs are common today. They offer code highlighting, formatting, and other advantages. Many of these can access MV data, which means we can use them for mvBASIC. In a growing number of case, people have already extended them to understand our code so that we get the maximum benefit from all the bells and whistles.

The newest option available to MV developers is VSC (Visual Studio Code) from Microsoft. It is an opensource editor designed for developers that is not only free but it is also extensible. It's not just driven by Microsoft development teams, but the broader community as well. In a short period of time VSC has become one of the great open source success stories in the industry, with thousands of extensions available for free download. VSC also brings many other features that MV developers can benefit from.

While VSC is primarily a code editor with support for many modern languages including Javascript, C#, Python, JSON, XML, Typescript, Node.js, and many, many others, it has a host of features beyond code editing. One of the particularly beneficial features of VSC is that it is designed to accept extensions that enable the community to further extend the functionality of VSC. For MV developers, ONgroup's Chief Architect has released an extension for editing MultiValue code with the following features:

  • Syntax Highlighting
  • Intellisense and Code Completion
  • Code Folding
  • Code Formatting
  • Goto/Peek Definition - Automatically jump to or peek internal subroutines
  • Goto/Peek Definition - Automatically jump to or peek CALL, CHAIN and INCLUDE routines
  • Syntax checking for GOTO's/GOSUB's, LOOPS, CASE Statements and IF/THEN/ELSE statements
  • Access Remote programs and files on U2, D3, jBASE, OpenQM, MVON# and others
  • Find all references of a word within the current program
  • Shows outline of internal subroutines, include files, and subroutine calls
  • Code Snippets
  • Git Integration
  • Compilation and Cataloging

Beyond editing features, ONgroup has published extensions for executing TCL commands within VSC. And, if you are using MVON#, a full screen debugger.

To begin using VSC, first download it from . There are versions for Windows, Mac and Linux. Once you have installed VSC and launched it you will need to download your first extension. The extension from ONgroup for MultiValue is called MV# Developer Extension. To install an extension click on the Extension icon in the icon bar on the left of your VSC [Figure 1].

Visual Studio Code Extension

VSC Icon Bar

Figure 1

After installing the extension, you can find documentation for the extension in your c:\Users\{UserName}\.vscode\extensions\ongroup.mvon-{VersionNumber}\doc. In the documentation, you can read how to create a workspace and connect to your MultiValue database. Workspaces are configuration files that contain information on how to connect to your MV database as well as other options that you may want to choose like automatically associating your programs with the MVON# Basic extension, tab and margin size, custom words, using camel case and VSC options like themes/colors and many others.

Why would a MultiValue developer want to use Visual Studio Code as their code editor? You may even already have an advanced code editor. You probably feel very comfortable with it. The best reason is that the development industry has been making incredible advances over the last several years. MultiValue is often perceived as failing to make advancement while the rest of the development world moves to newer technologies. Using the MV extension with VSC allows you as a developer to join in on modern development approaches to coding. Many of you already use multiple editors for different tasks and with VSC you can standardize on a common editor across languages. Besides previously mentioned support for a broad range of languages, there are also extensions that allow calls to RESTful Web Services, encoding and decoding BASE64, support for collaborative development, integration with Git, SVN and other source control systems, live server which will automatically show changes to web pages as you save the files, SFTP, SQL integration and thousands of other extensions. At the time of this writing there are 13,055 extensions available, all free. Did I mention that Visual Studio Code is FREE?

Recently, ONgroup has joined with senior developers from Zumasys, along with consultants and end-users from the MV industry. to create an industry group to further develop this extension to enhance the features for all of the major MV platforms. The group has adopted the name MVExtensions and can be found on Github at

At the time of this writing, the version from MVExtensions has not been published but may well be available when you read this article. With the power of VSC available to MV developers, the group expects to create a standard IDE (Integrated Development Environment) that can be used across a majority of the MV industry with powerful features previously not commonly available to MV developers. Watch for announcements of availability of the MV Basic extension in the near future if it isn't already available. is

Richard Thiot

View more articles


Jul/Aug 2019