           (setq projects (cdr projects)))
         (setq apm-project-local-vars-is-set isset))))
 
+(defun apm--get-project-files ()
+  (let ((project (apm--find-project default-directory)))
+    (when project
+      (with-temp-buffer
+          (setq default-directory (concat (apm-project-path project) "/"))
+          (let ((project-find-args (apm-project-find-args project)))
+            (split-string (shell-command-to-string (concat "find . -not -path '*/.*/*' -not -name '.*' -type f"
+                                                           (if project-find-args project-find-args "")))))))))
+
+(defun apm-find-file-in-project (arg)
+  (interactive "P")
+  (let ((project (apm--find-project default-directory)))
+    (if (and project (not arg))
+        (with-temp-buffer
+          (setq default-directory (concat (apm-project-path project) "/"))
+          (find-file (completing-read "Find file: " (apm--get-project-files))))
+      (call-interactively 'find-file))))
+
 (defun apm--apply-global-vars ()
   (let ((project (apm--find-project default-directory)))
     (if project

;; SOFTWARE.

;;; Change Log:
;; 2.2.5 - Remove ugly code
;; 2.2.4 - Improve code
;; 2.2.3 - Remove irony autoload .clang_complete

;; Copyright (C) 2014 Alexander Prusov

;; Author: Alexander Prusov <alexprusov@gmail.com>
;; Version: 2.3.0
;; Created: 7.11.2014
;; Keywords: project
;; Homepage: https://github.com/Plambir/emacs-bootstrap
