如何自制一个代码编辑器
发布网友
发布时间:2022-05-02 05:46
我来回答
共3个回答
热心网友
时间:2023-10-09 19:04
编使用了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控件的文字。
}
}
}
然后我们编译,修改报错的问题,运行。
热心网友
时间:2023-10-09 19:05
微软的Microsoft Visual Studio
adobe的dreamweaver
webStorm
phpStorm
当然,记事本也是可以用来做代码编辑器的,只是没有提示
个人推荐使用webStorm
热心网友
时间:2023-10-09 19:05
有难度, 像sublime这种都是 基于vim内核实现的