【发布时间】:2019-10-18 10:44:54
【问题描述】:
我打算为 PHP 代码格式化选择(缩进),但它不起作用。
- 我已经确保没有重复的快捷方式。
- 我还禁用了所有扩展。
- 我将键盘快捷键从 Ctrl+K Ctrl+f 更改为 Ctrl+k Ctrl+y。
这些都没有帮助。
是唯一不适合我格式化选择的语言
眼睛。这不是因为我缺少结束标记 (?>)。
【问题讨论】:
我打算为 PHP 代码格式化选择(缩进),但它不起作用。
这些都没有帮助。
是唯一不适合我格式化选择的语言
眼睛。这不是因为我缺少结束标记 (?>)。
【问题讨论】:
要查看菜单栏,如果不存在,请按
Left Alt
然后去:
Preferences > Keyboard Shortcuts
在搜索栏中输入
ctrl+k ctrl+f
你应该看到
也许你有一个冲突,其他命令定义了相同的快捷方式,或者你的快捷方式根本没有定义。 您可以双击快捷方式进行编辑。
请注意图片何时这是该命令起作用的时间,因为一个快捷方式可能仅在您当前正在编辑文档时才起作用,而另一种在您浏览文件时起作用,因此一旦设置了快捷方式,请确保检查它在编辑器的不同位置,看看它是否工作。
如果你使用快捷方式:
Ctrl+Shift+P
并选择命令:
您会看到一大堆快捷方式,但应该缺少其中的一个:
{ "key": "ctrl+k ctrl+f", "command": "editor.action.formatSelection",
"when": "editorHasDocumentSelectionFormattingProvider && editorHasDocumentSelectionFormattingProvider && editorTextFocus && !editorReadonly" },
我认为您可以只复制上面的一个,如果文件不存在,则粘贴到您的文件中并保存该文件,重新启动您的代码,一切都应该正常工作。请记住,该文件是 JSON,因此请保持其格式 - 看看那里的其他键是如何呈现的,并且您的粘贴不应使 JSON 无效。
【讨论】:
.vue 文件没有甲酸盐选择。
此功能取决于您的文件类型。
【讨论】:
我检查了这个键绑定确实仍然指定,没有重复的键绑定等;尽管如此,Visual Studio Code 仍然拒绝识别组合键。然后我退出了 Visual Studio Code 并重新启动它,组合键又开始起作用了。
有时,基本的退出和重启就是答案!
【讨论】:
如果没有任何效果,您可以使用多个命令创建自己的“格式选择”。您需要一个代码格式化程序和一个宏扩展来从一个键绑定运行多个命令,我使用的是“更漂亮”和“多命令”扩展。
您可以在 keybindings.json 中使用此键绑定(单击文件 -> 首选项 -> 键盘快捷键。使用打开的选项卡编辑和查找可用的键绑定)与多命令扩展 - 不需要任何东西设置.json:
{
"key": "Shift+Alt+A", // or whatever keybinding you wish
"command": "extension.multiCommand.execute",
"args": {
"sequence": [
"editor.action.formatDocument",
"editor.action.clipboardCopyAction",
"undo",
"editor.action.clipboardPasteAction",
]
},
"when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly"
}
我使用它是因为“格式选择”不适用于“*.vue”文件。
【讨论】: