vscode光标插件,vscode多光标快捷键
下载后,解压到打开的文件夹时,核心库和核心css放在lib下,支持的每种语言的语法定义放在mode下,支持的主题样式放在theme目录下。一般来说,对于开发来说,在lib和schemas中添加引用就足够了。
用例
一是引用lib目录下的codemirror.js,二是引用该目录下的codemirror.css文件。
下一个引用是对应于mode目录下的编辑器中要编辑的语言的js文件。以js文件为例。
引用用于支持相应语言的语法突出显示。
然后,调用脚本创建编辑器。
varmycodemirror=代码镜像(document.body
这里的调用将在正文中添加一个编辑器。这个编辑器将突出显示javascript关键字,因为您已经直接引用了上面的javascript.js。
如果想更高级,即使在编辑器中添加元素,也可以通过传递配置参数来实现。
varmycodemirror=代码镜像(document.body,
行号:真
);
现在,行号已经添加到编辑器中。
以上是实现编辑器最简单的方法。那么在实际项目中,body就不会直接作为编辑器的容器。Textarea是最常用的方法。
要将textarea实现为支持高亮显示的编辑器,CodeMirror提供了一个非常简单的方法。
var my textarea=document . getelementbyid(editor);
varcodemirroreditor=code mirror . from textarea(my textarea,{
模式:文本/JavaScript ,
行号:真
);
Python实例:
文档编辑
Index.js文件
window.onload=function(
varel=document.getelementbyid(编辑器);
var version= # version:python 3 \ n \ n ;
varcodeareapit= # pleaseedityourcode here:\ n ;`
var codeStart= # code start \ n \ n
var codeEnd= # code end \ n \ n
varcodetip= \ nthistprogramand \ nitmustbereturnyouranswerofcurrentquestion。\ n ())
var code= def solution():\ n \ t pass);
varnitvalue=versioncodeareapticodestartcodeendcodetipcode;
varmycodemirror=code mirror . from textarea(El,{
模式:“python”,//语言模式
主题: leetcode ,//主题
KeyMap:崇高,//快捷键风
LineNumbers:true,//显示行号
智能缩进:true,//智能缩进
IndentUnit: 4,//智能缩进单位为4个空格。
IndentWithTabs:true,使用//tab智能缩进。
换行:true,//
//在行槽中添加行号指示符、文件夹和语法检查器
gutters:[ code mirror-行号, CodeMirror-foldgutter , CodeMirror-lint-markers],
FoldGutter:true,//在行槽中启用代码折叠
自动聚焦:true,//自动聚焦
MatchBrackets:true,//结束符号,例如],}
自动关闭标志:true,//自动关闭符号
StyleActiveLine:true,//显示所选线条的样式。
);
//设置初始文本。此选项也可以在fromTextArea 中设置
mycodemirror.setoption(value ,init value);
//用编辑键听
mydemirror . on( keypress ,function ) }
//
显示智能提示
mycodemirror . show hint();//注意CodeMirror库中show-hint.js第131行代码被注释(防止代码完成,提供智能提示)
});
var test=document . getelementbyid( test );
test.onclick=function () {
var value=mycodemirror . getvalue();
axos . post([http://localhost/API/run code](http://localhost/API/run code),{
代码:值
}).然后(函数(res) {
console . log(RES);
});
};
};
配置描述
使用CodeMirror时,无论是直接使用CodeMirror()还是fromTextArea(),都可以通过传递第二个参数来配置编辑器。
用法如下:
var myCodeMirror=CodeMirror(el,{
//
选择.
});
或者:
var myCodeMirror=code mirror . fromtextarea(El,{
//
选择.
});
可以使用的选项参数
CodeMirror函数及其fromTextArea方法都可以使用配置对象作为第二个参数。
值:string CodeMirror。文件
编辑器的初始值(文本),可以是字符串或CodeMirror文档对象(不同于HTML文档对象)。
模式:字符串对象
如果未设置该值,默认情况下将使用第一个加载的模式定义文件。通常,关联的mime类型将用于设置该值;除此之外,还可以使用name属性为值的对象(例如:{ name:“JavaScript”,JSON: true})。可以访问CodeMirror.modes和CodeMirror。MIMEModes来获取定义的模式和mime。
lineSeparator:字符串null
显式指定编辑器使用的行分隔符(换行符)。默认情况下(值为null),文档将被CRLF(和单独的CR,LF)分割,单独的LF将在所有输出中用作换行符(比如getValue)。当指定了换行符字符串时,该行将只被指定的字符串拆分。
主题:弦乐
配置编辑器的主题样式。若要使用该主题,必须确保名为。加载cm-s-[name] (name是设置主题的值)。当然,你也可以一次加载多个主题样式,使用和html一样的方法,使用类,比如:theme: foo bar。那么这个时候你就需要cm-s-foo cm-s-bar了。两种样式都已经加载。
indentUnit:整数
缩进单位,值为空格数,默认值为2。
smartIndent:布尔值
自动缩进,设置是否根据上下文自动缩进(与上一行缩进量相同)。默认值为true。
abSize:整数
制表符的宽度,默认情况下为4。
indentWithTabs: boolean
缩进时,是否用n个制表符替换n *制表符宽度空格默认为false。
电气字符:布尔型
输入当可以更改当前缩进时是否再次缩进。默认值为true(仅当mode支持缩进时有效)。
特殊字符:正则表达式
需要用占位符替换的特殊字符的正则表达式。最常用的字符是非印刷字符。默认为:/[\ u 0000-\ u 0019 \ u00ad \ u200b-\ u200f \ u 2028 \ u 2029 \ u efff]/。
specialCharPlaceholder:函数(char) 元素
这是一个接收由specialChars选项指定的字符作为参数的函数。这个函数将生成一个DOM节点来显示指定的字符。默认情况下,会显示一个红点(),其前面有一个带有特殊字符代码的提示框。
键盘映射:字符串
配置快捷键。默认值为default,由codemorrir.js在其他键映射目录下内部定义。
extraKeys:对象
将先前键映射配置中的不同快捷键绑定到编辑器。
换行:布尔值
无论文本是换行还是滚动,默认情况下都是滚动。
行号:布尔型
是否在编辑器左侧显示行号。
firstLineNumber:整数
默认情况下,行号从1开始计数。
lineNumberFormatter:函数(行:整数)字符串
使用函数设置行号。
檐槽:阵列
用于添加附加装订线(在行号装订线之前或代替行号装订线)。该值应该是CSS名称的数组,每个项目定义用于绘制装订线背景的宽度(和可选背景)。为了显式设置行号间距的位置(默认情况下在所有其他间距的右侧),还可以包含CodeMirror-linenumbers类。类名是用于传递给setGutterMarker的键名(keys)。
fixedGutter:布尔型
设置装订线是随编辑器内容水平滚动(false)还是固定在左侧(true或default)。
scrollbarStyle: string
设置滚动条。默认为“native”,显示本机滚动条。核心库还提供了“空”样式,完全隐藏滚动条。插件可以设置更多的滚动条模式。
coverGutterNextToScrollbar:boolean
当启用了fixedgutter,并且有一个水平滚动条时,gutter将默认显示在滚动条的最左侧。当此项设置为true时,Gutter将被具有CodeMirror-gutter-filler类的元素阻止。
inputStyle:字符串
选择CodeMirror处理输入和焦点的方式。核心库定义了textarea和contenteditable输入模式。在移动浏览器上,默认为contenteditable,在桌面浏览器上,默认为textarea。更好地支持内容可编辑模式下的IME和屏幕阅读器。
readOnly:布尔字符串
编辑器是否是只读的。如果设置为预设值“nocursor”,编辑区除了只读外无法获得焦点。
showCursorWhenSelecting:boolean
选择时是否显示光标,默认为false。
lineWiseCopyCut: boolean
启用时,如果复制或剪切时没有选择文本,光标所在的整行将被自动操作。
undoDepth:整数
默认情况下,最大撤消次数为200次(包括选定的内容更改事件)。
historyEventDelay:整数
在输入或删除时引发历史事件之前的毫秒数。
tabindex:整数
编辑塔宾德克斯。
自动对焦:布尔型
初始化时是否自动获得焦点。这种情况默认是关闭的。但是,当使用textarea并且没有显式指定该值时,它将自动设置为true。
低级选项
以下选项仅针对一些特殊情况。
dragDrop:布尔型
是否允许拖放,默认为真。
allowDropFileTypes:数组
默认值为null。设置此项时,只有包含在该数组中的文件类型被接收并拖动到编辑器中。文件类型是MIME名称。
cursorBlinkRate:数字
光标闪烁的时间间隔,以毫秒为单位。默认值为530。设置为0时,光标闪烁被禁用。负数隐藏光标。
光标滚动边距:数字
当光标接近可视区域的边界时,光标与顶部和底部之间的距离。默认值为0。
光标高度:数字
光标高度。默认值为1,即全行高。对于某些字体,设置0.85看起来更好。
resetSelectionOnContextMenu:布尔值
设置在选定文本外单击以打开上下文菜单时,是否将光标移动到单击点。默认值为true。
工作时间,工作延迟:数字
通过一个假的后台线程高亮显示工作时长,然后用超时来休息工作延时时长。默认值为200和300。
轮询间隔:数字
指示CodeMirror滚动(写入数据)到相应textarea的速度(当获得焦点时)。大部分输入是由事件捕获的,但有些输入法(如IME)在某些浏览器中不生成事件,所以使用数据滚动。默认值为100毫秒。
flattenSpans:布尔型
默认情况下,CodeMirror会将使用相同类的两个span合并为一个。将此项设置为false可禁用此功能。
addModeClass: boolean
启用时(默认情况下禁用),一个额外的以cm-m开头的CSS样式类将被添加到每个标签中,它代表生成标签的模式。例如,XML模式生成的标记将添加cm-m-xml类。
maxHighlightLength:数字
当需要突出显示一长行时,为了保持响应性能,当到达某些位置时,编辑器会直接将其他行设置为纯文本。默认值为10000,可以设置为无穷大来关闭该功能。
viewportMargin:整数
指定当前在视图内容上方和下方滚动的要呈现的行数。这会影响滚动时要更新的行数。通常,应该使用默认值10。您可以将该值设置为无穷大,以便始终呈现整个文档。注意:此设置会影响处理大型文档时的性能。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。