ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Switch File Deluxe

by jturcotte ST2/ST3

Switch header/source based on generic suffixes (not just the extension).

Details

  • 2017.07.27.15.22.39
  • github.​com
  • github.​com
  • 4 weeks ago
  • 34 minutes ago
  • 5 years ago

Installs

  • Total 2K
  • Win 711
  • OS X 535
  • Linux 532
Aug 22 Aug 21 Aug 20 Aug 19 Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8
Windows 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 2 0 0 1 0 1 1 4 0 2 0 1 0 0 2 0 2 2 1 2 4 3 0 0 0 0 3 1 0 0 0
OS X 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 3 2 1 0 1 0 0 4 0 0 0 0 1 0 0 3 0 0 0 0 2 3 0 3 1 1
Linux 1 2 0 0 0 1 0 2 1 1 0 2 1 1 0 0 2 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 2 2 0 0 0 1 0 2 0 2 1 0 0

Readme

Source
raw.​githubusercontent.​com

SublimeSwitchFileDeluxe

Switch header/source based on generic suffixes (not just the extension).

If a file can't be found in the same directory, the command also searches for it in the directory of other already opened files. It can also search in relative paths specified with "paths" setting. For example if "paths" is ["..", "../impl", "internal"], then header/source will be searched in parent folder, in 'impl' sibling folder and in 'internal' subfolder.

Example

Qt has private headers with a “_p.h” suffix, and QtWebKit has platform specific implementation headers/sources with a “Qt.” suffix. The following keymap setting would allow switching between “File.cpp” -> “FileQt.cpp” -> “FileQt.h” -> “File.h” -> “File_p.h” -> “File_p_p.h” -> … It also would search for files in sibling impl and include folders.

[
    { "keys": ["alt+o"], "command": "switch_file_deluxe", "args": {
        "extensions": [".cpp", ".cxx", ".cc", ".c", "Qt.cpp", "Qt.h", ".hpp", ".hxx", ".h", "_p.h", "_p_p.h", ".ipp", ".inl", ".m", ".mm"],
        "paths": ["../impl", "../include"]
    } }
]

Note: The dot has to be explicitely specified before extensions, unlike the standard switch_file command.