工具运行器
使用缓冲区的内容执行命令行工具
详细信息
安装
- 总数 825
- Win 553
- Mac 124
- Linux 148
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 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 | 1 | 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 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
README
Sublime Text 的 ToolRunner
主要用于通过 SQLCMD 命令行工具快速执行 SQL 语句,后来扩展到可以执行任何命令行工具。
ToolRunner 将选定的源输入(无、选择、行、块或文件)管道用于选定的工具,并将输出追加到缓冲区或面板中。
工具
工具是由 Tool Runner 运行的外部应用程序。工具必须在设置文件中定义。
ToolRunner 随带一些预配置的工具
外壳
- cmd
- bash
数据库客户端
- SQLCMD(SQL Server 命令行客户端)
- MySql
- MongoDB
解释器
- Python
- Ruby
- NodeJS
- JScript
- VBScript
但你可以添加自己的。
基本配置
这是配置选项的一般视图
{
// Preconfigured tools
"default_tools": [],
//User-defined tools.
//Tools added in Host, Platform and User settings will be merged.
"user_tools": [],
// Executable overrides for specific tool.
"user_tool_overrides": {
"toolname": "cmdpath"
},
// User groups and profiles configuration.
// Groups added in Host, Platform and User settings will be merged.
// Check "Groups Configuration"
"user_groups": [],
// Default profile for the given groups.
"default_profiles": {
"group": "profile"
},
// Whether to dump debug messages to console
"debug": false
}
工具配置
这是工具配置选项的模型(default_tools, user_tools)
[
{
// Friendly name to reference this tool
// Optional. Defaults to cmd configuration value
"name": "CMD",
// Executable to call when this tool is run. Must be on PATH or must
// be an absolute path
// Required.
"cmd": "sqlcmd",
// Arguments that the command receives.
// "${flags}", "${named_args}", "${positional_args}" are replaced as individual elements by its corresponding params.
// Any other values are passed as-is.
"arguments": [ "${flags}", "${named_args}", "${positional_args}" ],
"options": {
// Configuration of the input string passed to the tool
"input": {
//"pipe" pipes the input to the tool.
//"manual" requires an argument "${input}" to be filled with the full input
//"none" prevents to pass any input to the tool.
"mode": "pipe",
// Launch command even if input is empty. Forced to true when mode=none
"allow_empty": false,
// Python codec to encode the input for the tool.
"codec": "utf_8"
},
// Configuration for the execution results view
"output": {
// "buffer" creates a normal view next to the current view
// "panel" creates an output panel (like a build command)
"mode": "buffer",
// Syntax file to apply to output
"syntax_file": "Packages/${package}/lang/ToolRunner Output.tmLanguage",
// Python codec to decode the output of the tool.
"codec": "utf_8"
},
// Parameters this tool receives.
// Key is the friendly name that will be used to pass this parameter
"params": {
"server": {
// Indicates the type of parameter.
// Defaults to "named"
"type": "named",
// Argument that will be prepended to this param value
"argument": "-S"
},
"quiet": { "type": "flag", "argument": "-Q" },
"address": { "type": "positional", "order": "1", "required": false }
}
}
}
}
工具配置分组配置
[
{
"name": "MSSQL",
"tool": "mssql",
"input": "",
"output": "",
"params": "",
"profiles": [
{
"name": "Production",
"desc": "Production",
"tool": "", // overrides default-tool
"input": {},
"output": {}, // override options
"params": {
"server": "production.server.com"
}
}
]
}
]
命令(用于调色板或快捷键)
[
{
"command": "tool_runner",
"args": {
// If none tool or group are passed, there will be a selector for Group/Profile
"tool": "sqlcmd", // tool name
"group": "group", // group name
"default_profile": false, //
"profile": "profile_name", // profile name
"input": "auto-file", // [Required] none, selection, line, **auto-line**, block, auto-block, file, auto-file
// If you use none be sure the command has allow_empty = true
"output": {}, // overrides output config
// tool params as defined in tool's params config.
// Overrides profile params
"params": {}
}
},
{
//Cancels the currently running tool for that view.
"command": "tool_runner_cancel_running"
},
{
//Changes focus to current output panel/view for that source view.
"command": "tool_runner_focus_output"
},
{
// Changes the default profile for a group.
"command": "tool_runner_switch_default_profile",
"args": {
// If not indicated, will display the palette to select the group
// to change the default for
// The selected group will be saved in host-specific settings
"profile_group": "MSSQL"
}
},
{
// Open settings file for indicated scope
"command": "tool_runner_open_settings",
"args": {
// Scope to open settings for.
// If no scope is passed, a panel will ask for it
"scope": "default" // default, user, platform, host
}
}
]
调色板命令和快捷键
我不包括默认的快捷键,因为它们太侵入性了,鉴于此插件非常通用,用户最好根据文件类型和使用的工具定义自己的一套绑定。
查看例子.sublime-keymap,了解如何配置快捷键以执行语句(所选文本或整个文件)的执行
但你可以创建自己的快捷键和命令,例如
{
"keys": ["f5"],
"command": "tool_runner"
},
{
"keys": ["ctrl+f5"],
"command": "tool_runner_cancel_current"
}
将允许你使用 F5(询问你哪个工具/配置文件要使用),并使用 CTRL+F5 取消当前视图正在运行命令
开发
你可以运行 poetry run inv fix
来排序导入和格式化代码。
运行 poetry run inv lint
必须成功。
未来
- 在 MacOS 上进行测试