9

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

<img src=

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

<img src=""

因为我在我阅读的地方之前打字,这通常意味着我最终会得到类似的东西

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

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

4

3 回答 3

10

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

视窗:

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

苹果电脑:

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

我不知道以前的版本是否相同,但在 IDEA 14 中实际发生的是它会自动插入两个引号并将光标放在其中。很好,但是当您键入您期望的开头双引号时,智能标点符号机制会认为您正在关闭引号并跳过自动插入的右引号(与例如 java 代码中的相同)当您键入右括号时,它已经自动插入了一个)。因此,您在这对引号之后用光标结束,输入您的属性值。这似乎与最初的观察一致。

我实际上会认为这是 IDEA 中的一个错误,但我猜在这种情况下,开始和结束标点符号是相同的符号这一事实使事情变得复杂。智能标点机制需要知道忽略您输入的第一个引号,但如果您确实想输入一个空属性值,例如src="",它需要忽略第一个引号,然后跳过第二个引号的关闭引号。繁琐,但并非不可能。

于 2015-03-24T11:15:44.073 回答
1

我已经使用 IDEA 12 进行了尝试,并且只有在您开始完成src属性并按下Enter或键入=以确认完成后才会插入双引号。它不会自动发生,您调用插入引号的完成。

没有选项可以控制它,因此您将不得不打破手动插入引号并改用引号的习惯Enter


也可以使用模板完成:

imgTab<img src="" alt="">使用第一对引号内的插入符号生成。然后只需输入图像文件名Tab,输入替代文本。

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

于 2012-12-14T23:30:38.780 回答
0

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

读取 IntelliJ线程

于 2020-10-29T06:35:17.850 回答