Sublime Text AMX NetLinx Plugin
This is a plugin for developers looking for a lighter weight alternative to NetLinx Studio, while still providing powerful functionality. On top of the features provided by Sublime Text, this plugin adds syntax highlighting, color schemes, and build support for the AMX NetLinx programming language. This is also a great option for programmers who are looking to use one editor for multiple languages.
Designed for Sublime Text 3
- Install Sublime Package Control
- Open the
Command Palette(Ctrl + Shift + P)
Package Control: Install Package
NetLinx Classic Color Scheme
Sublime will use the editor's global color scheme by default. If you would like the files to look the way they do in NetLinx Studio, the sublime-netlinx package comes with a classic NetLinx color scheme.
File transfer is handled by FileTransfer 2, provided by AMX via the Web Update utility or as a download from the prior link.
Issues, Bugs, Feature Requests
Any bugs and feature requests should be reported on the GitHub issue tracker:
Pull requests are preferred via GitHub.
Mercurial users can use Hg-Git to interact with GitHub repositories.
Transitioning From NetLinx Studio
It is important to understand that sublime-netlinx is an alternative way to work with NetLinx files, not a feature-for-feature clone of NetLinx Studio. Therefore, sublime-netlinx requires a different way of thinking than what you may be used to. If you typically work with multiple programming languages, transitioning to sublime-netlinx will probably be easy and increase your productivity. If NetLinx is your only programming language, the transition may be more difficult. If you've spent a reasonable amount of time with sublime-netlinx and find yourself frustrated, sublime-netlinx may not be right for you. That's ok.
Sublime Text does a good job of providing an interface that is far less
cluttered than the NetLinx Studio IDE. In Sublime you'll spend a lot of time
using the command palette (ctrl + shift + p). Due to this, the sublime-netlinx
commands are available from the command palette with the prefix
Since sublime-netlinx is designed to be lightweight, work is delegated to Sublime Text commands and external applications. For example, although building a NetLinx file appears to happen in Sublime Text, it's only the console output of netlinx-compile that's displayed by Sublime Text. The build command delegates the work to netlinx-compile, which runs in the background.
Some of AMX's proprietary applications don't provide interfaces to work with their data and can only be used as standalone applications. NetLinx Diagnostics is an example of this. sublime-netlinx provides convenience commands to launch these applications.
Sublime Text is a very versatile editor. Keep in mind that you can customize the editor and add plugins to further improve your workflow.
Setting Up A Workspace
The easiest way to maintain a NetLinx workspace with Sublime Text is by
using a netlinx-workspace workspace.config.yaml file.
This file can be created by hand, by running
netlinx-workspace --create, or by
using a framework like netlinx-erb
that handles all aspects of developing and maintaining a NetLinx project.
Ideally a project using a workspace.config.yaml file will be able to be compiled with a standard Sublime build task (ctrl + b). However, the extension discovery system issue needs to be resolved before this works. In the mean time, a NetLinx Studio .apw file can be generated from the command palette with
NetLinx: Generate .apw From workspace.config.yaml. The netlinx-erb framework isn't affected by this problem, as it uses its own set of automated tasks.
This plugin provides commands that are accessible from the Sublime Text Command
Command Palette) (Ctrl + Shift + P).
- Build: Build (Ctrl + B) - Same as Build: Workspace
- Build: Source
- Build: Workspace - All Systems
- Build: Workspace - Active System
- Build: Run (Future)
- NetLinx: Fix Indentation
- NetLinx: New From Template: Standard
- NetLinx: New From Template: Include
- NetLinx: New From Template: Test Suite
- NetLinx: New From Template: Overview
- NetLinx: Launch File Transfer
- NetLinx: Launch NetLinx Diagnostics
All of the code snippets available for auto-completion can be found under the menu:
Helpful Sublime Plugins
Sublime Text plugins can be installed using Package Control.