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

时间:2012-11-12 06:53:55

标签: regex editor phpstorm indentation ergonomics

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

  • 导航

通常在编辑器中,人们想要回到光标位于上方等100行的位置......并且在PhpStorm中 Alt-Shift-Left 和前进 Alt-Shift-正确这样做 - 但他们遵循一个超出我的算法:它绝对错过了“步骤”(例如从第500行到第300行使用像箭头一样的键或者甚至更糟糕的页面向上/向下,然后< kbd> Alt-Shift-Left 不会让你回到第500行

=&GT;有没有办法改进推动后退和前进行为的条件?

  • 压痕

有没有办法优化 indentor 行为?例如

  $a = array('X' => 'Something',
             'Y' => 'Something else',[RETURN]
  ^          ^
 now       there

就像在 Emacs 中一​​样,光标会在空格后面的第一个引号下面那里(而不是在现在 PS的地方)?

=&GT;是 regexp (或其他)能够改进 indentor 的行为,不仅针对这种非常具体的情况,而且针对一般的行为?
(当 Shift-Insert 在缩进通常不可靠的地方时,没有提到另一个问题)

  • 引号(自动)

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

=&GT;是否有 regexp 或类似的控制引用行为?

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

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

 1.   $x = 'string';
 2.   $y = %'string';
 3.*

执行 Shift-Up 将选择(所有 s

 1.   $x = 'string';
 2.   $y = *sssssssss
 3.

选择的特定情况下,应该选择:

 1.   $x = 'string';
 2.*sssssssssssssssss
 3.

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

由于

2 个答案:

答案 0 :(得分:2)

哦,好吧......

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

没有。也许(只是可能)它考虑到你在那个地方做了什么(即使你什么也没做,那么也许停顿多久)。但主要是它关注编辑活动,导航事件(跳转到声明/实现等)。


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

RegEx - 绝对没有。无论如何,这个问题对我来说还不清楚 - 你在谈论格式化还是导航?如果是 - 那么所有当前存在的设置都在“设置|代码样式”中。如果是秒 - 然后检查“设置|编辑器|智能键” - 也许他们会帮助。

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


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

没有。你的解释不够明确。我建议和#2一样 - 获取代码示例并将其作为新票证提交给问题跟踪器:http://youtrack.jetbrains.com/issues/WI。这样就可以为下一个版本实现/修复


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

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

如果选择只是删除/复制该行 - 那么只有快捷方式。

答案 1 :(得分:2)

关于引号,如果您只想要一个引号,请在输入后点击 del 而不是 backspace

我对缩进(以及一般的代码(重新)格式化)也有一些疑虑,但是它从发行版到发行版都有所改变,尽管如此,你可以做的并不多......

Re:选择 - 在你的情况下,你可以在按住shift的同时点击 Home 。它甚至从未向我注册为意外行为。