2016-02-26 7 views
37

Bir Symfony projesinde çalışmak için PhpStorm kullanıyorum. Dosya> Ayarlar> projedePhpStorm'da bir Symfony projesi kullanırken "Dizinler" nasıl yapılandırılır

...> Rehberler yapılandırma, ben otomatik tamamlamayı sahip olmak için bir Kaynak kökü olarak vendor/ dizini tanımlanmış ve bir Hariç klasörün gibi satıcıları zaman göz ardı etmek istiyorum, çünkü projemin kodunda bir arama yapmak.

Ancak benim sorunum, satıcıların arama sonuçlarında gösterilmeleridir. vendor/ elde edilen sonuçlar gösterilmiştir:

enter image description here İşte

PHP yapılandırması

İşte enter image description here

Ben kaçınmaya çalışıyorum budur: İşte

benim şimdiki yapılandırma:

enter image description here

Kapsam = Özel'u seçerek aramayı kısıtlayabilirim ancak bazen bunu değiştirmeyi unutabiliyorum. Farklı Symfony2/3 projelerinde kullanabileceğim bazı ayarları arıyorum.

PhpStorm'un bir kaynak kökü olarak kullanmasına izin vermek ve bir arama yaparken göz ardı etmek için vendor/ dizinini nasıl işaretlemeliyim?

Symfony2 projesinin varsayılan dizin yapısı için doğru yapılandırma nedir? İşte Symfony'nin 2.8 kurulumdan sonra varsayılan dizinleri composer create-project symfony/framework-standard-edition symfony-2.8 "~2.8" ile şunlardır:

.idea    [excluded] 
app/ 
    ├ config 
    ├ cache   [excluded] 
    ├ logs   [excluded] 
    └ Resources 
src/    [source] 
    └ AppBundle/ 
    └ Tests/  [test source folders] 
vendor/    [excluded] 
web/ 

Not:

İşte
app/ 
    ├ config 
    ├ cache 
    ├ logs 
    └ Resources 
src/ 
    └ AppBundle/ 
vendor/ 
web/ 

Ben şu anda dizinleri işaretlenmiş nasıl ben don PhpStorm için Symfony'nin eklentisi yüklü Bu IDE davranışını değiştirirse, bilmiyorum.

+0

Ödül mesajında ​​bir hata yaptım, farklı * dizinler olmalı ***. –

cevap

33

vendor klasörü kaynak kökü değil. Kaynak kökü, resimler ve komut dosyaları gibi kaynakların web sunucusu tarafından sunulacağı bir klasördür.

Sizin durumunuzda, kaynak kökü olarak işaretlenmesi gereken tek klasör büyük olasılıkla web klasörüdür, ancak ironik olarak, kaynak kök olarak seçmediğiniz neredeyse bir tanesidir. kaynak kök mutlak URL'ler /css/foo.css ve /images/foo.jpg web sunucusu tarafından sunulan geçerli kaynaklar olabileceği anlamına gelir olarak web İşaretleme; muhtemelen diğer tüm klasörleri kaynak köklerinden kaldırmak istersiniz.

O birinci taraf proje kodunun bir parçası değildir çünkü vendor klasörü dışlamak için doğrudur. kod tamamlama için sipariş üçüncü taraf kodu için çalışmak olarak harici bir kütüphane gibi satıcı klasör eklemek gerekir. Bu Diller & Çerçeveleriyle seçeneklerinde>PHP gezinme ve bir içerme yol olarak satıcı klasörü belirterek yapılabilir.

+0

[F4] 'i tıklatarak bir şey tetikleyen bağlam nedir? Benim için hiçbir şey yapmıyor. Sorularımda görünen ağacı kopyalayabilir misiniz, cevabınız iyon ve ilgili * işaretleri ekle *? Diğer kullanıcılar için yararlı olabilir. –

+0

