VSCode:在一小部分代码上禁用代码格式化

时间:2018-09-20 10:09:00

标签: c visual-studio-code formatting inline-assembly

所以我正在嵌入式c环境中研究引导程序。为了使引导加载程序“跳转”,.c文件中需要一些汇编语言。

VSCode中是否有类似于This(或其他)的方法,允许暂时禁用格式设置?

只是为了进一步澄清代码,如下所示:

__asm void boot_jump(uint32_t address)
{
LDR SP, [R0];   Load new stack pointer address
LDR PC,     [ R0, #4 ]; Load new program counter address
}

和VSCode将此代码格式化为:

__asm void boot_jump(uint32_t address)
{
LDR SP, [R0];
Load new stack pointer address
    LDR PC,
    [ R0, #4 ];
Load new program counter address
}

这将导致编译错误,并且不会生成。预先感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果您更改代码以使用C注释定界符,例如:

__asm void boot_jump(uint32_t address)
{
LDR SP, [R0];   // Load new stack pointer address
LDR PC,     [ R0, #4 ]; // Load new program counter address
}

然后,格式化程序将不会做任何使代码缩进的事情,这是良性的(而且更漂亮):

__asm void boot_jump(uint32_t address)
{
    LDR SP, [R0];       // Load new stack pointer address
    LDR PC, [ R0, #4 ]; // Load new program counter address
}