Есть ли способ в Xcode отсортировать список файлов в папке "Классы" по алфавиту?
Я знаю, что могу перетащить их, но с тоннами файлов, которые являются болью.
Я удивлен, что не могу щелкнуть правой кнопкой мыши по папке и сказать сортировать.
Есть ли способ в Xcode отсортировать список файлов в папке "Классы" по алфавиту?
Я знаю, что могу перетащить их, но с тоннами файлов, которые являются болью.
Я удивлен, что не могу щелкнуть правой кнопкой мыши по папке и сказать сортировать.
Нажмите на папку, а затем нажмите "Редактирование" > "Сортировка" > "По имени"
Вот 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"
		Царь имеет преимущества иметь его так, как вы хотите, вместо того, чтобы автоматически сортировать его во все времена.
Некоторые классы могут быть связаны каким-то образом, но имена не находятся рядом друг с другом, я использовал это наверняка.:)
Рубин script от jedediah отлично работает. Для сортировки ресурсов, которые вы копируете, вы можете добавить:
state = :group if line =~ /^\s*files\s*=\s*\x28\s*$/
Обратите внимание, что сортировка чувствительна к регистру (заглавные буквы). Чтобы сделать его нечувствительным, используйте:
group << [$1.downcase,line]
		В XCode5 нет простого решения.
Это должно сортировать раздел "Ресурсы копирования ресурсов" вашего проекта.
Я чувствую себя грязным, просто делаю это, но эй - он работает