ace.ajax-content,Ace editor 中文文档

不知道为什么,在VScode里编辑好的md,粘贴在简书里格式却不对,已经设置成md模式了还是不行。就贴图吧。。也可以看另外一篇文章,那个是好的。 Ace editor 中文文档

fb49c843a679

# 介绍

> Ace是一个用JavaScript编写的可嵌入代码编辑器。它与Sublime,Vim和TextMate等本地编辑器的功能和性能相匹配。它可以轻松地嵌入任何网页和JavaScript应用程序中。

官网地址:[Ace - The High Performance Code Editor for the Web](https://ace.c9.io/ "Ace - The High Performance Code Editor for the Web")

Github: [GitHub - ajaxorg/ace: Ace (Ajax.org Cloud9 Editor)](https://github.com/ajaxorg/ace/ "GitHub - ajaxorg/ace: Ajax.org Cloud9 Editor")

vue版:[GitHub - chairuosen/vue2-ace-editor](https://github.com/chairuosen/vue2-ace-editor "GitHub - chairuosen/vue2-ace-editor")

# 快速开始

### 简单使用

```html

some text

var editor = ace.edit("editor");

```

### 设置主题和语言模式

要更改主题,请为编辑器配置要使用的主题路径。主题文件将按需加载:

```javascript

editor.setTheme("ace/theme/twilight");

```

默认情况下,编辑器为纯文本模式。但是,所有其他语言模式都可以作为单独的模块使用。语言模式也将按需加载:

```javascript

editor.session.setMode("ace/mode/javascript");

```

### 编辑器状态

Ace将所有编辑器状态(选择,滚动位置等)保留在`editor.session`中, 这对于制作可切换式编辑器非常有用:

```javascript

var EditSession = require("ace/edit_session").EditSession

var js = new EditSession("some js code")

var css = new EditSession(["some", "css", "code here"])

// 要将文档加载到编辑器中,只需这样调用

editor.setSession(js)

```

### 在项目中配置Ace

```javascript

// 将代码模式配置到ace选项

ace.edit(element, {

mode: "ace/mode/javascript",

selectionStyle: "text"

})

// 使用setOptions方法一次设置多个选项

editor.setOptions({

autoScrollEditorIntoView: true,

copyWithEmptySelection: true,

});

// 单独设置setOptions方法

editor.setOption("mergeUndoDeltas", "always");

// 一些选项也直接设置,例如:

editor.setTheme(...)

// 获取选项设置值

editor.getOption("optionName");

// 核心Ace组件包括(editor, session, renderer, mouseHandler)

setOption(optionName, optionValue)

setOptions({

optionName : optionValue

})

getOption(optionName)

getOptions()

```

设置和获取内容:`

```javascript

editor.setValue("the new text here"); // 或 session.setValue

editor.getValue(); // 或 session.getValue

```

获取选定的文本:

```javascript

editor.session.getTextRange(editor.getSelectionRange());

```

在光标处插入:

```javascript

editor.insert("Something cool");

```

获取当前光标所在的行和列:

```javascript

editor.selection.getCursor();

```

转到某一行:

```javascript

editor.gotoLine(lineNumber);

```

获取总行数:

```javascript

editor.session.getLength();

```

设置默认标签大小:

```javascript

editor.getSession().setTabSize(4);

```

使用软标签:

```javascript

editor.getSession().setUseSoftTabs(true);

```

设置字体大小:

```javascript

document.getElementById('editor').style.fontSize='12px';

```

切换自动换行:

```javascript

editor.getSession().setUseWrapMode(true);

```

设置行高亮显示:

```javascript

editor.setHighlightActiveLine(false);

```

设置打印边距可见性:

```javascript

editor.setShowPrintMargin(false);

```

设置编辑器为只读:

```javascript

editor.setReadOnly(true);  // false为可编辑

```

#### 窗口自适应

编辑器仅在resize事件触发时时调整自身大小。要想以其他方式调整编辑器div的大小,并且需要调整编辑器大小,请使用以下命令:

```javascript

editor.resize()

```

#### 在代码中搜索

主要的ACE编辑器搜索功能在 [_search.js_](https://github.com/ajaxorg/ace/blob/master/lib/ace/search.js).中定义。以下选项可用于搜索参数:

* `needle`: 要查找的字符串或正则表达式

* `backwards`: 是否从当前光标所在的位置向后搜索。默认为“false”

* `wrap`: 当搜索到达结尾时,是否将搜索返回到开头。默认为“false

* `caseSensitive`: 搜索是否应该区分大小写。默认为“false”

* `wholeWord`: 搜索是否只匹配整个单词。默认为“false”

* `range`: 是否要在整个文档中搜索

* `regExp`: 搜索是否为正则表达式。默认为“false”

* `start`: 开始搜索的起始范围或光标位置

* `skipCurrent`: 是否在搜索中包含当前行。默认为“false”

下面是一个如何在编辑器对象上设置搜索的示例:

```javascript

editor.find('needle',{

backwards: false,

wrap: false,

caseSensitive: false,

wholeWord: false,

regExp: false

});

editor.findNext();

editor.findPrevious();

```

这是执行替换的方法:

```javascript

editor.find('foo');

editor.replace('bar');

```

这是全部替换:

```javascript

editor.replaceAll('bar');

```

#### 事件监听

`onchange`:

```javascript

editor.getSession().on('change', callback);

```

`selection`变化:

```javascript

editor.getSession().selection.on('changeSelection', callback);

```

`cursor`变化:

```javascript

editor.getSession().selection.on('changeCursor', callback);

```

#### 添加新的命令和绑定

将指定键绑定并分配给自定义功能:

```javascript

editor.commands.addCommand({

name: 'myCommand',

bindKey: {win: 'Ctrl-M',  mac: 'Command-M'},

exec: function(editor) {

//...

}

});

```

### 主要配置项

> 以下是目前所支持的主要选项的列表。除非另有说明,否则选项值皆为布尔值,可以通过editor.setOption来设置。

##### - editor选项

|  选项名 | 值类型  | 默认值  | 可选值  | 备注  |

| ------------ | ------------ | ------------ | ------------ | ------------ |

| selectionStyle  |  String | text  | line|text  | 选中样式  |

| highlightActiveLine  | Boolean  | true  | -  | 高亮当前行  |

| highlightSelectedWord  | Boolean  |  true | -  | 高亮选中文本  |

| readOnly  | Boolean  | false  | -  | 是否只读  |

| cursorStyle  | String  |  ace | ace|slim|smooth|wide  | 光标样式  |

| mergeUndoDeltas  | String|Boolean  | false  | always  | 合并撤销  |

| behavioursEnabled  | Boolean  | true  | -  | 启用行为  |

| wrapBehavioursEnabled  | Boolean  | true  | -  | 启用换行  |

| autoScrollEditorIntoView | Boolean  | false  | -  | 启用滚动  |

| copyWithEmptySelection  | Boolean  | true  | -  |  复制空格 |

| useSoftTabs  | Boolean  | false  |  - | 使用软标签  |

| navigateWithinSoftTabs  | Boolean  |  false | -  | 软标签跳转  |

| enableMultiselect  | Boolean  |  false | -  | 选中多处  |

##### - renderer选项

|  选项名 | 值类型  | 默认值  | 可选值  | 备注  |

| ------------ | ------------ | ------------ | ------------ | ------------ |

| hScrollBarAlwaysVisible  |  Boolean | false  | -  | 纵向滚动条始终可见  |

| vScrollBarAlwaysVisible  | Boolean  | false  | -  | 横向滚动条始终可见  |

| highlightGutterLine  | Boolean  |  true | -  | 高亮边线  |

| animatedScroll  | Boolean  | false  | -  | 滚动动画  |

| showInvisibles  | Boolean  |  false | -  | 显示不可见字符  |

| showPrintMargin  | Boolean  | true  | -  | 显示打印边距  |

| printMarginColumn  | Number  | 80  | -  | 设置页边距  |

| printMargin  | Boolean|Number  | false  | -  | 显示并设置页边距  |

| fadeFoldWidgets | Boolean  | false  | -  | 淡入折叠部件  |

| showFoldWidgets  | Boolean  | true  | -  |  显示折叠部件 |

| showLineNumbers  | Boolean  | true  |  - | 显示行号  |

| showGutter  | Boolean  |  true | -  | 显示行号区域  |

| displayIndentGuides  | Boolean  |  true | -  | 显示参考线  |

| fontSize  | Number|String  | inherit  | -  | 设置字号  |

| fontFamily  | String  | inherit  |   | 设置字体  |

| maxLines | Number  | -  | -  | 至多行数  |

| minLines  | Number  | -  | -  |  至少行数 |

| scrollPastEnd  |  Boolean|Number  | 0  |  - | 滚动位置  |

| fixedWidthGutter  | Boolean  |  false | -  | 固定行号区域宽度  |

| theme  | String  |  - | -  | 主题引用路径,例如"ace/theme/textmate"  |

##### - mouseHandler选项

|  选项名 | 值类型  | 默认值  | 可选值  | 备注  |

| ------------ | ------------ | ------------ | ------------ | ------------ |

| scrollSpeed  | Number  | - | -  | 滚动速度  |

| dragDelay  | Number  | -  | -  | 拖拽延时  |

| dragEnabled  | Boolean  | true | -  | 是否启用拖动  |

| focusTimout  | Number  | -  | -  | 聚焦超时  |

| tooltipFollowsMouse  | Boolean  | false  | -  | 鼠标提示  |

##### - session选项

|  选项名 | 值类型  | 默认值  | 可选值  | 备注  |

| ------------ | ------------ | ------------ | ------------ | ------------ |

| firstLineNumber  | Number  | 1 | -  | 起始行号  |

| overwrite  | Boolean  | -  | -  | 重做  |

| newLineMode  | String  | auto | auto|unix|windows  | 新开行模式  |

| useWorker  | Boolean  | -  | -  | 使用辅助对象  |

| useSoftTabs | Boolean  | -  | -  | 使用软标签  |

| tabSize  | Number  | -  | -  | 标签大小  |

| wrap  | Boolean  | - | -  | 换行  |

| foldStyle  | String  | -  | markbegin|markbeginend|manual  | 折叠样式  |

| mode | String  | -  | -  | 代码匹配模式,例如“ace/mode/text" |

##### - 扩展选项

|  选项名 | 值类型  | 默认值  | 可选值  | 备注  |

| ------------ | ------------ | ------------ | ------------ | ------------ |

| enableBasicAutocompletion  | Boolean  | - | -  | 启用基本自动完成  |

| enableLiveAutocompletion  | Boolean  | -  | -  | 启用实时自动完成  |

| enableSnippets | Boolean  | - | -  | 启用代码段  |

| enableEmmet  | Boolean  | -  | -  | 启用Emmet  |

| useElasticTabstops  | Boolean  | -  | -  | 使用弹性制表位  |

很全面的Ace Admin1.3官方文档,包含有最全面的组件及例子,适合急需使用该技术开发的人。 响应式Bootstrap网站后台管理系统模板ace admin,非常不错的轻量级易用的admin后台管理系统,基于Bootstrap3,拥有强大的功能组件以及UI组件,基本能满足后台管理系统的需求,而且能根据不同设备适配显示,而且还有四个主题可以切换。 网页图标全采用FontAwesome,除Bootstrap,jQuery UI使用到的第三方插件有: jQuery 2.0.3 jQuery UI 1.10.3 (Custom Build) Twitter Bootstrap 3.0.0 FontAwesome 3.2.1 Google "Open Sans" Font jQuery Flot Charts 0.8.1 jQuery Sparklines 2.1.2 Easy Pie Chart 1.2.5 jQuery Knob 1.2.0 jQuery Validate 1.11.1 FuelUX 2.3.0 (Spinner & Wizard & Treeview) FullCalendar 1.6.4 jQuery ColorBox 1.4.27 jQuery dataTables 1.9.4 jQuery Chosen 1.0 jQuery Masked Input 1.3.1 jQuery Input Limiter 1.3.1 jQuery AutoSize 1.17.7 Bootstrap Colorpicker Bootstrap Datepicker Bootstrap Timepicker v0.2.3 Bootstrap DateRange Picker 1.2 Bootbox.js 4.0.0 jQuery Gritter 1.7.4 jQuery slimScroll 1.1.1 Spin.js 1.3.0 jQuery UI Touch Punch 0.2.2 Google Code Prettify ExplorerCanvas Mindmup Wysiwyg Editor Toopay Markdown Editor 1.1.4 X-editable 1.4.6 Select2 3.4.2 Bootstrap Tags 2.2.5 jQuery Mobile 1.3.2 (Custom Build) jqGrid 4.5.2 Dropzone.js 3.0 Nestable lists plugin 浏览器兼容: Firefox 5+ Google Chrome 14+ Internet Explorer 8 Internet Explorer 9 Opera 11 Safari 5 Bootstrap兼容: Bootstrap 2.2.x Bootstrap 2.3.x Bootstrap 3.0.x ace admin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值