ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

Electric Imp 开发者

electricimp ST3

支持 Electric Imp 应用程序开发的 Sublime Text 3 插件

详细信息

  • 2.1.0
  • electricimp.com
  • github.com
  • 5年前
  • 2小时前
  • 7年前

安装次数

  • 总计 274
  • Win 172
  • Mac 68
  • Linux 34
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

读取文件

源代码
raw.githubusercontent.com

Electric Imp impCentral Sublime 插件(Beta)

Sublime Text 3 插件,用于 Electric Imp 应用程序开发。

概述

此插件旨在提高开发者的生产力。通过提供以下功能,让您能够快速构建和维护应用程序:

  • Electric Imp 的 imp API 提供代码自动完成功能
  • 使用源代码管理系统来管理和配置应用程序代码
  • 高级 Squirrel 代码高亮显示
  • impWorks™ Builder 集成,实现多文件项目和代码预处理器
  • 错误的可点击堆栈跟踪的实时日志,包括跳转到文件和行
  • 为常见操作(构建和运行、显示控制台等)提供快捷键
  • 利用 Sublime Text 3 的丰富功能。

此插件需要连接到互联网,因为它利用了 Electric Imp impCentral™ API 来与 Electric Imp impCloud™ 一起工作。

安装

注意 Electric Imp Sublime 插件仅支持 Sublime Text 3。不支持其他版本。仅在 macOS 上进行了测试。

1. 安装 Node.js

注意 插件需要 Node.js 4.0 版本或更高。

请按照这些说明在您的计算机上安装 Node。

2. 安装 Builder Node.js 模块

插件使用Builder Node.js 模块进行源代码预处理。要安装 Builder,请使用 Node 包管理器 (NPM)

npm i -g Builder

3. 安装 Sublime Text

Sublime Text 3 可以从多个平台下载,在此

4. 安装 Electric Imp Sublime 插件

使用 Package Control

如果您已在 Sublime Text 中安装了Package Control

  • 从命令面板选择 安装包:在 Windows 和 Linux 上按 Ctrl+Shift+P,在 macOS 上按 ⌘⇧P
  • 搜索 Electric Imp 开发者 并按 Enter
  • 重启 Sublime Text 3

使用 Sublime Text 终端

