Coder Social home page Coder Social logo

bitburner-vscode's Introduction

Bitburner Connector for VSCode

semantic-release

This extension allows for you to have all of your scripts on your host machine and push them to the running game client!

Note: The extension currently works with the 'dev' branch of the game. (as of 28th December 2021)

This is an early WIP with a few hours gone in to both the extension and the game functionality, a lot is subject to change. Use at your own risk! Remember to backup your save and scripts!

Extension Configuration

Configuration Key Description Default
Script Root bitburner.scriptRoot The directory that the File Watcher (if enabled) uses as the 'root' directory to watch. ./
File Watcher - Enable bitburner.fileWatcher.enable A configuration option that is only read from the Workspace or Folder configurations, a way to enable the File Watcher by default. false
Show File Push Notifications bitburner.showPushSuccessNotification If true, this will show a notification/toast when a file has been successfully pushed to the game. Errors will always show. false
Show File Watcher Enabled Notifications bitburner.showFileWatcherEnabledNotification If true, this will show a notification/toast whenever the File Watcher is enabled and/or the extension configuration scriptRoot has changed. Errors will always show. false
Game Authentication Token bitburner.authToken The auth token that the game generates, needed for you to be able to push files in to your game client. See #authentication section below. (No Default)

Pushing Files

Authentication

When the game is started for the first time, it generates an 'Auth Token' that can be used by third party programs/applications/scripts to push files to the game. This extension requires that token to in order to function.

You can copy the token from the Bitburner application 'API Server' context menu:

Image showing API Server context menu in the bitburner game client

Adding the token to the extension:

The token will ultimately end up in the workspace configuration (See your workspaces./.vscode/settings.json), so you can either:

  • Add the token manually to the workspace settings.json to the key of bitburner.authToken.
  • Use the command palette (CTRL/CMD + SHIFT + P) and select Bitburner: Add Auth Token.
    • Paste the Auth Token copied via the games context menu in to the input box.

Push through the context menu

  • Right Click in the VSCode Editor (Your source code) and choose 'Bitburner: Push file to game'

Push through the command palette

  • Open the Command Palette (CTRL/CMD + SHIFT + P)
    • Choose 'Bitburner: Push File To The Game' to save and push a single file (File open in editor)
    • Choose 'Bitburner: Push All Files To The Game' to push all files from your configured scriptRoot.

Push With the file watcher (Disabled by default)

  • Open the Command Palette (CTRL/CMD + SHIFT + P)
    • Enable with 'Bitburner: Enable File Watcher'
    • Disable with 'Bitburner: Disable File Watcher'

This is currently disabled by default (but can be overwritten in Workspace/Folder preferences), the behaviour is - It will push all files that have a .js, .ns or .script extension within your currently open folder/workspace - Respecting any folders that you may have them in.

You can change the directory being watching with the bitburner.scriptRoot setting within the plugin configuration, open VSCode preferences to modify the value - default as ./ (workspace root).

You can enable the fileWatcher by default with the bitburner.fileWatcher.enable setting within the plugin configuration. This setting will not work if set in user settings, it must be set at the workspace or folder level.

NOTE: You can only watch paths within the workspace VSCode has open.

Behaviour

Files that are pushed to the game will be done so relative to the 'Script Root' (See configuration: bitburner.scriptRoot), respecting any folders from that root to your scripts location. For example:

With the the following configuration scriptRoot: "./out/"...

  • ./out/script.js will push to Home:~/script.js in game.
  • ./out/folder/script.js will push to Home:~/folder/script.js in game.
  • ./out/folder/subfolder/script.js will push to Home:~/folder/subfolder/script.js in game.
  • ./test.js will not be pushed to the game as it is a level above the configured 'script root'.

Bitburner

Bitburner is a programming-based incremental game. Write scripts in JavaScript to automate gameplay, learn skills, play minigames, solve puzzles, and more in this cyberpunk text-based incremental RPG.

Relevant Links

The game can be played via Steam or via the Web with any browser that supports and has Javascript enabled. The discord is the place to go for information, help, to raise bugs or talk/help contribute features to the game!

bitburner-vscode's People

Contributors

hexnaught avatar semantic-release-bot avatar hydroflame avatar slycedix avatar pyrox0 avatar smolgumball avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.