File picker is simple tool, helping you to select file while running vs code task.
Example 'tasks.json' file to build project in monorepo with lerna
{
"version": "2.0.0",
"inputs": [
{
"id": "pickerInput",
"type": "command",
"command": "filePicker.pick",
"args": {
"masks": "apps/*/package.json",
"display": {
"type": "json",
"json": "name",
"detail": "fileRelativePath",
"description": {
"type": "json",
"json": "description"
}
},
"output": "filePath"
}
}
],
"tasks": [
{
"label": "echo",
"type": "shell",
"command": "echo ${pickerInput:p}",
"problemMatcher": []
}
]
}
masks
<string | string[]>
Masks to file search. Masks starting with"/"
are searched as absolute paths, not relative toworkspaceFolder
.display
<DisplayType | DisplayConfig>
File names presentation typeoutput
<DisplayType | DisplayConfig>
Output presentation type
DisplayType
:
none
returnsundefined
fileName
returns file name (ex. readme.md)filePath
returns absolute file path (ex c:/Projects/proj/info/readme.md)fileRelativePath
returns file path, relative to workspace (ex info/readme.md)dirName
returs name of directory containings file (ex. info)dirPath
returs absolute path to directory containings file (ex. c:/Projects/proj/info)dirRelativePath
returs relative path to directory containings file (ex. info)json
reads file as json object and returns value of property, specified inPresentationConfig.json
property
PresentationConfig
:
type
<DisplayType>
Presentation typejson
<string>
Path to property of json file
DisplayConfig
:
type
<DisplayType>
Presentation typejson
<string>
Path to property of json filedescription
<PresentationConfig>
Rule to get file description (to show in vs code picker)detail
<PresentationConfig>
Rule to get file details (to show in vs code picker)
This command operates similarly to filePicker.pick
except the resulting file name or property can be used in a shell command for further processing. For example, the user can select a file to test and use a shell command to generate appropriate debugging args for the test.
Example launch.json
which uses a shell script to generate args for a user-specified test.
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug File",
"request": "launch",
"program": "process_to_debug",
"args": ["${input:getDebugArgs}"],
},
],
"inputs": [
{
"id": "getDebugArgs",
"type": "command",
"command": "filePicker.pickCommand",
"args": {
"masks": "**/*.test",
"display": "filePath",
"output": "filePath",
"command": {
"command": "generate_args.sh ${file}",
"cwd": ".",
}
}
}
]
}
Same as filePicker.pick
except with the addition of a command
section:
command
<CommandConfig>
CommandConfig
:
command
string
shell command to be run. No variable substitution is currently supported except for"${file}"
being replaced with the results of the file pick.cwd
string
Directory to execute the command in.