public string GetDocumentPath(Microsoft.VisualStudio.Text.ITextSnapshot ts)
{
Microsoft.VisualStudio.Text.ITextDocument textDoc;
bool rc = ts.TextBuffer.Properties.TryGetProperty(
typeof(Microsoft.VisualStudio.Text.ITextDocument), out textDoc);
if (rc && textDoc != null)
return textDoc.FilePath;
return null;
}
如果你不介意加上
Microsoft.CodeAnalysis.EditorFeatures.Text
它将为您的项目提供一个扩展方法
Document GetOpenDocumentInCurrentContextWithChanges()
Microsoft.VisualStudio.Text.Snapshot
班级(加上许多其他基于Rosyln的助手)
using Microsoft.CodeAnalysis.Text;
Document doc = span.Snapshot.GetOpenDocumentInCurrentContextWithChanges();