精华内容
下载资源
问答
  • 易语言模仿编写IDE环境源码,模仿编写IDE环境,主画板新窗口过程,画程序,判断单击列,保存上次,取窗口信息_,设置窗口信息_,回调窗口过程_
  • 为VS2010编写IDE

    千次阅读 2014-02-27 13:29:45
    下面说说编写IDE宏的具体步骤(VS2010): 按ALT+F11或者点击菜单:工具-》宏-》宏IDE,出现一个和VS类似的IDE窗口: 在MyMacros上右键添加模块,模块名称随便起(我的如上图所示,叫TieWen,是本人的...

    网上有不少好书,可惜其中有很多是扫描版的,摘抄加注起来很麻烦。为方便自己,也为造福大众,我会将自己喜爱的整理一遍,转换成文本版。

    网上有现成的工具,可以将图片版的pdf转换成文本,保存到ms word中。如果源图片足够清晰的话,文本的识别率还是很高的。

    不过对于代码,其格式则往往比较混乱。手工在word中进行修正,麻烦不说,还容易出错。想起曾经有过几次在VS2010中整理代码,进行的操作基本上都是查找替换和格式化等等;并且,从vs中拷贝的代码,在word中还可以保留语法高亮(关键字蓝色,字符串暗红色,注释绿色)。(不足的是,从VS2010中拷贝的中文,在word中显示为乱码;而从VS2008中拷贝,则完全正常,并且语法高亮也仍然有效)

    查找替换和格式化都是些重复性的劳动,因此想着法子让电脑去做。

    一开始打算使用dos批处理,但这样一来如果仍要使用语法高亮,就要手工拷贝到VS2010,在拷贝到word,多了一个步骤,麻烦。于是就想能不能直接在VS2010中完成。没想到还真行。通过网络和MSDN,知道VS提供了一个叫做IDE宏的东西。

    IDE宏原理上和VBA差不多,或者说就是应用于VS的VBA,只不过使用的VB变成.Net版的了(我不懂VB,如果说错了勿怪)。

    下面说说编写IDE宏的具体步骤(VS2010):

    按ALT+F11或者点击菜单:工具-》宏-》宏IDE,出现一个和VS类似的IDE窗口:

    在MyMacros上右键添加模块,模块名称随便起(我的如上图所示,叫TieWen,是本人的网名)。

    双击模块名称,打开编辑窗口,默认的内容如下:

    Imports System
    Imports EnvDTE
    Imports EnvDTE80
    Imports EnvDTE90
    Imports EnvDTE90a
    Imports EnvDTE100
    Imports System.Diagnostics
    
    Public Module aaa
    
    
    End Module
    




    我们所要作的,就是在Module TieWen和End Module之间写入合适的Sub(过程,无返回值)(能否写成Function(有返回值)本人并未深入研究)。

    我最近正在整理的书籍中源码是基于Java的,因此给Sub取名为Macro_FormatJava,完整的代码如下(有点问题,多多包涵):

    Imports System
    Imports System.Collections.Generic
    Imports EnvDTE
    Imports EnvDTE80
    Imports EnvDTE90
    Imports EnvDTE90a
    Imports EnvDTE100
    Imports System.Diagnostics
    
    Public Module TieWen
    
        Sub MergeAll(ByRef Content As String, ByVal From As String, ByVal sTo As String)
            While (Content.Contains(From))
                Content = Content.Replace(From, sTo)
            End While
        End Sub
    
        Sub PrefixLf(ByRef Content As String, ByVal Who As String)
            Content = Content.Replace(Who, vbLf + Who)
        End Sub
    
        Sub PostfixLf(ByRef Content As String, ByVal Who As String)
            Content = Content.Replace(Who, Who + vbLf)
        End Sub
    
        Sub DTEReplaceAll(ByVal Target As EnvDTE.vsFindTarget, ByVal From As String, ByVal sTo As String, Optional ByVal UseRegEx As Boolean = False, Optional ByVal bLoop As Boolean = True)
    
            DTE.Find.FindWhat = From
            DTE.Find.ReplaceWith = sTo
            DTE.Find.Target = Target
            DTE.Find.MatchCase = True
            DTE.Find.MatchWholeWord = False
            DTE.Find.MatchInHiddenText = False
            If (UseRegEx) Then
                DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxRegExpr
            Else
                DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxLiteral
            End If
            DTE.Find.ResultsLocation = vsFindResultsLocation.vsFindResultsNone
            DTE.Find.Action = vsFindAction.vsFindActionReplaceAll
            While ((DTE.Find.Execute() <> vsFindResult.vsFindResultNotFound) And bLoop)
    
            End While
    
        End Sub
        ' 以上几个是辅助Sub,而不是宏
    
    
        Sub Macro_FormatJava()
            DTE.ActiveDocument.Selection.SelectAll()
            Dim Content As String
            Content = DTE.ActiveDocument.Selection.Text
    
    
            '处理开始
            Dim operators_NeedPrefixAndPostfixSpace(), operators_IfIsAssignmentNeedPrefixAndPostfixSpace(), operators_NeedPrefixSpace(), operators_NeedPostfixSpace(), operators_NeedNoSpace(), operators_IfMatchedThenNeedPrefixAndPostfixSpace()
            '此处无法使用VB的Array函数
            operators_NeedPrefixAndPostfixSpace = "public,class,interface,implements,return,:,+,-,*,/,%,&,|,^,<<,>>,=,==,!=,<,<=,>,>=,&&,||".Split(",")
            operators_IfIsAssignmentNeedPrefixAndPostfixSpace = "+,-,*,/,%,&,|,^,<<,>>".Split(",")
            operators_NeedPrefixSpace = "{,!,~".Split(",")
            operators_NeedPostfixSpace = ",|;".Split("|")
            operators_NeedNoSpace = "},->,::,.".Split(",") '不考虑case标签或其它符号后紧跟::的情形
            operators_IfMatchedThenNeedPrefixAndPostfixSpace = "new,delete".Split(",")
            '尚未处理的符号:++、--(前后缀形式的区分比较麻烦)、()、[]、?:
            '一元操作符+、-、*、&被当作二元操作符处理了;
            For Each i In operators_NeedPrefixAndPostfixSpace
                Content = Content.Replace(i, " " + i + " ")
            Next
    
            For Each i In operators_NeedPrefixSpace
                Content = Content.Replace(i, " " + i)
            Next
    
            For Each i In operators_NeedPostfixSpace
                Content = Content.Replace(i, i + " ")
            Next
    
            Content = Content.Replace(vbTab, " ")
            '去除多余的空格
            MergeAll(Content, "  ", " ")
    
            '合并被分开的//、/*、*/、**,必须在去除多余的空格之后调用
            MergeAll(Content, "/ /", "//")
            MergeAll(Content, "/ *", "/*")
            MergeAll(Content, "* /", "*/")
            MergeAll(Content, "* *", "**")
    
            '必须在去除多余的空格之后调用
            For Each i In operators_IfIsAssignmentNeedPrefixAndPostfixSpace
                Content = Content.Replace(i + " =", i + "=")
            Next
    
            '必须在去除多余的空格之后调用
            For Each i In operators_NeedPrefixSpace
                Content = Content.Replace(i + " ", i)
            Next
            For Each i In operators_NeedPostfixSpace
                Content = Content.Replace(" " + i, i)
            Next
    
            '必须在去除多余的空格之后调用
            For Each i In operators_NeedNoSpace
                Content = Content.Replace(" " + i, i)
                Content = Content.Replace(i + " ", i)
            Next
    
            'operators_IfMatchedThenNeedPrefixAndPostfixSpace无需处理
    
            Dim operators_NeedPrefixLf(), operators_NeedPostfixLf()
            '此处无法使用VB的Array函数
            operators_NeedPrefixLf = "},if(,if( ,for(, for (,return".Split(",")
            operators_NeedPostfixLf = "{".Split(",")
    
            For Each i In operators_NeedPrefixLf
                PrefixLf(Content, i)
            Next
            For Each i In operators_NeedPostfixLf
                PostfixLf(Content, i)
            Next
    
            Content = Content.Replace(vbCrLf, vbLf)
            Content = Content.Replace(vbCr, vbLf)
            MergeAll(Content, " " + vbLf, vbLf)
            MergeAll(Content, vbLf + vbLf, vbLf)
    
            '调用ALT+F8格式化代码(在我的机器上会自动在行尾增加空格,因此上面的替换仅为处理{}使用,具体的去除行尾空格,已使用查找替换实现)
            DTE.ActiveDocument.Selection.Text = Content
            DTE.ActiveDocument.Selection.SelectAll()
            DTE.ExecuteCommand("Edit.FormatSelection")
    
            DTE.ActiveDocument.Selection.SelectAll()
    
            '将Tab替换成四个空格
            '由于DTE.ActiveDocument.Selection.Text = Content会自动进行格式化,
            '所以不能用代码进行替换再赋值,否会会导致多余的空格。
            '通过查找替换功能实现
            DTEReplaceAll(vsFindTarget.vsFindTargetCurrentDocumentSelection, vbTab, "    ")
            '结束处理
        End Sub
    End Module
    


     

     Sub写好之后,就是将之应用到VS。

    点击VS的菜单:工具-》选项,切换到环境-》键盘:


    在显示命令包含下的输入框中输入先前的模块名或Sub的名称,等上1-2秒钟,会将过滤后的结果刷新在输入框下发的列表中:

    选中对应的宏(刚刚我们所编写的Sub),然后将光标放在“按快捷键P”下方的输入框中,按一个快捷键,如果该快捷键已经被其它命令占用,会在“快捷键的当前使用对象U”下方的下拉框中显示出来:

    此时按Backspace,删除快捷键,重新选择一个(注意,一定要按Backspace删除,不要直接继续按),直到该快捷键未被占用(我选到的时候ALT+T),然后点击“分配”按钮,点击确定关闭选项窗口。

    然后,打开一个源码文档,按下快捷键(我的是ALT+T)试试效果吧。

    如果觉得不好,就修改Sub,直到自己满意为止。

     

    补充:

    如果发现有些IDE已经实现的功能而自己不会写,可以使用VS的宏记录功能:

    按Ctrl+Shift+R或者点击菜单项“工具-〉宏-〉记录TemporaryMacro”,然后执行VS动作(比如执行查找替换),完毕后停止宏记录,然后打开宏编辑器,打开RecordingModule,代码全在这里头。

    展开全文
  • IDE

    千次阅读 多人点赞 2013-11-18 10:50:20
    IDE(Integrated Development Environment,集成开发环境)。DE集成开发环境(简称IDE)软件是用于...例如,BASIC语言在微软办公软件中可以使用,可以在微软Word文档中编写WordBasic程序。IDE为用户使用Visual Basic、J

     

    IDE(Integrated Development Environment,集成开发环境)。DE集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。该程序可以独立运行,也可以和其它程序并用。例如,BASIC语言在微软办公软件中可以使用,可以在微软Word文档中编写WordBasic程序。IDE为用户使用Visual Basic、Java和PowerBuilder等现代编程语言提供了方便
    展开全文
  • 编写简易IDE

    千次阅读 2013-06-10 11:52:46
    索性又写了一个简易性的IDE;很多功能还在完善中。 工具主要有SQL设计器、Form设计器、代码设计器构成 界面原理: 采用MS的DesignSurface组件实现界面设计器;在通过DesignSurface生成界面的XML;并对XML进行解析;...

    由于最近工作不是很多;索性又写了一个简易性的IDE;很多功能还在完善中。

    工具主要有SQL设计器、Form设计器、代码设计器构成

    界面原理:

    采用MS的DesignSurface组件实现界面设计器;在通过DesignSurface生成界面的XML;并对XML进行解析;再通过反射生成界面组件

    以下是部分代码

    ype rootComponentType = typeof(Form);
    DesignSurface ds = new DesignSurface();
    IDesignerHost host = (IDesignerHost)ds.GetService(typeof(IDesignerHost));
    host.CreateComponent(typeof(Form));
    Control c = ds.View as Control;
    c.BackColor = Color.White;
    c.Dock = DockStyle.Fill;
    this.Controls.Add(c);
    

     

    代码原理:

    主要采用IronPython和.Net交互;并代用自己写的API

    以下是部分代码

    ScriptEngine engine = Python.CreateEngine();
    ScriptScope scope = engine.CreateScope();
    
    ScriptSource source = engine.CreateScriptSourceFromString(TxtCode.Text, SourceCodeKind.Statements);
    source.Execute(scope);

     

    其他功能如导出到Excel等;

    接下来会完善工具菜单下的功能:

    1.根据数据字典生成界面

    2.根据SQL生成界面

    3.根据已经设计的界面动态生成代码

    4.根据DataTable反射动态赋值等

    5.增加保存到数据库功能

    6.等等

    下面是截图


    <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
    展开全文
  • 易语言模仿编写易语言IDE环境源码
  • ide

    2017-12-01 16:33:03
    集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体...

    集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver等),因为很多项任务会自动生成。

    优点
    节省时间和精力。IDE的目的就是要让开发更加快捷方便,通过提供工具和各种性能来帮助开发者组织资源,减少失误,提供捷径。
    建立统一标准。当一组程序员使用同一个开发环境时,就建立了统一的工作标准,当IDE提供预设的模板,或者不同团队分享代码库时,这一效果就更加明显了。
    管理开发工作。首先,IDE提供文档工具,可以自动输入开发者评论,或者迫使开发者在不同区域编写评论。其次,IDE可以展示资源,更便于发现应用所处位置,无需在文件系统里面艰难的搜索。
    缺点
    学习曲线问题。IDE基本上是比较复杂的工具,为了更好的熟练使用,需要一定的时间和耐心。
    初学者的困难。对初学者来说,使用IDE来学习开发有相当的难度,不适合学习一种新语言时使用。
    无法修复坏代码或设计。开发者不能完全依赖工具的便捷,还是必须保持专业水准和熟练度,开发的成果好坏主要还是看开发员的技术。

    常见的IDE编辑
    Microsoft Visual Studio
    Microsoft Visual Studio(简称VS)是微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台.如果你在做Windows的应用开发,那么使用Microsoft自己的开发工具肯定没错。Visual Studio产品包含C++、C#和VB.NET语言。还可以为Windows x86、Windows RT和Windows手机做开发。最新版被优化为可用于触摸,方便使用Microsoft Surface平板进行编程的开发者。开发者需要付费购买。
    Eclipse
    Eclipse是著名的跨平台开源集成开发环境(IDE)。最初主要用来Java语言开发,目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性,所以许多软件开发商以Eclipse为框架开发自己的IDE。

    展开全文
  • 编写自己的IDE

    千次阅读 2005-05-24 14:22:00
    编写自己的IDE
  • 如何使用Libero IDE编写Verilog模块,并验证语法错误,最后综合,然后查看综合后的电路?
  • 编写小型Java IDE

    千次阅读 2006-11-21 18:44:00
    编写小型Java IDE作者:Y___Y联系:yinwei_88@sina.com市面上有很多Java的IDE,比如Eclipse,Borland JBuilder,NetBeans等等,它们的功能都很强大,但都有一个普遍的缺点,就是要求机器的配置比较高,所以对于想...
  • C语言编写IDE工具升级版,附VC源代码,这次重新写了一遍并加入的多工程,关键字蓝色显示,代码缩进等功能,大家自己看吧,这次代码有点多
  • HTML编辑器 这个用JavaScript编写IDE
  • IDE介绍

    2020-08-22 18:09:45
    编码工具取代了简单的记事本工具,辅助程序员编写源代码的常用高效编写工具。 类似word,我们写文档会打开word文档来编写。 代码也同样需要借助工具来开发。 常见的编辑工具有记事本、sublime text、notepad++ ...
  • 使用LiteIDE编写Markdown文档

    千次阅读 2012-12-19 12:12:53
    LiteIDE最新版本x15提供了Markdown文件的编辑功能。 LiteIDE的Markdown编辑功能简介 语法高亮显示支持实时预览和同步滚动... 使用LiteIDE编写Markdown文档 一、下载LiteIDE 下载地址: http://code.google.com
  • pic单片机编写程序软件MPLAB IDE用户指南
  • 美眉 Qt 编写的智能 IDE 的重建。
  • 使用IDE编写python代码

    千次阅读 2015-05-16 15:36:08
    从现在开始,代码的编写将从python默认的IDLE转到新的IDE上,因为我要开始写一些稍具“规模”的代码块了,而不只是在IDLE上的那些小打小闹了。我的第一个python IDE我的第一个python IDE是Eclipse,这个大家可能比较...
  • I have tried using some browser based IDE's like cloud9 IDE recently. But it doesnt have direct support to code java programs. And I also read that we need to follow certain tedious procedures to writ...
  • 编写C#程序的IDE

    2017-11-15 18:24:00
    编写C#程序,在Windows平台下,除了昂贵的Visual Studio.NET这个正宗的工具外,你还了解哪些? 听说有个Eclipse,IBM投钱开发的开源工具,有人也做了个for .NET的plugin,自己没有用过,没有发言权。 最近却看到另外...
  • web ide

    千次阅读 2019-06-11 00:15:41
    web ide 在做项目中,遇到一个这样的场景,当我们把系统服务搭建好,给用户显示的时候,如果用命令行一步步的走,感觉会把他们弄晕,另外,交付系统,还得一步步的写操作流程,遇到一点问题,就还得补充进去,所以我...
  • IDE:Eclipse Che:Eclipse下一代IDE

    千次阅读 多人点赞 2020-08-28 07:48:16
    Eclipse Che被Eclipse官方称为下一代IDE,作为老牌的IDE,被其寄予厚望的Eclipse Che到底有什么特点,在这篇文章中我们来一探究竟。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 159,964
精华内容 63,985
关键字:

如何编写ide