Какой-либо ReSharper, эквивалентный для XCode?

Более быстрые результаты могут быть достигнуты с помощью numpy.where .

Например, при настройке unubtu -

In [76]: df.iloc[np.where(df.A.values=='foo')]
Out[76]: 
     A      B  C   D
0  foo    one  0   0
2  foo    two  2   4
4  foo    two  4   8
6  foo    one  6  12
7  foo  three  7  14

Сроки сравнения:

In [68]: %timeit df.iloc[np.where(df.A.values=='foo')]  # fastest
1000 loops, best of 3: 380 µs per loop

In [69]: %timeit df.loc[df['A'] == 'foo']
1000 loops, best of 3: 745 µs per loop

In [71]: %timeit df.loc[df['A'].isin(['foo'])]
1000 loops, best of 3: 562 µs per loop

In [72]: %timeit df[df.A=='foo']
1000 loops, best of 3: 796 µs per loop

In [74]: %timeit df.query('(A=="foo")')  # slowest
1000 loops, best of 3: 1.71 ms per loop

40
задан Jonas 22 February 2011 в 13:30
поделиться

3 ответа

Вы звучите, как будто Вы ищете три главных вещи: кодируйте шаблоны, осуществив рефакторинг инструменты и автозавершение.

хорошие новости - то, что Xcode 3 и позже идет с превосходным автозавершением и обрабатывает поддержку по шаблону. По умолчанию необходимо явно запросить завершение путем удара клавиши выхода. (Это на самом деле работает во всем NSTextView с; попробуйте его!), Если Вы хотите иметь завершения, появляются автоматически, можно перейти в [1 116] Предпочтения -> Смысл Кода и устанавливать всплывающее окно для появления автоматически после нескольких секунд. Необходимо найти хорошие завершения для C и кода Objective C, и довольно хорошие завершения для C++.

XCode также имеет твердую систему шаблона/скелета, которую можно использовать. Вы видите то, что шаблоны доступны по умолчанию путем попытки Редактировать->, Вставляют текстовый Макрос. Конечно, Вы не хотите вставлять текстовые макросы с мышью; это побеждает точку. Вместо этого у Вас есть две опции:

  1. Назад в [1 118] Предпочтения , перейдите в [1 119] Привязки клавиш , и затем, под [1 120] Привязка Клавиши меню , присвойте определенный ярлык на макросы, которые Вы часто используете. Я лично не потрудился делать это, но я знаю много большого Mac devs, кто делает
  2. Использование CompletionPrefix. По умолчанию почти все шаблоны имеют специальный префикс, который, если Вы вводите и затем поражаете клавишу выхода, приведет к вставляемому шаблону. Можно использовать Control-/для перемещения между полями завершения.

    Вы видите полный список макросов XCode по умолчанию и их связанного CompletionPrefix es в Нечестное Вращение .

    можно также добавить собственные макросы или изменить значения по умолчанию. Для этого отредактируйте файл /Developer/Library/Xcode/Specifications/{C,HTML}.xctxtmacro. Синтаксис должен быть очевидным, если не ужасно дружественный.

, К сожалению, если Вы увлекаются R#, Вы будете разочарованы Вашими опциями рефакторинга. Основной рефакторинг обеспечивается в XCode через контекстное меню или путем удара Shift-Apple-J. Оттуда, можно извлечь и переименовать методы, продвинуть и понизить в должности их через иерархию классов и несколько других общих операций. К сожалению, ни XCode, ни любые сторонние утилиты не предлагают ничему приближение Resharper, таким образом, на той передней стороне, Вы являетесь в настоящее время неудачливыми. К счастью Apple уже продемонстрировала версии XCode в работах, которые значительно улучшили возможности рефакторинга, так надо надеяться, Вы не должны будете ожидать слишком долго, прежде чем ситуация начинает улучшаться.

39
ответ дан gcamp 27 November 2019 в 01:39
поделиться

XCode имеет рефакторинг для C, и Objective C встроил. Просто выберите то, что требуется осуществить рефакторинг, выбрать "Refactor..." или из строки меню или из контекстного меню, и Вы получите окно включая доступные рефакторинги и область предварительного просмотра.

XCode в настоящее время не имеет общедоступного сменного API; если бы существуют определенные типы плагинов, Вы хотели бы, чтобы Apple включила, зарегистрировала запросы улучшения в Генератор отчетов Ошибки . Тем путем Apple может считать и отследить такие запросы.

Однако существуют сторонние программы как Accessorizer, и mogenerator (последний выпуск mogenerator 1.10 ), что можно использовать для создания различных задач разработки быстрее. Accessorizer помогает Вам создать методы доступа для своих классов, в то время как mogenerator делает более усовершенствованную генерацию кода для Базовых классов управляемых объектов Данных, которые смоделированы с помощью инструментов моделирования XCode.

5
ответ дан Chris Hanson 27 November 2019 в 01:39
поделиться

Просто, таким образом, люди знают, , Accessorizer действительно больше, чем просто генерирует средства доступа (и 1.0 и свойства для 2,0), он также генерирует Базовый Код данных для сохранения нестандартных атрибутов, Ваших средств доступа NSSet для пользовательского к - много отношений.

На самом деле, Accessorizer поможет предоставить Вам init, keypath, включенный заархивированный, индексированные средства доступа, средства доступа для незаказанных наборов, таких как NSSet, copyWithZone, KVO, ключевая проверка, одноэлементные переопределения, dealloc, setNilForKey, нестандартная персистентность атрибута (Базовые Данные), блокировка, headerdoc, преобразовать метод в селектор, методы NSUndoManager и т.д.

3
ответ дан logancautrell 27 November 2019 в 01:39
поделиться