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
  • 2 years ago
  • 4 minutes ago
  • 7 years ago

Installs

  • Total 3K
  • Win 1K
  • OS X 722
  • Linux 775
Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9 Mar 8 Mar 7 Mar 6 Mar 5 Mar 4 Mar 3 Mar 2 Mar 1 Feb 28 Feb 27 Feb 26 Feb 25 Feb 24 Feb 23 Feb 22 Feb 21 Feb 20 Feb 19 Feb 18 Feb 17 Feb 16 Feb 15 Feb 14 Feb 13 Feb 12 Feb 11 Feb 10 Feb 9 Feb 8 Feb 7 Feb 6 Feb 5
Windows 0 0 1 1 0 2 2 1 0 0 0 0 2 0 0 3 3 0 0 0 1 1 1 1 3 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 2
OS X 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 3 1 0 0 0 1 1 0 0 0 1 0 0 0 0 2 0 0 0 0 1 1 0 0 1
Linux 0 1 2 0 0 3 1 1 1 0 1 0 0 0 0 3 1 1 1 0 0 0 0 0 0 0 1 0 2 0 1 2 0 0 0 0 0 0 1 0 1 0 0 0 1 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.