├── .gitignore
├── LICENSE
├── README.md
└── src
├── CodeBuilder.Core
├── CodeBuilder.Core.csproj
├── CodeBuilder.Core.csproj.user
├── Designer
│ ├── CategoryConsts.cs
│ ├── ChangedPropertyConverter.cs
│ ├── ChangedPropertyEditor.cs
│ ├── CollectionConverter.cs
│ ├── CollectionViewEditor.cs
│ ├── ColumnOwnerConvert.cs
│ ├── DisableViewEditor.cs
│ ├── ForeignKeyEditor.cs
│ ├── ForeignKeyEditorForm.Designer.cs
│ ├── ForeignKeyEditorForm.cs
│ ├── ForeignKeyEditorForm.resx
│ ├── ForeignKeyViewEditor.cs
│ ├── HostConvert.cs
│ ├── IModeView.cs
│ ├── IndexViewEditor.cs
│ └── SubKeyViewEditor.cs
├── DynamicFunc
│ ├── DefaultFuncProvider.cs
│ ├── DynamicFuncAttribute.cs
│ ├── DynamicFuncBuilder.cs
│ ├── DynamicFuncHelper.cs
│ ├── DynamicFuncInvokeException.cs
│ └── IDynamicFuncProvider.cs
├── EventBus
│ ├── DefaultEventBusHandler.cs
│ └── IEventBusHandler.cs
├── ExtendPropertyAttribute.cs
├── FileTypeHelper.cs
├── Forms
│ ├── ChangedFormBase.cs
│ ├── DockFormBase.cs
│ ├── DockFormBase.resx
│ ├── FormBase.cs
│ ├── FormBase.resx
│ ├── FormCloseHandler.cs
│ ├── IChangeManager.cs
│ ├── IClosableDockManaged.cs
│ ├── ICloseManager.cs
│ ├── IContextMenuManager.cs
│ ├── IMainMenuManager.cs
│ ├── ISaveAsManager.cs
│ └── IWindowSetManager.cs
├── HostingExtensions.cs
├── IConfigureSupported.cs
├── IDevHosting.cs
├── ILogQueue.cs
├── INotifyWindow.cs
├── IPlugin.cs
├── ISourceProvider.cs
├── ITemplateProvider.cs
├── IToolProvider.cs
├── Initializers
│ ├── IProfileInitializer.cs
│ ├── ISchemaInitializer.cs
│ └── InitializerUnity.cs
├── LocalDynamicCache.cs
├── MainMenuKeys.cs
├── Processor.cs
├── Profile.cs
├── ProfileUnity.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── RegistryHelper.cs
├── RequiredCheckAttribute.cs
├── Resources
│ ├── 2.gif
│ ├── 4.gif
│ ├── App.ico
│ ├── column.png
│ ├── column1.png
│ ├── column2.png
│ ├── index.png
│ ├── item.png
│ ├── pk.png
│ ├── relation.png
│ ├── table.png
│ ├── unique.png
│ └── 关系.png
├── SchemaUnity.cs
├── Source
│ ├── ChangedProperty.cs
│ ├── Column.cs
│ ├── DataTypeManager.cs
│ ├── DisGenerateAttribute.cs
│ ├── HistoryStorage.cs
│ ├── Host.cs
│ ├── IField.cs
│ ├── IIdentity.cs
│ ├── IObject.cs
│ ├── ISchemaRepository.cs
│ ├── ISourceAssistant.cs
│ ├── Index.cs
│ ├── IndexColumn.cs
│ ├── OpenSchemaFileException.cs
│ ├── Reference.cs
│ ├── SchemaBase.cs
│ ├── SchemaExtensionAttribute.cs
│ ├── SchemaInitializerAttribute.cs
│ ├── SchemaRepository.cs
│ ├── SchemaValidatorAttribute.cs
│ ├── SourceAssistant.cs
│ ├── SourceAssistantBase.cs
│ ├── Table.cs
│ └── TableSchemaProcessHandler.cs
├── SourceOption.cs
├── StaticUnity.cs
├── Template
│ ├── CodeGenerateHandler.cs
│ ├── GenerateResult.cs
│ ├── GroupDefinition.cs
│ ├── IPartitionOutputParser.cs
│ ├── Parser.cs
│ ├── PartitionDefinition.cs
│ ├── PartitionLoop.cs
│ ├── PartitionWriter.cs
│ ├── ResourceWriter.cs
│ ├── TemplateDefinition.cs
│ ├── TemplateDirectory.cs
│ ├── TemplateExtension.cs
│ ├── TemplateFile.cs
│ ├── TemplateParser.cs
│ ├── TemplateStorage.cs
│ └── TemplateValidation.cs
├── TemplateOption.cs
├── TemplateUnity.cs
├── ThreadHelper.cs
├── Tool
│ ├── IBootstrapTool.cs
│ ├── MultipleToolProviderBase.cs
│ └── ToolShortcutHelper.cs
├── UICustomizedAttribute.cs
├── UnPersistentlyAttribute.cs
├── Util.cs
├── Validations
│ ├── ISchemaValidator.cs
│ ├── ValidateResult.cs
│ └── ValidationUnity.cs
├── Variable
│ ├── AssemblyReferenceManager.cs
│ ├── BaseExtensionManager.cs
│ ├── CompileException.cs
│ ├── CompileHelper.cs
│ ├── CompileManager.cs
│ ├── CompileResult.cs
│ ├── ICompileManager.cs
│ ├── IProfileExtensionManager.cs
│ ├── ISchemaExtensionManager.cs
│ ├── ProfileExtensionManager.cs
│ ├── PropertyMap.cs
│ └── SchemaExtensionManager.cs
├── WebHelper.cs
├── app.config
├── frmProcessor.Designer.cs
├── frmProcessor.cs
├── frmProcessor.resx
└── packages.config
├── CodeBuilder.Database
├── CodeBuilder.Database.csproj
├── ConfigForms.cs
├── DataLinkerDialog.cs
├── DbFuncProvider.cs
├── DbSourceStruct.cs
├── IConnectionConfig.cs
├── Oracle.DataAccess.Common.Configuration.Section.xsd
├── Oracle.ManagedDataAccess.Client.Configuration.Section.xsd
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Resources
│ ├── database.png
│ ├── table.png
│ └── view.png
├── SourceProvider.cs
├── app.config
├── config
│ └── datasources.cfg
├── frmConfigBase.Designer.cs
├── frmConfigBase.cs
├── frmConfigBase.resx
├── frmDamentConfig.Designer.cs
├── frmDamentConfig.cs
├── frmDamentConfig.resx
├── frmFirebirdConfig.Designer.cs
├── frmFirebirdConfig.cs
├── frmFirebirdConfig.resx
├── frmKingbaseConfig.Designer.cs
├── frmKingbaseConfig.cs
├── frmKingbaseConfig.resx
├── frmMsSqlConfig.Designer.cs
├── frmMsSqlConfig.cs
├── frmMsSqlConfig.resx
├── frmMySqlConfig.Designer.cs
├── frmMySqlConfig.cs
├── frmMySqlConfig.resx
├── frmOdbcConfig.Designer.cs
├── frmOdbcConfig.cs
├── frmOdbcConfig.resx
├── frmOracleConfig.Designer.cs
├── frmOracleConfig.cs
├── frmOracleConfig.resx
├── frmPostgresqlConfig.Designer.cs
├── frmPostgresqlConfig.cs
├── frmPostgresqlConfig.resx
├── frmSQLEditor.Designer.cs
├── frmSQLEditor.cs
├── frmSQLEditor.resx
├── frmSQLiteConfig.Designer.cs
├── frmSQLiteConfig.cs
├── frmSQLiteConfig.resx
├── frmShenTongConfig.Designer.cs
├── frmShenTongConfig.cs
├── frmShenTongConfig.resx
├── frmSourceEdit.Designer.cs
├── frmSourceEdit.cs
├── frmSourceEdit.resx
├── frmSourceMgr.Designer.cs
├── frmSourceMgr.cs
├── frmSourceMgr.resx
├── frmTableSelector.Designer.cs
├── frmTableSelector.cs
├── frmTableSelector.resx
└── packages.config
├── CodeBuilder.DbSchema
├── CodeBuilder.DbSchema.csproj
├── PdmDefinition.cs
├── PdmParser.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Resources
│ └── dbschema.png
├── SourceProvider.cs
├── app.config
├── frmTableSelector.Designer.cs
├── frmTableSelector.cs
└── frmTableSelector.resx
├── CodeBuilder.ExportTool
├── CodeBuilder.ExportTool.csproj
├── ExcelExporter.cs
├── Exporter.cs
├── ExpressionHelper.cs
├── Properties
│ └── AssemblyInfo.cs
├── WordExporter.cs
├── app.config
├── packages.config
├── template.docx
└── template.xlsx
├── CodeBuilder.JsonTool
├── CodeBuilder.JsonTool.csproj
├── JsonFormatter.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── app.config
├── frmJsonFormatter.Designer.cs
├── frmJsonFormatter.cs
├── frmJsonFormatter.resx
├── frmMark.Designer.cs
├── frmMark.cs
├── frmMark.resx
├── frmWeburl.Designer.cs
├── frmWeburl.cs
├── frmWeburl.resx
└── packages.config
├── CodeBuilder.NVelocity
├── CodeBuilder.NVelocity.csproj
├── Properties
│ └── AssemblyInfo.cs
├── TemplateProvider.cs
└── app.config
├── CodeBuilder.PDManer
├── CodeBuilder.PDManer.csproj
├── DbTypeManager.cs
├── OptionPanel.Designer.cs
├── OptionPanel.cs
├── OptionPanel.resx
├── PdmDefinition.cs
├── PdmParser.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Resources
│ └── pdmaner.png
├── SourceGuide.cs
├── SourceProvider.cs
├── app.config
├── config
│ └── pdman.cfg
├── frmTableSelector.Designer.cs
├── frmTableSelector.cs
├── frmTableSelector.resx
└── packages.config
├── CodeBuilder.PdfTool
├── CodeBuilder.PdfTool.csproj
├── PdfConverter.cs
├── Properties
│ └── AssemblyInfo.cs
├── app.config
├── frmToImg.Designer.cs
├── frmToImg.cs
├── frmToImg.resx
└── packages.config
├── CodeBuilder.PowerDesigner
├── CodeBuilder.PowerDesigner.csproj
├── DBMSManager.cs
├── OptionPanel.Designer.cs
├── OptionPanel.cs
├── OptionPanel.resx
├── PdmDefinition.cs
├── PdmParser.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Resources
│ └── powerdesigner.png
├── SourceProvider.cs
├── app.config
├── config
│ └── pd.cfg
├── frmTableSelector.Designer.cs
├── frmTableSelector.cs
├── frmTableSelector.resx
└── packages.config
├── CodeBuilder.Razor
├── AssemblyConfig.cs
├── CodeBuilder.Razor.csproj
├── OptionPanel.Designer.cs
├── OptionPanel.cs
├── OptionPanel.resx
├── Properties
│ └── AssemblyInfo.cs
├── TemplateCompileException.cs
├── TemplateProvider.cs
├── app.config
├── frmOption.Designer.cs
├── frmOption.cs
├── frmOption.resx
└── packages.config
├── CodeBuilder.RssReader
├── CodeBuilder.RssReader.csproj
├── CodeBuilder.RssReader.csproj.user
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── RssConfig.cs
├── RssFavoriteConfig.cs
├── RssReader.cs
├── app.config
├── config
│ └── rss.cfg
├── frmAddFavorite.Designer.cs
├── frmAddFavorite.cs
├── frmAddFavorite.resx
├── frmAddRss.Designer.cs
├── frmAddRss.cs
├── frmAddRss.resx
├── frmRssReader.Designer.cs
├── frmRssReader.cs
├── frmRssReader.resx
└── packages.config
├── CodeBuilder.Swagger
├── CodeBuilder.Swagger.csproj
├── Config.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Resources
│ └── swagger.png
├── SourceProvider.cs
├── SwaggerParser.cs
├── app.config
├── frmOpenApi.Designer.cs
├── frmOpenApi.cs
├── frmOpenApi.resx
└── packages.config
├── CodeBuilder.T4
├── AssemblyConfig.cs
├── CodeBuilder.T4.csproj
├── CrossDomainTextWriter.cs
├── GuidDispatcher.cs
├── OptionPanel.Designer.cs
├── OptionPanel.cs
├── OptionPanel.resx
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── ProxyBuilder.cs
├── SingleAppDomainScope.cs
├── TemplateHost.cs
├── TemplateProvider.cs
├── TextTemplate.ico
├── app.config
├── frmOption.Designer.cs
├── frmOption.cs
├── frmOption.resx
└── packages.config
├── CodeBuilder.Tools
├── CodeBuilder.Tools.csproj
├── DataTypeManageTool.cs
├── GeneralTools.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Tools
│ ├── Base64Converter.Designer.cs
│ ├── Base64Converter.cs
│ ├── Base64Converter.resx
│ ├── CodeDebugConfig.cs
│ ├── CodeDebuger.Designer.cs
│ ├── CodeDebuger.cs
│ ├── CodeDebuger.resx
│ ├── CollComparer.Designer.cs
│ ├── CollComparer.cs
│ ├── CollComparer.resx
│ ├── FileComparer.Designer.cs
│ ├── FileComparer.cs
│ ├── FileComparer.resx
│ ├── FileEncodeDetector.Designer.cs
│ ├── FileEncodeDetector.cs
│ ├── FileEncodeDetector.resx
│ ├── GuidGenerator.Designer.cs
│ ├── GuidGenerator.cs
│ ├── GuidGenerator.resx
│ ├── NamingConverter.Designer.cs
│ ├── NamingConverter.cs
│ ├── NamingConverter.resx
│ ├── PythonCodeDebuger.Designer.cs
│ ├── PythonCodeDebuger.cs
│ ├── PythonCodeDebuger.resx
│ ├── TextConvertConfig.cs
│ ├── TextConverter.Designer.cs
│ ├── TextConverter.cs
│ ├── TextConverter.resx
│ ├── UnicodeConverter.Designer.cs
│ ├── UnicodeConverter.cs
│ ├── UnicodeConverter.resx
│ ├── UrlEncodeConverter.Designer.cs
│ ├── UrlEncodeConverter.cs
│ ├── UrlEncodeConverter.resx
│ ├── frmConfigCodeDebugger.Designer.cs
│ ├── frmConfigCodeDebugger.cs
│ ├── frmConfigCodeDebugger.resx
│ ├── frmConfigTextConverter.Designer.cs
│ ├── frmConfigTextConverter.cs
│ └── frmConfigTextConverter.resx
├── app.config
├── frmDataTypeManager.Designer.cs
├── frmDataTypeManager.cs
├── frmDataTypeManager.resx
├── frmNewDatabase.Designer.cs
├── frmNewDatabase.cs
├── frmNewDatabase.resx
├── frmTools.Designer.cs
├── frmTools.cs
├── frmTools.resx
└── packages.config
├── CodeBuilder.sln
├── CodeBuilder
├── App.ico
├── CodeBuilder.csproj
├── CodeBuilder.csproj.user
├── CodeCategory.cs
├── CommResult.cs
├── Config.cs
├── Consts.cs
├── CustomMenuItem.cs
├── DSS.ico
├── DevHosting.cs
├── FieldCacheMenuItem.cs
├── IdentityHelper.cs
├── LoadMode.cs
├── OnlinePluginData.cs
├── OnlineTemplateData.cs
├── PlugInConfig.cs
├── Program.cs
├── ProjectTemplate.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── Resources
│ ├── add.png
│ ├── add1.png
│ ├── add2.png
│ ├── add3.png
│ ├── browse.png
│ ├── build.png
│ ├── buildl.png
│ ├── category.png
│ ├── check.png
│ ├── clear.png
│ ├── codefile.png
│ ├── column.png
│ ├── copy.png
│ ├── cut.png
│ ├── delete.png
│ ├── down1.png
│ ├── down_ok.png
│ ├── down_ok1.png
│ ├── edit.png
│ ├── edit04.png
│ ├── edit1.png
│ ├── engine.png
│ ├── export.png
│ ├── extension.ico
│ ├── file.png
│ ├── fileR.png
│ ├── fileT.png
│ ├── find.png
│ ├── fk.png
│ ├── fx.png
│ ├── guide.png
│ ├── gzh.jpg
│ ├── help.png
│ ├── info.png
│ ├── insert.png
│ ├── logo.png
│ ├── open.png
│ ├── open1.png
│ ├── open1l.png
│ ├── options.png
│ ├── output.ico
│ ├── paste.png
│ ├── pk.png
│ ├── plugin.png
│ ├── profile.ico
│ ├── project.png
│ ├── property.ico
│ ├── qq.jpg
│ ├── redo.png
│ ├── refresh.png
│ ├── replace.png
│ ├── resource.ico
│ ├── rss.ico
│ ├── save.png
│ ├── save1.png
│ ├── save1l.png
│ ├── saveas.png
│ ├── share.png
│ ├── shop.png
│ ├── table.png
│ ├── template.ico
│ ├── undo.png
│ ├── up1.png
│ ├── update.png
│ ├── update1.png
│ ├── view.png
│ ├── wx.jpg
│ └── 公众号.png
├── SourceAssistant.cs
├── TemplateHelper.cs
├── TemplateLoadException.cs
├── TipPanel.Designer.cs
├── TipPanel.cs
├── TipPanel.resx
├── TitlePanel.cs
├── VersionHelper.cs
├── WindowSetManager.cs
├── app.config
├── app.manifest
├── appsettings.json
├── config
│ ├── app.cfg
│ ├── assemblies.cfg
│ ├── datasources.cfg
│ ├── datatypes.cfg
│ ├── pd.cfg
│ ├── pdman.cfg
│ ├── plugin.cfg
│ ├── prebuild.cfg
│ ├── profile.cfg
│ └── update.cfg
├── db
│ └── northwind.db3
├── frmAbout.Designer.cs
├── frmAbout.cs
├── frmAbout.resx
├── frmAssemblyOption.Designer.cs
├── frmAssemblyOption.cs
├── frmAssemblyOption.resx
├── frmDonate.Designer.cs
├── frmDonate.cs
├── frmDonate.resx
├── frmEditor.Designer.cs
├── frmEditor.cs
├── frmEditor.resx
├── frmExtension.Designer.cs
├── frmExtension.cs
├── frmExtension.resx
├── frmFindAndReplace.Designer.cs
├── frmFindAndReplace.cs
├── frmFindAndReplace.resx
├── frmGuide.Designer.cs
├── frmGuide.cs
├── frmGuide.resx
├── frmLogin.Designer.cs
├── frmLogin.cs
├── frmLogin.resx
├── frmMain.Designer.cs
├── frmMain.cs
├── frmMain.resx
├── frmNewCode.Designer.cs
├── frmNewCode.cs
├── frmNewCode.resx
├── frmOption.Designer.cs
├── frmOption.cs
├── frmOption.resx
├── frmOutput.Designer.cs
├── frmOutput.cs
├── frmOutput.resx
├── frmPluginShop.Designer.cs
├── frmPluginShop.cs
├── frmPluginShop.resx
├── frmPreBuild.Designer.cs
├── frmPreBuild.cs
├── frmPreBuild.resx
├── frmProfile.Designer.cs
├── frmProfile.cs
├── frmProfile.resx
├── frmProperty.Designer.cs
├── frmProperty.cs
├── frmProperty.resx
├── frmQuestionnaire.Designer.cs
├── frmQuestionnaire.cs
├── frmQuestionnaire.resx
├── frmResource.Designer.cs
├── frmResource.cs
├── frmResource.resx
├── frmShowValidation.Designer.cs
├── frmShowValidation.cs
├── frmShowValidation.resx
├── frmStart.Designer.cs
├── frmStart.cs
├── frmStart.resx
├── frmTable.Designer.cs
├── frmTable.cs
├── frmTable.resx
├── frmTableCustomize.Designer.cs
├── frmTableCustomize.cs
├── frmTableCustomize.resx
├── frmTemplate.Designer.cs
├── frmTemplate.cs
├── frmTemplate.resx
├── frmTemplateCommit.Designer.cs
├── frmTemplateCommit.cs
├── frmTemplateCommit.resx
├── frmTemplateCopy.Designer.cs
├── frmTemplateCopy.cs
├── frmTemplateCopy.resx
├── frmTemplateEditor.Designer.cs
├── frmTemplateEditor.cs
├── frmTemplateEditor.resx
├── frmTemplateShop.Designer.cs
├── frmTemplateShop.cs
├── frmTemplateShop.resx
├── frmTemplateShopConfig.Designer.cs
├── frmTemplateShopConfig.cs
├── frmTemplateShopConfig.resx
├── frmTip.Designer.cs
├── frmTip.cs
├── frmTip.resx
├── packages.config
├── syntaxs
│ ├── ANTLR.xshd
│ ├── ActionScript.xshd
│ ├── Ada.xshd
│ ├── Assembly.xshd
│ ├── AutoHotkey.xshd
│ ├── Batch.xshd
│ ├── Boo.xshd
│ ├── C#.xshd
│ ├── C++.xshd
│ ├── C.xshd
│ ├── CSS.xshd
│ ├── Ceylon.xshd
│ ├── ChucK.xshd
│ ├── Clojure.xshd
│ ├── Cocoa.xshd
│ ├── CoffeeScript.xshd
│ ├── Cool.xshd
│ ├── D.xshd
│ ├── Dart.xshd
│ ├── Delphi.xshd
│ ├── Eiffel.xshd
│ ├── Elixir.xshd
│ ├── Erlang.xshd
│ ├── F#.xshd
│ ├── Falcon.xshd
│ ├── Fantom.xshd
│ ├── Fortran95.xshd
│ ├── Go.xshd
│ ├── Goovy.xshd
│ ├── Gui4Cli.xshd
│ ├── HTML.xshd
│ ├── Haskell.xshd
│ ├── Haxe.xshd
│ ├── ILYC.xshd
│ ├── INI.xshd
│ ├── Icon.xshd
│ ├── Io.xshd
│ ├── JSON.xshd
│ ├── Java.xshd
│ ├── JavaScript.xshd
│ ├── Julia.xshd
│ ├── Just BASIC.xshd
│ ├── KiXtart.xshd
│ ├── Kotlin.xshd
│ ├── Lean.xshd
│ ├── Lisp.xshd
│ ├── Lua.xshd
│ ├── Nemerle.xshd
│ ├── Nim.xshd
│ ├── OCaml.xshd
│ ├── Objective-C.xshd
│ ├── PHP.xshd
│ ├── ParaSail.xshd
│ ├── Pascal.xshd
│ ├── Pike.xshd
│ ├── PowerShell.xshd
│ ├── Prolog.xshd
│ ├── PureScript.xshd
│ ├── Python.xshd
│ ├── R.xshd
│ ├── Registry.xshd
│ ├── Resource.xshd
│ ├── Rexx.xshd
│ ├── Rust.xshd
│ ├── SQF.xshd
│ ├── SQL.xshd
│ ├── Scala.xshd
│ ├── Scheme.xshd
│ ├── Solidity.xshd
│ ├── Spike.xshd
│ ├── Swift.xshd
│ ├── TCL.xshd
│ ├── Thrift.xshd
│ ├── TypeScript.xshd
│ ├── VBNET.xshd
│ ├── VBScript.xshd
│ ├── VHDL.xshd
│ ├── VS Solution.xshd
│ ├── Vala.xshd
│ ├── Verilog.xshd
│ ├── Volt.xshd
│ ├── X10.xshd
│ ├── XC.xshd
│ ├── XML.xshd
│ └── Xtend.xshd
└── version.xml
└── lib
├── FastColoredTextBox.dll
├── Fireasy.CodeCompiler.VisualBasic.dll
├── Fireasy.Common.dll
├── Fireasy.Composition.dll
├── Fireasy.Configuration.dll
├── Fireasy.Data.Abstractions.dll
├── Fireasy.Data.Configuration.dll
├── Fireasy.Data.Odbc.dll
├── Fireasy.Data.OleDb.dll
├── Fireasy.Data.dll
├── Fireasy.Windows.Forms.Editors.dll
├── Fireasy.Windows.Forms.TreeList.dll
├── Fireasy.Windows.Forms.dll
├── ICSharpCode.TextEditor.dll
├── Kdbndp.dll
├── Mono.Security.dll
├── NVelocity.dll
├── RazorEngine.dll
├── System.Web.Razor.dll
└── WeifenLuo.WinFormsUI.Docking.dll
/.gitignore:
--------------------------------------------------------------------------------
1 | # Build and Release Folders
2 | bin-debug/
3 | bin-release/
4 | packages/
5 | [Oo]bj/
6 | [Bb]in/
7 |
8 | # Other files and folders
9 | .settings/
10 | .vs
11 |
12 | # Executables
13 | *.swf
14 | *.air
15 | *.ipa
16 | *.apk
17 |
18 | # Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
19 | # should NOT be excluded as they contain compiler settings and other important
20 | # information for Eclipse / Flash Builder.
21 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/CodeBuilder.Core.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectFiles
5 |
6 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/Designer/CategoryConsts.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 |
10 | namespace CodeBuilder.Core.Designer
11 | {
12 | public class CategoryConsts
13 | {
14 | public const string Attribute = "Attribute";
15 | public const string Auxiliary = "Auxiliary";
16 | public const string Extension = "Extension";
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/Designer/ChangedPropertyConverter.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using System;
10 | using System.Collections;
11 | using System.ComponentModel;
12 | using System.Globalization;
13 |
14 | namespace CodeBuilder.Core.Designer
15 | {
16 | internal class ChangedPropertyConverter : System.ComponentModel.CollectionConverter
17 | {
18 | public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
19 | {
20 | if (value is ICollection collection)
21 | {
22 | return $"({collection.Count} Changes)";
23 | }
24 |
25 | return base.ConvertTo(context, culture, value, destinationType);
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/Designer/CollectionConverter.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using Fireasy.Common.Extensions;
10 | using System;
11 | using System.Collections;
12 | using System.ComponentModel;
13 | using System.Globalization;
14 |
15 | namespace CodeBuilder.Core.Designer
16 | {
17 | public class CollectionConverter : System.ComponentModel.CollectionConverter
18 | {
19 | public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
20 | {
21 | if (value is ICollection collection)
22 | {
23 | var name = value.GetType().GetEnumerableElementType().Name;
24 | return $"({collection.Count} {name.ToPlural()})";
25 | }
26 |
27 | return base.ConvertTo(context, culture, value, destinationType);
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/Designer/ColumnOwnerConvert.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using CodeBuilder.Core.Source;
10 | using System;
11 | using System.ComponentModel;
12 | using System.Globalization;
13 |
14 | namespace CodeBuilder.Core.Designer
15 | {
16 | public class ColumnOwnerConvert : TypeConverter
17 | {
18 | public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
19 | {
20 | if (value is Table table)
21 | {
22 | return $"(Table: {table._Name})";
23 | }
24 |
25 | return base.ConvertTo(context, culture, value, destinationType);
26 | }
27 |
28 | public override bool GetPropertiesSupported(ITypeDescriptorContext context) => false;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/Designer/DisableViewEditor.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using System;
10 | using System.ComponentModel;
11 | using System.Drawing.Design;
12 |
13 | namespace CodeBuilder.Core.Designer
14 | {
15 | public class DisableViewEditor : UITypeEditor
16 | {
17 | public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
18 | {
19 | return value;
20 | }
21 |
22 | public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
23 | {
24 | return UITypeEditorEditStyle.None;
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/Designer/HostConvert.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using CodeBuilder.Core.Source;
10 | using System;
11 | using System.ComponentModel;
12 | using System.Globalization;
13 |
14 | namespace CodeBuilder.Core.Designer
15 | {
16 | public class HostConvert : TypeConverter
17 | {
18 | public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
19 | {
20 | if (value is Host)
21 | {
22 | return "(Host)";
23 | }
24 |
25 | return base.ConvertTo(context, culture, value, destinationType);
26 | }
27 |
28 | public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes)
29 | {
30 | var properties = TypeDescriptor.GetProperties(value.GetType());
31 | return new PropertyDescriptorCollection(new PropertyDescriptor[] { properties[nameof(Host.Tables)] });
32 | }
33 |
34 | public override bool GetPropertiesSupported(ITypeDescriptorContext context) => true;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/Designer/IModeView.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 |
10 | namespace CodeBuilder.Core.Designer
11 | {
12 | public interface IModeView
13 | {
14 | string GetDisplayName(string view);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/DynamicFunc/DefaultFuncProvider.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using System.ComponentModel.Composition;
10 | using System.IO;
11 |
12 | namespace CodeBuilder.Core.DynamicFunc
13 | {
14 | [Export(typeof(IDynamicFuncProvider))]
15 | public class DefaultFuncProvider : IDynamicFuncProvider
16 | {
17 | private IDevHosting _hosting;
18 |
19 | public string Name { get; set; } = "默认函数集";
20 |
21 | public void Initialize(IDevHosting hosting)
22 | {
23 | _hosting = hosting;
24 | }
25 |
26 | [DynamicFunc("读取文本文件", Description = "方法 dynamic ReadStrings(string fileName) \r\n示例 (List)Hosting.Funcs.ReadStrings(\"demo.text\");")]
27 | public dynamic ReadStrings(string fileName)
28 | {
29 | var filePath = Path.Combine(Directory.GetCurrentDirectory(), fileName);
30 | if (!File.Exists(filePath))
31 | {
32 | throw new FileNotFoundException(filePath);
33 | }
34 |
35 | return File.ReadAllLines(filePath);
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/DynamicFunc/DynamicFuncAttribute.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using System;
10 |
11 | namespace CodeBuilder.Core.DynamicFunc
12 | {
13 | [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
14 | public class DynamicFuncAttribute : Attribute
15 | {
16 | public DynamicFuncAttribute(string name)
17 | {
18 | Name = name;
19 | }
20 |
21 | public string Name { get; }
22 |
23 | public string Description { get; set; }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/DynamicFunc/DynamicFuncHelper.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using Fireasy.Common.Extensions;
10 | using System;
11 | using System.Collections.Generic;
12 | using System.Linq;
13 | using System.Reflection;
14 |
15 | namespace CodeBuilder.Core.DynamicFunc
16 | {
17 | public class DynamicFuncHelper
18 | {
19 | ///
20 | /// 获取方法定义。
21 | ///
22 | ///
23 | ///
24 | public static IEnumerable GetMethodDescriptors(IDynamicFuncProvider provider)
25 | {
26 | return GetMethodDescriptors(provider.GetType());
27 | }
28 |
29 | ///
30 | /// 获取方法定义。
31 | ///
32 | ///
33 | ///
34 | public static IEnumerable GetMethodDescriptors(Type providerType)
35 | {
36 | var methods = providerType.GetMethods(BindingFlags.Public | BindingFlags.Instance).Where(s => s.IsDefined());
37 |
38 | foreach (var method in methods)
39 | {
40 | yield return method.GetCustomAttribute();
41 | }
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/DynamicFunc/DynamicFuncInvokeException.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using System;
10 |
11 | namespace CodeBuilder.Core.DynamicFunc
12 | {
13 | public class DynamicFuncInvokeException : Exception
14 | {
15 | public DynamicFuncInvokeException(string message, Exception exception)
16 | : base (message, exception)
17 | { }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/DynamicFunc/IDynamicFuncProvider.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | namespace CodeBuilder.Core.DynamicFunc
10 | {
11 | ///
12 | /// 动态函数提供者。
13 | ///
14 | public interface IDynamicFuncProvider : IPlugin
15 | {
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/CodeBuilder.Core/EventBus/DefaultEventBusHandler.cs:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------
2 | //
6 | // (c) Copyright Fireasy. All rights reserved.
7 | //
8 | // -----------------------------------------------------------------------
9 | using Fireasy.Common.DependencyInjection;
10 | using System;
11 | using System.Collections.Generic;
12 |
13 | namespace CodeBuilder.Core.EventBus
14 | {
15 | public class DefaultEventBusHandler : IEventBusHandler, ISingletonService
16 | {
17 | private Dictionary>> _subscribers = new Dictionary>>();
18 |
19 | public void Publish(string name, object data = null)
20 | {
21 | if (_subscribers.TryGetValue(name, out var actions))
22 | {
23 | foreach (var kvp in actions)
24 | {
25 | kvp.Value(data);
26 | }
27 | }
28 | }
29 |
30 | public string Subscribe(string name, Action