我最近升级到了 Windows 10,并安装了 WinSCP(从另一台计算机导入了网站登录信息)和 Notepad++(6.8,以前我用的是 5.6)。我结合使用 WinSCP 和 Notepad++ 来编辑服务器上的文件,该服务器上的 FTP 会话的截止宽限期非常短。WinSCP 具有持久的 FTP 会话(而 Notepad++ FTP 插件 NPP 似乎没有),并且可以使用以下功能与 Notepad++ 集成使用...->Notepad++ 编辑。
不幸的是,这两者在 Windows 10 中不能很好地协同工作。现在,从 WinSCP 打开 Notepad++ 中的文件后,如果我切换到 WinSCP 然后再切换回 Notepad++,我会收到以下错误消息:
xxxx 文件不再存在
以前,当我先关闭 WinSCP 中的 FTP 会话,然后再关闭在 Notepad++ 中的该会话中打开的文件时,就会出现此错误。
我搜索了互联网,但找不到解决方案。我尝试更改临时目录并打开 WinSCP 管理员。我在 WinSCP 论坛中找到了一个主题(http://winscp.net/forum/viewtopic.php?t=9548) 关于另一个用户在使用 Notepad++ 和 WinSCP 时遇到的同样问题,但他的问题仍然没有得到答复。
更新:我尝试修复该问题。
- 将‘保持连接之间的秒数’设置为 15(默认为 30 秒):http://winscp.net/eng/docs/ui_login_connection。
- 授权 Notepad++ 始终以管理员权限运行。
- 授权 WinSCP 始终以管理员权限运行。
- 为 Windows 8.1 配置 NotePad++ 兼容模式。
答案1
你有“外部编辑器在单独的窗口中打开每个文件(过程)” 编辑器偏好选项启用。这就是导致问题的原因。
该选项默认未选中,仅当您使用的编辑器在单独的进程中打开每个文件。Notepad++ 则不是这样:当您在 WinSCP 中打开文件进行编辑并且 Notepad++ 已在运行时,新的 Notepad++ 实例只会将打开委托给现有实例并退出。由于您已启用上述选项,因此 WinSCP 会检测到退出并认为文件已关闭(删除)。
有关详细信息,请参阅 WinSCP 文档在单个编辑器实例中打开更多文件。
答案2
"C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst -nosession !.!
如果您希望 Notepad++ 明确在新窗口中打开文件,则可以使用它作为外部编辑器的路径。