Visual studio code Visual Studio代码无扩展名文件的多行注释
我正在编辑一个没有扩展名的文件,例如。。。或者一个扩展名未知的文件,等等,当我尝试使用Cmd+/多行注释时,它什么也不做。我可以将扩展名改为.py或.yaml,以获得我正在寻找的评论功能,但这太麻烦了。有没有办法告诉代码在thingy的文件类型上像.py扩展名一样工作?。。。或者用CARECARETURN+换行符加上空格替换CARECARETURN+换行符。。。或者强制Cmd+/工作?我有点惊讶,但这似乎可行-测试一下。您将需要某种类型的宏扩展。这里我用的是 在您的settings.json中:Visual studio code Visual Studio代码无扩展名文件的多行注释,visual-studio-code,comments,vscode-settings,Visual Studio Code,Comments,Vscode Settings,我正在编辑一个没有扩展名的文件,例如。。。或者一个扩展名未知的文件,等等,当我尝试使用Cmd+/多行注释时,它什么也不做。我可以将扩展名改为.py或.yaml,以获得我正在寻找的评论功能,但这太麻烦了。有没有办法告诉代码在thingy的文件类型上像.py扩展名一样工作?。。。或者用CARECARETURN+换行符加上空格替换CARECARETURN+换行符。。。或者强制Cmd+/工作?我有点惊讶,但这似乎可行-测试一下。您将需要某种类型的宏扩展。这里我用的是 在您的settings.json中:
"multiCommand.commands": [
{
"command": "multiCommand.addCommentNoExtension",
"sequence": [
"editor.action.insertCursorAtEndOfEachLineSelected",
"cursorHome",
{
"command": "type",
"args": {
"text": "# "
}
},
"removeSecondaryCursors"
]
},
{
"command": "multiCommand.removeCommentNoExtension",
"sequence": [
"editor.action.insertCursorAtEndOfEachLineSelected",
"cursorHome",
"deleteRight",
"deleteRight",
"removeSecondaryCursors"
]
}
]
在您的keybindings.json中,放置以下keybindings:
{
"key": "cmd+/",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.addCommentNoExtension" },
"when": "editorTextFocus && resourceFilename =~ /^(?!.*\\.)/"
},
{
"key": "shift+/",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.removeCommentNoExtension" },
"when": "editorTextFocus && resourceFilename =~ /^(?!.*\\.)/"
},
下面是一个演示:
这种方法有一些局限性,而不是全面的扩展
最后一个光标位置将不会被记住
空行将被注释-正如您在演示中看到的那样
当阻止不同缩进的注释行时,注释不会对齐
必须使用一个keybinding Cmd+/添加注释,使用另一个binding Shift+/删除注释。我不认为有办法使它成为一个单命令切换
这个答案中真正有趣的部分是如何定位没有扩展名的文件。在keybindings中有包含resourceFilename=~/^的when子句。*\\./
When子句可以将正则表达式应用于某些键,如resourceFilename。看见regex/^?!.\\\./表示在文件名不包含文本时应用此键绑定。。它使用了一个否定的前瞻性断言没有。跟随任何字符
我不确定这是否可行,但它似乎奏效了。Cmd+/命令在处理其他文件类型时仍然可以正常工作
您可以使用when:editorTextFocus&&editorLangId==纯文本,只要没有扩展名的文件保持为纯文本langId文件,就可以使用when:editorTextFocus&&editorLangId==纯文本。它没有我上面使用的when子句那么具体。终于找到了两个有效的解决方案。。。没有扩展等等 只需在列1中按住macOption+Cmd,然后单击向下箭头以多光标选择所有行,然后简单地键入以将其放入列1,其余的将移到列右侧。。。您可以再次执行此操作,例如添加另一个 此外,另一个选择是:
-进入选择>列选择模式,进入列模式,然后向下拖动,进行多选。。然后键入注释行,例如 可以用命令完成,但不能用同一个命令将其关闭。如何执行命令?我可以创建两个,一个打开,一个关闭吗?然后做同样的操作来关闭注释-似乎每次都要做很多工作来避免使用宏扩展;>}而不是在行中的任何位置按Ctrl+/和Shift+/。