Atom编辑器:如何为php以不同方式突出显示单引号和双引号字符串
我最近安装了ClearLinux,它们的默认设置是Atom编辑器,所以我尝试了一下。有了php自动完成,我几乎非常激动。直到我意识到我已经习惯了我的方式,我需要对单引号字符串和双引号字符串进行不同的突出显示 在Atom编辑器:如何为php以不同方式突出显示单引号和双引号字符串,php,atom-editor,Php,Atom Editor,我最近安装了ClearLinux,它们的默认设置是Atom编辑器,所以我尝试了一下。有了php自动完成,我几乎非常激动。直到我意识到我已经习惯了我的方式,我需要对单引号字符串和双引号字符串进行不同的突出显示 在php中,双引号字符串仍将被解析为$variables和空格转义字符,如\n和\t;而单引号字符串是文字,单引号之间没有解释 我养成了总是使用单引号作为数组键的习惯,单引号字符串与双引号字符串不一样会扰乱我的潜意识。我找了不少,找不到解决办法 有人知道实现此突出显示方案的方法吗? 截图来自
php
中,双引号字符串仍将被解析为$variables
和空格转义字符,如\n
和\t
;而单引号字符串是文字,单引号之间没有解释
我养成了总是使用单引号作为数组键的习惯,单引号字符串与双引号字符串不一样会扰乱我的潜意识。我找了不少,找不到解决办法
有人知道实现此突出显示方案的方法吗?
截图来自Geany。即使在Geany,获得这种设置也不是标准。谢天谢地,十年前,这在他们的主题中是正常的,因此我能够更改当前可用的主题,以查找string_2
并将其更改为与string_2=string_1
不同的颜色
为了更好地帮助人们理解php
,以及“
和”
之间的差异可能具有的重要性,以下是字符串在上下文中表现不同的一种方式:
$customer=“比尔•霍桑”;
$\u address=“123 Main St\nGlendale,加利福尼亚州91202”;
$output=“亲爱的$customer,请确认以下地址是否正确:\n\n$\u address\n”;
//$output呈现为:
//尊敬的Bill Waltz,请确认以下地址是否正确:
//
//主街123号
//加利福尼亚州格伦代尔,邮编:91202
//
$output='亲爱的$customer,请确认以下地址是否正确:\n\n$\u address\n';
//$output呈现为:
//尊敬的$customer,请确认以下地址是否正确:\n\n$\u地址\n
使用命令调色板中的命令
编辑器:Log cursor scope
查看应用于文本部分的范围。此范围应用于DOM中的文本,每个部分前面都有语法--
在语言php
的情况下,双引号字符串的作用域是string.quoted.double.php
,单引号字符串的作用域是string.quoted.single.php
。下面是一个如何针对它们的示例。请注意,这部分是纯CSS/Less;我对它不太了解,因此可能更简洁re
// ~/.atom/styles.less
atom-text-editor[data-grammar="text html php"] { // target PHP
.syntax--string.syntax--quoted {
&.syntax--double,
&.syntax--double .syntax--punctuation.syntax--definition.syntax--string { // get the quote chars too
color: red;
}
&.syntax--single,
&.syntax--single .syntax--punctuation.syntax--definition.syntax--string {
color: yellow;
}
}
}
例如,尝试使用此
但是..字符串=字符串,不考虑引号.,(另外..从外观上看,您对SQL注入持开放态度..)-可能需要为此编写一些代码..此外,无论如何混合引号都不好,只要在我看来使用单引号即可.除非您更喜欢可读性差和/或需要使用\n(即使存在.PHP_EOL)请不要转移注意力。此代码不面向公众。字符串也不是字符串:在“Injector$inj_”标签中解释$variables
是好的“将导致喷油器DX良好
,而'Injector$inj_label is good'显示为喷油器$inj_label良好
。据我所知,这两个渲染输出不相同。我使用的是phpsform和agree字符串。我看到的是中变量上的高亮显示“Injector$inj_label is good”
(你的深紫色),而不是“Injector$inj_label是好的”
,这对我来说是最重要的。我可以清楚地看到它是解析的还是文字的。我真的很感激你所描述的内容,它只会帮助我更加一致,数组键等等。@treyBake你实际上是不正确的。php
将在双引号内解释比较。如果有一个$string
变量集,'$string'!=“$string”
就像一般查询一样-如果在编辑器中用不同的引号突出显示“hello”会发生什么?我注意到单引号似乎只用于数组键。我想知道它们是否有一些正则表达式要执行$var[]
并高亮显示该键。如果它是双引号,它还会高亮显示相同的键吗?(如中所示,它仍然是黄色的,带有数组键的双引号)我做了查看->切换命令选项板
,它说在编辑器输入中找不到命令。