@ -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": "." |
||||
|
} |
||||
|
} |