×
微信小程序开发教程手册文档体验微信小程序微信小程序 框架MINA 目录结构小程序配置逻辑层(App Service)微信小程序 注册程序微信小程序 场景值微信小程序 注册页面微信小程序 路由微信小程序 模块化小程序 API视图层(View)微信小程序 WXML微信小程序 数据绑定微信小程序 列表渲染微信小程序 条件渲染微信小程序 模板微信小程序 事件微信小程序 引用微信小程序 WXS微信小程序 WXS模块微信小程序 变量微信小程序 注释微信小程序 运算符微信小程序 语句微信小程序 数据类型微信小程序 基础类库微信小程序 WXSS微信小程序 组件微信小程序 基础库微信小程序 兼容微信小程序 运行机制性能微信小程序 性能Trace工具微信小程序 优化建议微信小程序 组件

视图容器

wxapp视图容器 viewwxapp视图容器 scroll-viewwxapp视图容器 swiperwxapp视图容器 movable-areawxapp视图容器 cover-view

基础内容

wxapp内容组件 iconwxapp内容组件 textwxapp内容组件 rich-textwxapp内容组件 progress表单组件wxapp表单组件 buttonwxapp表单组件 checkboxwxapp表单组件 formwxapp表单组件 inputwxapp表单组件 labelwxapp表单组件 pickerwxapp表单组件 picker-viewwxapp表单组件 radiowxapp表单组件 sliderwxapp表单组件 switchwxapp表单组件 textarea

导航

wxapp导航 navigator

媒体组件

wxapp媒体组件 audiowxapp媒体组件 imagewxapp媒体组件 videowxapp媒体组件 camera

地图

wxapp地图 map

画布

wxapp画布 canvas

开放数据

wxapp开放数据 open-datawxapp承载网页 web-view

客服会话

wxapp客服会话 contact-buttonAPI网络微信小程序API 发起请求微信小程序API 上传、下载微信小程序API Websocket

媒体

微信小程序API 图片微信小程序API 录音微信小程序API 音频播放控制微信小程序API 音乐播放控制微信小程序API 背景音频播放管理微信小程序API 音频组件控制微信小程序API 视频微信小程序API 视频组件控制微信小程序API 相机组件控制

文件

微信小程序API 文件

数据

微信小程序API 数据缓存

位置

微信小程序API 获取位置微信小程序API 查看位置微信小程序API 地图组件控制设备微信小程序API 系统信息微信小程序API 网络状态微信小程序API 加速度计微信小程序API 罗盘微信小程序API 拨打电话微信小程序API 扫码微信小程序API 剪贴板微信小程序API 蓝牙微信小程序API iBeacon微信小程序API 屏幕亮度微信小程序API 用户截屏事件微信小程序API 振动微信小程序API 手机联系人

界面

微信小程序API 交互反馈微信小程序API 设置导航条微信小程序API 设置置顶信息微信小程序API 导航微信小程序API 动画微信小程序API 位置绘图微信小程序API 绘图·介绍微信小程序API 绘图·坐标系微信小程序API 绘图·渐变微信小程序API 绘图·颜色微信小程序API 绘图上下文微信小程序API 绘图·创建并返回上下文微信小程序API 绘图·绘制画布微信小程序API 绘图·导出图片微信小程序API 绘图·设置填充样式微信小程序API 绘图·设置线条样式微信小程序API 绘图·设置阴影样式微信小程序API 绘图·创建线性渐变微信小程序API 绘图·创建圆形渐变微信小程序API 绘图·创建颜色渐变点微信小程序API 绘图·设置线条宽度微信小程序API 绘图·设置线条端点样式微信小程序API 绘图·设置线条交点样式微信小程序API 绘图·设置最大倾斜微信小程序API 绘图·创建矩形微信小程序API 绘图·填充矩形微信小程序API 绘图·画一个矩形微信小程序API 绘图·clearRect微信小程序API 绘图·填充路径微信小程序API 绘图·描边路径微信小程序API 绘图·开始路径微信小程序API 绘图·关闭路径微信小程序API 绘图·moveTo微信小程序API 绘图·lineTo微信小程序API 绘图·画弧线微信小程序API 绘图·quadraticCurveTo微信小程序API bezierCurveTo微信小程序API 绘图·scale微信小程序API 绘图·rotate微信小程序API 绘图·translate微信小程序API 绘图·设置字号微信小程序API 绘图·绘制文本微信小程序API 绘图·文字对齐微信小程序API 绘图·文字水平对齐微信小程序API 绘图·drawImage微信小程序API 绘图·setGlobalAlpha微信小程序API 绘图·保存/恢复微信小程序API 绘图·draw微信小程序API 绘图·getActions微信小程序API 绘图·clearActions微信小程序API 绘图·measureText微信小程序API 绘图·globalCompositeOperation微信小程序API 绘图·arcTo微信小程序API 绘图·strokeText微信小程序API 绘图·lineDashOffset微信小程序API 绘图·createPattern微信小程序API 下拉刷新

