如何做个IDE?(用C#开发,但不仅限于C#)

lydavid 2004-03-26 01:58:40
一直在用各种IDE开发,可就是想不明白如何实现一个,特向各位请教:)。最好讲讲开发的原理和实现的关键(概括);或者某一项功能的原理和实现,比如界面的技巧、跟踪调试、编译技巧等等等等。我知道这个题目可能开的太大了,所以如果你知道哪怕一点点,也写下来,大家共同交流,共同提高,在此谢过!!!!
...全文
277 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiume 2004-03-26
  • 打赏
  • 举报
回复
先看看编译原理,可能会有用
qjoe0516 2004-03-26
  • 打赏
  • 举报
回复
lydavid 2004-03-26
  • 打赏
  • 举报
回复
大家在给点意见呀
「已注销」 2004-03-26
  • 打赏
  • 举报
回复
可以模仿SharpDevelop的源码:
http://www.icsharpcode.net/

不过,要看懂这些源码,也不容易:)
所以一般配上一本书,是#Develop的作者写的<C#软件项目开发全程剖析>
zdcscc 2004-03-26
  • 打赏
  • 举报
回复
学习
rock1981 2004-03-26
  • 打赏
  • 举报
回复
学习
Montaque 2004-03-26
  • 打赏
  • 举报
回复
界面上比较容易,关键是如何去编译。
hunterzhi 2004-03-26
  • 打赏
  • 举报
回复
帮你顶
gengwei80 2004-03-26
  • 打赏
  • 举报
回复
学习
triout 2004-03-26
  • 打赏
  • 举报
回复
学习
conquersky 2004-03-26
  • 打赏
  • 举报
回复
呵呵 学习来了
newman0708 2004-03-26
  • 打赏
  • 举报
回复
用巴写一个大框架,具体的数据从不同的xml中读取(c++,c,java,html...),对不同的语言就用不同的xml.
HNU 2004-03-26
  • 打赏
  • 举报
回复


我加你了,111554**
wolftop 2004-03-26
  • 打赏
  • 举报
回复
如果要全部源码可以家我QQ~!
183187865
wolftop 2004-03-26
  • 打赏
  • 举报
回复
比如做个C#IDE!
也就是在程序中调用CSC这个控制台编译器!并把所有命令都在调用此工具时带入命令行!然后可以把一些VS提供的工具结合~!
给你个小例子:(片断代码)!如果想要全部的,请加我QQ!~我自己的写的IDE,能调试C#和ASPX;
if((!this.ActiveMdiChild.Text.EndsWith("aspx")) && (!this.ActiveMdiChild.Text.EndsWith("aspX")))
{
this.runTextBox1.Text="±àÒë½á¹û:\n";
Process p=new Process();
p.StartInfo.FileName = pz.textBox1.Text;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
try
{
if(this.isOpen)
{
StreamWriter Sw=File.CreateText(this.ActiveMdiChild.Text);
Form tempChild = this.ActiveMdiChild;
for(int i=0;i<tempChild.Controls.Count;i++)
{
if(tempChild.Controls[i] is RichTextBox)
{
Sw.Write(tempChild.Controls[i].Text);
Sw.Close();
}
}
p.StartInfo.Arguments="/t:winexe /out:"+"\""+this.ActiveMdiChild.Text+"\""+".exe"+" "+"\""+this.ActiveMdiChild.Text+"\"";
p.Start();
if((this.runTextBox1.Text+=p.StandardOutput.ReadToEnd())==null)
this.runTextBox1.Text+="ÎÞ´íÎó.\n\t\t¹§Ï²Äú!±àÒë³É¹¦~!";
p.WaitForExit();
}
else
{
System.IO.Directory.CreateDirectory("C:\\cstemp");
string fname="c:\\cstemp\\test.cs";
isCreateCs=true;
StreamWriter sw=File.CreateText(fname);
Form tempChild = this.ActiveMdiChild;
for(int i=0;i<tempChild.Controls.Count;i++)
{
if(tempChild.Controls[i] is RichTextBox)
{
sw.Write(tempChild.Controls[i].Text);
sw.Close();
this.runTextBox1.Text="±àÒë½á¹û:\n";
p.StartInfo.Arguments="/t:winexe /out:"+fname+".exe"+" "+fname;
p.Start();
if((this.runTextBox1.Text+=p.StandardOutput.ReadToEnd())==null)
this.runTextBox1.Text+="ÎÞ´íÎó.\n\t\t¹§Ï²Äú!±àÒë³É¹¦~!";
p.WaitForExit();
}
}
}
deleteFile();
}
catch
{
MessageBox.Show("Çë¼ì²ìÄúµÄ±àÒëÆ÷ÊÇ·ñ´æÔÚ£¬»òÅäÖ÷¾¶ÓÐ´í¡£","±àÒëÆ÷´íÎó");
}
}
else
MessageBox.Show("Äú±àÒëµÄÊÇASP.NET»òJscriptÎļþ£¬ÇëÑ¡ASPXµ÷ÊÔÏî.","±àÒëÆ÷Ñ¡Ôñ´íÎó");
}
lydavid 2004-03-26
  • 打赏
  • 举报
回复
先谢谢各位捧场!!SharpDevelop的源码已经下了,正在研究(汗)。
TO:newman0708
你说的我不太明白,希望详细点,呵呵

TO:Monqatue
Vs.net 里那个控件的Toolbar是怎么实现的?望指点一二。:)

ROTO:qiume
我不是想写编译器,只是一个IDE,谢谢讨论


athossmth 2004-03-26
  • 打赏
  • 举报
回复
学习

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