位置和参数不明
Location and unclear parameters
位置的可选参数似乎是重复信息:
- Offset/Length定义选区的起始字符和结束字符
- Begin/end line/column好像是用来做同样的事情
但是,begin/end line/column 似乎不起作用:
的位置
|project://file.java|(0,100,<1,1>,<1,1>)
位置
|project://file.java|(0,100,<9,2>,<17,23>)
return 两者内容相同(当使用例如 readFile() 显示时)。
这引出了两个问题:
如果出于任何实际原因不使用 begin/end line/column,它们有什么用?
有没有办法在只有 begin/end line/column 而不是 offset/length 的情况下构造位置? (不访问文件)
我找到了这个问题的相关问题(How to construct a location?),但是那里给出的答案并没有解释这一点。
- offset/length 和 begin/end 信息确实是相同的信息,但是要从 offset/length 信息重建 line/column 信息,您总是必须读取整个文件。因为一些编辑器只支持 line/column 索引,我们选择尽可能包含信息,避免遍历整个文件和计算行数以跳转到一个选择。此外,该代码将 OS/text 文件编码相关。
- loc 表示不允许在没有 offset/length 信息的情况下设置 line/column,因为我们至少需要 offset/length API例如 Eclipse 编辑器和 Emacs。 line/column 内容是额外的 optimization/caching 而不是相反。
- 如果您确实需要在 loc 中临时表示 line/column 信息,我建议使用
?startLine=12&endLine=24
等查询参数。系统将存储信息但不会解释或使用它。
位置的可选参数似乎是重复信息:
- Offset/Length定义选区的起始字符和结束字符
- Begin/end line/column好像是用来做同样的事情
但是,begin/end line/column 似乎不起作用:
的位置|project://file.java|(0,100,<1,1>,<1,1>)
位置
|project://file.java|(0,100,<9,2>,<17,23>)
return 两者内容相同(当使用例如 readFile() 显示时)。
这引出了两个问题:
如果出于任何实际原因不使用 begin/end line/column,它们有什么用?
有没有办法在只有 begin/end line/column 而不是 offset/length 的情况下构造位置? (不访问文件)
我找到了这个问题的相关问题(How to construct a location?),但是那里给出的答案并没有解释这一点。
- offset/length 和 begin/end 信息确实是相同的信息,但是要从 offset/length 信息重建 line/column 信息,您总是必须读取整个文件。因为一些编辑器只支持 line/column 索引,我们选择尽可能包含信息,避免遍历整个文件和计算行数以跳转到一个选择。此外,该代码将 OS/text 文件编码相关。
- loc 表示不允许在没有 offset/length 信息的情况下设置 line/column,因为我们至少需要 offset/length API例如 Eclipse 编辑器和 Emacs。 line/column 内容是额外的 optimization/caching 而不是相反。
- 如果您确实需要在 loc 中临时表示 line/column 信息,我建议使用
?startLine=12&endLine=24
等查询参数。系统将存储信息但不会解释或使用它。