【发布时间】:2017-09-01 19:11:01
【问题描述】:
我想创建一个 VS 扩展,我需要知道调用菜单的行号。我找到了一个VisualBasic implementation,其中有一个似乎 可以执行此操作的宏,但我不知道如何在C# 中启动它。目标是知道调用ContextMenu 的行的确切编号,以便在其上放置一个占位符图标,就像一个断点一样。感谢有用的链接,因为我在这个主题上找不到太多。
【问题讨论】:
-
你能举例说明如何使用它吗?通过链接实际提供的示例的第一行
EnvDTE.TextSelection ts = DTE.ActiveWindow.Selection as EnvDTE.TextSelection;给了我错误:非静态字段、方法或属性“_DTE.ActiveWindow”需要对象引用。 -
要获取 DTE 对象,请参阅 stackoverflow.com/questions/19087186/…
-
我根据 Sergey Vlasov 的建议创建了一个示例,它可以返回代码编辑器中光标所在的行号。您只需要使用“DTE dte = (DTE)this.ServiceProvider.GetService(typeof(DTE));”获取 DTE 值在 VSIX 项目中并将 DTE.ActiveWindow 替换为 dte.ActiveWindow。如有任何问题,请随时告诉我们。
-
感谢你们两位,它运行良好。如果你们中的任何人将 cmets 转换为正确的答案,以便其他人更容易找到它,我很乐意将其标记为答案/upvote!
标签: c# editor visual-studio-2017 visual-studio-extensions line-numbers