Подтвердить что ты не робот

Сортировка списка файлов в Xcode?

Есть ли способ в Xcode отсортировать список файлов в папке "Классы" по алфавиту?

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

Я удивлен, что не могу щелкнуть правой кнопкой мыши по папке и сказать сортировать.

4b9b3361

Ответ 1

Нажмите на папку, а затем нажмите "Редактирование" > "Сортировка" > "По имени"

Ответ 2

Вот Ruby script, который будет сортировать все файлы в своих соответствующих группах в файле проекта Xcode 4 (возможно, Xcode 3, но я этого не пробовал).

Использование:

ruby sort.rb <infile> <outfile>

где <infile> представляет собой несортированный файл .pbxproj и <output> будет отсортированной версией. Не делайте их одним и тем же файлом.

#!/usr/bin/env ruby

state = :primary
group = []
file_count = group_count = 0

File.open ARGV[0] do |infile|
  File.open ARGV[1], 'w' do |outfile|
    infile.each_line do |line|
      case state

      when :primary
        # copy lines until and including "children = ("
        outfile.write line
        state = :group if line =~ /^\s*children\s*=\s*\x28\s*$/

      when :group
        if line =~ /^\s*[0-9A-F]+\s*\/\* (.*) \*\/,\s*$/
          # add file to current group if "<guid> /* <filename> */,"
          group << [$1,line]
          file_count += 1

        else
          # otherwise, output sorted files,
          # empty the group, and go back to primary state
          group.sort.each do |fn,ln|
            outfile.write ln
          end

          state = :primary
          group = []
          outfile.write line
          group_count += 1
        end

      end
    end
  end
end

puts "Sorted #{file_count} files in #{group_count} groups"

Ответ 3

Царь имеет преимущества иметь его так, как вы хотите, вместо того, чтобы автоматически сортировать его во все времена.

Некоторые классы могут быть связаны каким-то образом, но имена не находятся рядом друг с другом, я использовал это наверняка.:)

Ответ 4

Рубин script от jedediah отлично работает. Для сортировки ресурсов, которые вы копируете, вы можете добавить:

state = :group if line =~ /^\s*files\s*=\s*\x28\s*$/

Обратите внимание, что сортировка чувствительна к регистру (заглавные буквы). Чтобы сделать его нечувствительным, используйте:

group << [$1.downcase,line]

Ответ 5

В XCode5 нет простого решения.

  • Я открыл файл pbxproj в текстовом редакторе.
  • Перейдите в раздел /* Начало раздела PBXResourcesBuildPhase */
  • выберите все в файлах.
  • копировать в новый текстовый документ.
  • Заменить /* с помощью \t (символ табуляции)
  • выберите все, скопируйте и вставьте в чистый документ excel. вы должны иметь 2 столбца данных
  • вставить столбец при размещении 2
  • сделать все строки для этого столбца /*
  • сортировать лист по столбцу 3
  • скопировать все данные и вставить обратно в ваш раздел в файле pbxproj.
  • сохранить файл

Это должно сортировать раздел "Ресурсы копирования ресурсов" вашего проекта.

Я чувствую себя грязным, просто делаю это, но эй - он работает