From b9c8e4a5a2a40cbe5e7faf243cd5cb079d851905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=87=E5=A4=A9?= Date: Fri, 21 Dec 2018 14:08:14 +0800 Subject: [PATCH] init project --- .gitignore | 16 +++++ .travis.yml | 20 ++++++ .vscodeignore | 6 ++ LICENSE | 21 ++++++ README.md | 20 ++++++ build_system.js | 186 ++++++++++++++++++++++++++++++++++++++++++++++++ index.js | 37 ++++++++++ logo.png | Bin 0 -> 83173 bytes package.json | 94 ++++++++++++++++++++++++ test/Untitled-1 | 1 + test/demo.dart | 3 + test/demo.js | 1 + test/demo.php | 4 ++ test/demo.py | 7 ++ test/index.js | 9 +++ 15 files changed, 425 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 .vscodeignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build_system.js create mode 100644 index.js create mode 100644 logo.png create mode 100644 package.json create mode 100644 test/Untitled-1 create mode 100644 test/demo.dart create mode 100644 test/demo.js create mode 100644 test/demo.php create mode 100644 test/demo.py create mode 100644 test/index.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d91d25 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +.DS_Store +.AppleDouble +.LSOverride +.vscode + +# Thumbnails +._* + +# Files that might appear on external disk +.Spotlight-V100 +.Trashes +package-lock.json + +node_modules +.vscode-test +*.vsix \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..8380796 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,20 @@ +language: node_js + +os: + - osx + +node_js: + - node + +install: + - npm install + +cache: + directories: + - "node_modules" + +script: + - npm test + +notifications: + email: false \ No newline at end of file diff --git a/.vscodeignore b/.vscodeignore new file mode 100644 index 0000000..1889691 --- /dev/null +++ b/.vscodeignore @@ -0,0 +1,6 @@ +.vscode/** +test/** +.vscode-test/** +package-lock.json +.gitignore + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ab60297 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..8447d5b --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# Build System +> 🔥 类似sublime的Build System功能, 方便快速调试一些代码片断或想法。 +>> 目前只支持脚本语言的简单编译调试, 因为vscode原则上只是一个编辑器, 我并不希望把它变成一个IDE, 所以暂时并不打算支持那些需要复杂的编译环境及配置的语言。 + +[![Version](https://vsmarketplacebadge.apphb.com/version-short/yutent.build-system.svg)](https://marketplace.visualstudio.com/items?itemName=yutent.build-system) +[![Rating](https://vsmarketplacebadge.apphb.com/rating-short/yutent.build-system.svg)](https://marketplace.visualstudio.com/items?itemName=yutent.build-system) +[![Installs](https://vsmarketplacebadge.apphb.com/installs/yutent.build-system.svg)](https://marketplace.visualstudio.com/items?itemName=yutent.build-system) +[![Build Status](https://travis-ci.org/yutent/build-system.svg?branch=master)](https://travis-ci.org/yutent/build-system) + + + + + +## 兼容性 +> 理论上, 兼容Linux/MacOS/Windows, 不过我只在Linux/MacOS下测试过, 用Windows的童鞋请自行测试,有什么问题, 可以提issue。 + +## 安装 +> 直接在商店搜索安装即可。 + + diff --git a/build_system.js b/build_system.js new file mode 100644 index 0000000..d1090e0 --- /dev/null +++ b/build_system.js @@ -0,0 +1,186 @@ +/** + * 编译系统 + * + * @author yutent + * @date 2018/12/20 11:37:54 + */ + +'use strict' + +const vsc = require('vscode') +const exec = require('child_process').exec +const path = require('path') +const os = require('os') +const kill = require('tree-kill') + +const log = console.log +const std = vsc.window.createOutputChannel('build-system') +std.out = function(msg) { + std.appendLine(msg) +} + +const EXTS = { + '.bat': 'cmd /c', + '.dart': 'dart', + '.go': 'go run', + '.js': 'node', + '.py': 'python -u', + '.sh': 'bash', + '.swift': 'swift', + '.ts': 'ts-note' +} + +const BuildSystem = { + build() { + let editor = vsc.window.activeTextEditor + + if (this.__RUNNING__) { + return + } + + if (editor) { + this.__DOC__ = editor.document + this.__CWD__ = path.dirname(this.__DOC__.fileName) + + if (this.__DOC__.languageId === 'Log') { + return + } + + // 先保存 + if (this.__OPTION__.saveBeforeBuild) { + vsc.workspace + .saveAll() + .then(_ => { + if (this.__DOC__.isUntitled) { + if (!this.__DOC__.isDirty) { + return Promise.reject('空文件无法直接执行...') + } + return this.__DOC__.save() + } + return true + }) + .then(saved => { + log(this.__DOC__, saved) + if (saved) { + this.__start__() + } + }) + .catch(err => { + vsc.window.showInformationMessage('空文件无法直接执行...') + }) + } else { + this.__start__() + } + } + }, + + stop() { + if (this.__PROGRESS__) { + kill(this.__PROGRESS__.pid) + } + this.__RUNNING__ = false + // todo... + }, + + // 初始化 配置 + __init__(opt) { + this.__OPTION__ = opt + }, + + __start__() { + this.__parseCmd__() + + log(this.__CMD__) + if (!this.__CMD__) { + return + } + + this.__RUNNING__ = true + if (this.__OPTION__.runInTerminal) { + this.__runInTerminal__() + } else { + this.__output__() + } + }, + + __parseCmd__() { + let firstLine = this.__DOC__.lineAt(0).text + let ext = path.extname(this.__DOC__.fileName) + let lang = EXTS[ext] + if (firstLine.startsWith('#!')) { + lang = firstLine.slice(2) + } + if (!lang) { + this.__CMD__ = null + if (this.__OPTION__.runInTerminal) { + if (this.__TERMINAL__) { + vsc.commands.executeCommand('workbench.action.terminal.clear') + } + } else { + std.clear() + } + return vsc.window.showInformationMessage('不支持的语言...') + } + this.__CMD__ = `${lang} "${this.__DOC__.fileName}"` + }, + + // 在终端内运行 + __runInTerminal__() { + let hasTerminal = vsc.window.terminals.some(it => it.name === 'BuildSystem') + + if (hasTerminal) { + vsc.window.terminals.forEach(it => { + if (it.name === 'BuildSystem') { + this.__TERMINAL__ = it + } + }) + } else { + this.__TERMINAL__ = vsc.window.createTerminal('BuildSystem') + } + this.__TERMINAL__.show() + + if (hasTerminal) { + vsc.commands.executeCommand('workbench.action.terminal.clear').then(_ => { + this.__TERMINAL__.sendText(this.__CMD__) + this.__RUNNING__ = false + }) + } else { + this.__TERMINAL__.sendText(this.__CMD__) + this.__RUNNING__ = false + } + }, + + // 直接输出 + __output__() { + // 运行前先清除之前的输出 + std.clear() + + std.show(true) + + let t1 = Date.now() + + this.__PROGRESS__ = exec(this.__CMD__, { cwd: this.__CWD__ }) + + // 运行输出 + this.__PROGRESS__.stdout.on('data', _ => { + std.append(_) + }) + + // 异常输出 + this.__PROGRESS__.stderr.on('data', _ => { + std.append(_) + }) + + // 结束 + this.__PROGRESS__.on('close', _ => { + let t2 = Date.now() + let time = (t2 - t1) / 1000 + std.out('') + std.out('[Finished in ' + time + ' seconds]') + this.__PROGRESS__ = null + this.__RUNNING__ = false + }) + } +} + +module.exports = BuildSystem diff --git a/index.js b/index.js new file mode 100644 index 0000000..7c634a9 --- /dev/null +++ b/index.js @@ -0,0 +1,37 @@ +/** + * build system + * @author yutent + * @date 2018/12/20 10:46:07 + */ + +'use strict' + +const vsc = require('vscode') + +const BuildSystem = require('./build_system') + +function activate(ctx) { + let conf = vsc.workspace.getConfiguration('BuildSystem') + + BuildSystem.__init__(conf) + + vsc.window.onDidCloseTerminal(() => { + // BuildSystem.onDidCloseTerminal() + }) + + const build = vsc.commands.registerCommand('BuildSystem.build', _ => { + BuildSystem.build() + }) + + const stop = vsc.commands.registerCommand('BuildSystem.stop', _ => { + BuildSystem.stop() + }) + + ctx.subscriptions.push(build) + ctx.subscriptions.push(stop) +} + +function deactivate() {} + +exports.activate = activate +exports.deactivate = deactivate diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3e3473f3fd3d7221de0ec10d7720eac950fb3c5e GIT binary patch literal 83173 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 z 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json new file mode 100644 index 0000000..0f17a6f --- /dev/null +++ b/package.json @@ -0,0 +1,94 @@ +{ + "name": "build-system", + "displayName": "sublime build system", + "description": "🔥 类似sublime的Build System功能, 方便快速调试一些代码片断或想法。", + "version": "0.9.0", + "publisher": "yutent", + "author": "Yutent [@yutent]", + "icon": "logo.png", + "engines": { + "vscode": "^1.28.0" + }, + "categories": ["Programming Languages", "Other"], + "activationEvents": ["*"], + "main": "./index", + "contributes": { + "commands": [ + { + "command": "BuildSystem.build", + "title": "Build and run..." + }, + { + "command": "BuildSystem.stop", + "title": "Stop run..." + } + ], + "keybindings": [ + { + "command": "BuildSystem.build", + "key": "cmd+alt+b" + }, + { + "command": "BuildSystem.stop", + "key": "cmd+alt+c" + } + ], + "menus": { + "editor/context": [ + { + "when": "!inOutput", + "command": "BuildSystem.build", + "title": "Build and run this file" + }, + { + "when": "inOutput", + "command": "BuildSystem.stop", + "group": "Stop run this file" + } + ] + }, + "configuration": { + "type": "object", + "title": "Sublime Build System 配置", + "properties": { + "BuildSystem.saveBeforeBuild": { + "type": "boolean", + "default": true, + "description": "编译之前先保存文件" + }, + "BuildSystem.runInTerminal": { + "type": "boolean", + "default": false, + "description": "是否使用终端来运行编译结果" + } + } + } + }, + "repository": { + "type": "git", + "url": "https://github.com/yutent/build-system.git" + }, + "keywords": [ + "run code", + "sublime", + "build", + "system", + "sublime build system", + "javascript", + "typescript", + "nodejs", + "python", + "yutent" + ], + "scripts": { + "test": "node ./node_modules/vscode/bin/test" + }, + "license": "MIT", + "devDependencies": { + "vscode": "^1.1.21" + }, + "dependencies": { + "iofs": "^1.1.0", + "tree-kill": "^1.2.1" + } +} diff --git a/test/Untitled-1 b/test/Untitled-1 new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/test/Untitled-1 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/demo.dart b/test/demo.dart new file mode 100644 index 0000000..3f9dc49 --- /dev/null +++ b/test/demo.dart @@ -0,0 +1,3 @@ +void main() { + print('hello dart'); +} diff --git a/test/demo.js b/test/demo.js new file mode 100644 index 0000000..11a6bbf --- /dev/null +++ b/test/demo.js @@ -0,0 +1 @@ +console.log('hello js blabla') diff --git a/test/demo.php b/test/demo.php new file mode 100644 index 0000000..f88f715 --- /dev/null +++ b/test/demo.php @@ -0,0 +1,4 @@ + +# @date 2018/12/20 16:24:15 + + +print('hello python') \ No newline at end of file diff --git a/test/index.js b/test/index.js new file mode 100644 index 0000000..e62245a --- /dev/null +++ b/test/index.js @@ -0,0 +1,9 @@ +const testRunner = require('vscode/lib/testrunner') + +testRunner.configure({ + ui: 'tdd', // the TDD UI is being used in extension.test.ts (suite, test, etc.) + useColors: true, // colored output from test results + timeout: 10000 +}) + +module.exports = testRunner