首页 > 编程知识 正文

光标不见了,codeblocks设置编译器

时间:2023-05-04 22:06:30 阅读:154778 作者:1057

3:http://www.hyjiacan.com/code mirror-config /

CodeMirror是一个支持语法突出显示的联机代码编辑器。 官方网站: http://codemirror.net/

在下载后解压缩得到的文件夹中,lib下放置有核心库和核心css,模式下放置有各支持语言的语法定义,theme目录下放置有支持的主题样式。 一般来说,对于开发,添加lib中的引用和mode中的引用就足够了。

使用案例

首先,参考lib目录下的codemirror.js,另一个参考该目录下的codemirror.css文件

下一个引用的是与要在mode目录下的编辑器中编辑的语言相对应的js文件。 以js文件为例。

引用文件用于支持相应语言的语法突出显示。

然后,调用脚本创建编辑器。

这里的调用将在body中添加编辑器。 此编辑器将突出显示javascript关键字,因为您在上面直接引用了javascript.js。

如果希望高级一点,即使在编辑器中添加元素,也可以通过传递配置参数来实现。

现在,编辑器中添加了行号。

上述是实现编辑器的最简单方法。 然后,在实际项目中,body不会直接作为编辑器的容器。 最常用的是使用textarea。

要将textarea作为支持高亮的编辑器实现,CodeMirror提供了一种非常简单的方法。

结构说明

使用CodeMirror时,无论是直接使用CodeMirror () (还是使用fromTextArea ) (),都可以通过传递第二个参数来配置编辑器。

使用方法如下。

或者

选项可以使用的参数

CodeMirror函数及其fromTextArea方法都可以使用一个配置对象作为第二个参数。

value : string|code mirror.doc

编辑器的初始值(文本)可以是字符串或CodeMirror文档对象。 与HTML文档对象不同。

模式:字符串

