Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Codemirror-如何在浏览器中编写自己的代码编辑器_Javascript_Jquery_Ajax_Dojo - Fatal编程技术网

Javascript Codemirror-如何在浏览器中编写自己的代码编辑器

Javascript Codemirror-如何在浏览器中编写自己的代码编辑器,javascript,jquery,ajax,dojo,Javascript,Jquery,Ajax,Dojo,我需要在浏览器中编写自己的。我找到了codemirr,但我不知道怎么做。我需要简单的代码 我可以使用textarea或其他什么吗?(例如,内容可编辑)。如何给代码加下划线、着色、自动完成 请给我一些建议。我将非常感激 我读过Douglas Crockford的O'Reilly写的一本关于JS的书,所以我有一些基础知识。检查代码编辑器示例页面后面的html。使用WebKit(Safari/Chrome)“检查元件” 正如您所看到的,文本区域上有一个很大的div,其中包含单个字符串,因此用户只会得到

我需要在浏览器中编写自己的。我找到了
codemirr
,但我不知道怎么做。我需要简单的代码

我可以使用
textarea
或其他什么吗?(例如,内容可编辑)。如何给代码加下划线、着色、自动完成

请给我一些建议。我将非常感激


我读过Douglas Crockford的O'Reilly写的一本关于JS的书,所以我有一些基础知识。

检查代码编辑器示例页面后面的html。使用WebKit(Safari/Chrome)“检查元件”

正如您所看到的,文本区域上有一个很大的div,其中包含单个字符串,因此用户只会得到他在文本区域中键入的“错觉”。文本区仍然存在,但它不是你真正看到的

如果您想要语法着色,您将需要对字符串进行字典分析,这通常由输出标记的lexer完成。这些令牌由一个进程捕获,该进程将它们收集到具有相同文本颜色的单独div中。然后该div覆盖文本区域

如果你想深入研究代码,你还需要语义分析和大量的咖啡来编程


祝你好运,你知道你在做大事吗?你为什么要重新发明这个,别人已经做得很好了

如果uou还没有,你可能想看看。

我是说语法编辑器:)我知道tinyMCE是WYSIWYG内容编辑器,在一些CMS中实现。“我知道基本JS,告诉我如何编写IDE。”。。这不是stackoverflow的目的。你提到的每一项,“下划线、着色”等都是一个问题,只要你已经有了一些基础。我不想说得太苛刻,但如果你问这个问题,那么你很快就无法在浏览器代码编辑器中编写一个像样的代码。CodeMirror是一款优秀的软件;为什么不使用它呢?此外,CodeMirror的作者已经写了几篇关于CodeMirror 1和2的内部和开发过程的文章,这些文章在网站主页上有显著的链接。阅读这些内容将为您提供一个很好的背景知识来应对相关挑战。@TimDown我想学习-所以我想(尝试)编写语法编辑器。我当然会使用代码镜像源代码,但我需要更多的经验来理解每一行代码。这就是我写这篇文章的原因,首先我需要知道如何写作-如何构建-如何工作。我看到了。非常感谢:)@JoshSmeaton,正如我在上一篇文章中所写的——“但我需要更多的经验来理解每一行代码。这就是我写这篇文章的原因,首先我需要知道如何编写-如何构建-如何工作。”是的,但我很难理解它是如何工作的-buddhabrot非常好地向我解释它。呵呵。我知道这是非常大的,但是。。。我必须做我自己的版本,因为这是一个创新竞赛的项目,我必须做很多修改:)它会越来越大:)(PHP,可能是云)我也会关注现有的项目。:)您知道吗,是否可以自动完成或自动通知语法?什么技术/框架最适合挑战这一点?(AJAX、Jquery、Dojo或clean JS或其他):)非常感谢您提供的非常重要的建议!:)每一条线索对我来说都非常重要:)最好的方法是重用其他方面的解析技术,我不明白为什么使用“云”会对客户端行为产生任何影响:它只是解析文本。老实说,我不是故意这么坏,但我想你真的不知道自己在做什么。冷静下来,试着重新利用那里的东西。@GabrielŻukowski的创新意味着提出自己的想法。不将关键字附加到现有技术上。你太过分了。你以前的背景是什么?@buddhabrot当然-这只是解析,但不仅仅是解析代码。“我写这是乞讨。”约书亚·斯梅顿你说的背景是什么意思?关于我的想法?伙计们xd我已经进入“云端”,因为我已经18岁了,我的部落已经长大了:)