codemirror是很適合編程人員們使用的在線代碼編輯工具。codemirror電腦版不僅可以使用這款軟件來進(jìn)行代碼的編輯工作,而且還可以獲取到大量的代碼模板,簡化你的工作流程。codemirror還具有100多種語言模式和各種插件,可實(shí)現(xiàn)更多的編輯功能。

codemirror
官方版 v5.65.0人工檢測,安全無毒
1.78MB
簡體
|WinAll|
編程軟件
170次
2024-12-06
9
軟件介紹
codemirror是很適合編程人員們使用的在線代碼編輯工具。codemirror電腦版不僅可以使用這款軟件來進(jìn)行代碼的編輯工作,而且還可以獲取到大量的代碼模板,簡化你的工作流程。codemirror還具有100多種語言模式和各種插件,可實(shí)現(xiàn)更多的編輯功能。
軟件特色
1、支持超過100種語言
2、一個(gè)強(qiáng)大的、可組合的語言模式系統(tǒng)
3、自動完成(XML)
4、代碼折疊
5、可配置的快捷鍵
6、Vim,Emacs和崇高的文本綁定
7、搜索和替換接口
8、括號與標(biāo)簽匹配
9、支持拆分視圖
10、短絨一體化
12、混合字體大小和樣式
11、各種不同的主題
13、能夠調(diào)整大小以適應(yīng)內(nèi)容
14、內(nèi)聯(lián)和塊小部件
15、可編程的水槽
16、使文本樣式、只讀或原子范圍
17、雙向文本支持
軟件功能
開箱即用,支持超過100種語言
強(qiáng)大的、可組合的語言模式系統(tǒng)
自動完成 (XML)
代碼折疊
可配置的按鍵綁定
Vim、Emacs和Sublime文本裝訂系統(tǒng)
搜索和替換界面
托架和標(biāo)簽匹配
支持分割視圖
襯膠機(jī)整合
混合字體大小和風(fēng)格
各種主題
可調(diào)整大小以適應(yīng)內(nèi)容
內(nèi)嵌式和塊狀小部件
可編程水溝
使文本范圍具有風(fēng)格化的、只讀或原子化的文本范圍
雙向文字支持
許多其他方法和附加組件.....
使用方法
下面兩個(gè)是使用 Code Mirror 必須引入的:
接下來要引用的就是在 mode 目錄下編輯器中要編輯的語言對應(yīng)的 js 文件,這里以 Groovy 為例:
如果你想讓 Java 代碼也支持代碼高亮,則需要引入我從網(wǎng)上下載下來的 clike.js(我已經(jīng)放到我的 GitHub 去了)
引用的文件用于支持對應(yīng)語言的語法高亮。
然后前面說了第一次進(jìn)入 Code Mirror 官 網(wǎng),覺得那些編輯器比較丑,那可能是主題比較丑,我這里推薦一款還不錯(cuò)的主題,只需按照如下引入即可:
如果你還想讓你的編輯器支持代碼行折疊,請按照如下進(jìn)行操作:
是不是這樣引入就好了呢,當(dāng)然不是啦
創(chuàng)建編輯器
在實(shí)際項(xiàng)目中,一般都不會直接把 body 整個(gè)內(nèi)容作為編輯器的容器。而最常用的,是使用 textarea。這里我在 里使用個(gè) textarea,
接下來就是創(chuàng)建編輯器了。
//根據(jù)DOM元素的id構(gòu)造出一個(gè)編輯器
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
});
是不是有點(diǎn)單調(diào)?
沒錯(cuò),我還可以在里面給他設(shè)置些屬性:(充分利用我一開始引入的那些文件)
mode: "text/groovy", //實(shí)現(xiàn)groovy代碼高亮
mode: "text/x-java", //實(shí)現(xiàn)Java代碼高亮
lineNumbers: true,//顯示行號
theme: "dracula",//設(shè)置主題
lineWrapping: true,//代碼折疊
foldGutter: true,
gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
matchBrackets: true,//括號匹配
//readO nly: true, //只讀
如果需要查看更多屬性,可以去官 網(wǎng)查找,目前我只用到這些屬性!
下面也列舉些吧:
indentUnit: integer 縮進(jìn)單位,值為空格數(shù),默認(rèn)為2 。
smartIndent: boolean 自動縮進(jìn),設(shè)置是否根據(jù)上下文自動縮進(jìn)(和上一行相同的縮進(jìn)量)。默認(rèn)為true。
tabSize: integer tab字符的寬度,默認(rèn)為4 。
indentWithTabs: boolean 在縮進(jìn)時(shí),是否需要把 n*tab寬度個(gè)空格替換成n個(gè)tab字符,默認(rèn)為false 。
electricChars: boolean 在輸入可能改變當(dāng)前的縮進(jìn)時(shí),是否重新縮進(jìn),默認(rèn)為true (僅在mode支持縮進(jìn)時(shí)有效)。
specialChars: RegExp 需要被占位符(placeholder)替換的特殊字符的正則表達(dá)式。最常用的是非打印字符。默認(rèn)為:/[u0000-u0019u00adu200b-u200fu2028u2029ufeff]/。
specialCharPlaceholder: function(char) → Element 這是一個(gè)接收由specialChars選項(xiàng)指定的字符作為參數(shù)的函數(shù),此函數(shù)會產(chǎn)生一個(gè)用來顯示指定字符的DOM節(jié)點(diǎn)。默認(rèn)情況下,顯示一個(gè)紅點(diǎn)(?),這個(gè)紅點(diǎn)有一個(gè)帶有前面特殊字符編碼的提示框。
rtlMoveVisually: boolean Determines whether horizontal cursor movement through right-to-left (Arabic, 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 配置快捷鍵。默認(rèn)值為default,即 codemorrir.js 內(nèi)部定義。其它在key map目錄下。
extraKeys: object 給編輯器綁定與前面keyMap配置不同的快捷鍵。
lineWrapping: boolean 在長行時(shí)文字是換行(wrap)還是滾動(scroll),默認(rèn)為滾動(scroll)。
lineNumbers: boolean 是否在編輯器左側(cè)顯示行號。
firstLineNumber: integer 行號從哪個(gè)數(shù)開始計(jì)數(shù),默認(rèn)為1 。
lineNumberFormatter: function(line: integer) → string 使用一個(gè)函數(shù)設(shè)置行號。
gutters: array 用來添加額外的gutter(在行號gutter前或代替行號gutter)。值應(yīng)該是CSS名稱數(shù)組,每一項(xiàng)定義了用于繪制gutter背景的寬度(還有可選的背景)。為了能明確設(shè)置行號gutter的位置(默認(rèn)在所有其它gutter的右邊),也可以包含CodeMirror-linenumbers類。類名是用于傳給setGutterMarker的鍵名(keys)。
fixedGutter: boolean 設(shè)置gutter跟隨編輯器內(nèi)容水平滾動(false)還是固定在左側(cè)(true或默認(rèn))。
scrollbarStyle: string 設(shè)置滾動條。默認(rèn)為”native”,顯示原生的滾動條。核心庫還提供了”null”樣式,此樣式會完全隱藏滾動條。Addons可以設(shè)置更多的滾動條模式。
coverGutterNextToScrollbar: boolean 當(dāng)fixedGutter啟用,并且存在水平滾動條時(shí),在滾動條最左側(cè)默認(rèn)會顯示gutter,當(dāng)此項(xiàng)設(shè)置為true時(shí),gutter會被帶有CodeMirror-gutter-filler類的元素遮擋。 inputStyle: string 選擇CodeMirror處理輸入和焦點(diǎn)的方式。核心庫定義了textarea和contenteditable輸入模式。在移動瀏覽器上,默認(rèn)是contenteditable,在桌面瀏覽器上,默認(rèn)是textarea。在contenteditable模式下對IME和屏幕閱讀器支持更好。
read Only: boolean|string 編輯器是否只讀。如果設(shè)置為預(yù)設(shè)的值 “nocursor”,那么除了設(shè)置只讀外,編輯區(qū)域還不能獲得焦點(diǎn)。
showCursorWhenSelecting: boolean 在選擇時(shí)是否顯示光標(biāo),默認(rèn)為false。
lineWiseCopyCut: boolean 啟用時(shí),如果在復(fù)制或剪切時(shí)沒有選擇文本,那么就會自動操作光標(biāo)所在的整行。
undoDepth: integer 最大撤消次數(shù),默認(rèn)為200(包括選中內(nèi)容改變事件) 。
historyEventDelay: integer 在輸入或刪除時(shí)引發(fā)歷史事件前的毫秒數(shù)。
tabindex: integer 編輯器的tabindex。
autofocus: boolean 是否在初始化時(shí)自動獲取焦點(diǎn)。默認(rèn)情況是關(guān)閉的。但是,在使用textarea并且沒有明確指定值的時(shí)候會被自動設(shè)置為true。
dragDrop: boolean 是否允許拖放,默認(rèn)為true。
allowDropFileTypes: array 默認(rèn)為null。當(dāng)設(shè)置此項(xiàng)時(shí),只接收包含在此數(shù)組內(nèi)的文件類型拖入編輯器。文件類型為MIME名稱。
cursorBlinkRate: number 光標(biāo)閃動的間隔,單位為毫秒。默認(rèn)為530。當(dāng)設(shè)置為0時(shí),會禁用光標(biāo)閃動。負(fù)數(shù)會隱藏光標(biāo)。
cursorScrollMargin: number 當(dāng)光標(biāo)靠近可視區(qū)域邊界時(shí),光標(biāo)距離上方和下方的距離。默認(rèn)為0 。
cursorHeight: number 光標(biāo)高度。默認(rèn)為1,也就是撐滿行高。對一些字體,設(shè)置0.85看起來會更好。
resetSelectionOnContextMenu: boolean 設(shè)置在選擇文本外點(diǎn)擊打開上下文菜單時(shí),是否將光標(biāo)移動到點(diǎn)擊處。默認(rèn)為true。
workTime, workDelay: number 通過一個(gè)假的后臺線程高亮 workTime 時(shí)長,然后使用 timeout 休息 workDelay 時(shí)長。默認(rèn)為200和300 。(完全不懂這個(gè)功能是在說啥)
pollInterval: number 指明CodeMirror向?qū)?yīng)的textarea滾動(寫數(shù)據(jù))的速度(獲得焦點(diǎn)時(shí))。大多數(shù)的輸入都是通過事件捕獲,但是有的輸入法(如IME)在某些瀏覽器上并不會生成事件,所以使用數(shù)據(jù)滾動。默認(rèn)為100毫秒。
flattenSpans: boolean 默認(rèn)情況下,CodeMirror會將使用相同class的兩個(gè)span合并成一個(gè)。通過設(shè)置此項(xiàng)為false禁用此功能。
addModeClass: boolean 當(dāng)啟用時(shí)(默認(rèn)禁用),會給每個(gè)標(biāo)記添加額外的表示生成標(biāo)記的mode的以cm-m開頭的CSS樣式類。例如,XML mode產(chǎn)生的標(biāo)記,會添加cm-m-xml類。
maxHighlightLength: number 當(dāng)需要高亮很長的行時(shí),為了保持響應(yīng)性能,當(dāng)?shù)竭_(dá)某些位置時(shí),編輯器會直接將其他行設(shè)置為純文本(plain text)。默認(rèn)為10000,可以設(shè)置為Infinity來關(guān)閉此功能。
viewportMargin: integer 指定當(dāng)前滾動到視圖中內(nèi)容上方和下方要渲染的行數(shù)。這會影響到滾動時(shí)要更新的行數(shù)。通常情況下應(yīng)該使用默認(rèn)值10??梢栽O(shè)置值為Infinity始終渲染整個(gè)文檔。注意:這樣設(shè)置在處理大文檔時(shí)會影響性能。
小編寄語
codemirror是一款非常實(shí)用的編程軟件,深受用戶喜愛,廣受好評。飛速下載站還提供其他編程軟件下載,如Autoshop,Android SDK,Allatori,有需要的同學(xué)快點(diǎn)擊下載吧!
Python集成開發(fā)編程工具
專業(yè)版 v2023.1.1 / 120MB
1.1W 570 2023-10-08
開源服務(wù)軟件
最新版 V2.48.1 / 120MB
1.0W 524 2025-02-14
代碼生成工具
最新版 / 120MB
8.9K 446 2023-10-23
好用的圖形處理工具
官方免費(fèi)版v5.5.1 / 120MB
8.8K 439 2024-07-15
Ruby集成開發(fā)環(huán)境
最新版 / 120MB
8.5K 426 2023-10-21
網(wǎng)站快速成型工具
官方版 v2.13.2 / 120MB
8.3K 416 2025-02-05
編程開發(fā)設(shè)計(jì)軟件
官方版 v2024.3.6 / 120MB
7.8K 390 2025-03-28
兒童圖形化編程學(xué)習(xí)軟件
官方版 v3.30.0 / 120MB
7.3K 366 2025-04-02
實(shí)用型商業(yè)數(shù)學(xué)軟件
中文版 vR2020a / 120MB
7.2K 362 2024-05-27
跨平臺代碼重構(gòu)工具
最新版 / 120MB
6.9K 343 2023-10-25