Görüntülenen başka bir modal diyaloğu yoksa, herhangi bir editör içeriği çalışacaktır.Ancak, farklı kullanıcılar farklı anahtar bağlamaları olabilir, bu yüzden muhtemelen klavye kısayollarını belirtmek yararlı olmaz, dolayısıyla onu kaldıracağım. Ascii diyagramını cevabımın içine kopyalamıyorum çünkü bunun herhangi bir açıklık getirdiğini düşünmüyorum; Metin yeterince açık. –

+0

En iyi performans ve yapılandırma için Symfony eklentisini kullanın, https://github.com/Haehnchen/idea-php-symfony2-plugin –

0

Symfony2 için birincil IDE olarak PhpStorm 10 kullanıyorum. Herhangi bir Symfony eklentisini yüklemeniz gerekmez, çünkü PhpStorm varsayılan olarak Symfony2'yi destekler.

  • Sizin bu
  • Kaynaklar kamu olacak olması sizin public_html bir kaynak Root olarak dizin, ya da her türlü işaretlemeniz gerekir - aramada vendors/ istemiyorsanız sizin app/ dizin
  • , olacak olan bu Ayrıca hariç tutuyorum, satıcıya ve üstte "Hariç tutulan" düğmesine basarsınız. Ayrıca dışarıda bırakmak istediğinizde, tmp/ ve app/cache/ dizinleri
  • Bildiğiniz gibi, kapsamı tanımlayabilir ve orada arama yapabilirsiniz.

Dizini hariç tuttuğunuzda, PhpStorm indekslenmediğinden ve orada istemediğiniz bir şey olduğundan bu yana performansa yardımcı olur.

Symfony2'nin dizin yapısına gelince, oldukça esnektir, kendi başıma kullanıyorum. İşte dokümanlardan Symfony 2.8 directory yapısı.Benim için

Hariç klasörler şunlardır:

  • app/DoctrineMigrations
  • app/cache
  • app/logs/
  • tmp/
20

Quolonel Questions's answer den kullanılan önerileri yaptıktan sonra burada konfigürasyonun özeti içindir Symfony2 (Symfon'a bakınız) Bu cevabın sonunda) en y3: alakasız sonuçları önlemek için

enter image description here

projede arama,:

otomatik tamamlama için

, içinde vendor/ dizini kullanır yolu Dahil aşağıdaki dizinleri gözardı edilecektir var:

.idea    [excluded] 
app/ 
    ├ cache   [excluded] 
    └ logs   [excluded] 
vendor/    [excluded] 

enter image description here

, default configuration for Symfony3 ile

enter image description here


:

.idea    [excluded] 
app/ 
    ├ cache   [excluded] 
    └ logs   [excluded] 
src/    [source] 
    └ AppBundle/ 
    └ */Tests/  [test source folders] 
vendor/    [excluded] 
web/    [resources root] 

Testi Kaynak Klasörler tanımlandıkları eğer araç çubuğunda görünecektir isteğe bağlıdır:

İşte benim tam yapılandırma Dizinler biraz farklıdır:

.idea    [excluded] 
src/    [source] 
tests/    [test source folders] 
var/ 
    ├ cache   [excluded] 
    └ logs   [excluded] 
vendor/    [excluded] 
web/    [resources root] 

Güncelleme: composer update ile benim bağımlılıkları güncelledikten sonra, PhpStorm bu dizinleri ihmal olsalar bile vendor/ dizinde arama yapmak. Çözüm, yolunu dahil et ve vendor/ dizini, ilk ekran görüntüsünde olduğu gibi tüm vendor/* dizinleri kaldırmaktır.

Ben çalışmak ve composer update kullanıldığı her zaman sonra bu tekrarlamak önleyebilirsiniz göz ardı gibi tüm vendor/* dizinleri işaretleme olmadığını test etmek gerekir.

2

elle vendor hariç ve sonra php ayarlarında yeniden dahil daha kolay Başka bir seçenek, this question yılında showin olarak PhpStorm besteci ayarlarında yaklaşık composer.json ve composer.phar anlatmaktır.

+0

Hâlihazırda tüm satıcı yollarını, burada istediğimiz gibi yollar içerecek şekilde otomatik olarak eklerken, uzak bir tercüman kullanırken besteci eklentisi bir uyarı verir. –