每周学一点 egret(8):插件开发初试

这里写图片描述
Egret 圣诞节迎来一次重大的升级除了引擎更新3.0 支持3d外,这次升级还包括Egret Wing可以支持开发Egret的插件。但这个插件方式是基于nodejs的方式不是以as3的方式进行。不知道后续还有没有具体的文档方案。经过很多次调整,主要调试插件要安装很多东西环境,感觉不是特别好,多有点讨厌的味道。Egret wing 本应该去集成相关的开发流程,而不是给其他人安装一大堆麻烦的配置。 所以在不舒服的环境下,调试了几个小时总算完成了第一个打开文件夹内容。可以很方便进入文件夹内进行提交svn内容。
新增的版本内容支持typeScript 编写,这样就有利于在wing 下进行编写插件。
经过调试几个小时, 现在插件还有很多很多开源挖潜的技能使用,这个是值得去挖潜。但是官方可以提供一下插件原理。这样有助于开发者了解插件机制。

下面粘贴一下相关的代码。主要是在编辑区里面进行对文件跳转到相应文件夹内,在之前公司里面也尝试让同事做了一个Eclipse跳转插件。下面插件是以官方案例进行改动一下,编写安装完成后 使用快捷键ctrl+M 就可以快速地打开你的文件夹内,你要提交svn 就可以快速进行了。
Egret-Skip
和easyexploer 类似。 这是针对文本编辑区。
除了这种命令式的插件,不知道还能不能制作一些图标按钮触发点击的插件和菜单类的触发插件,可以利用编辑界面类和其他特性。目前还没知道能不能有这样功能。希望官方继续完善。如果有界面的话可以制作更多的有用的交互。
下面只是一个尝试,主要理由了window bat命令去进行和nodejs 通信,nodejs调用cmd的命令发生打开文件夹内容。

start “路径”

这里写图片描述

import * as wing from 'wing';
import * as path from 'path';
import * as fs from 'fs';


export function activate() {
    wing.commands.registerCommand("extension.skip", skip);
}

function skip()
{
    let e = wing.window.activeEditor;
    if (!e) 
    {
        return;
    }

    let fileName = e.document.fileName;
    let path = fileName.substring(0,fileName.lastIndexOf("\\"));
    var cmdstr = "start"+" "+path;

    var spawn = require('child_process').spawn;
    spawn("cmd.exe",['/c',cmdstr]);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////
{
        "name": "Egret-Skip",
        "description": "快捷键跳转到文件夹.",
        "version": "1.0.0",
        "publisher": "egret",
        "categories":[
                "Other"
        ],
        "icon": "images/icon.png",
        "bugs": {
                "url": "https://github.com/egret-labs/wing-extensions/issues"
        },
        "homepage": "https://github.com/egret-labs/wing-extensions/blob/master/README.md",
        "repository": {
                "type": "git",
                "url": "https://github.com/egret-labs/wing-extensions.git"
        },
        "activationEvents": [
                "onCommand:extension.skip"
        ],
        "engines": {
                "wing": "^2.5.0"
        },
        "main": "./out/extension",
        "contributes": {
                "commands": [
                        {
                                "command": "extension.skip",
                                "title": "跳转文件夹内部"
                        }
                ],
                "keybindings": [
                        {
                                "command": "extension.skip",
                                "key": "Ctrl+M"
                        }
                ]
        },
        "scripts": {
                "compile": "tsc -watch"
        },
        "dependencies": {
        "copy-paste": "^1.1.3"
        },
        "devDependencies": {
        }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值