37 votes

Trier la Liste des Fichiers dans Xcode?

Est-il un moyen dans Xcode pour trier ma liste de fichiers sous dire le dossier Classes par ordre Alphabétique?

Je sais que je peux les glisser autour, mais avec des tonnes de fichiers que est une douleur.

Je suis surpris, je ne peux pas cliquer-droit sur le dossier et de le dire à trier.

40voto

Kevin Griffin Points 1700

Cliquez sur le dossier, puis cliquez sur Modifier > Trier > Par le Nom de

3voto

jedediah Points 590

Voici un script Ruby qui permet de trier tous les fichiers dans leurs groupes respectifs dans un Xcode 4 fichier de projet (probablement Xcode 3 aussi, mais je n'ai pas essayé).

Utilisation:

ruby sort.rb <infile> <outfile>

où <infile> est un non triés .pbxproj fichier et <output> sera la version triée. Ne pas faire le même fichier.

#!/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"

1voto

Czar Points 231

Toute possibilité de faire ce que la norme? De sorte qu'il sorte automatiquement?

Je me demande vraiment qui fonctionne avec un arbitraire du tri...

1voto

Cœur Points 1538

Le script ruby de jedediah fonctionne très bien. Pour trier les ressources de la copie, vous pouvez ajouter:

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

Notez que le tri est sensible à la casse (majuscules en premier). Pour le rendre insensible à la casse, utilisez:

group << [$1.downcase,line]

0voto

Nicki Points 921

Le tsar il y a des avantages à avoir de la manière que vous voulez, au lieu de automatiquement de l'avoir de tri à tous les temps.

Certaines classes peuvent être liés d'une certaine façon, mais les noms ne sont pas juste à côté de l'autre, je l'ai utilisé que pour certaines. :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X