PhpStorm:解决4个恼人问题的解决方案?

Rin*_*g Ø 5 regex ergonomics editor indentation phpstorm

我是一个相当开心的PhpStorm用户,但有一些事情让我非常讨厌,但我不是设置专家,并希望有一个解决方案(编辑PHP文件):

  • 导航

通常在编辑器中,人们想要回到光标位于上面等100行的位置......而在PhpStorm Back Alt-Shift-Leftand Forward中Alt-Shift-Right这样做 - 但是它们遵循的是超出我的算法:它绝对错过了"步骤"(例如来自第500行使用箭头键或者甚至更糟糕的页面向上/向下进入第300行,然后Alt-Shift-Left不会将您带回第500行)

=>有没有办法改善驱动后退和前进行为的条件?

  • 缩进

有没有办法改进压痕行为?例如

  $a = array('X' => 'Something',
             'Y' => 'Something else',[RETURN]
  ^          ^
 now       there
Run Code Online (Sandbox Code Playgroud)

像Emacs的光标会去那里右边第一个报价下的空间后(而不是在现在哪里去PS)?

=>是一个正则表达式(或别的东西)能细化的行为压痕,不仅为这个非常特殊的情况下,但是对于一般的行为?
(Shift-Insert在缩进通常不可靠的地方没有提到另一个问题)

  • 行情(自动)

我不想禁用自动引用功能,因为它有时很方便,但似乎算法没有正确解析插入"或'插入的环境(现在没有示例,但有时它很烦人,如果"只需要一个就意外插入2 ,删除一个实际上会删除2(正常因为它们是自动插入的......但我只需要1个!)所以在这种情况下要欺骗PhpStorm强制1 ").

=>是否有正则表达式或类似的控制引用行为?

  • 选择通过 Shift-Arrow(例如,删除...)

几乎忘记了:PhpStorm会记住在向上和向下导航时光标所在的列.精细.但是当想要从行的开头选择(使用Shift和向上/向下Arrows)时,通常选择行.不是一个行到哪里光标 - 更早.一个例子将更好地解释:*光标是[第3行的开头],%是光标所在的位置 [第2行的中间]

 1.   $x = 'string';
 2.   $y = %'string';
 3.*
Run Code Online (Sandbox Code Playgroud)

做Shift-Up会选择(所有s)

 1.   $x = 'string';
 2.   $y = *sssssssss
 3.
Run Code Online (Sandbox Code Playgroud)

而在具体情况下的选择,应该选择:

 1.   $x = 'string';
 2.*sssssssssssssssss
 3.
Run Code Online (Sandbox Code Playgroud)

不知道有没有办法配置,但以防万一?

谢谢

Laz*_*One 2

那好吧...

1) 有没有办法细化驱动后退和前进行为的条件?

不。也许(只是也许)它会考虑您在那个位置所做的事情(即使您什么也没做,那么也许暂停了多长时间)。但它主要着眼于编辑活动、导航事件(跳转到声明/实现等)。


2) 正则表达式(或其他东西)是否能够改进缩进器的行为,不仅针对这个非常具体的情况,而且针对一般行为?

正则表达式——绝对不是。无论如何,这个问题对我来说并不清楚——你是在谈论格式化还是导航?如果是第一个,则当前所有现有设置都位于“设置 | 代码样式”中。如果是第二个——然后检查“设置|编辑器|智能键”——也许它们会有所帮助。

否则,请录制一些当前和期望行为的截屏视频/屏幕截图,并将其作为新票证提交到问题跟踪器:http ://youtrack.jetbrains.com/issues/WI


3) 是否有正则表达式或类似的东西来控制引用行为?

不,你的解释不够清楚。我建议与 #2 相同 - 获取代码示例并将其作为新票证提交到问题跟踪器: http: //youtrack.jetbrains.com/issues/WI。这样它可能会在下一个版本中得到实现/修复


4) 不确定是否有办法配置它 - 以防万一?

不知道。我也面临这个可用性问题,想知道解决方法。我使用它的方式 - 在进行选择之前(或期间/之后)按“Home”(不是理想的“解决方案”,因为这样做仍然很烦人,但有效)。或者,您可以使用鼠标选择行(在编辑器装订线区域上使用它 - 行号所在的位置)。

如果选择只是删除/复制该行——那么就有专门用于此目的的快捷方式。