Externalize Strings...
Javaソースから文字列リテラルを取得する際「Externalize Strings...」はどうやっているのかなーとふと思ってみてみると、
NLSHintで、
NLSLine[] lines = NLSScanner.scan(ICompilationUnit)
で文字列リテラルの数分だけNLSLineの配列で取得できる。
チュートリアルのAddAction.javaで試してみて、Ctrl+Shift+Dで見てみると、以下のような感じになっている。
getLineNumberで取れる行番号がエディタ上の行番号になっている。
((NLSElement)lines[0].getElements()[0]).getValue();
lines[0].getLineNumber();
(int) 20