如何在 Visual Studio 代码中切换文本大小写
Posted
技术标签:
【中文标题】如何在 Visual Studio 代码中切换文本大小写【英文标题】:How to switch text case in visual studio code 【发布时间】:2015-07-27 18:14:56 【问题描述】:如何在 Visual Studio Code 中切换高亮文本的大小写? VS 通过 CTRL+SHIFT+U 和 CTRL+U 允许这样做。
是否有我可以设置的命令绑定来执行此操作,或者默认情况下是其他一些组合键?
【问题讨论】:
我在键绑定中找不到任何相关的快捷方式。当前版本可能不支持此功能。 更新:现在支持。转到文件 > 首选项 > 键盘快捷键并搜索“转换”。 【参考方案1】:我认为这是目前缺少的一项功能。
当我为它和 Sublime 之间的键盘快捷键差异制作指南时,我注意到了。
虽然它是一个新编辑器,但如果他们在新版本中重新添加它,我不会感到惊讶。
来源:https://code.visualstudio.com/Docs/customization
【讨论】:
【参考方案2】:我写了一个 Visual Studio Code 扩展来改变大小写(不仅是大写,还有很多其他选项):https://github.com/wmaurer/vscode-change-case
要将大写命令映射到键绑定(例如 Ctrl+T U),请单击 File -> Preferences - > 键盘快捷键,并将以下内容插入到 json 配置中:
"key": "ctrl+t u",
"command": "extension.changeCase.upper",
"when": "editorTextFocus"
编辑:
随着 VSCode 的 2016 年 11 月 (release notes) 更新,内置支持通过命令 editor.action.transformToUppercase
和 editor.action.transformToLowercase
转换为大写和小写。这些没有默认的键绑定。
change-case 扩展对于其他文本转换仍然有用,例如camelCase、PascalCase、snake-case 等
【讨论】:
“ctrl+t u”在 mac 版本上对我不起作用。我改用“ctrl+u”,因为默认情况下它没有映射到任何操作。 懒人:选择文字,ctrl + p,输入>transform
选择小写或大写然后回车
@justanotherdev 评论的附录:可以在 File > Preferences > Keyboard Shortcuts 上为此命令配置键绑定
有没有办法让这些选项显示在右键菜单中(Nptepad++ 的方式)?
@justanotherdev 老实说,这对我来说是一个更快的过程,而且它已经完成并且不需要“另一个扩展”【参考方案3】:
呼应justanotherdev的评论:
令人兴奋和有用:
-
命令面板:
CTRL
+ SHIFT
+ p
(Mac:CMD
+ SHIFT
+ p
)
输入>transform
选择大写/小写并回车
【讨论】:
可以在文件 > 首选项 > 键盘快捷键上为此命令配置键绑定 pycharm 使用相同的命令 CTRL+SHIFT+ "u" 进行切换。为什么要创建两个可以使用的快捷方式?我意识到这不是答案,只是评论。 有时您有“混合大小写文本”,您想直接转到“全部大写”或“全部小写”,因此分别转换为大写和转换为小写更有意义。 非常有用,特别是多选【参考方案4】:引自post:
问题是关于如何让 CTRL+SHIFT+U 在 Visual Studio 中工作 代码。这是如何做到的。 (版本 1.8.1 或更高版本)。您也可以选择不同的组合键。
文件->首选项->键盘快捷键。
将出现一个带有
keybindings.json
文件的编辑器。放置以下 JSON 在那里并保存。[ "key": "ctrl+shift+u", "command": "editor.action.transformToUppercase", "when": "editorTextFocus" , "key": "ctrl+shift+l", "command": "editor.action.transformToLowercase", "when": "editorTextFocus" ]
现在 CTRL+SHIFT+U 将大写选定的文本,即使是多行。在 同理,CTRL+SHIFT+L 会使选中的文本变为小写。
这些命令内置于 VS Code 中,无需扩展 让它们发挥作用。
【讨论】:
酷!这就是问题所要的答案! 我在 macOS 上选择了cmd+shift+u
和 cmd+shift+l
。感觉刚刚好。
对于 Linux ctrl+shift+u 不起作用,因此请改用键 ctrl+u 大写 & ctrl+l 小写
是否可以在每个选项中使用一个键盘快捷键循环,而不是为每个选项使用单独的键盘快捷键?也就是说,我可以设置它,以便点击 shift+f3
将其更改为大写,点击 shift+f3
将其更改为小写,再次点击它会更改为 ToSnakecase,再次点击它会更改为 ToTitlecase?【参考方案5】:
在 Visual Studio Code 中拥有您可以在 Sublime Text 中执行的操作(CTRL+ K CTRL+U 和 CTRL+K CTRL+L )你可以这样做:
点击“文件 -> 首选项 -> 键盘快捷键”打开“键盘快捷键” 点击“搜索键绑定”字段下的“keybindings.json”链接在[]
括号之间添加:
"key": "ctrl+k ctrl+u",
"command": "editor.action.transformToUppercase",
"when": "editorTextFocus"
,
"key": "ctrl+k ctrl+l",
"command": "editor.action.transformToLowercase",
"when": "editorTextFocus"
保存并关闭“keybindings.json”
另一种方式: 微软发布了“Sublime Text Keymap and Settings Importer”,这是一个将键绑定和设置从 Sublime Text 导入到 VS Code 的扩展。 - https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings
【讨论】:
我不知道它是否是新的,但是当我这样做时,我所要做的就是在出现的搜索框中输入“大写”,然后单击“+”以添加新映射.用“小写”重复以覆盖另一个方向,我已经准备好了。 ctrl+k ctrl+u 通常保留用于取消注释...我已将我的设置为 alt+k alt+u 和 alt+k alt+l。【参考方案6】:对于那些害怕在你的 vscode json 设置中弄乱任何东西的人来说,这很容易理解。
打开"File -> Preferences -> Keyboard Shortcuts"
或 "Code -> Preferences -> Keyboard Shortcuts"
适用于 Mac 用户
在搜索栏中输入transform
。
默认情况下,Keybinding
下没有任何内容。现在双击 Transform to Lowercase
或 Transform to Uppercase
。
按您想要的组合键来设置您的键绑定。在这种情况下,如果复制 Sublime,我将按 ctrl+shift+u
输入大写字母或按 ctrl+shift+l
输入小写字母。
按键盘上的 Enter
保存并退出。对另一个选项执行相同操作。
享受KEYBINDING
【讨论】:
【参考方案7】:现在可以通过正则表达式替换(regex, CtrlH + Alt 在所选字符串中同时进行大写和小写切换R),根据v1.47.3 June 2020 release:
这是通过4个"Single character" character classes (Perl documentation)完成的,即对于其后的匹配组:
\l[[:lower:]]
: 第一个字符变为小写
\u [[:upper:]]
: 第一个字符变为大写
\L [^[:lower:]]
: 所有字符变为小写
\U [^[:upper:]]
: 所有字符变为大写
$0
匹配所有选定的组,而$1
匹配第一组,$2
第二组,等等。
点击搜索栏左侧的匹配大小写按钮(或AltC),并从@987654324 中借用一些示例@,现在这是可能的:
-
Capitalize的话
(\s)([a-z])
(\s
匹配空格和换行符,即“venuS”=>“VenuS”)
替换:$1\u$2
-
不大写单词
(\s)([A-Z])
替换:$1\l$2
-
删除单个camel case(例如 cAmelCAse => camelcAse => camelcase)
([a-z])([A-Z])
替换:$1\l$2
-
单词中的大写字母全部小写(例如,LowerCASe => 小写)
(\w)([A-Z]+)
替换:$1\L$2
备用替换:\L$0
-
单词中的小写字母全部大写(例如,upperCASe => uPPERCASE)
(\w)([A-Z]+)
替换:$1\U$2
-
上一个大写(例如,大写 => 大写)
(\w+)([A-Z])
替换:\U$1$2
-
前一个小写(例如 LOWERCase => lowerCase)
(\w+)([A-Z])
替换:\L$1$2
-
其余部分大写(例如 upperCase => upperCASE)
([A-Z])(\w+)
替换:$1\U$2
-
其余部分小写(例如 LOWERCASE => lOwercase)
([A-Z])(\w+)
替换:$1\L$2
-
Shift-right-uppercase(例如,Case => cAse => caSe => casE)
([a-z\s])([A-Z])(\w)
替换:$1\l$2\u$3
-
Shift-left-uppercase(例如,CasE => CaSe => CAse => Case)
(\w)([A-Z])([a-z\s])
替换:\u$1\l$2$3
【讨论】:
多么美妙的事情啊!这个答案是最好的!让我想起了 DreamWeaver 8,在那里我将使用正则表达式改造整个网站——尤其是臃肿的 MS 内容。无论如何,这在编写 DB2 到(小写)Postgres SQL 转换脚本时非常有用。【参考方案8】:使用快捷键Ctrl + Shift + P打开命令面板提示符。
在命令中,调色板开始键入您希望转换为大写或大写的文本套件,然后选择您如下图所示呈现的相应选项。
【讨论】:
以上是关于如何在 Visual Studio 代码中切换文本大小写的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 中切换 .NET Core 项目的目标框架