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

Switch File Deluxe

by jturcotte ALL

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

Details

  • 2017.07.27.15.22.39
  • github.​com
  • github.​com
  • 8 years ago
  • 5 days ago
  • 13 years ago

Installs

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