vscode-minxing-extension
Version:
适用于敏行移动平台的开发工具,包含创建应用模板,WiFi真机同步,日志输出等功能
50 lines (46 loc) • 1.68 kB
text/typescript
import * as vscode from 'vscode';
import wifi from './wifi';
import addProjectTemplate from './add_project_template';
import addPageTemplate from './add_page_template';
import build from './build';
import config from './config';
import vueSeed from './vue_seed';
interface CommandConfig extends vscode.QuickPickItem{
command: string,
title: string,
category?: string
}
export default {
mainEntry(uri) {
const quickItems: Array<vscode.QuickPickItem> = config.commands
.filter(c => c.command !== "Minxing.mainEntry")
.map(cmd => Object.assign({}, cmd, {"label": cmd.title}));
vscode.window.showQuickPick(quickItems, {
matchOnDescription: true,
placeHolder: '选择要进行的操作'
}).then(data => {
if (!data) return;
const namespace = 'Minxing';
const cmd = (<CommandConfig>data).command;
if (!(new RegExp(`^${namespace}`)).test(cmd)) {
return;
}
const method = cmd.split('.')[1];
console.log('methd-->', method);
if (this[method] instanceof Function) {
this[method](uri);
}
})
},
addProjectTemplate,
addPageTemplate,
clearTempCache: wifi.clearTempCache,
getWifiInfo: wifi.getWifiInfo.bind(wifi),
getWifiLog: wifi.getWifiLog.bind(wifi),
sync: wifi.syncWifi.bind(wifi),
syncAll: wifi.syncAllWifi.bind(wifi),
webPreview: wifi.webPreview.bind(wifi),
singlePagePreview: wifi.singlePagePreview.bind(wifi),
build,
addVueSeed: vueSeed.add
}