Exemplo n.º 1
0
        public ImmutableArray <Document> GetDocuments(Uri documentUri)
        {
            // First check the VS workspace for matching documents.
            var documents = _visualStudioWorkspace.CurrentSolution.GetDocuments(documentUri);

            if (!documents.IsEmpty)
            {
                return(documents);
            }

            // If there's none in the VS workspace, then check the misc files workspace.
            documents = _miscellaneousFilesWorkspace.CurrentSolution.GetDocuments(documentUri);
            if (!documents.IsEmpty)
            {
                return(documents);
            }

            // If there's none in the misc files workspace, then check the metadata files workspace.
            var metadataWorkspace = _metadataAsSourceFileService.TryGetWorkspace();

            if (metadataWorkspace != null)
            {
                documents = metadataWorkspace.CurrentSolution.GetDocuments(documentUri);
            }

            return(documents);
        }