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); }
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); }
public TrackedFileNode(RustProjectNode root, ProjectElement elm) : base(root, elm, elm.GetMetadata(ProjectFileConstants.Include)) { }
/// <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 (IsCodeFile(item.GetFullPathForElement())) { newNode = CreateCodeFileNode(item); } else { newNode = CreateNonCodeFileNode(item); } string link = item.GetMetadata(ProjectFileConstants.Link); if (!String.IsNullOrWhiteSpace(link) || !CommonUtils.IsSubpathOf(ProjectHome, item.GetFullPathForElement())) { newNode.SetIsLinkFile(true); } 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; }