我有设置ace来呈现html代码让我们说例如他渲染了以下代码
1 <html>
2 <body>
3 <table>
4 <tr>
5 <td>
6 test
7 </td>
我想获取代码片段的行号,例如,如果我搜索
"<html><body><table><tr><td>"
我想移动光标和高光线6。 不幸的是,ace内置的find函数似乎只能找到同一行的代码,所以
ace.find('<html>', options)
工作并突出显示第1行但
ace.find('<html><body>', options)
根本找不到任何东西。
你能解释一下为什么或给我一个解决方法吗? 谢谢提前;)
答案 0 :(得分:0)
如果<html>
和<body>
位于不同的行,您需要搜索ace.find('<html>\n<body>', options)
(\n
)
另一种方法是使用regexp在editor.getValue()
字符串中查找所需的偏移量,然后使用
pos = session.doc.indexToPosition(100)
session.selection.moveToPosition(pos)
将光标移动到它