Cmder for Sublime Text
Cmder for Sublime Text run customer command, Cmder for Sublime Text
run any command. You can use it to run any os command, such as python, java, ruby, go, c, c++, github, docker, heroku, etc.
How tu run
shortkey: ctrl+alt+i
How to config
custom config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{
// ${workspaceFolder} - the path of the folder opened in Sublime
// ${workspaceFolderBasename} - the name of the folder opened in Sublime without any slashes (/)
// ${file} - the current opened file
// ${relativeFile} - the current opened file relative to workspaceFolder
// ${fileBasename} - the current opened file's basename
// ${fileBasenameNoExtension} - the current opened file's basename with no file extension
// ${fileDirname} - the current opened file's dirname
// ${fileExtname} - the current opened file's extension
// ${cwd} - the task runner's current working directory on startup
// ${selectedText} - the current selected text in the active file
// ${input:custom_string} - Custom String
// set default input value in "custom_env" object
"tasks" : [
{
"label" : "echo:env",
"command": "echo JAVA_HOME:${env:JAVA_HOME}, USERPROFILE:${env:USERPROFILE}"
},
{
"label" : "java:version",
"command": "java -version"
},
{
"label" : "windows:new:file",
"command": "type nul > \"${input:workspaceFolder}/${input:file_name}\""
},
{
"label" : "linux:new:file",
"command": "touch \"${input:workspaceFolder}/${input:file_name}\""
},
{
"label" : "python:run",
"command": "python ${file}"
},
{
"label" : "python:run",
"os_termial": true,
"command": "python ${file}"
},
{
"label" : "node:run",
"command": "node ${file}"
},
{
"label" : "echo:test",
"command": "echo ${input:param1}, ${input:log_file}, ${select:LOGLEVEL}"
}
],
"custom_env" : {
"log_file" : "./sfdc_tail.log",
"LOGLEVEL" : ["trace", "debug", "info", "warn", "error", "fatal"]
}
}
Predefined variables
- ${workspaceFolder} - the path of the folder opened in Sublime
- ${workspaceFolderBasename} - the name of the folder opened in Sublime without any slashes (/)
- ${file} - the current opened file
- ${relativeFile} - the current opened file relative to workspaceFolder
- ${fileBasename} - the current opened file’s basename
- ${fileBasenameNoExtension} - the current opened file’s basename with no file extension
- ${fileDirname} - the current opened file’s dirname
- ${fileExtname} - the current opened file’s extension
- ${cwd} - the task runner’s current working directory on startup
- ${selectedText} - the current selected text in the active file
Customer variables
input variables:
${input:variable_name}
- Custom Input String
select variables:
${select:variable_name}
- Custom Input String
example:
1
2
3
4
5
6
7
8
9
10
11
12
{
"tasks" : [
{
"label" : "echo:test",
"command": "echo ${input:param1}, ${input:param2}, ${select:param3}"
}
],
"custom_env" : {
"param2" : "./default_value",
"param3" : ["trace", "debug", "info", "warn", "error", "fatal"]
}
}
we defined 3 variable.
param1
is empty string.param2
is an input stringparam3
is a select list
support System env
${env:NAME_OF_SYS_ENV}
such as ${env:USERPROFILE}
, ${env:JAVA_HOME}
example:
1
2
3
4
5
6
7
8
9
10
{
"tasks" : [
{
"label" : "echo:test",
"command": "echo ${env:USERPROFILE}"
}
],
"custom_env" : {
}
}
other command params.
encoding
: you can custom theencoding
os_termial
: run the command in os termail
1
2
3
4
5
{
"label" : "node",
"encoding" : "UTF-8",
"command": "node -v"
},
More example
new File
1
2
3
4
5
6
7
8
9
10
11
12
13
"tasks" : [
{
"label" : "windows:new:file",
"command": "type nul > \"${input:workspaceFolder}/${input:file_name}\""
},
{
"label" : "linux:new:file",
"command": "touch \"${input:workspaceFolder}/${input:file_name}\""
},
],
"custom_env" : {
}
}