c# - 如何找到触发的行和行内容,Visual Studio 扩展
问题描述
当您在开发 Visual Studio 扩展时从触发事件的视图中执行某些操作时,如何找到触发该事件的行和行内容?
[Export(typeof(IWpfTextViewCreationListener))]
[ContentType("text")]
[TextViewRole(PredefinedTextViewRoles.Document)]
internal sealed class EditorListener : IWpfTextViewCreationListener
{
[Import] private readonly IAsyncCompletionBroker _completionBroker = null;
private IWpfTextView TextView { get; set; }
public void TextViewCreated(IWpfTextView textView)
{
TextView = textView;
if (_completionBroker != null)
{
_completionBroker.CompletionTriggered += CompletionBroker_CompletionTriggered;
}
}
private void CompletionBroker_CompletionTriggered(object sender, CompletionTriggeredEventArgs eventArgs)
{
// this find line and line content
}
}
解决方案
您可以尝试System.Runtime.CompilerServices来获取行号和行内容:
private void CompletionBroker_CompletionTriggered(object sender, CompletionTriggeredEventArgs eventArgs)
{
// this find line and line content
TraceMessage();
}
public void TraceMessage(
[System.Runtime.CompilerServices.CallerMemberName] string memberName = "",
[System.Runtime.CompilerServices.CallerLineNumber] int sourceLineNumber = 0)
{
System.Diagnostics.Trace.WriteLine("member name: " + memberName);
System.Diagnostics.Trace.WriteLine("source line number: " + sourceLineNumber);
}
您可以System.Diagnostics.Trace.WriteLine
在输出窗口中显示消息
推荐阅读
- arrays - React - Redux,为什么在将新项目添加到状态数组后影响所有状态数组元素
- amazon-web-services - AWS 错误:这些可用区都不包含健康的目标。AWS 负载均衡器中的状态为“停止服务”
- c++ - 第一个数字和第二个数字之间所有能被 4 和 6 整除的整数的总和
- python - 保存代码后无法在 ipython 控制台中输入
- objective-c - 如何在字典中写入属性数组
- python - 转换后的 CoreML 模型的输出与 Keras 不同
- powershell - 需要 curl 命令到 ElasticSearch for PowerShell
- date - 在golang中解析大写字母月份
- python - 以简单的方式从单个 LinkedList 中删除节点
- ios - iOS Xcode:更新到 Xcode 10.2 后,无法为 IBSlimDeviceTypeiPdad2x 类型错误找到合适的设备