Пример #1
0
        public static object ResolveMefDependency(System.IServiceProvider serviceProvider, Type typeToResolve)
        {
            IComponentModel componentModel   = (IComponentModel)serviceProvider.GetService(typeof(SComponentModel));
            var             getServiceMethod = typeof(IComponentModel).GetMethod("GetService").MakeGenericMethod(typeToResolve);

            return(getServiceMethod.Invoke(componentModel, null));
        }
Пример #2
0
        private static ProjectItem GetDestinationFolderItem(string wszInputFilePath, System.IServiceProvider globalProvider)
        {
            var destFolderName    = Path.GetFileNameWithoutExtension(wszInputFilePath);
            var dte               = globalProvider.GetService(typeof(SDTE)) as DTE;
            var proj              = VisualStudioAutomationHelper.GetActiveProject(dte);
            var apiRefsFolderItem =
                proj.ProjectItems.Cast <ProjectItem>().First(i => i.Name == RamlReferenceService.ApiReferencesFolderName);
            var destFolderItem = apiRefsFolderItem.ProjectItems.Cast <ProjectItem>().First(i => i.Name == destFolderName);

            return(destFolderItem);
        }
Пример #3
0
        public static IVsHierarchy GetHierarchy(System.IServiceProvider serviceProvider, Project project)
        {
            var solution = serviceProvider.GetService(typeof(SVsSolution)) as IVsSolution;

            if (solution == null)
            {
                return(null);
            }
            IVsHierarchy hierarchy;

            solution.GetProjectOfUniqueName(project.FullName, out hierarchy);
            return(hierarchy);
        }
Пример #4
0
        /// <summary>
        ///     Instantiates and sites a new VsTextBuffer.
        /// </summary>
        internal static T CreateInstance <T>(System.IServiceProvider serviceProvider, ILocalRegistry localRegistry) where T : IVsTextBuffer
        {
            ArgumentValidation.CheckForNullReference(serviceProvider, "serviceProvider");
            ArgumentValidation.CheckForNullReference(localRegistry, "localRegistry");

            var obj = CreateObject <T>(localRegistry);

            var objectWithSite = obj as IObjectWithSite;

            if (objectWithSite != null)
            {
                objectWithSite.SetSite(serviceProvider);
            }

            return(obj);
        }
Пример #5
0
        private Result GenerateCodeUsingTemplate(string wszInputFilePath, RamlInfo ramlInfo, System.IServiceProvider globalProvider,
                                                 string refFilePath, string clientRootClassName)
        {
            var targetNamespace  = RamlReferenceReader.GetRamlNamespace(refFilePath);
            var model            = GetGeneratorModel(clientRootClassName, ramlInfo, targetNamespace);
            var templateFolder   = GetTemplateFolder(wszInputFilePath);
            var templateFilePath = Path.Combine(templateFolder, ClientT4TemplateName);
            var extensionPath    = Path.GetDirectoryName(GetType().Assembly.Location) + Path.DirectorySeparatorChar;
            var t4Service        = new T4Service(globalProvider);
            var res = t4Service.TransformText(templateFilePath, model, extensionPath, wszInputFilePath, targetNamespace);

            return(res);
        }
Пример #6
0
        private Result GenerateCodeUsingTemplate(string wszInputFilePath, RamlInfo ramlInfo, System.IServiceProvider globalProvider,
                                                 string refFilePath)
        {
            var model            = GetGeneratorModel(wszInputFilePath, ramlInfo);
            var vsixPath         = Path.GetDirectoryName(GetType().Assembly.Location) + Path.DirectorySeparatorChar;
            var templateFileName = Path.Combine(vsixPath, "GeneratedModel.t4");
            var t4Service        = new T4Service(globalProvider);
            var targetNamespace  = RamlReferenceReader.GetRamlNamespace(refFilePath);
            var res = t4Service.TransformText(templateFileName, model, vsixPath, wszInputFilePath, targetNamespace);

            return(res);
        }
Пример #7
0
        public static T ResolveMefDependency <T>(System.IServiceProvider serviceProvider) where T : class
        {
            IComponentModel componentModel = (IComponentModel)serviceProvider.GetService(typeof(SComponentModel));

            return(componentModel.GetService <T>());
        }