WXML节点信息

微信小程序API WXML节点信息

第三方平台

微信小程序API 第三方平台

开放接口

微信小程序API 登录微信小程序API 签名加密微信小程序API 授权微信小程序API 用户信息微信小程序API 微信支付微信小程序API 模板消息

微信小程序API 客服消息

微信小程序API 接收消息和事件微信小程序API 发送客服消息微信小程序API 转发消息微信小程序API 临时素材接口微信小程序API 接入指引微信小程序API 转发微信小程序API 二维码微信小程序API 收货地址微信小程序API 卡券微信小程序API 设置微信小程序API 微信运动微信小程序API 打开小程序微信小程序API 获取发票抬头微信小程序API 生物认证

数据

常规分析

微信小程序API 数据概况微信小程序API 访问分析微信小程序API 用户画像

自定义分析

微信小程序API 自定义数据上报

更新

微信小程序API getUpdateManager

拓展接口

微信小程序 拓展接口

多线程

微信小程序API createWorker

调试接口

微信小程序API 打开/关闭调试

工具

微信小程序工具 概览微信小程序工具 界面微信小程序工具 设置微信小程序工具 项目预览微信小程序工具 快捷键微信小程序工具 代码编辑微信小程序工具 程序调试微信小程序工具 特殊API的调试微信小程序工具 命令行调用微信小程序工具 HTTP调用微信小程序工具 代码片段微信小程序工具 第三方平台微信小程序工具 创建插件项目微信小程序工具 代码托管微信小程序工具 素材管理微信小程序工具 下载微信小程序工具 细节点微信小程序工具 beta版本下载微信小程序工具 Git版本管理微信小程序工具 体验评分微信小程序工具 npm支持

微信小程序 云开发

微信小程序云开发 基础

微信小程序云开发指引

微信小程序云开发 开发指引微信小程序云开发 控制台微信小程序云开发 初始化微信小程序云开发 数据库微信小程序云开发 存储微信小程序云开发 云函数微信小程序云开发参考信息

微信小程序云开发API 小程序端

微信小程序云开发API 初始化微信小程序云开发 数据库API数据库API database数据库API collection数据库API collection.doc数据库API collection.get数据库API doc.get数据库API collection.add数据库API collection.update数据库API doc.update数据库API doc.set数据库API doc.remove数据库API collection.count数据库API collection.where数据库API collection.orderBy数据库API collection.limit数据库API collection.skip数据库API collection.field数据库API db.command数据库API db.RegExp数据库API db.serverDate数据库API db.Geo数据库API 查询筛选条件数据库API 查询指令数据库API 更新指令数据库API get方法数据库API update数据库API remove微信小程序云开发API 服务端云开发服务端API 初始化云开发服务端API 工具类云开发服务端API 数据库服务端数据库API database服务端数据库API collection服务端数据库API collection.doc服务端数据库API collection.get服务端数据库API doc.get服务端数据库API collection.add服务端数据库API collection.update服务端数据库API collection.remove服务端数据库API doc.update服务端数据库API doc.set服务端数据库API doc.remove服务端数据库API collection.count服务端数据库API collection.where服务端数据库API collection.orderBy服务端数据库API collection.limit服务端数据库API collection.skip服务端数据库API collection.field服务端数据库API db.command服务端数据库API db.RegExp服务端数据库API db.serverDate服务端数据库API db.Geo服务端数据库API 查询筛选条件服务端数据库API 查询指令服务端数据库API 更新指令服务端数据库API db.createCollection服务端数据库API update服务端数据库API remove云开发服务端API 存储服务端存储API uploadFile服务端存储API downloadFile服务端存储API getTempFileURL服务端存储API deleteFile微信小程序开发文档-腾讯云支持微信小程序 联系我们微信小程序 Q&A微信小程序设计规范微信小程序设计规范(1) 友好礼貌微信小程序设计规范(2) 清晰明确微信小程序设计规范(3) 便捷优雅微信小程序设计规范(4) 统一稳定微信小程序设计规范(5) 视觉规范微信小程序源码分享微信小游戏开发手册 

