所以我查看了其他用户的问题,但未能找到具体的我正在寻找的内容。我想要做的很简单。我正在编写一个Visual Studio宏,并试图获取TextSelection
所在的当前行的编号。真的,我的问题非常简单。如何获得当前选择的行数?任何帮助是极大的赞赏!
对于任何阅读此内容的人来说都很清楚,我正在使用 VB 并正在编写 Visual Studio Macro 。
答案 0 :(得分:0)
请记住,TextSelection可以跨越多行,因此可能存在一系列行。
查看TextSelection的文档(即我没有对此进行过测试),您应该能够做到这样的事情:
Dim mySelection As EnvDTE.TextSelection = ' however you get the active selection
mySelection.TopPoint.Line ' gets the line of the top of the selection
如果你想根据光标的位置(选择的顶部或底部)得到它,你可以试试这个:
mySelection.ActivePoint.Line
看起来TextRanges也可能有用,但听起来它只适用于盒子选择,所以它可能不适用。
mySelection.TextRanges.Item(0).Line
答案 1 :(得分:-1)
可能有一种比这更好的方法,但我想到的第一种方式就是这样。
首先,确保文件中的最后一行是“xyz”
Dim linenumber As Integer = 1
dim mystring as string = ""
Using myfile As New IO.StreamReader("C:/myfile")
mystring = myfile.readline()
while mystring <> "xyz"
linenumber += 1
messagebox.Show(mystring & " is on line " & linenumber)
end while
End Using
所以如果C:/ myfile的内容看起来像这样......
我
爱
饼
然后你会得到输出....
“我在第1行”
“爱在第2行”
“馅饼在第3行”