在Emacs Verilog模式下对齐代码?

Rus*_*ell 3 emacs verilog

我习惯在emacs中用VHDL编写代码,它具有很好的美化功能,可以对齐信号分配。Verilog模式有类似的东西吗?

转换为:

r_Tx_Done <= 1'b1;
r_Clock_Count <= 0;
if (r_Done == 1'b1)
  begin
    r_SM_Main <= s_CLEANUP;
    o_Tx_Active <= 1'b0;
  end
Run Code Online (Sandbox Code Playgroud)

为此:

r_Tx_Done     <= 1'b1;
r_Clock_Count <= 0;
if (r_Done == 1'b1)
  begin
    r_SM_Main   <= s_CLEANUP;
    o_Tx_Active <= 1'b0;
  end
Run Code Online (Sandbox Code Playgroud)

Verilog模式在保持if else begin end对齐状态方面做得很好,但是并不能像我想要的那样对齐分配。请注意,if语句内部与if语句<=外部不对齐。本质上,我希望每个开始/结束块都分开处理。

sta*_*nri 5

我使用verilog模式,并且默认情况下已找到此功能。

  1. 键入C-x h以突出显示整个缓冲区。
  2. 然后TAB得到它来美化一切。更轻松,更省力!