的、或与CodeMirror中使用的模式相关联的mime。 如果不设置此值,缺省情况下将使用第一个加载的mode定义文件。 通常,该值是使用相关的mime类型设置的; 也可以使用具有name属性的对象作为值,例如{name: “javascript ",json: true}。 可以通过访问CodeMirror.modes和CodeMirror.MIMEModes来获取定义的mode和mime。

行加速器:字符串|空

明确指定编辑器中使用的行分隔符(换行符)。 如果为默认值(值为null ),则文档按CRLF (和单独的CR、LF )进行拆分,单独的LF在所有输出中用作换行符。(例如,getValue )。 如果指定了换行符,则只能用指定的字符串拆分行。

theme :字符串

设置编辑器的主题样式。 要使用主题,必须确保加载了名为. cm-s -“name”(其中name是已设置的theme的值)的样式。 当然,也可以一次加载多个主题样式。 使用方法与使用html和类相同。 例如,如果是theme: foo bar,则此时必须同时加载cm-s-foo cm-s-bar的两种样式。

indentUnit: integer

缩进单位。 值是空格数,默认值为2。

智能插入:布尔

设置是否自动缩进,并根据上下文自动缩进。 默认值为true。

tabsize :集成器

制表符宽度。 默认值为4。

indentwithtabs :布尔

缩进时,是否需要将n*制表符宽度的空格替换为n个字符。 默认值为false。

电子字符:布尔

如果当前缩进可能更改,则是否更改缩进默认设置为true (仅在mode支持缩进时有效)。

特殊字符:注册

要被占位符(placeholder )替换的特殊字符的正则表达式。 最常用的是非印刷文字。 默认值为/[u 0000- u 0019u00ad _ u200 B-u200fu 2028u 2029ufe ff ] /。

specialcharplaceholder :函数(char ) Element

这个函数接受使用specialChars选项指定的字符作为参数,并生成一个显示指定字符的DOM节点。 缺省情况下,系统显示一个红点(),其中包含带有上一个特殊字符编码的提示框。

rtlmovevisually :布尔

determineswhetherhorizontalcursormovementthroughright-to-left (ara

bic, Hebrew) text is visual (pressing the left arrow moves the cursor left) or logical (pressing the left arrow moves to the next lower index in the string, which is visually right in right-to-left text). The default is false on Windows, and true on other platforms.(这段完全不晓得搞啥子鬼)

keyMap: string

配置快捷键。默认值为default,即 codemorrir.js 内部定义。其它在key map目录下。

extraKeys: object

给编辑器绑定与前面keyMap配置不同的快捷键。

lineWrapping: boolean

在长行时文字是换行(wrap)还是滚动(scroll),默认为滚动(scroll)。

lineNumbers: boolean

是否在编辑器左侧显示行号。

firstLineNumber: integer

行号从哪个数开始计数,默认为1 。

lineNumberFormatter: function(line: integer) → string

使用一个函数设置行号。

gutters: array

用来添加额外的gutter(在行号gutter前或代替行号gutter)。值应该是CSS名称数组,每一项定义了用于绘制gutter背景的宽度(还有可选的背景)。为了能明确设置行号gutter的位置(默认在所有其它gutter的右边),也可以包含CodeMirror-linenumbers类。类名是用于传给setGutterMarker的键名(keys)。

fixedGutter: boolean

设置gutter跟随编辑器内容水平滚动(false)还是固定在左侧(true或默认)。

scrollbarStyle: string

设置滚动条。默认为”native”,显示原生的滚动条。核心库还提供了”null”样式,此样式会完全隐藏滚动条。Addons可以设置更多的滚动条模式。

coverGutterNextToScrollbar: boolean

当fixedGutter启用,并且存在水平滚动条时,在滚动条最左侧默认会显示gutter,当此项设置为true时,gutter会被带有CodeMirror-gutter-filler类的元素遮挡。

inputStyle: string

选择CodeMirror处理输入和焦点的方式。核心库定义了textarea和contenteditable输入模式。在移动浏览器上,默认是contenteditable,在桌面浏览器上,默认是textarea。在contenteditable模式下对IME和屏幕阅读器支持更好。

readOnly: boolean|string

编辑器是否只读。如果设置为预设的值 “nocursor”,那么除了设置只读外,编辑区域还不能获得焦点。

showCursorWhenSelecting: boolean

在选择时是否显示光标,默认为false。

lineWiseCopyCut: boolean

启用时,如果在复制或剪切时没有选择文本,那么就会自动操作光标所在的整行。

undoDepth: integer

最大撤消次数,默认为200(包括选中内容改变事件) 。

historyEventDelay: integer

在输入或删除时引发历史事件前的毫秒数。

tabindex: integer

编辑器的tabindex。

autofocus: boolean

是否在初始化时自动获取焦点。默认情况是关闭的。但是,在使用textarea并且没有明确指定值的时候会被自动设置为true。

低级选项

下面的选项仅用于一些特殊情况。

dragDrop: boolean

是否允许拖放,默认为true。

allowDropFileTypes: array

默认为null。当设置此项时,只接收包含在此数组内的文件类型拖入编辑器。文件类型为MIME名称。

cursorBlinkRate: number

光标闪动的间隔,单位为毫秒。默认为530。当设置为0时,会禁用光标闪动。负数会隐藏光标。

cursorScrollMargin: number

当光标靠近可视区域边界时,光标距离上方和下方的距离。默认为0 。

cursorHeight: number

光标高度。默认为1,也就是撑满行高。对一些字体,设置0.85看起来会更好。

resetSelectionOnContextMenu: boolean

设置在选择文本外点击打开上下文菜单时,是否将光标移动到点击处。默认为true。

workTime, workDelay: number

通过一个假的后台线程高亮 workTime 时长,然后使用 timeout 休息 workDelay 时长。默认为200和300 。(完全不懂这个功能是在说啥)

pollInterval: number

指明CodeMirror向对应的textarea滚动(写数据)的速度(获得焦点时)。大多数的输入都是通过事件捕获,但是有的输入法(如IME)在某些浏览器上并不会生成事件,所以使用数据滚动。默认为100毫秒。

flattenSpans: boolean

默认情况下,CodeMirror会将使用相同class的两个span合并成一个。通过设置此项为false禁用此功能。

addModeClass: boolean

当启用时(默认禁用),会给每个标记添加额外的表示生成标记的mode的以cm-m开头的CSS样式类。例如,XML mode产生的标记,会添加cm-m-xml类。

maxHighlightLength: number

当需要高亮很长的行时,为了保持响应性能,当到达某些位置时,编辑器会直接将其他行设置为纯文本(plain text)。默认为10000,可以设置为Infinity来关闭此功能。

viewportMargin: integer

指定当前滚动到视图中内容上方和下方要渲染的行数。这会影响到滚动时要更新的行数。通常情况下应该使用默认值10。可以设置值为Infinity始终渲染整个文档。注意:这样设置在处理大文档时会影响性能。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。