导航:首页 > 源码编译 > 代码编译器

代码编译器

发布时间:2022-01-19 10:18:03

Ⅰ 如何自制一个代码编辑器

编使用了c#来制作一个代码编辑器,c#编程不需要考虑内存等操作,而且面向对象,制作起来较为简单,如果您要用c++等语言开发,网络
“ SciLexer.dll”就能看到相关资料了,首先,我们简单布局一下,新建一个新的c#
windows应用窗体项目,然后在窗体放入richTextBox控件,一个LinkLabel控件(用于触发事件),一个TabControl控件
(把开源的代码编辑器控件放在这个控件里面)。

接下来,我们让TabControl控件,richTextBox控件和LinkLabel控件随着窗体的大小的变化而调整,如图所示,设置他的Anchor、Dock等属性,进行相应的修改,这里不再多说。那下面就是最关键的编程部分了。

在添加代码之前,我们需要引用一下dll,我们直接引用c#的dll即可,简便了我们编程的难度。我们右击添加引用即可,选择我们的dll,点击确定即可。然后我们开始写真正代码了。

下面贴出示例代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ScintillaNet;//引用dll
/* sqzhmir1206 网络经验 示例代码 感谢您的阅读*/
namespace 命名空间名称//请自行修改
{
public partial class Form1 : Form
{
public Scintilla Myediter;
public Form1()
{
InitializeComponent();
//以下是声明了编辑代码的控件 这里取名“Myediter”
this.Myediter = new Scintilla();
this.Myediter.Margins.Margin1.Width = 1;
this.Myediter.Margins.Margin0.Type = MarginType.Number;
this.Myediter.Margins.Margin0.Width = 0x23;
this.Myediter.ConfigurationManager.Language = "cs";
this.Myediter.Dock = DockStyle.Fill;
this.Myediter.Scrolling.ScrollBars = ScrollBars.Both;
this.Myediter.ConfigurationManager.IsBuiltInEnabled = true;
}
private void Form1_Load(object sender, EventArgs e)
{
this.tabPage1.Controls.Add(this.Myediter);//加入编辑代码的控件 这里取名“Myediter”。
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Myediter.Text = richTextBox1.Text.ToString();//Myediter控件显示richtextbox1控件的文字。
}
}
}
然后我们编译,修改报错的问题,运行。

Ⅱ 什么是代码编辑器

代码编辑器是IDE集成开发环境的一部分,用来编写代码的。就像记事本一样的。

Ⅲ 什么代码编辑器比较好用

着名的代码编辑器:Microsoft Visual Studio Code、Github Atom、Sublime text、Adobe Brackets

最推荐的一种:Atom

推荐理由:

链接:如何评价 GitHub 发布的文本编辑器 Atom?

作者:韦易笑

用过不少编辑器:UltraEdit / EditPlus / (G) Vim / GEdit / NotePad++ / TextMate / ProgrammerPad / Sublime 。确实是工作上用他们写过代码的。而 VSC / Emacs 只是体验了一下基本使用方法,算不上真用。用下来的结论是:Atom 比 Vim 更 Vim,比 Emacs 更 Emacs,同样,比 Sublime 更 Sublime。


Atom 唯一的槽点就是“卡”,不过那是去年的情况了,1.0后性能数次大提升,比起sublime/vsc之类虽不算流畅,但同时编辑20个数千行的文件没有压力。如今让人感觉慢的地方主要是启动loading(也大大短于eclipse, idea),使用时并没察觉它比其他编辑器慢再哪。而文本编辑器的快慢,更重要的是“让你工作更快更有效率”。下面说说为何 Atom比其他更有效率:


兼容VIM模式


