#racket
#racket
Вопрос:
Есть ли у кого-нибудь идеи, как и возможно ли автоматическое заполнение скобок в DrScheme / Racket
Ответ №1:
DrRacket не выполняет автоматическое завершение закрывающих скобок (о чем, я полагаю, вы спрашиваете), но он вставит правильную форму paren — так что вы можете быстро нажать ]]]
несколько раз, пока не закроете нужный уровень.
Но в качестве дополнительного примечания, намного проще работать на любом языке sexpr (или фактически на любом другом языке), если вы всегда сохраняете скобки (любой формы), двойные кавычки и т.д. сбалансированными. DrRacket упрощает это выполнение, заставляя Alt- (
вставить пару скобок и оставляя курсор посередине. Emacs тоже делает то же самое, но в DrRacket есть похожие ключи для квадратных скобок, фигурных скобок и двойных кавычек. Этот стиль работы очень эффективен, поскольку вам никогда не нужно считать скобки или даже смотреть на основные моменты. Это также легко для работы с кодом, поскольку то же самое выполняется и тогда — при условии, что код имеет правильный отступ (что означает, что скобки исчезают до чего-то, на что вы не смотрите сознательно).
Ответ №2:
Я согласен с Eli в том, что проще постоянно поддерживать баланс parens и хотел бы добавить, что легко реализовать встроенное поведение и работать оттуда, настраивая все, что вы хотите. В DrRacket через «Редактировать / Привязки клавиш / Добавить пользовательские привязки клавиш» вы могли бы добавить файл, подобный следующему, который добавляет привязку к «Control-#», чтобы вставить пару скобок в курсоре (или вокруг текущего выделения, если таковое имеется). После этого вы должны перезапустить DrRacket.
#lang s-exp framework/keybinding-lang
(keybinding "c:#"
(λ (text evt)
(define a (send text get-start-position))
(define b (send text get-end-position))
(send text insert #( a)
(send text insert #) ( b 1))
(send text move-position 'left)))
Ответ №3:
Если есть кто-нибудь с этой проблемой 11 лет спустя, выполните следующие действия
-
Перейдите в настройки на Mac, возможно, это настройки в Windows
-
Перейдите на вкладку редактирования
-
Включить автоматическую скобку