问题 visual studio文本编辑器中的“col”值是什么?


在visual studio文本编辑器的底部显示“Ln X Col Y”。线看起来很不言自明,可以预测,但我对“Col”感到有些困惑:-)

如果行中有中文字符,将光标向右移动(即按一个字符)有时似乎将“Col”提前1,有时候提高2,甚至认为它们都是多字节字符。实际上是在计算什么?

这是一个附属问题:是否有一种简单的方法可以找出一行中的字符数?

提前致谢


3073
2017-10-07 13:22


起源



答案:


列和字符位置之间的差异对于诸如可以包含多个列的制表符这样的字符是明显的。

取自 MSDN


8
2017-10-07 13:52



这不是正确的答案,而是沿着正确的方向。我没有使用制表符,但意识到中文字符的字体较大,因此它们占用了多个“字符”。对于固定宽度的字体来说很奇怪,但至少它解释了它。奇怪的是,没有注意到屏幕上的“ch”值,这当然正是我一直在寻找的。我几乎要发誓它在我以前看时没有显示,但现在无法重现。 - Andy
Tab只是一个例子。 such as the tab character - Null Head


答案:


列和字符位置之间的差异对于诸如可以包含多个列的制表符这样的字符是明显的。

取自 MSDN


8
2017-10-07 13:52



这不是正确的答案,而是沿着正确的方向。我没有使用制表符,但意识到中文字符的字体较大,因此它们占用了多个“字符”。对于固定宽度的字体来说很奇怪,但至少它解释了它。奇怪的是,没有注意到屏幕上的“ch”值,这当然正是我一直在寻找的。我几乎要发誓它在我以前看时没有显示,但现在无法重现。 - Andy
Tab只是一个例子。 such as the tab character - Null Head


在visual studio中,您可以拥有X Col Y Ch Z.有时您可以在文本编辑器中同时使用unicode和ascii字符,并使用Col来查找该行所需的空间。


2
2017-10-07 13:37