Skip to content

Commit 9455409

Browse files
committed
Merge remote-tracking branch 'origin/dev'
2 parents 930a955 + f91040f commit 9455409

File tree

3 files changed

+75
-26
lines changed

3 files changed

+75
-26
lines changed

ExtensionDocs/ContributionPoints/README.md

Lines changed: 46 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
扩展点是通过在插件`package.json`文件中`contributes`节点下定义的一些JSON格式的配置项。以下是目前HBuilderX支持的扩展点列表:
22

3-
### configuration
3+
## configuration
44
configuration扩展点,会将扩展的配置项注册到HBuilderX的全局可视化配置里`设置`-`插件配置`
55

6-
#### 属性列表
6+
### configuration属性列表
77

8-
##### title
8+
#### title
99
每个插件扩展的配置是分配到同一组下的,title指的是该组的名称,一般写的是插件名称。
1010

11-
##### properties
11+
#### properties
1212
properties内配置的是一个jsonobject对象,该对象的key代表着要扩展的配置项id,value是一个符合[JSON Schema](https://json-schema.org/understanding-json-schema/reference/index.html)规范的jsonobject,目前支持的字段包括:
1313

1414
- type 类型。支持的类型包括:string、boolean、number。
1515
- description 描述
1616
- default 默认值
1717
- enum 可选值,目前只有type为string或number时可用
1818

19-
#### 示例
19+
### configuration示例
2020
```json
2121
"contributes": {
2222
"configuration":{
@@ -41,7 +41,7 @@ properties内配置的是一个jsonobject对象,该对象的key代表着要扩
4141
<img src="/static/snapshots/plugins_setting.jpg" style="zoom:50%" />
4242

4343

44-
### commands
44+
## commands
4545
commands扩展点用于声明一个`命令``命令`可以通过`menus`扩展点和菜单关联到一起
4646
> 注意:当一个`命令`将要执行时,将会触发一个`onCommand:${commandId}`[activationEvent](/ExtensionDocs/activation_event.md)用于激活监听该`命令`的插件
4747
@@ -57,7 +57,7 @@ commands扩展点用于声明一个`命令`,`命令`可以通过`menus`扩展
5757
}
5858
```
5959

60-
### keybindings
60+
## keybindings
6161

6262
> keybindings扩展点, 仅对HBuilderX 3.1.22+版本生效。
6363
@@ -76,7 +76,7 @@ keybindings扩展点用于声明快捷键绑定.
7676
]
7777
```
7878

79-
### snippets
79+
## snippets
8080
snippets扩展点可以扩展指定编程语言的代码块,可扩展的编程语言Id列表见[这里](/ExtensionDocs/Api/README.md#languageId)。扩展示例代码如下:
8181

8282
```json
@@ -95,14 +95,15 @@ snippets扩展点可以扩展指定编程语言的代码块,可扩展的编程
9595
}
9696
```
9797

98-
#### 属性列表
98+
### 属性列表
99+
99100
|属性名称 |属性类型 |是否必须 |描述 |
100101
|-- |-- |-- |-- |
101102
|project |String ||是否只在指定的项目类型下生效,目前的可取值为"Web","App","Wap2App","uni-app";如果要支持多项目类型可以通过逗号分隔,例如:"Web,uni-app,App" |
102103
|language |String ||编程语言ID,用于限定只在指定的语言下生效,语言Id的列表参见[这里](/ExtensionDocs/Api/README.md#languageId) |
103104
|path|String ||要扩展的代码块列表文件路径,文件内容格式见下面|
104105

105-
#### 代码块格式
106+
### 代码块格式
106107
每个配置项的说明如下表:
107108

108109
|名称|描述|
@@ -112,7 +113,7 @@ snippets扩展点可以扩展指定编程语言的代码块,可扩展的编程
112113
|body|代码块的内容。内容中有如下特殊格式:<br />$1 表示代码块输入后光标的所在位置。如需要多光标,就在多个地方配置$1,如该位置有预置数据,则写法是${1:foo1},多选项即下拉候选列表使用${1:foo1/foo2/foo3};<br />$2 表示代码块输入后再次按tab后光标的切换位置tabstops(代码块展开后按tab可以跳到下一个tabstop;<br />$0 代表代码块输入后最终光标的所在位置(也可以按回车直接跳过去)。<br />双引号使用\"转义,换行使用多个数组表示,每个行一个数组,用双引号包围,并用逗号分隔,缩进需要用\t表示,不能直接输入缩进!|
113114
|triggerAssist |为true表示该代码块输入到文档后立即在第一个tabstop上触发代码提示,拉出代码助手,默认为false。|
114115

115-
#### 代码块示例
116+
### 代码块示例
116117
```json
117118
// ./snippets/javascript.json
118119
{
@@ -129,7 +130,7 @@ snippets扩展点可以扩展指定编程语言的代码块,可扩展的编程
129130
```
130131

131132

132-
### viewsContainers
133+
## viewsContainers
133134
在窗体左侧区域扩展一个和项目管理器同级的tab项,完整的扩展视图流程参考[如何注册一个新的视图?](/views.md)
134135

135136
#### 属性列表
@@ -160,16 +161,22 @@ snippets扩展点可以扩展指定编程语言的代码块,可扩展的编程
160161
...
161162
}
162163
```
164+
163165
#### ViewsContainerDef
164166
|属性名称 |属性类型 |是否必须 |描述 |
165167
|-- |-- |-- |-- |
166168
|id |String ||扩展的视图容器(viewContainers)的id |
167169
|title |String ||显示在tab标签上的标题 |
168170

169-
### views
170-
扩展新的视图,扩展的view必须和`viewsContainers`内定义的视图容器绑定以后才能生效。目前支持TreeView和WebView,并且一个视图容器(viewsContainers)仅支持绑定一个视图(view)。在该扩展点声明后,需要通过API:[window.createTreeView](/ExtensionDocs/Api/README.md#createTreeView)或者[window.createWebView](/ExtensionDocs/Api/README.md#createWebView)实现。完整的扩展视图流程参考[如何注册一个新的视图?](/views.md)
171+
## views
172+
173+
扩展新的视图,扩展的view必须和`viewsContainers`内定义的视图容器绑定以后才能生效。
171174

172-
#### TreeView 示例
175+
目前支持TreeView和WebView,并且一个视图容器(viewsContainers)仅支持绑定一个视图(view)。
176+
177+
在该扩展点声明后,需要通过API:[window.createTreeView](/ExtensionDocs/Api/README.md#createTreeView)或者[window.createWebView](/ExtensionDocs/Api/README.md#createWebView)实现。完整的扩展视图流程参考[如何注册一个新的视图?](/views.md)
178+
179+
### TreeView 示例
173180
```json
174181
//NOTE:package.json不支持注释,以下代码使用时需要将注释删掉
175182
"contributes": {
@@ -183,7 +190,8 @@ snippets扩展点可以扩展指定编程语言的代码块,可扩展的编程
183190
}
184191
}
185192
```
186-
#### WebView 示例
193+
194+
### WebView 示例
187195
`从HBuilderX 2.8.1及以上版本开始支持`
188196

189197
```json
@@ -208,8 +216,13 @@ snippets扩展点可以扩展指定编程语言的代码块,可扩展的编程
208216
...
209217
}
210218
```
211-
### menus
212-
menus扩展点会关联一个`命令`到相应的菜单项里面,当菜单触发时将会执行对应的`命令`。menus节点下配置的对象内的key指的是要注册到哪个弹出菜单里面,目前支持的key值列表如下:
219+
220+
## menus
221+
222+
menus扩展点会关联一个`命令`到相应的菜单项里面,当菜单触发时将会执行对应的`命令。
223+
224+
menus节点下配置的对象内的key指的是要注册到哪个弹出菜单里面,目前支持的key值列表如下:
225+
213226
- `editor/context` :编辑器右键菜单
214227
- `explorer/context` :项目管理器右键菜单
215228
- `view/item/context` :通过`views`扩展点扩展的`视图`的右键菜单(`从HBuilderX 2.7.12及以上版本开始支持`
@@ -224,7 +237,8 @@ menus扩展点会关联一个`命令`到相应的菜单项里面,当菜单触
224237
- `menubar/tool` : 顶部菜单的`工具`菜单
225238
- `menubar/help` : 顶部菜单的`帮助`菜单
226239

227-
#### 属性列表
240+
### menus属性列表
241+
228242
|属性名称 |属性类型 |是否必须 |描述 |
229243
|-- |-- |-- |-- |
230244
|id |String ||菜单项的Id,如何要配置二级菜单,则需要该属性 |
@@ -236,7 +250,7 @@ menus扩展点会关联一个`命令`到相应的菜单项里面,当菜单触
236250

237251
> 当属性title和command都为空时,将被识别为分割线。
238252
239-
#### 示例
253+
### 示例
240254
```json
241255
"contributes": {
242256
"menus": {
@@ -254,7 +268,9 @@ menus扩展点会关联一个`命令`到相应的菜单项里面,当菜单触
254268
}
255269
}
256270
```
257-
#### 注册二级菜单
271+
272+
### 注册二级菜单
273+
258274
二级菜单通过将group设置为%menuId%@1、%menuId%@2的方式来实现,其中menuId指的是菜单扩展中的id字段。代码示例如下:
259275
```json
260276
"contributes": {
@@ -275,7 +291,8 @@ menus扩展点会关联一个`命令`到相应的菜单项里面,当菜单触
275291
}
276292
```
277293

278-
#### group
294+
### group
295+
279296
每个弹出菜单内的group都不一样,下面列出所有的弹出菜单下可用的group。
280297
> 注意:想要将扩展菜单放到弹出菜单的最后,可以将group设置成`0_foot`
281298
@@ -395,7 +412,7 @@ menus扩展点会关联一个`命令`到相应的菜单项里面,当菜单触
395412
<img src = "/static/snapshots/help.jpg" style="zoom:50%" />
396413

397414

398-
#### when
415+
### when
399416
when表达式用来动态的判断某个条件是否满足(即表达式的运算结果是`true`或者`false`),目前用于控制一个菜单是否显示。目前支持的表达式运算符如下:
400417

401418
|操作符 |描述 |例子 |
@@ -428,10 +445,13 @@ when表达式用来动态的判断某个条件是否满足(即表达式的运算
428445
|config.* |Any |获取某个配置项的值,例子: `config.editor.fontSize` |
429446
|isMac |Boolean|当前电脑操作系统是否是MacOSX(仅对HBuilderX3.2.22+版本生效) |
430447
|isWindows |Boolean|当前电脑操作系统是否是Windows(仅对HBuilderX3.2.22+版本生效) |
431-
|editorHasSelection |Boolean|当前激活的编辑器是否有选中的内容 (仅对HBuilderX3.2.22+版本生效) |
448+
|editorHasSelection |Boolean|当前激活的编辑器是否有选中的内容 (仅对HBuilderX3.2.22+版本生效) |
449+
450+
## customEditors
451+
452+
插件可以通过该扩展点扩展多个不同类型的自定义编辑器,自定义编辑器可以设置文件匹配模式,用户通过项目管理器打开的文件匹配到某一类型时,在编辑器区域创建webview视图,关联打开的文件。
432453

433-
### customEditors
434-
插件可以通过该扩展点扩展多个不同类型的自定义编辑器,自定义编辑器可以设置文件匹配模式,用户通过项目管理器打开的文件匹配到某一类型时,在编辑器区域创建webview视图,关联打开的文件。完整的扩展自定义编辑器流程参考[如何扩展一个自定义编辑器?](/ExtensionTutorial/customeditor)
454+
完整的扩展自定义编辑器流程参考[如何扩展一个自定义编辑器?](/ExtensionTutorial/customeditor)
435455

436456
#### 扩展点示例如下:
437457
```json

Tutorial/OfflineInstall.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# 离线安装
2+
3+
## windows
4+
5+
1. 打开资源管理器,进入HBuilderX安装目录
6+
2. 进入`plugins`目录
7+
3. 将插件文件夹, 放置到此目录。(如是zip包,解压即可)
8+
4. 重启HBuilderX编辑器
9+
10+
## Mac
11+
12+
1. 打开系统终端,输入如下命令,打开HBuilderX插件目录 (注意:mac上,正式版和alpha目录不一样)
13+
2. 将插件文件夹, 如是zip包,解压即可),放置到`plugins`目录下
14+
3. 重启HBuilderX编辑器
15+
16+
正式版命令
17+
```shell
18+
open /Applications/HBuilderX.app/Contents/HBuilderX/plugins/
19+
```
20+
21+
Alpha版命令
22+
```shell
23+
open /Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/
24+
```
25+
26+
## `备注`
27+
28+
`nodejs`插件,如果插件内,没有`node_modules`,需要手动执行`npm install`

_sidebar.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* [MacOSX](/Tutorial/install/macosx.md)
55
* [首次启动](/Tutorial/startup.md)
66
* [卸载HBuilderX](/Tutorial/uninstall.md)
7+
* [离线安装HBuilderX](/Tutorial/OfflineInstall.md)
78
* 开始使用
89
* [入门教程](/Tutorial/StartedTutorial.md)
910
* [用户界面](/Tutorial/userinterface.md)

0 commit comments

Comments
 (0)