5

我是一个相当快乐的 PhpStorm 用户,但有几件事让我很恼火,但我不是设置专家,希望有一个解决方案(编辑 PHP 文件):

  • 导航

通常在编辑器中,一个人想回到光标上方 100 行的位置等......而在 PhpStorm Back Alt-Shift-Leftand ForwardAlt-Shift-Right中这样做 - 但他们遵循一种超出我的算法:它肯定会错过“步骤”(例如从第 500 行使用箭头之类的键转到第 300 行,或者更糟糕的是,向上/向下翻页,然后Alt-Shift-Left不会带您回到第 500 行)

=> 有没有办法细化驱动 Back 和 Forward 行为的条件?

  • 缩进

有没有办法改进indentor行为?例如

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

就像在Emacs中一样,光标会空格后的第一个引号下方(而不是现在PS 所在的位置)?

=> 正则表达式(或其他东西)是否能够改进 indentor 的行为不仅适用于这种非常具体的情况,而且适用于一般行为?(当缩进通常不可靠时,
不提另一个问题)Shift-Insert

  • 报价(自动)

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

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

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

差点忘了:PhpStorm 会记住上下导航时光标所在的列。美好的。但是,当人们想从行首选择(使用Shift和 Up/Down Arrows)时,通常是选择行。不是一条线到光标之前的位置。一个例子会更好地解释:*光标在哪里[第 3 行的开头],光标%哪里[第 2 行中间]

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

Shift-Up将选择(所有s

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

而在selection的特定情况下,它应该选择:

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

不知道有没有办法配置它 - 以防万一?

谢谢

4

2 回答 2

2

那好吧...

1) 有没有办法细化驱动 Back 和 Forward 行为的条件?

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


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

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

否则 - 请记录一些截屏视频/一堆当前和所需行为的屏幕截图,并将其作为新票提交给问题跟踪器:http: //youtrack.jetbrains.com/issues/WI


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

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


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

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

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

于 2012-11-13T10:10:05.583 回答
2

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

我对缩进(以及一般的代码(重新)格式化)也有一些疑虑,但它是随着版本的变化而变化的,虽然你无能为力......

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

于 2013-09-17T16:16:50.020 回答