ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

更好的SwitchHeaderImplementation

rwols

为C系列提供更全面的Switch文件功能

详细信息

安装

  • 总计 1K
  • Win 568
  • Mac 224
  • Linux 299
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
Mac 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

README

源代码
raw.githubusercontent.com

BetterSwitchHeaderImplementation

一个简单的插件,它“接管”Goto -> Switch File -> Switch Header/Implementation菜单项。实际上,它接管了该菜单项调用的命令。

用法

就像通常一样使用Switch Header/Implementation。也就是说,无论是从Goto -> Switch File -> Switch Header/Implementation的菜单项,还是通过其快捷键(无论是什么),都可以。

例如,如果你的头文件位于

$project_path/include/awesome/foo.hpp

并且你的实现文件位于

$project_path/lib/foo.cpp

那么这个插件实际上将进行切换。

两种操作模式

当你在文件夹模式下(你没有打开.sublime-project文件),那么插件将遍历父目录。向上遍历三个父目录的合理限制已实施。你可以在插件的设置中更改此数字,但不要设置得太高,否则Sublime可能会冻结。

如果您的代码库看起来像这样

$project_path/include/foo/bar.hpp
$project_path/include/foo/baz/bar.hpp
$project_path/src/bar.cpp

然后从src/bar.cpp进行切换,你很可能会结束在include/foo/bar.hpp,因为那是第一个匹配项。这是文件夹模式的缺点。

当您处于项目模式(您已打开.sublime-project文件)时,插件会假定项目文件位于目录的根目录,搜索将从那里开始。所有候选文件将被收集,如果有多个候选文件,则会弹出一个快速面板,让您选择正确的文件。从那时起,插件将始终选择您选择的选项进行切换。此模式功能更加强大。使用sublime项目文件的强大功能。

局限性

插件可能会出现错误正例。例如,如果您的代码库看起来像这样

$project_path/include/awesome/foo.hpp
$project_path/include/awesome/bar/foo.hpp
$project_path/src/bar/foo.cpp

那么从include/awesome/foo.hpp切换,它会打开src/bar/foo.cpp。但src/bar/foo.cpp可能配对的是include/awesome/bar/foo.hpp