Получите забавные c значения местозаполнителя из фрагмента, который появится после нажатия вкладки на уровне кода верхнего уровня - PullRequest
0 голосов
/ 16 февраля 2020

Впервые в swift и xcode, версия 11.3.1.

Если я нажму func<tab> в классе, значения меток-заполнителей будут полезны, и я смогу просмотреть их, чтобы завершить.

Однако, когда я открываю простой файл игровой площадки и нажимаю func<tab>, я не вижу значений заполнителей. Появляется только ключевое слово func.

Как включить эти значения заполнителей для функций верхнего уровня?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2020

Я не уверен, что есть лучший ответ, но вот что сработало, чтобы получить забавный фрагмент c, отображаемый при редактировании файла "площадки":

1) Отредактируйте файл фрагментов с помощью : sudo vim /Applications/Xcode.app/Contents/PlugIns/IDESourceEditor.framework/Versions/A/Resources/SystemCodeSnippets.codesnippets

2) Найдите фрагмент, найдите соответствующий ключ области и измените массив ключа области на <string>All</string>:

        <key>IDECodeSnippetCompletionScopes</key>
        <array>
            <string>All</string>
        </array>

Да, я мог бы создать свой собственный фрагмент, который совпадает со встроенным фрагментом, но затем у меня есть два различных фрагмента, которые делают то же самое, что я нашел раздражающим.

0 голосов
/ 16 февраля 2020

То, о чем вы говорите, это «фрагменты кода». Вы можете вставить их не только, набрав слово «волхвы c», но и нажав на знак «плюс» в правом верхнем углу, затем выбрав из списка:

enter image description here

Если вы ищете «Функция», вы можете найти ту, которую ищете.

Но кто хочет нажать кнопку при написании кода, справа ? Кажется, что некоторые фрагменты не могут быть использованы на игровых площадках, в то время как другие могут . Это похоже на ошибку XCode. Для меня такие вещи, как var, varget, vargetset, все работали.

В качестве обходного пути вы можете создать свой собственный фрагмент кода для функции. Сначала вставьте этот код в Xcode:

func <#name#>(<#parameters#>) -> <#return type#> {
    <#function body#>
}

Выберите все из этого, затем go в Редактор -> Создать фрагмент кода. Дайте ему имя и, самое главное, «Завершение».

enter image description here

Очевидно, вы все равно можете поставить func как «Завершение» и это будет работать.

...