Aliyun Serverless VSCode Extension是一款VSCode图形化开发调试函数计算以及操作函数计算资源的插件。本文介绍了如何通过该插件创建函数以及该插件的常见功能。

注意事项

本文介绍的VSCode插件基于Funcraft工具,而Funcraft工具后期不再维护。如果您的函数计算资源是使用Funcraft管理的,建议您将资源迁移至Serverless Devs管理。

关于如何将函数计算的相关资源从Funcraft迁移到Serverless Devs进行管理的详细操作,请参见从Funcraft迁移到Serverless Devs

关于Serverless Devs的详细信息,请参见什么是Serverless Devs

由此带来的不便,敬请谅解!

前提条件

如果您期望使用Aliyun Serverless VSCode Extension的所有功能,那么您需要确保系统中有以下组件:

背景信息

Aliyun Serverless VSCode Extension是函数计算提供的VSCode插件,该插件结合了函数计算命令行工具Fun函数计算SDK的功能,是基于VSCode的开发、调试、部署工具。通过该插件,您可以完成以下工作。

  • 快速地在本地初始化项目、创建函数。
  • 运行、调试本地函数,以及部署服务函数至云端。
  • 拉取云端的服务函数列表、查看服务函数配置信息、调用云端函数。
  • 获得模版文件的语法提示:自动补全、Schema校验、悬浮提示。

安装插件

  1. 打开VSCode并进入插件市场。
  2. 在插件市场中搜索Aliyun Serverless,查看详情并安装。
  3. 重启VSCode,左侧导航栏中会展示已安装的Aliyun Serverless VSCode Extension插件图标。

快速入门

  1. 绑定阿里云账号。
    1. 在左侧导航栏,单击Aliyun Serverless VSCode Extension的icon_Aliyun_Serverless_VSCode_Extension图标,然后单击Bind New Account
      vscode_bind_account
    2. 依次输入阿里云Account ID、阿里云AccessKey ID、阿里云AccessKey Secret、自定义的账号别名(即账号本地名称)。

      您可以在账号管理中获取账号的Account ID,用户信息管理中获取AccessKey ID和AccessKey Secret。

      vscode_bind_account_toast
      说明 VSCode支持RAM用户登录。您在使用RAM用户登录VSCode时,阿里云Account ID需要使用您的主账号的信息,阿里云AccessKey ID及阿里云AccessKey Secret需要使用您的RAM用户信息。
      绑定完成后,可以看到所绑定的阿里云账号的云端服务与函数列表。vscode_bind_account_result
      您可以在REMOTE RESOURCES区域,单击右上角的更多信息图标,在下拉菜单中,选择Switch Region来查看不同地域的服务与函数。vscode_switch_region
  2. 创建函数。
    1. 通过VSCode,打开一个空的文件夹。单击LOCAL RESOURCES中的加号图标创建函数,可以在本地初始化一个函数计算项目。
      vscode_create_function
    2. 按照导航依次输入或选择服务名称、函数名称、函数运行环境、函数类型。填写完毕后,插件会自动创建函数并在LOCAL RESOURCES区域内展示新建的本地服务与函数。
      vscode_create_function_result
      您也可以直接单击LOCAL RESOURCES中服务名右侧的加号图标,为该服务创建函数。按照导航依次输入或选择函数名称、函数运行时、函数类型即可。vscode_create_function_underservice
  3. 部署服务以及函数。
    1. 单击LOCAL RESOURCES区域中的部署图标,可以将本地的服务与函数部署到云端。
      vscode_deploy
      部署完成后,单击REMOTE RESOURCES区域中的刷新图标,可以查看部署到云端的服务与函数。vscode_deploy_result

其余功能介绍

  • 本地调用函数
    LOCAL RESOURCES区域,单击函数名称右侧的执行图标或handler文件中的Local Run,即完成在本地调用该函数。vscode_local_invoke
    函数的日志和结果会输出在TERMINAL页签内。vscode_local_invoke_result
    插件会为您在函数入口文件同目录下创建event.dat文件,您可以通过修改该文件设置每次调用函数时触发的事件信息。vscode_local_invoke_event
  • 本地调试函数
    重要
    • 若您想要调试Python 2.7或Python 3的函数,需要事先在插件安装Python插件。
    • 若您想调试PHP 7.2的函数,需要事先在插件安装PHP Debug插件。
    LOCAL RESOURCES区域中,单击函数名称右侧的调试图标或handler文件中的Local Debug,即完成在本地调试该函数。vscode_local_debug
    在代码文件中插入断点,启动调试后即可看到调试信息。vscode_local_debug_result

    插件会为您在函数入口文件同目录下创建event.dat文件,您可以通过修改该文件设置每次调试函数时触发的事件信息。

  • 执行云端函数
    单击REMOTE RESOURCES区域中函数右侧的执行图标,可以执行云端函数。vscode_remote_invoke
    函数的日志以及结果会输出在TERMINAL页签内。vscode_local_invoke_result

    插件会为您在项目根目录下创建event.dat文件,您可以通过修改该文件设置每次调用云端函数时触发的事件信息。

  • 跳转到模版文件定义

    Funcraft通过YAML格式的模板文件来描述Serverless应用。通过Aliyun Serverless VSCode Extension创建函数时,会使用默认值自动填充模版文件。若您想修改本地服务或函数的配置,可以通过单击LOCAL RESOURCES区域f中的服务或函数名,跳转到模版文件中的相关描述,所选择资源在模板文件中的相关描述块会高亮并逐渐褪去。

    vscode_goto_template
  • 模版文件提示
    • 自动补全

      支持模版文件template.yml内所有资源配置属性的自动补全。自动补全会依据缩进层级给出精准的提示选项。

    • Schema校验

      支持模版文件template.yml内所有资源配置信息的校验。在template.yml中会检测资源的配置信息是否符合规格说明

    • 悬浮提示

      提供模版文件template.yml内所有资源配置的上下文帮助。在template.yml中,将鼠标悬浮在相关资源的键名上,会出现关于该键下可配置字段的悬浮信息展示(字段名、字段类型)。

反馈

如果您在使用中遇到问题,请联系我们或在github中反馈。