protected override ReferenceNode CreateReferenceNode(string referenceType, ProjectElement element) { if (referenceType == ProjectFileConstants.Reference) { if (Path.GetExtension(element.Url).Equals(".pyd", StringComparison.OrdinalIgnoreCase)) { return(new DeprecatedReferenceNode( ProjectMgr, element, element.GetMetadata(ProjectFileConstants.Include), Strings.PydReferenceDeprecated )); } } else if (referenceType == ProjectFileConstants.WebPiReference) { return(new DeprecatedReferenceNode( ProjectMgr, element, element.GetMetadata("FriendlyName"), Strings.WebPIReferenceDeprecated )); } return(base.CreateReferenceNode(referenceType, element)); }
/// <summary> /// Create a file node based on an msbuild item. /// </summary> /// <param name="item">The msbuild item to be analyzed</param> public override FileNode CreateFileNode(ProjectElement item) { Utilities.ArgumentNotNull("item", item); CommonFileNode newNode; if (string.Compare(GetCodeFileExtension(), Path.GetExtension(item.GetFullPathForElement()), StringComparison.OrdinalIgnoreCase) == 0) { newNode = CreateCodeFileNode(item); } else { newNode = CreateNonCodeFileNode(item); } string include = item.GetMetadata(ProjectFileConstants.Include); newNode.OleServiceProvider.AddService(typeof(EnvDTE.Project), new OleServiceProvider.ServiceCreatorCallback(CreateServices), false); newNode.OleServiceProvider.AddService(typeof(EnvDTE.ProjectItem), newNode.ServiceCreator, false); if (!string.IsNullOrEmpty(include) && Path.GetExtension(include).Equals(".xaml", StringComparison.OrdinalIgnoreCase)) { //Create a DesignerContext for the XAML designer for this file newNode.OleServiceProvider.AddService(typeof(DesignerContext), newNode.ServiceCreator, false); } newNode.OleServiceProvider.AddService(typeof(VSLangProj.VSProject), new OleServiceProvider.ServiceCreatorCallback(CreateServices), false); return(newNode); }
protected override ReferenceNode CreateReferenceNode(string referenceType, ProjectElement element) { if (referenceType == ProjectFileConstants.Reference) { string pyExtension = element.GetMetadata(PythonConstants.PythonExtension); if (!String.IsNullOrWhiteSpace(pyExtension)) { return(new PythonExtensionReferenceNode((PythonProjectNode)ProjectMgr, element, pyExtension)); } } else if (referenceType == ProjectFileConstants.WebPiReference) { return(new WebPiReferenceNode( ProjectMgr, element, element.GetMetadata("Feed"), element.GetMetadata("ProductId"), element.GetMetadata("FriendlyName") )); } return(base.CreateReferenceNode(referenceType, element)); }
public override DependentFileNode CreateDependentFileNode(ProjectElement item) { DependentFileNode node = base.CreateDependentFileNode(item); if (null != node) { string include = item.GetMetadata(ProjectFileConstants.Include); if (IsCodeFile(include)) { node.OleServiceProvider.AddService( typeof(SVSMDCodeDomProvider), new OleServiceProvider.ServiceCreatorCallback(CreateServices), false); } } return(node); }