
对Excel插件的开发,目的是在工具栏中添加一个外部程序,点击这个外部程序,可以将当前的Sheet数据获取到并保存到另外一个sheet里面;主要注意两方面:
一、Excel插件外部程序建立向导,具体步骤是:
>
Sublime Text 2的扩展模型是相当的功能全面。可以改变语法高亮,实际的编辑器外观,以及所有的菜单项。此外,还可以创建新的build环境,自动补全,语言定义,代码区段,宏,键绑定,鼠标绑定以及插件。所有这些不同形式的改装都是用组织在package中的文件来实现的。
所谓pacakage就是一个存储在你的Packages目录中的文件夹。可以点击Preferences > Browse Packages… 菜单进入你的Packages目录。也可以通过创建一个zip文件并且把扩展名改为sublime-package来实现把pacakage打包成一个单独文件。将在本教程中讨论一点怎么打包。
Sublime绑定了很多不同的package。大不多数绑定的都是和特定语言相关的package,包括语言定义,自动补全以及build环境。除了语言相关的package,还有两个Default和User package。Defaultpackage包含了所有的标准键绑定,菜单定义,文件设置和一大堆用python写的插件。
During the process of writing a plugin, the Sublime Text 2 API reference will be essential
要写一个插件, Sublime Text 2 API reference是根本。此外,Defaultpackage对于怎么做工作也是一个很好的参考。编辑器的大部分功能都是通过commans命令来实现,除了敲入字符之外的所有 *** 作都可以通过commans完成。查看Preferences > Key Bindings – Defaultmenu ,你可以找到很多有用的内建的功能。
现在,pacakge和产检的区别已经清楚了,可以开始写插件了。
第一步 - 起步
Sublime有一个功能可以产生一个简单插件所需要的Python代码框架。选择Tools > New Plugin…菜单,可以打开一个新的文件,带有下面的样式:import sublime, sublime_plugin
class ExampleCommand(sublime_pluginTextCommand):
def run(self, edit):
selfviewinsert(edit, 0, "Hello, World!")
可以看到,引入了两个Sublime Python的模块,使得可以访问其API并且创建一个新的类。在开始编辑创建己的插件之前,请先保存这个文件。
要保存这个文件我们需要创建一个package来保存它。 按下 ctrl+s(Windows/Linux) or cmd+s (OS X) 来保存文件。保存对话框默认打开Userpackage,不要把文件存在那里,而是创建一个新的文件夹,命名为Prefixr。
Packages/
…
- OCaml/
- Perl/
- PHP/
- Prefixr/
- Python/
- R/
- Rails/
…
现在,把文件保存在Prefixr文件夹中,命名为Prefixrpy。其实文件名并不重要,只要以py为扩展名就可以。但方便起见,还是用插件的名字吧。
现在,插件已经做了保存。我们可以试着运行了。输入 ctrl+`打开Sublime的控制台,这是一个可以访问API的Python控制台。输入下面的Python代码来测试我们的新插件:
viewrun_command('example')
将看到Hello World被插入到了插件文件的开头。接下来继续之前先Undo掉这个新的插入。
第二步 - Comman的类型和名字
对于一个插件,Sublime提供了三种类型的command。
Text commands 提供通过一个View对象访问被选定的文件或者buffer的内的能力
Window commands 提供一个Window对象,可引用当前的窗口
Application commands 没有引用任何特定的窗口,文件或者buffer,很少使用。
因为要用插件来 *** 作CSS文件或者buffer里面的内容,所以要使用 sublime_pluginTextCommand 类作为我们定制的Prefixr命令的基类。这时,就需要命名命令的类名了。
在代码框架中,可以看到下面的类:
class ExampleCommand(sublime_pluginTextCommand):
在运行命令时,在控制台中执行的是下面的代码:
viewrun_command('example')
Sublime将把继承自任意一个 sublime_plugin类(TextCommand,WindowCommand or ApplicationCommand)的类的名字的Command后缀去掉,并且用下划线符号命名替换驼峰式命名。
这样一来,为创建一个名字是prefixr的command,类名就必须是PrefixrCommand。
class PrefixrCommand(sublime_pluginTextCommand):
第三步 - 选定文本
Sublime最有用的功能之一就是具备多行选定的功能
现在,已经正式命名了我们的插件,可以开始从当前的buffer中获取CSS并且发送到Prefixr API上了。Sublime最有用的功能之一就是具备多行选定的功能。由于要获取选定的文件,我们需要把所有选定的行放入我们的插件中处理,而不仅仅是第一个选定的。
由于写的是一个文本命令,所以可以通过selfview访问当前view。view对象的self()方法将返回一个当前选定内容的iterable Region集合,可以通过花括号扫描到这些内容。若找不到花括号,可以扩大选定内容到周围的括号,以保证整个块有一个括号前缀。选定内容中是否包含花括号还将有利于我们后面对Prefixr API返回的内容作空白调整和格式调整。
braces = False
sels = selfviewsel()
for sel in sels:
if selfviewsubstr(sel)find('{') != -1:
braces = True
用这几行代码替换框架中的run()方法中的代码。
若未找到任何的花括号,需要循环检测每一个选定区段,把每一个区段和后括弧关联起来。之后,用带有to参数设置为 brackets的内建命令 expand_selectionl来确保获取了每个CSS块的完整内if not braces:
new_sels = []
for sel in sels:
new_selsappend(selfviewfind('\}', selend()))
selsclear()
for sel in new_sels:
selsadd(sel)
selfviewrun_command("expand_selection", {"to": "brackets"})
若果想再检查一次你的代码,可以和源代码zip文件中的Prefixr1py文件对比一下。
第四步 - 线程
为防止糟糕的连接破坏其他正常工作,需要确保在后台完成Prefixr API调用。
此时,选定的文本已经扩展到了能抓取每个CSS块的完整内容。现在,需要把他们发送打牌Prefixr API上。这只需要一个简单的>
这个例子就是要扩展Vault
Explorer的功能,在选中文件时的右键菜单中参加添加一个自定义命令,执行这个命令时查看选中文件的大小。好了,现在开始 *** 练起来。
首先启动Visual Studio创建一个Class library的项目。对于Vault 2014,net
framework选择40。然后添加一些必要的引用,对于这个例子需要添加的引用如下,所有这些程序集都可以从Vault SDK中找到:
"AutodeskConnectivityWebServicesdll"
"AutodeskConnectivityExplorerExtensibilitydll"
"AutodeskConnectivityExtensibilityFrameworkdll"
AutodeskDataManagementClientFrameworkdll
AutodeskDataManagementClientFrameworkVaultdll
对于这些引用,要把Copy Local改成false,因为Vault Explorer都已经包含这些程序集了。
下面来写点代码,对于Vault Explorer扩展程序,必须给程序集的AssemblyInfo中添加以下5个程序集属性,否则的话你的扩展程序将不能进行:
//必须包含下面5个程序集属性,否则不能运行
//[assembly: AssemblyCompany("Autodesk")]
//[assembly:AssemblyProduct("HelloWorldVaultExplorerExtension")]
//[assembly:AssemblyDescription("This is a sample application to extend vault explorer")]
//这里的GUID可以用Visual Studio的工具生成, 工具-->生成GUID
[assembly: AutodeskConnectivityExtensibilityFrameworkExtensionId("9FB25A13-242C-4BAE-93B5-B08D77B619CA")]
//对应Vault的版本号,对应Vault 2014,版本号为60
[assembly: AutodeskConnectivityExtensibilityFrameworkApiVersion("60")]
一般前面三个是通用的,VS都已经加好了你只要保证他们的值正确就行了,查看的方法就是,进入项目的属性,程序选项卡,上面有个程序集信息按钮:
为了让Vault Explorer认识这是Vault
explorer的插件,我们还需要定义一个vcetconfig文件,这个就是一个xml,内容如下,你可以从Vault
SDK中的帮助文件中找到模版,把内容改一下就行了。注意其中加粗的部分,格式的 “程序集名类名, 程序集名”:
<xml version="10" encoding="utf-8" >
<configuration>
<connectivityExtensionSettings3>
<extension
interface="AutodeskConnectivityExplorerExtensibilityIExplorerExtension, AutodeskConnectivityExplorerExtensibility, Version=18000, Culture=neutral, PublicKeyToken=aa20f34aedd220e1"
type="HelloWorldVaultExplorerHelloWorld, HelloWorldVaultExplorer">
</extension>
</connectivityExtensionSettings3>
</configuration>
在Build时要把这个文件拷贝到输出目录:
然后添加一个public的类,并且实现IExplorerExtension接口, 下面是全部代码,包括注释:
using AutodeskConnectivityExplorerExtensibility;
using AutodeskConnectivityWebServices;
using System;
using SystemCollectionsGeneric;
using SystemLinq;
using SystemReflection;
using SystemText;
using SystemWindowsForms;
using VDF = AutodeskDataManagementClientFramework;
首先你需要建立一个插件项目才可以开发
我没有做过,但是msdn上面的VisualStudio扩展和自动化那一部分说的很清楚,你可以看看,里面有一个简单的例子
当然,其实没必要开发一个插件来的,你用VisualStudio宏就可以实现你的功能
ActiveDocumentSeletedText = ClipBoardGetText();即可
插件技术,从本质上讲它属于程序的一种,是指在遵循相应的程序接口的前提下,插件程序对其进行编写。
摘要: 经济的持续发展,科学技术的不断进步,带动了计算机软件技术的发展,同时也使插件技术被广泛应用于计算机软件技术中,插件技术应用的水平高低直接影响着计算机软件技术在计算机中的应用,插件技术的应用可以使计算机软件的功能得到完善,从而为用户提供更好的服务。因此本文将会对计算机软件技术中插件技术的应用进行深入的研究分析。
关键词:计算机软件技术;插件技术;应用发展
为了完善计算机软件的功能,提高计算机软件的稳定性,更好的为计算机用户服务,插件技术被广泛应用于计算机软件技术中,因此如何提高计算机软件技术中插件技术的应用水平是现阶段计算机软件工作人员的主要任务之一。
1插件技术概述
插件技术,从本质上讲它属于程序的一种,是指在遵循相应的程序接口的前提下,插件程序对其进行编写[1]。在程序运行的过程中,为了能够扩展计算机软件的应用功能,应用程序通常需要利用相对应的接口对插件进行规范处理,从而达到提升计算机软件扩展性的目的。插件技术主要是接口来实现运行的,接口就是为了保证插件和宿主程序可以正确通信而设置的通信标准。接口实际上是用来对计算机软件实现调用规范的,所以是由宿主程序的开发者制定接口的,然后开发者只要将接口规范公开,插件开发工作者就可以开发出与其相关的插件。
计算机软件技术中经常使用的插件技术通常分为以下几种类型:简单插件,它是与命令相似的一种插件技术。由于它的结构相对简单,对运行环境没有太多的限制,在安装成功后可以按照用户设定的步骤直接运行,简单的 *** 作过程,便于学习应用。但是简单插件的功能单一而且自由程度不高,因此也存在一定的缺陷[2]。特殊插件需要使用特殊的脚本语言,而且较之于简单插件,程序的编写较为复杂,首先要开发出一个解释内核,用于对程序的解释,然后在对其进行正常程序的编写。但是特殊插件可以不需要其他相应的工具对其进行开发,减少了其他工具的使用,特殊软件主要应用于办公自动化的系统当中。
2插件技术在计算机软件技术中的应用
插件技术在计算机软件技术中的应用主要体现在以下几个方面:
第一,使用插件技术分析计算机系统的需求。例如在办公室管理系统之中,插件技术主要是对主程序利用接口所传递过来的数据进行处理,当插件完成数据处理后,再通过接口将数据反馈给宿主程序。另外,每个插件都可以独立处理多种系统需求,而且可以进行大批量的处理工作,提高了计算机软件的工作效率,能够更快更准确的满足用户的需求。
第二,使用插件技术对思路进行设计。在设计思路的系统中,依据插件的实现标准,将其分为处理功能部分和主程序部分。处理功能部分主要是利用插件和动态链接库实现思路的设计,而主程序主要是对处理功能部分进行管理,对处理流程进行建立、组织,同时对接口进行设置,保证主程序与插件之间、插件与插件之间的通信正确[3]。另外主程序可以记录插件在实际运行过程中所产生的信息、错误以及对错误的处理措施等,并将其写入日志文件,为日后用户对其的查询提供了方便,同时它也可以相应帮助事件,能够对提示信息以及帮助信息进行显示。
第三,使用插件技术对实现对接口的设计。保证插件和宿主程序可以正确通信而设置的通信标准就是接口,因此可以看出,接口的设置对于插件之间同主程序的信息传递有着十分重要的影响。我们在设计接口时,我们首先要创建一个数据结构,这个数据结构中要能够包含所有插件所需要的各种数据信息,同时数据结构的格式要根据数据文件的格式进行设计,这样可以保证插件之间可以畅通无阻的传递所需参数、数据存储地址以及其他信息。另外,在对接口的设计中还要包含画图函数地址、数据及其他插件的内存地址、输入文件地址等信息。
第四,对插件技术的调用。插件技术在计算机软件技术中的调用过程一般是:当计算机软件在系统启动时就会利用插件管理功能发出加载通知,加载所有需要的插件,然后搜索需要安装完成的插件文件,得到插件软件的版本信息、基本配置信息等,当获取插件文件后仍不能进行正确的信息配置,我们就可以将插件软件当作非法插件,然后对其进行处理。这样做可以在很大程度上提高插件信息的安全性与可靠性。
当正确配置软件插件后,插件管理就会在平台内核上加载插件,而且在计算机的人机界面上也可以实现直接安装,从而有利于对动态生态机制的合理调动[4]。调动动态生态机制主要是对工具栏、菜单选项以及对话框进行调动 *** 作,当用户根据实际需求对插件进行选择后,插件管理部分会再次定位加载插件文件,同时根据插件配置要求的改变初始化处理插件软件。
最后是对插件软件的实例化加载,当实例化加载处理后,便完成了对计算机软件技术中插件技术的调用过程,从而使插件软件的功能得以实现,为计算机用户带来更好的服务。但是,我们需要注意的是在主程序中是由插件管理部分实现对插件技术的安装与删除 *** 作的,所以我们要把插件安装的基本信息保存到相应的位置中,例如:注册表或配置文件中,这样可以提高计算机系统在运行过程中的安全性与稳定性,从而更好满足用户的需求。
3结语
综上分析可知,插件技术在计算机软件技术中的应用主要是分析计算机系统的需求、设计思路以及接口,使用插件技术可以提高计算机软件的智能化与集成化,促进计算机软件功能完善,从而为用户提供更好的服务[5]。
参考文献
[1]洪新军插件技术、分层技术应用于计算机软件技术中的价值探讨[J]电脑编程技巧与维护,2016,02:10-12
[2]张剑基于插件技术的雷达信号仿真软件的设计与实现[D]国防科学技术大学,2009
[3]李林基于插件技术的细长小孔自动精密检测系统软件研究[D]西北工业大学,2007
[4]巫细波,胡伟平基于NET反射技术的插件式GIS软件设计原理与实现[J]地理与地理信息科学,2009,06:41-44
[5]卓越,吕飞鹏,黄斌,易雷,胡鹏飞MsNet插件技术在继电保护整定计算软件中的应用研究[J]继电器,2005,21:26-29+49
;以上就是关于请问高手,怎样开发一个魔兽世界插件软件编程全部的内容,包括:请问高手,怎样开发一个魔兽世界插件软件编程、游戏插件小程序怎么编、如何开发 Piwik 插件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)