NotVCS - A .vex unpacker and repacker!

Vex Coding Studio doesn’t seem to be the ideal coding studio at the moment. Sure, it’s a brand new thing, and it’s going to have it’s flaws, but another IDE wil usually just be better. But, what if you want to use the official API still?

Well, I’m glad you asked. Introducing:


NotVCS is a python script that can extract and repack .vex files. Thats about all I have to say here. If you are interested in using it, it is available for free on this github repo.

This software is still in it’s early stages and will almost certainly be riddled with bugs. Please make backups of your vex files before using.

I love it =).
Useful for people who need version control or another IDE, but are somehow required to use VCS.
Too bad it does not allow you to create multiple files within the .vex file, I guess VCS can only handle robot-config.h and main.cpp. It would be cool if it could repack automatically on file change and notify VCS to reload the file, though I would be surprised if that was possible.
Nice work.


Beta 1.1 is out. New features:
-Preprocessor mode - Allows actual multi-file support

Please not that this beta may be buggy. Use preprocessor mode at your own risk.

Another Update is out:

New features:
-Auto-open VCS after precompiling with -o
-Text at top of file to discourage editing after processing

Still probably buggy. At the moment, Auto-open only works on Windows.

A new beta update for NotVCS, now VCS4CMD, has been released.

I’ve been busy researching ways to compile and upload .cpp files from the command line without abandoning the official API. While, in it’s current state, this requires both PROS and Vex Coding Studio to be installed, and this ( makefile to be in your Vex Coding Studio\sdk\user folder, it still has all of the features of the old NotVCS, which is also still available for download on my git repo. There is a possibility of not needing PROS to upload code to the robot at some point, but for now, that is the only way.

Also, auto-open from the previous update now works on OSX.

Looks promising! Waiting for the day when it works with Visual Studio or some other IDEs.

The post above means it should work in any IDE. And of course PROS already does.

I meant as a built-in plugin for VS. It would be nice to have it integrated with VS

I don’t see Visual Studio getting enough use in this space to really warrant making a built in plugin for V5.

Visual Studio Code, I’ve got an extension I made and use for PROS work. Not for VCS work.

Judging by the dependency on pros I think @Drew2158U still uses prosv5 make and prosv5 upload so the VS code extension would still work. Either that or be trivial to modify.

The Cli nature of PROS makes plug-ins for IDEs trivial

Hi, I’m getting an error when I attempt to unpack my program, I’m wondering if I’m doing something wrong. I navigate to my directory that my program and are in, then call

python -u --file "Program 1".vex

and receive the error

Reading from file Program 1.vex
Traceback (most recent call last):
  File "", line 121, in <module>
    with open('unpacked/vexfile_info.json', 'w', newline='') as csvFile:
TypeError: 'newline' is an invalid keyword argument for this function

Any idea what I’m doing wrong?

I’m not sure whats going on there, though my guess would be that you might be using Python 2.x, while VCS4CMD requires Python 3.x.

Run python -V to check python version.

As for @tabor473 VCS4CMD uses PROS upload for now, since I haven’t figured out how to upload directly. For now, I recommend using the -po option rather than -l, since it doesn’t require PROS, and, while it isn’t as automatic, it is far less buggy, since I haven’t ironed out all of the bugs with command-line make and upload. However, it still uses VCS make and the VCS api when using -l.

Ahh, yes, that was my problem, I had to call python3 instead of python in the terminal. Thanks, I’m excited to see what I can do with this program!

where? where? where?

I hope bringing this thread back doesn’t count as necroposting, because a new update is out!

Also, don’t use; its bad and I should probably delete it

What does this update bring? NotVCS Extensions!

What is a NotVCS Extension? A NotVCS Extension (*.nvcx) is basically a glorified library. Basically, you can now install these extensions with to be able to #include your code. This isn’t actually documented in the, but I think the --help for this file explains enough.

Also, a recent update that I didn’t feel warranted reviving this thread added support for in addition to main.cpp as your main file.