V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lazzyboy
V2EX  ›  程序员

SpaceVim 下的异步任务系统

  •  
  •   lazzyboy · 2020-02-15 12:32:49 +08:00 · 885 次点击
    这是一个创建于 1555 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目的构建、打包、测试通需要调用一些外部命令,比如makeant等,SpaceVim 内置一个任务管理系统,通过分析项目的任务配置文件,获取相关命令,并且异步执行,同时根据配置按照需求展示运行结果。

    配置文件

    配置文件支持全局配置文件以及项目局部配置文件,分别为~/.SpaceVim.d/tasks.toml.SpaceVim.d/tasks.toml,局部配置文件具有更高的优先权限。

    基本使用

    以下为一个简单的 hello world 示例:

    [my-first-task]
        command = 'echo'
        args = ['hello world']
    

    添加以上内容至 ~/.SpaceVim.d/tasks.toml后,在 SpaceVim 内按下SPC p t r快捷键,就会弹出如下界面:

    可以使用j/k按键进行上下选择,回车键执行,也可以按下任务名称前面的序号直接执行。执行效果如下:

    进阶使用

    对于一些复杂的任务,可以使用预定义的一些变量,来简化配置文件,比如,在一个简单的 C 项目里:

    [in]: e:/ctest/                         
      ▶ bin/                                    
      ▼ src/                                    
            main.c                                
    

    编译一个简单的编译当前 C 文件src/main.cbin/目录,以及调用编译后的可以执行文件运行:

    [file-build]
        command = 'gcc $(file) -o $(workspaceFolder)/bin/$(workspaceFolderBasename)'
    [file-run]
        command = "$(workspaceFolder)/bin/$(workspaceFolderBasename)"
    

    上面的配置文件里涉及到的变量分别是:

    • $(file) -> e:/ctest/src/main.c
    • $(workspaceFolder) -> e:/ctest
    • $(workspaceFolderBasename) -> ctest

    SpaceVim 中文官网: https://spacevim.org/cn/

    中文 Gitter 聊天室: https://gitter.im/SpaceVim/cn

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1124 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:01 · PVG 02:01 · LAX 11:01 · JFK 14:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.