Trier la liste des fichiers dans Xcode?
Existe-t-il un moyen dans Xcode de trier Ma liste de fichiers sous le dossier Classes par ordre alphabétique?
Je sais que je peux les faire glisser, mais avec des tonnes de fichiers qui est une douleur.
Je suis surpris que je ne peux pas faire un clic droit sur le dossier et dire de trier.
5 réponses
Cliquez sur le dossier, puis cliquez sur Modifier > Trier > par nom
Voici un script Ruby qui va trier tous les fichiers de leurs groupes respectifs dans un fichier de projet Xcode 4 (probablement Xcode 3 aussi mais je n'ai pas essayé cela).
Utilisation:
ruby sort.rb <infile> <outfile>
Où
#!/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"
Czar il y a des avantages à l'avoir comme vous le souhaitez, au lieu de l'avoir automatiquement trier à tout moment.
Certaines classes peuvent être liées d'une certaine manière, mais les noms ne sont pas juste à côté de l'autre, je l'ai utilisé avec certitude. :)
Le script ruby de jedediah fonctionne très bien. Pour trier également les ressources copiées, vous pouvez ajouter:
state = :group if line =~ /^\s*files\s*=\s*\x28\s*$/
Notez que le tri est sensible à la casse (les lettres majuscules en premier). Pour le rendre insensible, utilisez:
group << [$1.downcase,line]
Il n'y a pas vraiment de solution facile dans XCode5.
- j'ai ouvert le fichier pbxproj dans un éditeur de texte.
- naviguez jusqu'à / * Begin PBXResourcesBuildPhase section * /
- Sélectionnez tout dans les fichiers.
- copier dans un nouveau document texte.
- remplacer / * par \t (caractère de tabulation)
- Tout sélectionner, Copier et coller dans un document excel vierge. vous devriez avoir 2 colonnes de données
- insérer une colonne à poisition 2
- crée toutes les lignes pour cette colonne /*
- trier la feuille sur la colonne 3
- Copiez toutes les données et collez-les sur votre section dans le fichier pbxproj
- enregistrer le fichier
Qui devrait trier la section "Copy Bundle Resources" de votre projet.
Je me sens sale juste en faisant cela, mais bon-ça marche