这无疑团结了一大班 Vim过来的用户,Sublime虽然也有VIM模式,但是Sublime在 mac下面的vim模式有bug,我习惯用 hjkl来移动光标,sublime再mac下hjkl移动有问题,且我习惯CTRL_[来返回NORMAL,手指不离开主键盘区,而sublime的vim模式只支持ESC返回,加上其作者经常神秘消失,最稳定的2.x版本已三年没有更新,这些问题一直得不到修正。


由于Atom的定制程度直追 Vim/Emacs,它的vim模式能够使用插件来实现,而不像sublime必须builtin,Atom的VIM模式除了官方实现外还有很多用户实现,各有所长,你不喜欢可以换,Sublime就傻逼了,觉得builtin的不行,你就没办法了,而且作者不更新你也没办法。


Atom里的Vim模式并不是强制的,你可以用也可以不用,这样入门用户也不会觉得困难,但是如果你用惯Vim的话,使用Vim模式可以取得更好的效率,我觉得Vim/Atom-VimMode能够提升效率的地方有以下三方面:


1. 手指不离开主键盘区:

所有功能皆能在主键盘区完成,不用去按方向键,不用把手挪去按Home/End,更不用动鼠标。就像咏春中强调中线理论,认为一切动作围绕中轴线开展,守护自己中轴线的同时攻击别人的中轴线。Vim/Atom-VimMode中,双手不但从不离开主键盘,并且八根手指随时守护再HOME位(ASDF, JKL;)有动作就移动,然后马上归位。


2. 细粒度微操作:

星际/dota玩的好,微操基本功,微操又快又精确,Vim/Atom-VimMode一样,比如:

if (xxxx) {}

很多人编码时习惯“成对编码”,写了申请资源的代码,先把释放资源写了,写了左括号,先把右括号给补充完,当你写完第二行代码时,需要用到“再1-2行中间插入一行”,此时你的光标停留在第二行,传统编辑器你需要:按上箭头移动光标到第一行 -> 按END键去到第一行末尾 -> 按回车插入一行,mac下的END键还需要用CMD+右来组合出来,而Vim/Atom-VimMode中,你只需要shift+o即可,手指完全不离开主键盘区,不用像传统编辑器那样,右手先移动到箭头区又移动到HOME的小键盘区,再移动回主键盘区这么麻烦,类似还有:

使用o直接再下一行插入,避免 END/回车

使用I再行首插入,避免移动半天光标。

向前/后移动一个单词到单词头、尾。

快速更改当前单词,用/来快速搜索移动光标。

dd+p来快速移动代码块,取代shift+方向键半天。

shift-j 来两行合并成一行,代替 HOME, back 若干次。

。。。

你再编辑代码的时候,90%的情况可以直接一步完成,这就叫细粒度微操,而且整个过程手都不需要离开主键盘,不像传统编辑器那样,若干笨重的操作组合再一起,操作不够细步骤多的同时手还要再:主键盘区,方向键区,扩展键区 来回移动,效率奇低。而Vim/Atom-VimMode下,手指随时守护在home区(ASDF JKL;),所有微操都是围绕HOME区进行,不会移动到任何主键盘以外的区域,更别说用鼠标、触摸板。


3. 批量操作:

比如要给下面代码每行后面加一个分号:

var x = 1var y = 2var z = 3console.log('result is ' + (x + y + z).toString())

一般做法是:移动光标到行末->END->分号->移动光标到下一行,Vim里面不需要移动光标到行末,只需循环敲入:“A;<ESC>j” 即可,本来操作就少很多。这还不是最少操作,更少操作是利用Vim里面的句号“.”功能重复上一次操作,即第一行“A;”补充了一个分号后,第二行只需要按一下"."即可重复,于是最后操作变为:

第一行:A;<ESC>

后面所有行:J.


超级爽快的操作,这样的操作还很多,你还可以单条命令对一万行代码重复上述步骤,或者把c代码拷贝到go里面先一句话把所有分号给删除了。Vim下面的名言:绝不重复。


总之如果你熟悉 VIM模式,用 Atom能感到完全自由的方式,随心所欲的书写代码,而不是被书写这件事情费脑筋,解放大脑完全用于思考而不用于打字。但是同时对不习惯VIM的人照样友好,或者对想使用VIM的便利却又痛恨VIM这个软件的简陋的人带来了福音。


脊椎记忆


“同样动作重复300次,肌肉就会有记忆,而一个动作重复600次,脊椎就会有记忆”
-- 李小龙


编辑器就是关于脊柱记忆的东西,所以多投入一些时间去了解你使用的编辑器,掌握他们的各种快捷操作和高级功能是一个能让你事半功倍的好主意。


格斗游戏玩的好的人有很多,下等高手靠熟练,中等高手靠反应,上等高手靠意识。更熟练的掌握你的编辑器,让更多日常工作固化成记忆记录再你的脊椎上,使用的时候,脊椎这枚协处理器就能完成代码编写,一个操作,刚一想到,脊椎就自动执行出来了,小脑腾出空间来组织判断,大脑腾出空间来思考更重要的东西,就像你走路,你不用思考迈腿那么自然,别人一拳过来,你潜意识一动,一连串动作就出去了,一只飞蛾飞过来,你潜意识的闭上眼睛保护眼部,这就是脊椎记忆,如果还要经过大脑绕一圈,反应慢不说,大脑这颗cpu都用在这些琐事上了,思考的时间自然少了不少。


所以从内到外的了解你的编辑器,并且熟练掌握他们,是对你提高工作效率的最佳投资,Atom的全平台支持,开放源代码,深度可定制等三个特点,比起其他闭源的,平台支持不全的,扩展少的编辑器来说能让你有不同层面的了解机会,同时为你提供足够的空间。


深度可定制系统


Vim/Emacs的精髓在于:“可以调教”,本来不顺手的东西,只要容易调教,假以时日,都会慢慢变得越来越顺手,越来越“懂你”,越来越“贴心”,以至于后面大家都离不开它了。而 Atom 也同样是一款容易被你调教的编辑器。先前给vim写过插件,给sublime写过插件,如今给Atom写过插件,横向对比下来,几个结论:


插件能做事情多少:Atom > Vim >> sublime

插件开发学习门槛:Vim > Atom > sublime

插件开发文档丰富:Atom > sublime >> Vim


Atom 的定制化程度远远高过sublime之类(不用实际看法,看看双方开发文档即可),直追 Vim / Emacs,sublime的大部分定制无外乎改改json,插件能做的事情相当有限。


Atom 的定制化系统主要有三方面:


1. 细致:

设计之初就考虑的事情,方方面面都能定制,见官方文档,以及插件:vim-mode,minimap (稍微了解下这两个类似的功能再 Atom 和 sublime的实现就能知道 sublime被甩了多少条街了)。可以细粒度的控制编辑器内所有行为,小到移动一下光标,删除当前一个字符,大到打开一个面板,比如 “core:more-up” 可以向上移动一行光标,“window:focus-pane-on-left” 可以把焦点设置到左边的面板,atom内核和大量第一方第三方packages 都是以命令的方式把基础功能提供出来,你可以随意互相调用或者设置热键。

除去命令外的API层面,几乎每个部件每个像素点都可控,比如这样的插件你永远无法再 Vim / Emacs / Sublime 下面见得到:activate-power-mode。


2. 直观:

由于使用 javascript/coffee进行开发,但 javascript/coffee是属于即便你没写过他们,读都能读得懂,VimScript就不一样了,虽然也能做相同的事情,但实话实说,晦涩难写,比如我要取得当前文件的路径和文件名,在 VimScript里面需要这么写:

let l:path = expand('%:p:h')let l:name = expand('%:t:r') 或者 let l:name = expand('%<')

而在 Atom 里我们用atom自己的功能直接取出路径来,然后进行切割:

var fullpath =atom.workspace.getActiveTextEditor().getPath();var filename = path.basename(fullpath);var filepath = path.dirname(fullpath);

就问大家一下?哪段代码更友好直观?你一眼就知道在做什么?你更愿意用按照哪段代码进行插件开发?是上面的VimScript?还是下面的 javascript ?


结论是很清晰的,Atom的 javascript开发插件更简单直观,即便没文档,看别人怎么写的自己也会了,同时灵活性大大高于VmScript,各种事件处理回调,javascript天生擅长做这些事情,还有第二行,第三行,我们用到了 node.js 的 path模块,进行文件路径切割。这样的写法,再VimScript 里面基本是无法想象的。


Vim是强大,但是毕竟是30年前的东西了,即便最熟练的 Vimer 也都承认 VimScript 的晦涩难懂,阻碍了很多人为其开发插件。而给Atom开发插件,只需要掌握javascript,掌握 javascript的人很多,学习了javascript你也可以用在很多地方。不像VimScript那样只能用在Vim里面,而正因为其晦涩,Vim新版本开始支持内嵌 python的写法:

python << EOF
import random
print random.randint(0,10)EOF


VimScript中 Python等动态的支持正是说明其开发维护者也承认 VimScript本身的古老,对比现代编程语言已经有些格格不入了,缺乏强大的描述能力,难以构建复杂的功能模块,才会去支持Python内嵌这样的写法。可大量的工作还是需要再Python之外完成,同时,并非所有平台自带的Vim都支持python,除了mac外,所有debian / ubuntu 发行版自带的Vim都不支持 Python。导致你想写一个通用的扩展还得判断下是否 has('python') 没有的话老老实实用 VimScript 去实现它,这不是折磨人么?


Sublime里面可以用原生 Python 写扩展,比 VimScript爽,但是 sublime 的插件能做的事情还不及VimScript的一半,所以怎么能指望他们能写出高端的功能来呢?


3. 强大:

Atom的内核 Electron (原来的 Atom-shell)可以理解成:Chromium + Node.JS,而整个Atom的界面,你可以理解成就是一颗 HTML 的 DOM 树结构,这意味着你可以这样:

var div = document.createElement("div"); div.innerText = "abc"; atom.workspace.addBottomPanel(div);

就可以简单的在 atom 里面增加一个显示对象,这意味着再给div加个 html的 onclick就可以实现GUI交互,界面上的对象随便写点html代码就可以控制效果,意味着你可以使用 jQuery 来为atom增加新面板,意味着你只需要写一个简单的 .css 文件就可以把 Atom 整个编辑器的外观给修改了。这在 Vim/Emacs 中是几乎不可想象的事情,sublime基本就别提了。


大量的前端开发技术和 Node.JS 基础模块供你任意使用,正是由于近年 Chromium / node.js 系列技术的成熟,和 Atom / Visual Studio Code 这类基于前端技术的客户端软件的成功,让我看到了客户端(桌面+移动)软件开发的新方向。


做VIM/Emacs不能做的事情


Vim/Emacs过去给人的映像是:几乎能做任何事情,确实如此,但毕竟是二三十年前的东西了,而他们一直坚挺到现在一方面是操作便利,更重要的是这么长时间还没有出现一款又开源又具备同样操作便利性和可扩展性的编辑器,所以Vimer, Emacser 们最乐意展示给别人看的就是他们又安装了什么插件,急于展示可以把 Vim / Emacs 装扮成了一个多像 IDE 的东西,而今天这个“可以做任何事情”的高度可定制特性已经被Atom所吸收并完全超越,就像 Atom 的开发blog:“ Introcing Atom” 上说的一样,对易用性和可展性 “决不妥协” :

We think we can do better. Our goal is a zero-compromise combination of hackability and usability: an editor that will be welcoming to an elementary school student on their first day learning to code, but also a tool they won't outgrow as they develop into seasoned hackers.


抛开易用性的这个 Atom 的明显优势不说,前面其实已说了不少 Atom 比 Vim/Emacs 更灵活强大的地方,可能有些人还有疑惑,不是说 Emacs “没有不能做的事情” 么?你看 Atom的面板里面可以嵌入一个 Terminal,Vim/Emacs一样可以嵌入啊,为何还说 Atom 比它强啊?


没错,Vim用久了会产生心理舒适区,多模式编辑使人神清气爽,命令化文本处理让你赏心悦目,但是受限于本身机制用久了会容易痛苦挣扎:虽然vim的各种扩展似乎什么事情都能做,但每个扩展却只能做到70分,总有那么30%的地方做不到位。所以用的时间长了,上半身爽的要死,下半身痛不欲生。。。。


Vim/Emacs即便大部分扩展功能也都可以称为“能用”,可几十年的历史包袱太沉,很多事情对他们来讲就是禁区,比如诡异的标签功能,容易误操作的buffer/窗口切换,缺乏异步机制,编译时间长只有傻等着,无法跟Atom一样边读代码,边运行程序看结果,对照输出结果和源代码找问题,连实现个内嵌终端都用了若干年,还实现的那么别扭。。。。。。。。。


这类硬伤有许多,再举个最简单的例子,minimap,就是 sublime那种大家喜欢的文档缩略图,这个现代编辑器必备的功能,谁能用 Vim/Emacs 实现一下看看?Atom 可以衍生出 Visual Studio Code 这样漂亮的编辑器,Vim/Emacs能衍生么?Atom可以随便用各种先进的前端技术,不当可以嵌 Terminal我甚至可以再 Atom 嵌入一个 js版本的 DOSBOX 玩老游戏《命令与征服》:

https://archive.org/details/softwarelibrary_msdos_games

Play DOS games online


当然这样并没有任何卯用,但是如果在 Atom里面内嵌一个浏览器,方便的实时预览html/css的效果呢?或者 Atom 里面内嵌一个 Markdown Previewer ,实时查看 Markdown 的效果呢?请问 Vim/Emacs 里怎么实现法?


Atom插件演示:markdown实时预览,左边写右边即时更新,100%兼容github的markdown语法


短短两年的时间,这么多优秀的插件,只想说,如今 Atom 作为 Vim/Emacs 的继承者和超越者出现了,所以社区对 Atom 的反应也是热烈的,看看下面一组数据,截止今天(2016年3月15日),Atom共有扩展插件 3500+ 个,发布不到两年的时间,这是什么概念呢?

Ⅳ 代码编辑器有哪些

C语言代码推荐使用source insight

Ⅳ C语言的代码编辑器怎么用

C语言的代码编辑器一般使用UE,以下介绍UE的使用方法:
1、在UE上用的最多的是c语言,这里,就以c语言作为参考,看看UE的强大的操作功能。打开一个c语言文件。文件-- 打开--选择。
2、这个时候,可以看到它的函数功能和上面的快捷方式的图标是可以使用的。函数列表可以在视图--视图列表--函数列表中找到。
3、然后,可以使用ue的查看方式,这里是默认为c语言格式,还可以设置为c#,java等格式,这样可以把部分信息高亮显示。还可以在:视图 --- 查看方式-----编码方式中找到。
4、比较功能和16进制功能,这个是很强大的工具。因为,在上线的时候,不知道修改了什么就可以使用这个进行查看,还有,在linux下炒作的时候,16进制就可以看到文件中的字符编码,找到最终的错误原因。
5、还有就是ue的列模式,这个模式对于编程来说,简直逆天,当有些数据需要进行修改的时候,只是改某些列中的部分,这个就非常好用了。直接修改多列。这也是ue的一个特色吧。
6、强大的FTP功能,一般可以使用ue直接在ftp服务器上直接编辑文件,然后,直接保存在服务器上,这样呢,可以减少代码的本地管理和版本控制。
7、普通文件操作可以在快捷方式中使用新建,保存等功能,可以使用字数统计功能,具体的字数在状态栏中有显示。

Ⅵ 有哪些好用的代码编辑器值得推荐

作为一个程序开发者,日常的开发工作绝对离不开代码编辑器,不管是前端还是后台,下面几款常用的代码编辑器,可以试试:

1.Notepad++:相信大部分开发人员都听说或使用过这个代码编辑器,记事本的增强版,免费开源、小巧灵活、使用方便,支持常见的自动补全、语法提示、代码高亮,可编辑语言多达27种。

2.EditPlus:这也是一款小巧灵活的代码编辑器,功能类似于Notepad++,拥有强大的文本处理功能,界面简洁美观,启动速度较快,支持常见的语法高亮、代码折叠等功能。

3.PNEdit:这是由上海一家科技公司开发研制的一款免费、跨平台的文本编辑器,支持几乎所有主流语言开发,常见的语法高亮、智能补全、语法检查、括号匹配,这个软件都支持,除此之外,还支持git功能,插件扩展丰富,下载配置相关插件后,可直接调试、运行,在业界是一个非常受欢迎的代码编辑器,张江男工作所选。

相信,对于大部分日常开发工作来说,完全够用了,当然,你也可以使用对应的IDE来完成相关工作

Ⅶ 前端常用的几种在线代码编辑器各有什么优势

JS Bin - Collaborative JavaScript Debugging
介绍一款在线编辑器:jsbin jsbin的用法
优点:不需要登录,即发即预览
缺点:速度不靠谱
RunJS - 在线编辑、展示、分享、交流你的 JavaScript 代码
优点:国内访问速度快,可以上传图片(左下角)
缺点:需要登录,用户名
Create a new fiddle
优点:功能强大,历史记录给力,缺点:访问速度慢

Ⅷ 代码编辑器有什么用

就是用来编辑代码的啊,随便哪个能进行文本编辑的软件都可以做代码编辑器的。
但是一个好的代码编辑器会让你舒心很多,打个比方,写文章你愿意用写字板还是word ?都是文本编辑器

Ⅸ HTML 最好用的代码编辑器是哪个

sublime text 3
editplus
这几个挺好用的
还有hbuilder。前端也挺好用的

Ⅹ 关于代码编辑器的

兄台,每个软件的用法当然是百花齐放的,都有它们各自的特色,你应该到Notepad++的官网去查看使用帮助。

至于,你想实现和网页一样的代码语法高亮,在Notepad++中是自带有这样的功能的,选择 语言(L) -> 再找到相应的语言格式,如c, java等,就可以了

阅读全文

与代码编译器相关的资料

热点内容
工作三年的大专程序员 浏览:726
java毕业设计文献 浏览:140
筹码集中度指标源码 浏览:477
listsortjava 浏览:183
plc闪光电路编程实例 浏览:297
socket编程试题 浏览:203
华为的服务器怎么设置从光驱启动 浏览:867
程序员真的累吗 浏览:324
学信网app为什么刷脸不了 浏览:872
天蝎vs程序员 浏览:991
单片机下载口叫什么 浏览:188
程序员的道 浏览:926
云服务器不实名违法吗 浏览:558
怎样查看文件夹图片是否重复 浏览:995
文件怎么导成pdf文件 浏览:808
打开sql表的命令 浏览:103
安卓手机如何面部支付 浏览:38
天元数学app为什么登录不上去 浏览:824
明日之后为什么有些服务器是四个字 浏览:104
安卓系统l1是什么意思 浏览:26