Сортировать список файлов в Xcode? - PullRequest
35 голосов
/ 27 октября 2008

Есть ли способ в Xcode отсортировать мой список файлов, скажем, в папке Classes по алфавиту?

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

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

Ответы [ 5 ]

39 голосов
/ 27 октября 2008

Нажмите на папку, а затем нажмите «Правка»> «Сортировать»> «По имени»

3 голосов
/ 03 апреля 2011

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

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

ruby sort.rb <infile> <outfile>

, где - несортированный файл .pbxproj, а - отсортированная версия. Не делайте из них один и тот же файл.

#!/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"
0 голосов
/ 05 мая 2014

В XCode5 нет действительно простого решения.

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

Это должно отсортировать раздел "Copy Bundle Resources" вашего проекта.

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

0 голосов
/ 01 марта 2012

Сценарий ruby ​​от jedediah прекрасно работает. Чтобы также отсортировать копируемые ресурсы, вы можете добавить:

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

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

group << [$1.downcase,line]
0 голосов
/ 24 ноября 2010

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

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

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