В Visual Studio вы можете свести к минимуму огромные куски кода, используя регионы; они по существу просто окружают код и сводят его к минимуму в окне.
У Sublime есть функция, подобная этой?
В Visual Studio вы можете свести к минимуму огромные куски кода, используя регионы; они по существу просто окружают код и сводят его к минимуму в окне.
У Sublime есть функция, подобная этой?
По умолчанию вы можете выбрать какой-либо код для перехода на Edit > Code Folding > Fold.
Существует множество плагинов, которые используют более сложные опции для сгибания кода.
Там на официальном сайте есть запрос "спросить об особенностях" здесь.
Но, по-видимому:
FYI, Джон заявил, что это невозможно в текущем внедрение редактора. Похоже, мы ждем V3 ребята.
Джон - программист за Sublime Text 2.
Возможно, существует способ подделать его, создав плагин, который ищет маркеры, и удаляет область кода между маркерами, но, вероятно, это будет плохо выглядеть. С текущим API это, вероятно, лучший выбор!
Кстати, в Sublime Text есть некоторый код, если вы наведите указатель мыши рядом с номером строки, вы увидите некоторые стрелки, появляющиеся, когда вы можете складывать/разворачивать.
Я закончил использование пользовательских тегов комментариев, отступов на один уровень меньше, чем код, который я хочу сбросить. Он не выглядит лучше, хотя он служит своей цели.
class Foobar {
// ...some code
// <fold
function foo() {
}
function bar() {
}
// </fold
// more code...
}
Это (на данный момент) складывается в:
class Foobar {
// ...some code
// <fold[...]
// </fold
// more code...
}
Наличие поддержки ST2 для родной было бы неплохо.
В этом отображается то, что вы ищете. Вы можете определить теги для #region и #endregion для каждого языка или общий тег для всех из них.
Если вы одержимы намерениями, это решение может сделать вас неудобными, но вот оно, когда-то, когда я писал полукомплексный плагин jQuery, у меня были константы, переменные, частные и публичные функции и такие складные складки;
;(function($, undefined, window) {...
/* Consts */
var FOO = "BAR";
/* Variables */
var m_Foo = "bar";
/* Functions */
/* Public Functions */
function foo() {...}
function bar() {...}
/* Private Functions */
function _foo() {...}
function _bar() {...}
})(jQuery, window);
Как вы можете видеть, все дело в намерениях. Разделы можно складывать; Consts
, Variables
, Functions
. А также внутри раздела Functions
, Public Functions
и Private Functions
оба могут быть сложены.
Вы также можете использовать один комментарий линии (//), чтобы назвать свою складку. Таким образом, идея под этим проста; ST2 полагает, что более предполагаемые строки относятся к первому менее намеченному комментарию над ними, например, к компиляторам C/С++, как привязывают скобки как собственные уникальные кодовые блоки.
В свернуть код выберите код и нажмите
ctrl + shift + [
Чтобы развернуть код, поместите туда курсор и нажмите
ctrl + shift + ]
Я думаю, что, как и я, OP оценил малоизвестную функцию в VS, называемую областями, которые во многом равны свертыванию кода, но FAR более мощный и выше, Dio Phung дал ответ, который я хотел, и я подозреваю, что ОП хотел, но он не поделился в качестве ответа, так что вот оно.
Разница между "свертыванием кода", как это предусмотрено в Sublime Text, заключается в том, что он основан на синтаксисе кода/компилятора, в то время как "регионы" и то, что делает этот плагин, предоставляют вам бесконечно большую свободу, хотя это свобода, которая более или менее зависит от код, с которым вы работаете для начала (глубоко вложенный или правильно модульный).
Если вы используете Sublime Text 3, вот плагин, который может это сделать: github.com/jamalsenouci/sublimetext-syntaxfold - Dio Phung
В языках, которые поддерживают 3 типа комментариев (например, PHP), я использую хештег для комментариев для регионов, как показано в других ответах. Это также хорошо для отслеживания того, что делается
# default options
$a = 3;
$b = 'bob';
$old_code = 1;
# bugfix #130
$result = magic_function($data);
fix_stuff($result);
$old_code = $result;
В противном случае используйте тройную косую черту ///
или //#
и т.д.
В возвышенном тексте он работает так, он затеняет линии, которые вы хотите свернуть, и нажимает (Control + Shift +?)
У меня самая последняя версия sublimetext.