Sublime text 3 build 3083 运行 变体未自动选择
Sublime text 3 build 3083 Run variant not chosen automatically
我使用 Sublime Text 3 进行 C++ 开发。我刚刚从之前版本的 Sublime Text 3 更新到当前版本(版本 3083)。唯一困扰我的是,每当我尝试 "Run" 一个 C++ 程序时,使用 Command+Shift+B (OS X),而不是 运行ning 构建,它就会出现有一个菜单,我必须从中选择配置,例如
- C++ 单个文件
- C++ 单个文件 - 运行
- 我的自定义 C++
- 我的自定义 C++ - 运行
挺烦人的,之前的Sublime 3都没有做到这一点(能够自动select正确配置)。问题不会出现在构建 (Command + B) 上,而只会出现在尝试 运行 使用 Command + Shift +B 构建时。
有谁知道如何解决这个问题?
我也 运行 遇到了这个问题,深入研究 this thread 帮助我弄清楚发生了什么。
Ctrl + B 执行主要构建系统命令和 Ctrl + Shift + B 执行第一个 变体 已更改。现在后者总是显示命令面板以及所有适用的构建系统。一旦您从调色板 select 编辑了您想要 运行 的变体,随后的 Ctrl + B 将重新 运行 相同的变体直到您使用 Ctrl + Shift + B 到 select 另一个变体。
我测试了两种不同的恢复旧行为的方法,都涉及添加自定义键盘绑定
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"select": false} }
或
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"variant": "Run"} }
(在第二种情况下,将 Run
替换为您的变体名称)
链接的线程还说您可以指定 sublime-build 文件的路径
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"build_system": "Packages/ALanguage/ALanguage.sublime-build", variant": "Run"} }
{
"keys": ["super+b"],
"command": "build",
"context": [
{ "key": "selector", "operator": "equal", "operand": "source.c++" }
],
"args": {
"build_system": "Packages/C++/C++.sublime-build",
"variant": "Build"
}
},
{
"keys": ["super+shift+b"],
"command": "build",
"context": [
{ "key": "selector", "operator": "equal", "operand": "source.c++" }
],
"args": {
"build_system": "Packages/C++/C++.sublime-build",
"variant": "Run"
}
},
{
"keys": ["super+b"],
"command": "build",
"context": [
{ "key": "selector", "operator": "equal", "operand": "source.java" }
],
"args": {
"build_system": "Packages/Java/Java.sublime-build",
"variant": "Build"
}
},
{
"keys": ["super+shift+b"],
"command": "build",
"context": [
{ "key": "selector", "operator": "equal", "operand": "source.java" }
],
"args": {
"build_system": "Packages/Java/Java.sublime-build",
"variant": "Run"
}
}
在 Key Bindings-User 中添加这个为我恢复了旧行为。希望这有帮助。
编辑:使用 'context' 我们可以为多种语言构建相同的快捷键,并且键绑定中任何未定义的 build_systems 都将具有键的默认行为。
如果你想编译并且运行你在 sublime text 3 中编程
使用不同的 - 不同的密钥(例如 "f5" 用于编译,"f6" 用于 运行
命令提示符,然后按照我的步骤操作。
1- 在 sublime text 3 中只需单击首选项 > 键绑定。
2- 这里是打开了一个新的 window 在两个设置 1set 默认键绑定在左边。
2set 是用户定义的面板,一个空面板
3- 现在粘贴以下代码。
[
{ "keys": ["f5"], "command": "build", "args": {"variant": ""} },
{ "keys": ["f6"], "command": "build", "args": {"variant": "Run"} },
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"select":false} }
]
现在您可以使用 "f5" 和 "f6" 编译 运行。
您可以根据需要通过替换密钥来更改密钥。
我使用 Sublime Text 3 进行 C++ 开发。我刚刚从之前版本的 Sublime Text 3 更新到当前版本(版本 3083)。唯一困扰我的是,每当我尝试 "Run" 一个 C++ 程序时,使用 Command+Shift+B (OS X),而不是 运行ning 构建,它就会出现有一个菜单,我必须从中选择配置,例如
- C++ 单个文件
- C++ 单个文件 - 运行
- 我的自定义 C++
- 我的自定义 C++ - 运行
挺烦人的,之前的Sublime 3都没有做到这一点(能够自动select正确配置)。问题不会出现在构建 (Command + B) 上,而只会出现在尝试 运行 使用 Command + Shift +B 构建时。
有谁知道如何解决这个问题?
我也 运行 遇到了这个问题,深入研究 this thread 帮助我弄清楚发生了什么。
Ctrl + B 执行主要构建系统命令和 Ctrl + Shift + B 执行第一个 变体 已更改。现在后者总是显示命令面板以及所有适用的构建系统。一旦您从调色板 select 编辑了您想要 运行 的变体,随后的 Ctrl + B 将重新 运行 相同的变体直到您使用 Ctrl + Shift + B 到 select 另一个变体。
我测试了两种不同的恢复旧行为的方法,都涉及添加自定义键盘绑定
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"select": false} }
或
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"variant": "Run"} }
(在第二种情况下,将 Run
替换为您的变体名称)
链接的线程还说您可以指定 sublime-build 文件的路径
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"build_system": "Packages/ALanguage/ALanguage.sublime-build", variant": "Run"} }
{
"keys": ["super+b"],
"command": "build",
"context": [
{ "key": "selector", "operator": "equal", "operand": "source.c++" }
],
"args": {
"build_system": "Packages/C++/C++.sublime-build",
"variant": "Build"
}
},
{
"keys": ["super+shift+b"],
"command": "build",
"context": [
{ "key": "selector", "operator": "equal", "operand": "source.c++" }
],
"args": {
"build_system": "Packages/C++/C++.sublime-build",
"variant": "Run"
}
},
{
"keys": ["super+b"],
"command": "build",
"context": [
{ "key": "selector", "operator": "equal", "operand": "source.java" }
],
"args": {
"build_system": "Packages/Java/Java.sublime-build",
"variant": "Build"
}
},
{
"keys": ["super+shift+b"],
"command": "build",
"context": [
{ "key": "selector", "operator": "equal", "operand": "source.java" }
],
"args": {
"build_system": "Packages/Java/Java.sublime-build",
"variant": "Run"
}
}
在 Key Bindings-User 中添加这个为我恢复了旧行为。希望这有帮助。
编辑:使用 'context' 我们可以为多种语言构建相同的快捷键,并且键绑定中任何未定义的 build_systems 都将具有键的默认行为。
如果你想编译并且运行你在 sublime text 3 中编程 使用不同的 - 不同的密钥(例如 "f5" 用于编译,"f6" 用于 运行 命令提示符,然后按照我的步骤操作。
1- 在 sublime text 3 中只需单击首选项 > 键绑定。
2- 这里是打开了一个新的 window 在两个设置 1set 默认键绑定在左边。
2set 是用户定义的面板,一个空面板
3- 现在粘贴以下代码。
[
{ "keys": ["f5"], "command": "build", "args": {"variant": ""} },
{ "keys": ["f6"], "command": "build", "args": {"variant": "Run"} },
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"select":false} }
]
现在您可以使用 "f5" 和 "f6" 编译 运行。 您可以根据需要通过替换密钥来更改密钥。