Scintilla.NET中是否有内置函数来检测游标是否在注释或字符串上?我想在用户输入注释或字符串时避免自动完成工作。
我知道我可以向后扫描整个文本,搜索//,/ * * /和" "但我几乎可以肯定必须有一个内置功能才能做到这一点。
谢谢!
答案 0 :(得分:1)
如果您正在使用词法分析器,则可以在当前的插入符号位置获取样式编号,并检查它是否与字符串或注释相对应。用于检索样式编号的Scintilla API是:
Scintilla.NET documentation表示已经有一些方便的API用于检测评论:
ScintillaNET.Scintilla.PositionIsOnComment(System.Int32)
ScintillaNET.Scintilla.PositionIsOnComment(System.Int32,ScintillaNET.Lexer)
但似乎没有任何与字符串相同的东西 - 所以看起来你必须使用上面的Scintilla消息和ScintillaNET.Scintilla.SendMessageDirect()
方法之一来推广自己。