SublimeText不允许我使用单个语句为if-else条件输入大括号

时间:2018-09-07 03:01:54

标签: c++ sublimetext3 code-formatting

背景

我正在上一门计算机编程课程。我已经断断续续地使用SublimeText了几年,但不足以了解其所有旋钮和开关。

我的工作流程

我从书中下载了代码示例,并通过cpplint运行它。我重新格式化了示例代码,以使cpplint在大多数情况下满意。

我的问题

当我遇到if-else语句时,无法在if(或以下else)的末尾键入大写字母。以这段代码为例:

if (length == 0) 
    cout << "Cannot delete from an empty list." << endl;
else
{
    loc = seqSearch(removeItem);

    if (loc != -1)
        removeAt(loc);
    else
        cout << "The item to be deleted is not in the list."
             << endl;
}

即使我知道不需要格式化这样的格式,我也想更改格式,以使通过cpplint进行的运行是干净的。

if (length == 0) {  <--- add this "{"
    cout << "Cannot delete from an empty list." << endl;
} else {            <--- and put "else" on the same line as "{" and "}"
...

将光标放在if (length == 0)行的末尾时,无法键入{。我在控制台中看到的所有消息如下(启用调试后):

command: wrap_block {"begin": "{", "end": "}"}

我必须经过很多步骤才能得到想要的支架。在else之前加1不允许我在条件if之后加1(例如if (length == 0) {)。 ST还阻止我在else后面键入一个,但是我可以在else前面键入一个。

例如:

if (location < 0 || location >= length) <--- I can't type a "{" here
    cout << "The location of the item to be "
         << "replaced is out of range." << endl;
else       <-------------------------------- nor here
    list[location] = repItem;

摘要

如果我用手键入新鲜的代码,则可以在需要的地方键入{。但是,如果已经有if-else并且没有大括号,则禁止在{if之后添加else。我担心我必须禁用ST的自动配对功能才能纠正此问题。

问题

我该怎么做才能解决此问题,并允许将牙套放在我想要的地方?

关于我的设置的详细信息

macOS 10.12.6(Sierra)和SublimeText版本3

已安装的软件包:

  • “ Git”
  • “ GitGutter”
  • “包装控制”
  • “ SideBarEnhancements”

Four packages are shown when I go to Package Control::List Packages

“设置”>“ Preferences.sublime-settings用户”的内容:

{
"color_scheme": "Packages/Color Scheme - Default/Solarized (Light).tmTheme",
"draw_white_space": "all",
"font_size": 12,
"ignored_packages":
[
    "Vintage"
],
"rulers":
[
    80
],
"tab_size": 4,
"translate_tabs_to_spaces": true
}

0 个答案:

没有答案