欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Atom 复制路径的问题 路径自动补全是反斜杠而不是正斜杠 有大用 有大大用 有大大大用

我自己亲自做的



C:\Users\Administrator\.atom\packages\autocomplete-project-paths\lib\paths-provider.coffee上的第92行

result += path.sep 更改为  result +="/" 

来自 https://github.com/atom-community/autocomplete-paths/issues/72










Atom 复制路径的问题

image.png      


如上图,我反复测试,不管装什么插件,只要是有关「插入文件路径」的插件,出现的路径(斜线)一律为「 \ 」系统路径的方式,而不是「 / 」WEB路径,这是何解?

目前确定是Atom本身的问题。


请问你是使用什么插件来「插入文件路径」的?是否是插件的问题


如果是路径自动补全的话,参考下 为何我的autocomplete-paths默认的是\反斜杠,怎么改成斜杠/ 8 里我的回答。


路径自动补全这个我已经找到解答了
现在问题则是「tree-view-copy-relative-path」

我用的是「tree-view-copy-relative-path」
可以在树型菜单的文件上点击右键选择copy relative path
然而复制出来的路径分隔符却是"“而不是我要的”/"


我试了下,在 Windows 下确实有这个问题。

在插件项目里 2016 年 4 月 7 日也有人提了相同的问题 Pasting with backslashes instead of forward slashes 1,插件作者表示他会看看但是目前没有后续。

这个插件的源码生成相对路径是使用的一个第三方的 node 组件 relative,应该是它生成的相对路径在 Windows 下有这个问题导致的。

我对 js 和 CoffeeScript 都不熟,目前简单看了一眼,粗暴的解决办法是在用 relative 生成相对路径后将 \ 全替换成 /,想了两秒钟觉得应该也不会有什么问题,反正在 Web 里空格也不使用 \ 转义,正常文件(夹)名里也不会有 \

修改方法:

Windows 下打开 %userprofile%/.atom/packages/tree-view-copy-relative-path/lib/tree-view-copy-relative-path.coffee 文件,最后一行是

    atom.clipboard.write relative(currentPath, treeViewPath)

在后面添加 replace,修改为

    atom.clipboard.write relative(currentPath, treeViewPath).replace(/\\/g, '/')

少年你先试着用一阵,如果没什么问题喊我去给作者提 PR


据我所知,ATOM的开发者之一表示过,目前并不打算改变ATOM输出路径的表现,即使他想做,因为这将是一个很浩大的修改工程,同时也对ATOM造成影响,虽然ATOM是WEB开发的软件,但它有仰赖于系统的框架以及第三方组件,要改变这个问题,恐怕不容易。

非常感谢您解决了我的困扰,因为我差一点为了这个问题放弃ATOM用回Sublime Text。

PS:修改后复制出来的路径已经正常了


我感觉如果插件能提供一个选项供切换的话,会更好点,毕竟不同的应用场景可能有不同的需求。等我有空学习一丢丢插件开发的知识给这个插件改进一下。


我将非常的期待,也许我可以提供一个思路:
写一个packages,然后监听鼠标点击或右键复制,如果得到的值是路径,那么就将所有的反协杠替换成正协杠,,可能的话,扩展这个监听,写个快捷键设置,当按下快捷键贴上的就是正斜杠的路径,不使用快捷键直接贴上则为反斜杠,这个功能定义在插件的设置选项里为可选状态。

这个好处就是可以一次性改善所有插件输出路径的问题了,英文能力好的,帮个忙提交给ATOM官方给那些高手们折腾吧。


如果你在使用 Windows 的话,我觉得这并不算 Bug,因为的确在 Windows 下路径分割符是 \ 而不是 /,当然,更好的方案是添加一个选项来切换这个行为。


来自 https://atom-china.org/t/atom/1564/9





为何我的autocomplete-paths默认的是\反斜杠,怎么改成斜杠/

问下万能的网友,为何我的autocomplete-paths默认的是\反斜杠,怎么改成斜杠/


从插件的源码提交记录来看

插件作者在 2016-02-03 合并了解决这个问题的代码,但是插件最近一次 Release 是在 2015-02-05,所以通过插件系统安装的会有这个问题,通过源码安装能解决。

一、先将 autocomplete-paths 插件卸载
二、从源码安装 autocomplete-paths

(从图中看你应该使用的是 Windows,如下以 Windows 为例)

cd /d %userprofile%/.atom/packages
git clone git@github.com:atom-community/autocomplete-paths.git
cd autocomplete-paths
npm install

然后就变成这样了:

斜杠自己打,你想用反斜杠也可以:

您好有没有其他补全路径的插件,这样一弄,不太智能了

你是指什么不智能呢?这个改动除了解决了正反斜杠的问题,貌似没有改变插件的表现啊。

厉害!解决了这个问题,不用我在删除\重新输入/了!!!

来自 https://atom-china.org/t/autocomplete-paths/1601/9






普通分类: