Как правильно класть блоки пщс на раствор: Сколько раствора надо на один куб кладки керамзитоблоков

resharper — нажатие Tab в Visual Studio выбирает блок вместо добавления отступа

спросил

Изменено 2 года, 10 месяцев назад

Просмотрено 5к раз

Я использую Visual Studio 2015 и ReSharper 2016.2, и у меня странное поведение, которое я, вероятно, активировал (случайно). Когда курсор находится в строке перед первым словом, нажатие клавиши Tab приводит к правильному отступу строки:

Когда курсор находится внутри любого слова внутри строки, нажатие клавиши Tab выделяет слово или блок.

Но желаемым поведением было бы отступ у курсора (например, разделить слово на два слова, если курсор находился внутри слова Stream после буквы r):

Кто-нибудь знает, как эта «функция ‘ называется? Это от ReSharper? Где это можно включить или отключить?

  • визуальная студия-2015
  • решарпер
  • отступ
  • события клавиатуры

Перейдите в Resharper -> Options, в левом древовидном представлении выберите Editor Behavior и снимите флажок с последней опции Используйте клавиши Tab/Shift Tab для структурной навигации .

Обновление

для Resharper 2016.3.1.

Спасибо @Jordan за указание на это!

1

Это называется структурной навигацией и действительно полезно для перехода между блоками кода, например. параметры в вызове/определении метода — упрощает редактирование. Поведение можно изменить в параметрах в разделе «Поведение редактора». Подробнее в документах.

Выключите его и используйте указатель, чтобы «перейти» к структуре, которую вы хотите отредактировать. Таким образом, вы можете продолжать добавлять вкладки в свои блоки комментариев, пока они не исправят бесполезную функцию. У кого-то там слишком много свободного времени, чтобы решать несуществующие проблемы и на самом деле усугублять ситуацию. У них поведение комментария этой «функции» указано как ошибка. Должно быть исправлено к 2018 году.

1

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Python doctest: пропустить весь блок?

Задавать вопрос

спросил

Изменено 4 месяца назад

Просмотрено 9k раз

У меня есть модуль Python со строками документации в методах класса и реальным примером в строке документации модуля. Различие заключается в том, что строки документации методов были тщательно созданы, чтобы быть полностью воспроизводимыми тестами, в то время как реальный пример — это просто копирование и вставка истории из оболочки Linux, которая вызвала интерпретатор Python.

 """
Пример из реальной жизни:
# питон2.5
Python 2.5 (release25-maint, 20 июля 2008 г., 20:47:25)
[GCC 4.1.2 20061115 (предварительная версия) (Debian 4.1.1-21)] на linux2
Введите «помощь», «авторское право», «кредиты» или «лицензия» для получения дополнительной информации.
>>> из модуля импорта имени пакета
>>> модуль.show_real_world_usage()
'Привет, мир!'
"""
класс SomeClass (объект):
    определить какой-то метод (я):
        """
        >>> 1 == 1
        Истинный
        """
 

Я хочу запустить doctest в SomeClass.someMethod , но не в строках документации модуля.

Директива Doctest +SKIP работает только для каждой строки, что означало бы добавление десятков строк к моему реальному примеру.

Уродливый!

Есть ли способ заставить doctest пропускать весь блок? Немного похоже на в HTML?

  • питон
  • доктест

0

Оберните пример в функцию, а затем пропустите вызов функции:

 """
>>> пример определения():
... из модуля импорта имени пакета
... модуль.show_real_world_usage()
...
>>> example() # doctest: +ПРОПУСТИТЬ
'Привет, мир!'
"""
 

0

Мое решение состояло в том, чтобы обрезать трехсимвольные >>> и ... лидеров там, где я хочу, чтобы doctest пропускал их, делая их двухсимвольными.

Так

 """
>>> из модуля импорта имени пакета
>>> модуль.show_real_world_usage()
'Привет, мир!'
"""
 

стал

 """
>> из модуля импорта имени пакета
>> модуль.show_real_world_usage()
'Привет, мир!'
"""
 

Epydoc не отображает это так хорошо, как doctests, но я могу с этим смириться. Тем не менее, директива «пропустить до дальнейшего уведомления» в doctest будет приветствоваться.

3

Если это не настоящий doctest, вы можете просто присвоить значение переменной. Например,

 example_usage = """
Пример из реальной жизни:
# питон2.5
...
"""
 

приведет к тому, что этот «тест» не будет оцениваться.

Возможно, лучше использовать __example_usage__ (или что-то еще, окруженное двойным подчеркиванием), чтобы было ясно, что это «волшебная» переменная, а не переменная, которую следует использовать в контексте скрипта.

3

Небольшой обходной путь, основанный на ответе RobM, сохраняет отображение/форматирование, начиная пример с >

>> следующим образом:

 """
>>>
>> из модуля импорта имени пакета
>> модуль.show_real_world_usage()
'Привет, мир!'
"""
 

0

с xdoctest вы можете использовать этот >>> # doctest: +ПРОПУСТИТЬ как первую строку:

 def some_function():
    """
    Некоторая документация
    
    Примеры:
        
        >>> # доктест: +ПРОПУСТИТЬ
        >>> сделать_что-то()
        >>> do_something_else()
        >>> and_do_this()
    """
 

, к сожалению, doctest сам по себе дает сбой (и sphinx печатает это как >>> вместо того, чтобы полностью его игнорировать).