This extension adds syntax highlighting for Internet Basic, the language of Comet by Signature Systems, to Visual Studio Code. It recognizes .ibs and .inc files and colors keywords, statements, functions, strings and their @ escape sequences, numbers, labels and comments; the exact colors come from your theme. It also sets the comment character and the bracket and quote pairs, so that commenting a line, matching a bracket and closing a quote work as expected.
Blocks such as IF ... ENDIF, FOR ... NEXT and DO ... LOOP fold and indent, and snippets expand the common block and statement shapes.
- Open the Extensions view in Visual Studio Code (
Ctrl+Shift+X). - Search for "Internet Basic".
- Install the extension published by Signature Systems.
- Visual Studio Code.
- Comet and its
console.exeare needed only to compile and run Internet Basic programs, not to edit them.
Other extensions also claim the .inc extension. If .inc files open in another language, add this line to your user settings.json so that Internet Basic wins:
"files.associations": { "*.inc": "ibs" }Report issues and send pull requests on GitHub.
Parts of this extension are developed with AI coding assistants, including Claude Code. Signature Systems reviews and tests every release.
A later release will provide these tasks built in. Until then, below is a sample tasks.json file that should allow you to register and compile Internet Basic files, as well as set up your console.exe to point to the proper Comet executables.
In order to get your tasks file set up, we will need to make use of the Command Palette, which allows us to access VS Code's functionality through typing and selecting the commands we are interested in. To use the Command Palette, start by pressing CTRL-SHIFT-P, which will bring up a box with a cursor inside, and a drop-down list of options. As you type, VS Code will display any commands that match. For instance, after typing "build" in the Command Palette, the drop-down list will contain options for "Tasks: Run Build Task" as well as "Tasks: Configure Default Build Task" (which we will use below).
Note: When you first open the Command Palette with CTRL-SHIFT-P, the text field already contains a greater-than sign ">" which specifies that VS Code is searching for matching commands. If you start typing any of the commands below and file names start showing up instead, or you do not see the proper commands in the drop-down list, make sure you haven't accidentally removed the ">" from the beginning of the text field.
So let's get started by setting up your tasks.json file.
In order to open the tasks.json file:
- Press
CTRL-SHIFT-Pto bring up the Command Palette - Type/select "Tasks: Open User Tasks"
- tasks.json should now be open - add the code at the bottom of this section
- Save tasks.json
Verify the tasks were set up:
- Press
CTRL-SHIFT-Pto bring up the Command Palette - Type/select "Tasks: Run Task"
- You should see and be able to select the following tasks:
- IB Compile - compiles the current open Internet Basic file
- IB Register File - registers the current file in Comet
- IB Comet Setup - specify the path and arguments used to launch Comet (if it is not already open when running tasks)
Next, if you want to set up the shortcut CTRL-SHIFT-B to compile the current open file:
- Press
CTRL-SHIFT-Pto bring up the Command Palette - Type/select "Tasks: Configure Default Build Task"
- Select "IB Compile" from the subsequent drop-down list
That's it! You should be all set to compile IB programs using Visual Studio Code.
{
// Remember to replace the path to console.exe with your specific path.
// (usually in the comet installation folder)
// For example, "c:\\comet\\console.exe"
// Remember to use double backslashes "\\" inside of strings
//
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "IB Compile",
"type": "shell",
"command": "\\path\\to\\console.exe",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"showReuseMessage": true,
"clear": false
},
"args": [
"-c",
"${file}"
],
"problemMatcher": []
},
{
"label": "IB Register File",
"type": "shell",
"command": "\\path\\to\\console.exe",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"showReuseMessage": true,
"clear": false
},
"args": [
"-q",
"${file}"
]
},
{
"label": "IB Comet Setup",
"type": "shell",
"command": "\\path\\to\\console.exe",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"showReuseMessage": true,
"clear": false
},
"args": [
"-s"
],
"problemMatcher": []
}
]
}