IntelliJ:禁止 HTML 属性插入引号

问题描述 投票:0回答:4

在 IntelliJ IDEA 11 或 12 中,打开 HTML 文件,输入

<img src=

导致自动插入双引号,导致

<img src=""

由于我在阅读的地方之前输入,这通常意味着我最终会得到类似的内容

<img src=""image.png" alt="Image"/>"

如何防止在属性名称后自动插入双引号?

intellij-idea
4个回答
10
投票

在 Intellij IDEA 14 和 15 中(请参阅@Zook 对 IDEA 13 的评论),该选项现在

窗户:

菜单文件→设置→编辑器→常规→智能键→在键入“=”时为属性值添加引号并完成属性(在“设置”对话框右侧的 XML/HTML 部分下)

麦克:

首选项→编辑器→常规→智能键→在键入“=”时为属性值添加引号

我不知道以前的版本是否相同,但 IDEA 14 中实际发生的情况是它会自动插入两个引号并将光标放入其中。没关系,但是当您输入“您期望的”开头双引号时,智能标点符号机制会认为您正在“结束”引号,并跳过自动插入的结束引号(与它相同)例如,在 java 代码中,当您键入右括号时,它已经自动插入了)。因此,您最终将光标放在一对引号后面,输入您的属性值。这似乎与最初的观察一致。 我实际上认为这是 IDEA 中的一个错误,但我想在这种情况下,开始和结束标点符号是相同的符号,这一事实使事情变得复杂。智能标点符号机制需要知道忽略您键入的 first 引号,但如果您实际上想键入像

src=""

这样的空属性值,则需要忽略第一个引号,然后跳过关闭引号第二个。繁琐,但并非不可能。

我已经用 IDEA 12 尝试过,只有在开始完成 

src

2
投票
Enter

或键入

=
确认完成后才会插入双引号。它不会自动发生,您调用完成插入引号。 没有选项可以控制它,因此您必须打破手动插入引号的习惯并使用
Enter
来代替。

也可以使用模板完成:


img

Tab

可生成

<img src="" alt="">
,其中插入符号位于第一对引号内。 然后只需输入图像文件名,Tab,输入替代文本。

您始终可以提交功能请求以禁用在属性完成时添加引号。

只需将输入语言从“美国 - 国际”更改为“美国”即可。切换到“美国”解决了问题。


2
投票
线程

对我来说,我必须这样做才能让它为我的反应项目工作:


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.