[vscode-bitburner-connector](https://github.com/bitburner-official/bitburner-vscode) ([vscode extension marketplace](https://marketplace.visualstudio.com/items?itemName=bitburner.bitburner-vscode-integration)) to upload your files into the game
[vscode-eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) to use live linting in editor
@ -8,61 +9,50 @@
There is a workspace file in `.vscode` which contains the recommended settings for all of these
## Dependencies
[Node.js](https://nodejs.org/en/download/) required for compiling typescript and installing dependencies
Write all your typescript source code in the `/src` directory
To autocompile as you save, run `npm run watch` in a terminal
To update your Netscript Definitions, run `npm run defs` in a terminal
Press F1 and Select `Bitburner: Enable File Watcher` to enable auto uploading to the game
If you run `watcher.js` in game, the game will automatically detect file changes and restart the associated scripts
## Imports
To ensure both the game and typescript have no issues with import paths, your import statements should follow a few formatting rules:
* Paths must be absolute from the root of `src/`, which will be equivalent to the root directory of your home drive
* Paths must contain no leading slash
* Paths must end with no file extension
- Paths must be absolute from the root of `src/`, which will be equivalent to the root directory of your home drive
- Paths must contain no leading slash
- Paths must end with no file extension
### Examples:
### Examples:
To import `helperFunction` from the file `helpers.ts` located in the directory `src/lib/`:
To import `helperFunction` from the file `helpers.ts` located in the directory `src/lib/`:
```js
import { helperFunction } from 'lib/helpers'
import { helperFunction } from "lib/helpers";
```
To import all functions from the file `helpers.ts` located in the `src/lib/` directory as the namespace `helpers`:
```js
import * as helpers from 'lib/helpers'
import * as helpers from "lib/helpers";
```
To import `someFunction` from the file `main.ts` located in the `src/` directory:
```js
import { someFunction } from 'main'
import { someFunction } from "main";
```
## Deugging
For debugging bitburner on Steam you will need to enable a remote debugging port. This can be done by rightclicking bitburner in your Steam library and selecting properties. There you need to add `--remote-debugging-port=9222` [Thanks @DarkMio]
When debugging you see errors like the following:
```
Could not read source map for file:///path/to/Steam/steamapps/common/Bitburner/resources/app/dist/ext/monaco-editor/min/vs/editor/editor.main.js: ENOENT: no such file or directory, open '/path/to/Steam/steamapps/common/Bitburner/resources/app/dist/ext/monaco-editor/min/vs/editor/editor.main.js.map'
```
These errors are to be expected, they are referring to the game's files and the game does not come packaged with sourcemaps.