在WebStorm中,有没有一种方法可以自动将语言注入到特定函数的参数中?

在WebStorm中,有没有一种方法可以自动将语言注入到特定函数的参数中?,webstorm,Webstorm,下面是我的代码 /** *@param{string}css *@param{string}[otherParam] */ const addStyle=(css,otherParam)=>{ //做些事情。。。 }; addStyle('#元素{font-weight:bold;}','somestringoftext'); 以下是我知道的实现这一点的当前手册和理论方法 1.人工注射 这很好用,但我希望它是自动的 步骤1: 步骤2: 结果: 2.注入注释 这将不起作用,因为它将CSS注

下面是我的代码

/**
*@param{string}css
*@param{string}[otherParam]
*/
const addStyle=(css,otherParam)=>{
//做些事情。。。
};
addStyle('#元素{font-weight:bold;}','somestringoftext');
以下是我知道的实现这一点的当前手册和理论方法

1.人工注射 这很好用,但我希望它是自动的

步骤1:

步骤2:

结果:

2.注入注释 这将不起作用,因为它将CSS注入函数的所有参数中

让它工作的唯一方法是将每个参数放在一个单独的行上,就像这样,但我还是希望它是自动的,无需每次插入注释行。这是我目前使用的方法

3.语言注入设置 我试着把这件事弄得一团糟,但我似乎不明白

+ jsLiteralExpression().withSuperParent(2, jsLiteralExpression().withText(string().startsWith("addStyle(")))


对于您的测试代码,自定义语言注入规则在这里似乎工作得很好。在Windows 10上使用PhpStorm 2020.1.2在普通JavaScript文件中测试:

实际规则:


谢谢你的帮助。这确实让我朝着正确的方向前进!它似乎适用于字符串,但不适用于串联字符串。示例
addStyle('.bold{font-weight:bold;}'+'.underline{text-decoration:underline;}')
在PHP上下文中工作(但它使用不同的“注入函数”来决定注入的位置)。必须特定于JavaScript领域中的注入支持(特别是连接)(因为PHP具有更高级的处理功能——例如,SQL命令通常被拆分为多个连接等)。您将在
newregexp('^.*'+'$')
中看到相同的行为。最好将其作为bug/feature请求报告给WebStorm开发人员(并将票证编号发回):看起来可能是这样的:制作一个新票证,提供自定义语言注入规则,显示工作和不工作的示例,并让WebStorm开发人员查看。可能自动语言注入的工作方式与手动注入不同(通过注释或通过IDEGUI纯手动)。另外,我还尝试了更简单的
+jsArgument(“addStyle”,0)
模式。。它表现出完全相同的行为。
+ jsArgument(jsReferenceExpression().withQualifiedName("addStyle"), 0)