微信小程序工具 代码编辑


编辑区可以对当前项目进行代码编写和文件的添加、删除以及重命名等基本操作。


文件格式

因 iOS 下仅支持 UTF8 编码格式,最新版本的开发者工具会在上传代码时候对代码文件做一次编码格式校验。


文件支持

工具目前提供了5种文件的编辑:wxmlwxssjsjson、wxs以及图片文件的预览。


文件操作

新建页面有两种方式

  1. 在目录树上右键,选择新建 Page,将自动生成页面所需要的 wxml、wxss、js、json
  2. 在 app.json 的 pages 字段,添加需要新建的页面的路径,将会自动生成该页面所需要的文件

自动保存

编辑代码后,工具会自动帮助用户保存当前的代码编辑状态,直接关闭工具或者切换到别的项目,并不会丢失已经编辑的文件状态,但需要注意的是,只有用户主动保存文件,修改内容才会真实的写到硬盘上。

如果设置中开启了 “修改文件时自动保存”(设置-编辑设置-修改文件自动保存),工具在修改文件时会自动保存到硬盘中,无需手动保存的效果。

设置中开启 “编译时自动保存所有文件”(设置-编译设置-编译时自动保存所有文件),在点击编译时自动保存所有文件的效果。

实时预览


如果设置中开启了“文件保存时自动编译小程序”(位置在:设置 - 编辑 - 文件保存时自动编译小程序),那么当 js, json, wxml 或 wxss 文件修改时,可以通过模拟器实时预览编辑的情况:

实时预览

自动补全

同大部分编辑器一样,我们提供了完善的自动补全

  • js 文件编辑会帮助开发补全所有的 API 及相关的注释解释,并提供代码模板支持
  • wxml 文件编辑会帮助开发者直接写出相关的标签和标签中的属性
  • json 文件编辑会帮助开发者补全相关的配置,并给出实时的提示

js 补全

edit1_1

代码模板支持

edit1_2 

json 补全

edit3 

wxml 补全

edit4 


TypeScript 支持

如果项目需要使用 TypeScript 语言开发,开发者工具在创建项目选择快速启动模板时,提供了使用 TypeScript 语言的 QuickStart 项目,可以选择创建此项目并进行后续开发。

要构建并使用 TypeScript 项目,可能需要安装 npm。通过自定义预处理,可以实现在编译前运行 tsc 以将其编译到 js 文件。

如需配置 TypeScript 编译选项,请参考 tsconfig.json 的配置。

注:小程序仅支持运行 JS 文件,因此所有的 TS 文件都默认不会被打包上传。

Git 状态展示

如果所在的小程序工程目录(project.config.json 所在目录)存在 Git 仓库,编辑器可以展示目前的 Git 状态。

目录树

如图所示,当某些文件存在变动时,目录树的文件右侧将展示相应的图标来表明这一状态。当某一处于收起状态的目录下存在有变动的文件时,此目录的右侧亦会展示一个圆点图标表明此情况。

文件图标状态的含义如下:

图标 含义
U 文件未追踪(Untracked)
A 新文件(Added, Staged)
M 文件有修改(Modified)
+M 文件有修改(Modified, Staged)
C 文件有冲突(Conflict)
D 文件被删除(Deleted)

文件夹目录图标状态的含义如下:

图标 含义
小红点 目录下至少存在一个删除状态的文件
小橙点 目录下至少存在一个冲突状态的文件
小蓝点 目录下至少存在一个未追踪状态的文件
小绿点 目录下至少存在一个修改状态的文件

如果某一文件存在修改(Modified),可以右键点击此文件,并选择 “与上一版本比较”,则可以查看当前工作区文件与 HEAD 版本的比较。

文件编辑

