1

我开发了一个 Atom 包,它调用 SyncTeX(用于 LaTeX 反向查找的实用程序),然后在 Atom 中打开 SyncTeX 响应中指定的文件。我正在 Linux 上开发,但现在 Windows 上的用户告诉我这不起作用。

详细说明:SyncTeX 返回一个路径名,如C:\data\tex\main.tex,带有适用于 Windows 的反斜杠分隔符。然后我的包使用返回的字符串进行调用atom.workspace.open,这会导致 JavaScript 错误(找不到文件)。

奇怪的是,如果将字符串修改为使用正斜杠C:/data/tex/main.tex,则调用有效并且文件被打开。

我的问题:

  1. 这种行为是 Atom 特有的,还是某些底层技术(JavaScript、Electron、Node 等)特有的?我找不到任何关于此的文档。

  2. 既然替换\/显然是必要的,有没有首选的方法来实现它?一个简单的String.replace就足够了吗?

  3. 如果我总是进行替换,我是否会冒着破坏与其他平台的兼容性的风险?

4

1 回答 1

1

据我所知,带有正斜杠“/”的路径在除 Windows XP 之外的任何地方都能正常工作。

于 2020-10-07T21:53:16.543 回答