Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
345 lines (301 sloc) 13.5 KB
// All options in here can also be specified in your project settings
// with a prepended "sublimeclang_" for example if you have
// "settings":
// {
// "sublimeclang_show_visual_error_marks": false
// }
// in your project settings, this will override the settings specified
// in this file and in your user settings.
// Whether or not the plugin is enabled. Useful if you want to disable
// the plugin completely for a specific project.
"enabled": true,
// Whether or not to automatically trigger the auto complete
// window when typing object., object-> or similar.
"automatic_completion_popup": true,
// Number of worker threads to create. If set to -1 it'll create
// one thread per cpu
"worker_threadcount": -1,
// Whether or not fast completions are enabled. Usually you'd put
// "sublimeclang_enable_fast_completions": false, in the project
// settings if it's problematic in that project. You can also
// runtime toggle fast completions alt+d,alt+f, however if it
// is disabled for the current project (or globally in your
// user settings) it will not be enabled. In other words
// this setting, when set to false, overrides whatever the
// keyboard toggle is set to.
"enable_fast_completions": true,
// Delay in ms until recompiling the file after the buffer is modified
// Set to 0 to disable.
// You probably also want to change the reparse_use_dirty_buffer
"recompile_delay": 0,
// Whether or not to hide the clang output panel when it's empty
"hide_output_when_empty": false,
// Whether or not to automatically show the output panel.
// If set to false, the default key-binding alt+d,alt+p
// will show it
"show_output_panel": true,
// When set to true, the output panel will be updated with the active
// view's errors/warnings as it is switched to. If set to false you will
// have to switch to the view you want to get the errors/warnings for
// and press alt+d,alt+f to hide and then display the panel for it
// to refresh its contents
"update_output_panel": true,
// Whether to apply a tmLanguage syntax file to the output panel
"output_panel_use_syntax_file": true,
// Specify syntax file for output panel
"output_panel_syntax_file": "Packages/SublimeClang/ErrorPanel.tmLanguage",
// Whether or not to show the clang parser status in the status bar
"show_status": true,
// When set to true, will display visual error markers.
"show_visual_error_marks": true,
// When set to true, error marks will only be displayed when the error
// panel is showing
"error_marks_on_panel_only": false,
// This is the bitmask sent to index.parse.
// For example, to be able to go to the definition of
// preprocessed macros, set it to 1, for using an implicit
// precompiled header set it to 4 and for caching completion
// results, set it to 8. Or all together 1+4+8=13.
// See
// and
// for more details
"index_parse_options": 13,
// If set to false, the main thread will lock while parsing
// the file, but commands will work the first time they are
// executed rather than the first time after warm up has
// finished
"warm_up_in_separate_thread": true,
// If set to true will warm up the cache for supported files
// when they are opened
"cache_on_load": true,
// If set to true will remove the file from the cache when
// it is closed
"remove_on_close": true,
// If set to true will pop the file from the navigation stack
// (automatic alt+d,alt+b) when the file is closed
"pop_on_close": true,
// When set to true a reparse command will be triggered
// when a view is activated
"reparse_on_activated": true,
// When set to true a reparse command will be triggered
// when a view is saved
"reparse_on_save": true,
// Whether to use the saved file or the (possibly) dirty buffer contents when reparsing
"reparse_use_dirty_buffer": false,
// When set to true will display parse status messages
"parse_status_messages": true,
// When set to true will display analyzer status messages
"analyzer_status_messages": true,
// Scope used for markers in the clang output panel
"marker_output_panel_scope": "invalid",
// Scope used for warning markers
"marker_warning_scope": "comment",
// Scope used for error markers
"marker_error_scope": "invalid",
// Whether or not to print out timing information for the complete operation
"time_completions": false,
// Whether or not to inhibit the Sublime Text 2 built in word completions
"inhibit_sublime_completions": true,
// Don't show stuff in the autocomplete list when the name starts with the following
// If set to true it'll add for example "-x c++" to the options for c++ files
"add_language_option": true,
// Additional language specific options for clang.
// This option only works when "add_language_option" is set to true.
// For example, you can use "c++": ["-std=c++11"] to enable C++11 features.
"c++" : [],
"c": [],
"objc": [],
"objc++": []
// Any options you want to give to clang
// This can also be specified as project specific options. Choose the menu item
// Project->Edit Project, and then add something like the following to the
// "settings" section:
// "sublimeclang_options":
// [
// "-I/project/specific/path/1",
// "-I/project/specific/path/2"
// ]
// If your project does not have a settings section it would look like this:
// "settings":
// {
// "sublimeclang_options":
// [
// "-I/project/specific/path/1",
// "-I/project/specific/path/2"
// ]
// }
// If "sublimeclang_options" exists in your project settings, it'll override
// rather than add to the "options" defined in SublimeClang.sublime-settings.
// Note that the project settings aren't applied for already cached files,
// so to make them take effect you'll have to clear the cache first. The
// default keybinding for clearing the cache is alt+d,alt+c.
// ${home}, ${env:<variable>}, ${project_path}, ${project_path:} and ${folder:} tokens can be
// used in these options.
// ${home} is replaced with the value of the HOME environment variable.
// ${env:<variable>} is replaced with the "variable" environment variable.
// ${project_path} returns the directory of the project for the current file or current window. In
// Sublime Text 2 where no associated project information available, the first folder containing a
// sublime-project file opened will be chosen.
// ${project_path:} tries to find a file with the given name in all the registered project folders and
// returns the first file found, or the original file name if none is found.
// Example: ${project_path:main.cpp} tries to find a file named "main.cpp" relative
// to the current project's folders. If none is found, it is replaced with "main.cpp".
// ${folder:} is replaced with the dirname of the given path.
// Example: ${folder:/path/to/file} is replaced with "/path/to".
// ${this_file_path} is replaced by the path to currently edited file.
// Example: ${this_file_path} is replaced with "/path/to" when edited file is "/path/to/file".
// Replacement is done sequentially, first all ${project_path:} are resolved, then ${home} and
// ${env:<variable>} tokens, and the ${folder:} are replaced, and then the ${this_file_path}.
// So for example, you might specify:
// "-I${folder:${project_path:main.cpp}}",
// "-I${folder:${project_path:main.cpp}}/includepath",
// "-I${folder:${project_path:main.cpp}}/anotherincludepath"
// And it will expand into:
// "-I<path of the project folder containing main.cpp>",
// "-I<path of the project folder containing main.cpp>/includepath",
// "-I<path of the project folder containing main.cpp>/anotherincludepath"
// You can also add an '*' or '**' to the end of a path.
// '*' will include all the subdirectories (non-recursive) of that path (not including the given path)
// '**' will expand to include all subdirectories recursively (not including the given path)
// Both with ignore any directories that begin with '.', but you can still specify those manually
// For example, imagine we had a directory structure like so:
// myproject/myproject.sublime-project
// myproject/src
// myproject/src/.hidden-dir
// myproject/src/ModuleA
// myproject/src/ModuleB
// myproject/src/ModuleC/SubmoduleC-A
// myproject/src/ModuleC/SubmoduleC-B
// myproject/includes
// myproject/includes/something
// myproject/includes/somethingelse
// myproject/includes/morethings
// myproject/includes/evenmorethings/asdf
// an option like this:
// "-I${folder:${project_path:myproject.sublime-project}}/src/**",
// will expand to:
// "-I/path/to/myproject/src/ModuleA",
// "-I/path/to/myproject/src/ModuleB",
// "-I/path/to/myproject/src/ModuleC/SubmoduleC-A",
// "-I/path/to/myproject/src/ModuleC/SubmoduleC-B",
// Note that src and .hidden-dir were skipped
// an option like this:
// "-I${folder:${project_path:myproject.sublime-project}}/includes/*",
// will expand to:
// "-I/path/to/myproject/includes/something",
// "-I/path/to/myproject/includes/somethingelse",
// "-I/path/to/myproject/includes/morethings",
// "-I/path/to/myproject/includes/evenmorethings",
// Notice that the both the myproject/includes directory and any directories more than one level deep are skipped
// Set "debug_options" (defined below) to true to print the final options used for compilation to the python console
// For help getting up and running with MinGW see
// For help getting up and running with the AVR toolchain see
// For help getting up and running with iOS development see
"-isystem", "/Applications/",
"-isystem", "/Applications/",
"-isystem", "C:\\MinGW\\lib\\gcc\\mingw32\\4.7.0\\include",
"-isystem", "C:\\MinGW\\lib\\gcc\\mingw32\\4.7.0\\include\\c++",
"-isystem", "C:\\MinGW\\lib\\gcc\\mingw32\\4.7.0\\include\\c++\\mingw32",
"-isystem", "C:\\MinGW\\include",
"-isystem", "/usr/include",
"-isystem", "/usr/include/c++/*",
// A command that can be run to fetch actual options for a source file in a build system.
// The script should print on stdout a list of space or newline separated options
// that will be appended to the static list in "options".
// This setting will also have its ${home}, ${project_path:} and ${folder:} tokens expanded
// and can be configured in project files.
// Example:
// "${} someArgument1 someArgument2"
// if is present under the project's folders, will be executed as:
// "/path/to/ someArgument1 someArgument2 currentViewFileName"
// before each time a file needs to be parsed by clang.
// An example options script for loading the exact compilation commands from
// a CMake json database is available at
"options_script": "",
// If set to true, it'll not prepend the compiler options with the path to the
// included headers
"dont_prepend_clang_includes": false,
// When set to true will output the final options used to the python console
"debug_options": false,
// Scope used for markers in the clang output panel
"marker_analyzer_output_panel_scope": "invalid",
// Scope used for markers by the analyzer in the file views
"marker_analyzer_scope": "invalid",
// Command line used to invoke the static analyzer.
// "options" will be appended to this
// Extensions to be scanned by the static analyzer
// when analyzing a project
// All diagnostic errors from files in these directories or below will be ignored
// Diagnostic errors/warnings matching this regex pattern will be ignored
"diagnostic_ignore_regex": "pragma once in main file"