存在 Git 仓库时,状态栏会展示此 Git 仓库目前的分支信息。例如,下图表明目前 Git 仓库处于 v2 分支。

同时,编辑文件内容时,将会在所编辑代码左侧实时显示相对于上一版本内容的比较。

样式说明如下:

文件夹目录图标状态的含义如下:

样式 含义
蓝色线条 此处的代码有变动
绿色线条 此处的代码是新增的
红色三角箭头 此处有代码被删除

Windows 风格回车设置

如需忽略 Windows 风格的回车符,可以前往 “设置” - “编辑”,并勾选 “Git 比较文件内容时,忽略 Windows 风格回车符”。

勾选后,在编辑文件进行内容比较时,所有 Windows 风格的回车符将被当作 Unix 风格的回车符对待。


项目配置文件

可以在项目根目录使用 project.config.json 文件对项目进行配置。

字段名 类型 说明
miniprogramRoot Path String 指定小程序源码的目录(需为相对路径)
qcloudRoot Path String 指定腾讯云项目的目录(需为相对路径)
pluginRoot Path String 指定插件项目的目录(需为相对路径)
compileType String 编译类型
setting Object 项目设置
libVersion String 基础库版本
appid String 项目的 appid,只在新建项目时读取
projectname String 项目名字,只在新建项目时读取
packOptions Object 打包配置选项
debugOptions Object 调试配置选项
scripts Object 自定义预处理

compileType 有效值

名字 说明
miniprogram 当前为普通小程序项目
plugin 当前为小程序插件项目

setting 中可以指定以下设置

字段名 类型 说明
es6 Boolean 是否启用 es6 转 es5
postcss Boolean 上传代码时样式是否自动补全
minified Boolean 上传代码时是否自动压缩
urlCheck Boolean 是否检查安全域名和 TLS 版本
uglifyFileName Boolean 是否进行代码保护

scripts 中指定自定义预处理的命令

名字 说明
beforeCompile 编译前预处理命令
beforePreview 预览前预处理命令
beforeUpload 上传前预处理命令

packOptions

packOptions 用以配置项目在打包过程中的选项。打包是预览、上传时对项目进行的必须步骤。

目前可以指定 packOptions.ignore 字段,用以配置打包时对符合指定规则的文件或文件夹进行忽略,以跳过打包的过程,这些文件或文件夹将不会出现在预览或上传的结果内。

packOptions.ignore 为一对象数组,对象元素类型如下:

字段名 类型 说明
value string 路径1或取值
type string 类型

其中,type 可以取的值为 folder、file、suffix、prefix、regexp2、glob2,分别对应文件夹、文件、后缀、前缀、正则表达式、Glob 规则。所有规则值都会自动忽略大小写。

注 1: value 字段的值若表示文件或文件夹路径,以小程序目录 (miniprogramRoot) 为根目录。

注 2: regexp、glob 仅 1.02.1809260 及以上版本工具支持。

示例配置如下。

{
  "packOptions": {
    "ignore": [{
      "type": "file",
      "value": "test/test.js"
    }, {
      "type": "folder",
      "value": "test"
    }, {
      "type": "suffix",
      "value": ".webp"
    }, {
      "type": "prefix",
      "value": "test-"
    }, {
      "type": "glob",
      "value": "test/**/*.js"
    }, {
      "type": "regexp",
      "value": "\.jsx$"
    }]
  }
}

注: 这部分设置的更改可能需要重新打开项目才能生效。

debugOptions

debugOptions 用以配置在对项目代码进行调试时的选项。

目前可以指定 debugOptions.hidedInDevtools 字段,用以配置调试时于调试器 Sources 面板隐藏源代码的文件。

hidedInDevtools 的配置规则和 packOptions.ignore 是一致的。

当某个 js 文件符合此规则时,调试器 Sources 面板中此文件源代码正文内容将被隐藏,显示为:

// xxx.js has been hided by project.config.json
注:配置此规则后,可能需要关闭并重新打开项目才能看到效果。

项目配置示例:

{
  "miniprogramRoot": "./src",
  "qcloudRoot": "./svr",
  "setting": {
    "postcss": true,
    "es6": true,
    "minified": true,
    "urlCheck": false
  },
  "packOptions": {
    "ignore": []
  },
  "debugOptions": {}
}

快捷键

见工具菜单栏


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)