Возвышенный ключ "Build With" Binding - PullRequest
0 голосов
/ 30 апреля 2018

Я только вчера начал писать код и сейчас изучаю C #. Я использую Sublime Text 3, так как это мой любимый редактор кода. Но у меня проблема при компиляции файла C #. Когда я компилирую, мне всегда нужно нажать «Build With», затем выбрать «CSharp», затем снова нажать «Build With» и выбрать «CSharp -Run», чтобы увидеть изменения в моих кодах. Так что я хочу знать, как я могу установить привязку клавиш для "CSharp" и "CSharp -Run"? Заранее спасибо за того, кто ответит на мой вопрос.

Вот моя клавиатура по умолчанию:

{ "keys": ["f7"], "command": "build" },
{ "keys": ["ctrl+b"], "command": "build" },
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"select": true} },
{ "keys": ["ctrl+break"], "command": "cancel_build" }

А вот моя таблица ключей по умолчанию -user:

[
    { "keys": ["ctrl+r"], "command": "build", "args": {"select": true} },
]

А также это моя система сборки C #:

{
    "cmd": ["cmd", "/c", "del", "${file/\\.cs/\\.exe/}", "2>NUL", "&&", "csc", "/nologo", "/out:${file/\\.cs/\\.exe/}", "$file"],
    "file_regex": "^(...*?)[(]([0-9]*),([0-9]*)[)]",
    "variants": [
        { 
            "name": "Run", 
            "cmd": ["cmd", "/c", "start", "cmd", "/c", "${file/\\.cs/\\.exe/}"] 
        }
    ],
}

Фотография моего Sublime Text 3 с упомянутой выше проблемой
Фотография моего набора ключей для "Build With"

1 Ответ

0 голосов
/ 30 апреля 2018

Краткая версия ответа на ваш вопрос заключается в том, что вы не предоставляете правильный аргумент для команды build, поэтому вы скопировали существующую привязку ключа к другому ключу; вместо этого вы хотите передать аргумент variant, чтобы указать Sublime напрямую запустить сборку с вариантом, который вы хотите выполнить.

Более длинная версия состоит в том, что команда build принимает два аргумента, select и variant.

Аргумент select сообщает Sublime, что перед запуском сборки, если существует более одной применимой сборки для текущего файла (например, существует более одной системы сборки или есть варианты, которые применяются), он должен спросить Вы для сборки в первую очередь. Это то же самое, что сочетание клавиш Ctrl + Shift + B или пункт меню Tools > Build With....

Вместо этого вам нужен аргумент variant; это говорит Sublime, что он должен выполнить сборку, используя последнюю использованную систему сборки, но он должен явно использовать предоставленный вами variant.

Для вашей системы сборки привязка ключей будет выглядеть следующим образом:

{
    "keys": ["ctrl+r"],
    "command": "build", "args": {
        "variant": "Run"
    },
},

Значение аргумента variant должно точно соответствовать ключу name в разделе variants вашей системы сборки (т.е. важен регистр). Если вы ошиблись, вместо сборки ничего не произойдет, и вы увидите сообщение, отображаемое в строке состояния, например No Build System with variant whatever.

Обратите внимание, что эта привязка клавиш блокирует привязку ключей по умолчанию для Goto Symbol, если вы хотите использовать эту функцию во время работы. Однако команда по-прежнему доступна в меню на View > Goto Symbol.

...