简介
VS_Code内置变量统计
| 变量类别 | 变量名 | 描述 | 示例值(假设环境) |
|---|---|---|---|
| 工作区相关 | ${workspaceFolder} |
在 VS Code 中打开的文件夹的绝对路径 | /home/user/my-project |
${workspaceFolderBasename} |
在 VS Code 中打开的文件夹的名称(不含任何斜杠) | my-project |
|
${fileWorkspaceFolder} |
当前打开的文件所在的工作区文件夹的路径 | /home/user/my-project |
|
| 文件路径相关 | ${file} |
当前打开的文件的绝对路径 | /home/user/my-project/src/app.js |
${relativeFile} |
当前打开的文件相对于 ${workspaceFolder} 的路径 |
src/app.js |
|
${relativeFileDirname} |
当前打开的文件所在目录相对于 ${workspaceFolder} 的路径 |
src |
|
${fileBasename} |
当前打开的文件的文件名(含扩展名) | app.js |
|
${fileBasenameNoExtension} |
当前打开的文件的文件名(不含扩展名) | app |
|
${fileDirname} |
当前打开的文件所在目录的绝对路径 | /home/user/my-project/src |
|
${fileDirnameBasename} |
当前打开的文件所在目录的名称 | src |
|
${fileExtname} |
当前打开的文件的扩展名 | .js |
|
| 编辑器状态 | ${lineNumber} |
当前活动文件中光标所在行的行号 | 42 |
${columnNumber} |
当前活动文件中光标所在列的列号 | 8 |
|
${selectedText} |
当前活动文件中选中的文本 | console.log("hello") |
|
| 系统信息 | ${cwd} |
任务启动时的当前工作目录(通常是启动 VS Code 时的目录) | /home/user |
${execPath} |
正在运行的 VS Code 可执行文件的路径 | /usr/bin/code |
|
${userHome} |
用户主文件夹的路径 | /home/user |
|
${pathSeparator} |
操作系统用于分隔文件路径组件的字符 | / (Linux/macOS), \ (Windows) |
|
${/} |
${pathSeparator} 的简写 |
同上 | |
| 任务相关 | ${defaultBuildTask} |
默认构建任务的名称 | npm: build |
| 多根工作区 | ${workspaceFolder:FolderName} |
在多根工作区中,指定名称的文件夹的路径(例如 ${workspaceFolder:Client}) |
/home/user/my-workspace/Client |
Zed内置变量统计
| 变量 | 说明 | 示例值 |
|---|---|---|
$ZED_COLUMN |
当前光标所在列号 | — |
$ZED_ROW |
当前光标所在行号 | — |
$ZED_FILE |
当前打开文件的绝对路径 | /Users/my-user/path/to/project/src/main.rs |
$ZED_FILENAME |
当前打开文件的文件名(含扩展名) | main.rs |
$ZED_DIRNAME |
当前打开文件所在目录的绝对路径(不含文件名) | /Users/my-user/path/to/project/src |
$ZED_RELATIVE_FILE |
当前文件相对于 ZED_WORKTREE_ROOT 的相对路径 |
src/main.rs |
$ZED_RELATIVE_DIR |
当前文件目录相对于 ZED_WORKTREE_ROOT 的相对路径 |
src |
$ZED_STEM |
当前文件的文件主干名(不含扩展名) | main |
$ZED_SYMBOL |
当前选中的符号(与面包屑导航中最后显示的符号一致) | mod tests > fn test_task_contexts |
$ZED_SELECTED_TEXT |
当前选中的文本 | — |
$ZED_LANGUAGE |
当前缓冲区的语言 | Rust、Python、Shell Script |
$ZED_WORKTREE_ROOT |
当前工作区根目录的绝对路径 | /Users/my-user/path/to/project |
$ZED_CUSTOM_RUST_PACKAGE |
(Rust 专用)$ZED_FILE 源文件所属的父包名称 |
— |
Zed定义Java编译任务
Zed/tasks.json
- Ctrl+Shift+P 选中 task: span 可以看到自定义的任务
- 当前目录下的 libs/ 默认作为 jar引用目录存在 3.output 作为编译生成 class 文件存放的目录
[
{
"label": "Java_Compile_Run",
"command": "cmd",
"args": [
"/c",
"if not exist output mkdir output ; javac -cp \"libs/*\" -d \"output\" -encoding UTF-8 \"$ZED_FILE\" ; java -cp \"libs/*;output;.\" $ZED_STEM",
],
},
]
自定义快捷键F6快速调用任务
keymap.json
[
{
"context": "Workspace",
"bindings": {
// "shift shift": "file_finder::Toggle"
//
// 定义了一个F6的快捷键 用于调用自定义任务 Java_Compile_Run
"F6": [
"task::Spawn",
{
"task_name": "Java_Compile_Run",
"reveal_target": "center",
},
],
},
},
{
"context": "Editor && vim_mode == insert",
"bindings": {
// "j k": "vim::NormalBefore"
},
},
]
Zed定义 Python编译任务
Zed/tasks.json
- Ctrl+Shift+P 选中 task: span 可以看到自定义的任务 2.执行 python命令
[
{
"label": "Python_Compile_Run",
"command": "cmd",
"args": [
"/c",
"if not exist output mkdir output ; python $ZED_FILE $ZED_DIRNAME ‘#_11'",
],
},
]
自定义快捷键F7快速调用任务
keymap.json
[
{
"context": "Workspace",
"bindings": {
// "shift shift": "file_finder::Toggle"
//
// 定义了一个F6的快捷键 用于调用自定义任务 Java_Compile_Run
"F7": [
"task::Spawn",
{
"task_name": "Python_Compile_Run",
"reveal_target": "center",
},
],
},
},
]
