Visual Studio 2010 SDK、キャレット列の取得

.net c# visual-studio-2010
Visual Studio 2010 SDK、キャレット列の取得

かなり自明ですが、キャレットが左からどれだけ離れているかを見つけようとしています。 現在、私は次の行を持っています

var caret = m_doc.Caret.Position.BufferPosition;
return doc.GetTextViewLineContainingBufferPosition(caret).Start.Difference(caret);

ここで、docはIWpfTextViewです。

問題は、タブがある場合、タブを構成するスペースの数ではなく、タブを1つとしてカウントすることです。

例-|カーソルの位置を表します。\ tサイズ4のタブ、charNoは現在コードが返すもの、colは必要なものです:

|var a  //col:0 charNo:0
\t|var  //col:4 charNo:1
 \t|var //col:4 charNo:2
 \tv|ar //col:5 charNo:3

ありがとう。

  1  1


ベストアンサー

「.Start」の代わりに「.Left」を使用しないのはなぜですか? これは、タブに関係なく、座標平面の左から現在の位置を返します。

0


タイトルとURLをコピーしました