@ -0,0 +1,2 @@ |
|||
out |
|||
node_modules |
@ -0,0 +1,9 @@ |
|||
.vscode/** |
|||
.vscode-test/** |
|||
out/test/** |
|||
test/** |
|||
src/** |
|||
**/*.map |
|||
.gitignore |
|||
tsconfig.json |
|||
vsc-extension-quickstart.md |
@ -0,0 +1,52 @@ |
|||
# Auto Build support for Visual Studio Code |
|||
This `Visual Studio Code` extension provides access to the `Auto Build` script. |
|||
|
|||
## Installation |
|||
|
|||
Get the MarlinFirmware repository from GitHub. Open the directory `buildroot/share/vscode` and copy the `AutoBuildMarlin` folder to the `Visual Studio Code` extension directory. Relaunch `Visual Studio Code` to complete the installation. |
|||
|
|||
To find the `Visual Studio Code` extension directory: |
|||
|
|||
- Windows - Use Windows Explorer's address bar to open `C:/Users/USERNAME/.vscode/extensions`. |
|||
- Mac - Use the Finder's `Go` menu to open `~/.vscode/extensions`. |
|||
- Linux - In the Terminal type `open ~/.vscode/extensions`. |
|||
|
|||
### 3. Install the PlatformIO extension |
|||
Click on `View` > `Command Palette...` |
|||
|
|||
![](./resources/view_command_palette.png) |
|||
|
|||
Find and click on `Extensions: Install Extensions` |
|||
|
|||
![](./resources/install_extensions.png) |
|||
|
|||
Type `platformio` into the search box and click on `Install` under `PlatformIO IDE`. |
|||
|
|||
![](./resources/platformio_install.png) |
|||
|
|||
## Usage |
|||
|
|||
This extension adds the Auto Build icon ![](./media/AB.svg) to the Activities bar. |
|||
|
|||
### 1. Open the Marlin folder |
|||
Click on `File` > `Open Folder...` |
|||
|
|||
![](./resources/Open_Folder.png) |
|||
|
|||
This brings up the `Open Folder` dialog. Select the folder that has the `platformio.ini` file in it. |
|||
|
|||
![](./resources/Open_Marlin.png) |
|||
|
|||
You should see something like the following. If not, click on the Explorer icon in the Activities bar. |
|||
|
|||
![](./resources/Activity_bar.png) |
|||
|
|||
### 2. Click on the Auto Build Icon ![](./media/AB.svg) |
|||
This brings up the Auto Build menu icon bar. |
|||
![](./resources/AB_menu.png) |
|||
|
|||
### 3. Click on one of the four icons |
|||
- ![](./resources/B_small.svg) - Clicking on it starts `PIO Build` |
|||
- ![](./resources/C_small.svg) - Clicking on it starts `PIO Clean` |
|||
- ![](./resources/U_small.svg) - Clicking on it starts `PIO Upload` |
|||
- ![](./resources/Ut_small.svg) - Clicking on it starts `PIO Upload (traceback)` |
@ -0,0 +1,37 @@ |
|||
'use strict'; |
|||
|
|||
var vscode = require('vscode'); |
|||
|
|||
function activate(context) { |
|||
|
|||
console.log('Extension "AutoBuildMarlin" is now active!'); |
|||
|
|||
var NEXT_TERM_ID = 1; |
|||
var pio_build = vscode.commands.registerCommand('piobuild', function () { |
|||
const terminal = vscode.window.createTerminal(`#${NEXT_TERM_ID++}`); |
|||
terminal.sendText("python buildroot/share/atom/auto_build.py build"); |
|||
}); |
|||
var pio_clean = vscode.commands.registerCommand('pioclean', function () { |
|||
const terminal = vscode.window.createTerminal(`#${NEXT_TERM_ID++}`); |
|||
terminal.sendText("python buildroot/share/atom/auto_build.py clean"); |
|||
}); |
|||
var pio_upload = vscode.commands.registerCommand('pioupload', function () { |
|||
const terminal = vscode.window.createTerminal(`#${NEXT_TERM_ID++}`); |
|||
terminal.sendText("python buildroot/share/atom/auto_build.py upload"); |
|||
}); |
|||
var pio_traceback = vscode.commands.registerCommand('piotraceback', function () { |
|||
const terminal = vscode.window.createTerminal(`#${NEXT_TERM_ID++}`); |
|||
terminal.sendText("python buildroot/share/atom/auto_build.py traceback"); |
|||
}); |
|||
|
|||
context.subscriptions.push(pio_build); |
|||
context.subscriptions.push(pio_clean); |
|||
context.subscriptions.push(pio_upload); |
|||
context.subscriptions.push(pio_traceback); |
|||
} |
|||
exports.activate = activate; |
|||
|
|||
// this method is called when your extension is deactivated
|
|||
function deactivate() { |
|||
} |
|||
exports.deactivate = deactivate; |
After Width: | Height: | Size: 666 B |
@ -0,0 +1,96 @@ |
|||
{ |
|||
"name": "auto-build", |
|||
"displayName": "Auto Build Marlin", |
|||
"description": "Auto Build Marlin for VS code", |
|||
"version": "0.1.0", |
|||
"publisher": "marlinfirmware", |
|||
"engines": { |
|||
"vscode": "^1.23.0" |
|||
}, |
|||
"enableProposedApi": true, |
|||
"categories": [ |
|||
"Other" |
|||
], |
|||
"activationEvents": [ |
|||
"onCommand:piobuild", |
|||
"onCommand:pioclean", |
|||
"onCommand:pioupload", |
|||
"onCommand:piotraceback" |
|||
], |
|||
"main": "./extension", |
|||
"contributes": { |
|||
"viewsContainers": { |
|||
"activitybar": [ |
|||
{ |
|||
"id": "auto-build", |
|||
"title": "Auto Build Marlin", |
|||
"icon": "media/AB.svg" |
|||
} |
|||
] |
|||
}, |
|||
"views": { |
|||
"auto-build": [ |
|||
{ |
|||
"id": "autobuild", |
|||
"name": " " |
|||
} |
|||
] |
|||
}, |
|||
"commands": [ |
|||
{ |
|||
"command": "piobuild", |
|||
"title": "PIO Build", |
|||
"icon": "resources/B32x32_white.svg" |
|||
}, |
|||
{ |
|||
"command": "pioclean", |
|||
"title": "PIO Clean", |
|||
"icon": "resources/C32x32_white.svg" |
|||
}, |
|||
{ |
|||
"command": "pioupload", |
|||
"title": "PIO Upload", |
|||
"icon": "resources/U32x32_white.svg" |
|||
}, |
|||
{ |
|||
"command": "piotraceback", |
|||
"title": "PIO Upload (traceback)", |
|||
"icon": "resources/Ut32x32_white.svg" |
|||
} |
|||
], |
|||
"menus": { |
|||
"view/title": [ |
|||
{ |
|||
"command": "piobuild", |
|||
"group": "navigation@1" |
|||
}, |
|||
{ |
|||
"command": "pioclean", |
|||
"group": "navigation@2" |
|||
}, |
|||
{ |
|||
"command": "pioupload", |
|||
"group": "navigation@3" |
|||
}, |
|||
{ |
|||
"command": "piotraceback", |
|||
"group": "navigation@4" |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
"scripts": { |
|||
"vscode:prepublish": "npm run compile", |
|||
"compile": "tsc -p ./", |
|||
"watch": "tsc -watch -p ./", |
|||
"postinstall": "node ./node_modules/vscode/bin/install", |
|||
"test": "npm run compile && node ./node_modules/vscode/bin/test" |
|||
}, |
|||
"devDependencies": { |
|||
"vscode": "^1.1.17", |
|||
"typescript": "^2.6.1", |
|||
"tslint": "^5.8.0", |
|||
"@types/node": "^7.0.43", |
|||
"@types/mocha": "^2.2.42" |
|||
} |
|||
} |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 440 B |
After Width: | Height: | Size: 476 B |
After Width: | Height: | Size: 442 B |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 487 B |
After Width: | Height: | Size: 444 B |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 458 B |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 458 B |
After Width: | Height: | Size: 444 B |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 493 B |
After Width: | Height: | Size: 468 B |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 10 KiB |
@ -0,0 +1,12 @@ |
|||
{ |
|||
"compilerOptions": { |
|||
"module": "commonjs", |
|||
"target": "es6", |
|||
"outDir": "out", |
|||
"lib": [ |
|||
"es6" |
|||
], |
|||
"sourceMap": true, |
|||
"rootDir": "." |
|||
} |
|||
} |