您可以在 Sublime Text 终端(ctrl+`)中使用以下命令安装插件,该命令利用 git clone

注意 尝试此方法时,请确保您系统上已安装 git

import os; path=sublime.packages_path(); ie_plugin_path=os.path.join(path, 'imp-developer'); (os.makedirs(path) if not os.path.exists(path) else None); window.run_command('exec', {'cmd': ['git', 'clone', 'https://github.com/electricimp/ElectricImp-Sublime.git', 'imp-developer'], 'working_dir': path}) if not os.path.exists(ie_plugin_path) else window.run_command('exec', {'cmd': ['git', 'pull'], 'working_dir': ie_plugin_path})

手动安装

或者,按照以下步骤手动安装插件

  1. 创建插件文件夹

    • macOS /Users/<username>/Library/Application Support/Sublime Text 3/Packages/imp-developer
    • Windows “%AppData%\Sublime Text 3\Packages\imp-developer%”
  2. 执行以下操作之一

    • 将 GitHub 源代码存储库(作为 .zip 文件)下载完整,并提取其内容到插件文件夹(Sublime Text 3/Packages/imp-developer)或
    • 将源代码存储库的内容克隆到插件文件夹(Sublime Text 3/Packages/imp-developer
    • 重启 Sublime Text 3

Sublime Text 插件使用

创建新项目

您的第一步应该是创建一个新的项目。通过选择菜单项‘工具’ > ‘包’ > ‘Electric Imp’ > ‘创建项目’来完成此操作。然后,您将被要求指定项目文件夹。

项目文件夹将设置如下

-- <Project Name>
  |--> settings                           - Electric Imp settings folder
  .   |--> auth.info                      - SENSITIVE: impCentral API tokens and 
  .   |                                     GitHub authentication information
  .   |--> electric-imp.settings          - Generic Electric Imp settings
  |--> src                                - Source folder
  .   |--> device.nut                     - Device code
  .   |--> agent.nut                      - Agent code
  |--> .gitignore                         - .gitignore file to exclude auth.info file 
  |                                         from git repository
  |--> electric-imp.sublime-project       - Sublime project file

重要 settings/auth.info 不应该放入源控制中,因为它包含敏感信息

electric-imp.settings 文件包含

  • 一个唯一的标识符。
  • 一个唯一的设备组标识符。
  • 插件最近部署的内容。
  • 设备和服务代码文件名。
  • Builder 预处理器配置
  • impCentral API 基地址(可以更改以与私有 impCloud 连接)

示例

{ "product-id"    : "<product id>",
  "devicegroup-id": "<device group id>",
  "deployment-id" : "<deployment id>",
  "device-file"   : "<path to device source file, src/device.nut by default>",
  "agent-file"    : "<path to agent source file, src/agent.nut by default>",
  "cloud-url"     : "<impCentral base endpoint URL>",
  "builder-settings": { "variable-definitions": {<Builder variable definitions>}, 
                        "builder_cli_path": "<Path to the Builder's cli.js>", 
                        "node_path": "<path to Node.js (node) executable>" },  
}

创建项目时,将自动创建空设备和服务代码文件(device.nutagent.nut),并存储在 <Project Name>/src 文件夹中。

如果项目成功创建,将打开一个包含项目文件夹的新窗口。

注意 如果您需要将 Squirrel 语言语法高亮应用到除 .nut 扩展名以外的文件,请确保在‘查看’ > ‘语法’菜单项下选定了“Squirrel (Electric Imp)”语言。

重要 部署到设备组的代码已经预处理并包含行控制标记。当您选择一个现有的设备组时,插件会下栽代码,但它不会转移项目文件/文件夹结构。因此,对于同一项目的协作工作,请通过源控制系统共享原始 Electric Imp 插件项目源/结构。

打开现有项目

要打开现有的 Electric Imp 项目,选择‘项目’ > ‘打开项目…’,然后从您的项目文件夹中选择 <Project Name>.sublime-project 文件。

注意 如果未按描述打开(即,如果作为文件夹(‘文件’ > ‘打开…’)而不是 Sublime Text 项目打开),则插件可能无法正确检测到 Electric Imp 项目。

构建和运行

要构建和部署代码,请选择“工具”>“包”>“Electric Imp”>“构建和运行”菜单项。此操作会上传代理和设备代码到服务器,并重启目标设备组中分配的所有设备。

当您第一次构建代码(或执行需要访问impCloud的任何其他操作)时,您将被要求提供以下信息:

  • impCentral API基本URL。默认值应使用,除非您正在使用Electric Imp Private impCloud。
  • Node.js可执行文件的路径(如果插件未自动检测到)。
  • Builder cli.js 命令行工具的位置(如果插件未自动检测到)。
  • 根据需要,您还需要提供Electric Imp账户的用户名、密码和一次性密码(OTP)。
  • 工具是否应创建新项目或打开现有项目。
  • 属于已授予您适当协作角色的另一个用户的Product。
  • 工具是否应创建新的设备组或选择现有的设备组。
  • 如果您选择了现有产品和设备组,也可能提供下载最新部署的机会。

如果您想使代码在特定设备上运行并查看该设备的日志,您需要使用“工具”>“包”>“Electric Imp”>“分配设备”菜单项来选择它们。新添加的设备将自动附加到控制台日志流。

注意 构建 和 部署您的代码并不需要分配设备到设备组。如果没有分配设备,您仍然可以完善代码并查看服务器报告的编译错误。

日志控制台

可以通过选择“工具”>“包”>“Electric Imp”>“显示控制台”菜单项来弹出控制台。控制台会显示来自当前设备组(如果组中至少包含一个设备)的实时日志。

将设备添加到项目设备组

若要将设备分配到项目设备组,请转到“工具”>“包”>“Electric Imp”>“分配设备”菜单项并从列表中选择一个设备。新添加的设备将自动附加到控制台日志流。

从项目设备组中删除设备

可以通过选择“工具”>“包”>“Electric Imp”>“取消分配设备”从项目设备组中删除设备。

注意 当设备取消分配时,日志将会重启。

检索设备的 Agent URL

可以通过选择“工具”>“包”>“Electric Imp”>“获取代理URL”菜单项来检索设备的代理URL。URL将保存到剪贴板。

快捷键

注意 只有在当前活动窗口中打开了Electric Imp项目时,才可用Electric Imp特定菜单项。

命令 键盘按键
创建项目 Ctrl + Shift + Y
构建和运行 Ctrl + Shift + X
显示日志控制台 Ctrl + Shift + C

预处理器和多文件支持

有关您可以在Squirrel代码中使用的前缀语法的更多信息,请参阅Builder文档

指定 GitHub 认证信息

请使用项目的<项目名称>/settings/auth.info文件来指定您的Builder GitHub身份验证信息。

{ ...
  "builder-settings": { "github-user": "GitHub user name",
                        "github-token": "Personal access token or password" }
}

指定 Builder 预设变量定义

请使用项目的<项目名称>/settings/electric-imp.settings文件来指定Builder变量定义。

{ "builder-settings": { ...,
                        "variable-definitions": { "key1": "value1",
                                                  "key2": "value2" },
                        ... }
}

许可

Electric Imp Sublime插件采用MIT许可