Есть ли способ в 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 нет простого решения.
Это должно сортировать раздел "Ресурсы копирования ресурсов" вашего проекта.
Я чувствую себя грязным, просто делаю это, но эй - он работает