Visual Studio - Özel yol makroları nerede tanımlanır?


91

Başka birinin Visual Studio projesini açtım ve derleme özelliklerinde içerme ve lib dizinleri için kullandıkları birkaç özel yol makrosu var. Makro isimleri şuna benzer:

$(MY_WHATEVER_INCLUDE_DIR)

Her bir makroyu gerçek yolla manuel olarak değiştirebilirim, ancak sadece makroları kullanmak güzel olurdu. Sorum şu, bu özel yol makrolarını nerede tanımlayabilirim?


2
Pekala şekerleme, bunu bulmanın gerçekten kolay olmasını bekliyordum. 10 dakika sonra pes ettim. . . Benden +1. VS 6.0 gününden beri değişmiş görünüyor. . . kullanıcınızın bunları doğrudan kendi ortamında tanımlamış olma ihtimali var mı?
Frank Merrow

1
gregseth'in cevabı, bu sorunun gerçek çözümünü içerir: Bir özellik sayfasını düzenlerken Ortak Özellikler'in altında bir Kullanıcı Makrosu bölümü vardır, ancak yalnızca bu sayfa çözüme / projeye özelse. Dolayısıyla, tüm projeler arasında paylaşılan varsayılan sayfaları düzenliyorsanız, Kullanıcı Makroları gösterilmez. Aşağıda gregseth'in cevabı hakkındaki yorumuma bakın.
Cam Jackson

1
Bir .props dosyası kullanmak, makroları tanımlamak / değiştirmek için Visual Studio 2010'da bunu yapar. Bundan önce dosya uzantısı .vsprops idi.
Aditya Kumar Pandey

1
Burada özellik shset kullanımı hakkında daha fazla ayrıntı yazdım: stackoverflow.com/q/25810603/398670
Craig Ringer

Yanıtlar:


48

Bu bağlantı http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx ilginizi çekebilir. Sadece bir proje oluşturmak için tüm sistem konfigürasyonumu değiştirme fikrinden hoşlanmadım. Sayfadaki en ilginç kısım son yorum:

Bu sayfa, bu iletişim kutusuna nasıl ulaşılacağını belirtmiyor:

Mülk Yöneticisinden, bir mülk sayfasına çift tıklayın. Ağaç kontrolünde "Ortak Özellikler" altında "Kullanıcı Makroları" na tıklayın.


8
hmm .. "Ortak Özellikler" altında "Kullanıcı Makroları" seçeneğine sahip görünmüyorum. VS 2010 Pro
Jelle Vergeer

21
@Jelle Yukarıdaki bağlantıdan daha büyük yorum, ihtiyacınız olan ekstra bilgileri içerir! 'Kullanıcı Makroları', yalnızca düzenlemekte olduğunuz özellik sayfası projeye / çözüme özelse 'Ortak Özellikler' altında görüntülenir! Bu yüzden yapmanız gereken, VS'de Property Manager penceresini açmak, projenize sağ tıklayın ve yeni bir özellik sayfası eklemek. Ardından, yeni oluşturulan sayfada -> Özellikler'e sağ tıklayın ve artık "Ortak Özellikler" altında "Kullanıcı Makroları" seçeneğini göreceksiniz! Umarım yardımcı olur :)
Cam Jackson

1
Bu oldukça gizli bir seçenektir. Bu, MSVS destek sayfasının ( msdn.microsoft.com/en-us/library/f2t8ztwy%28v=vs.90%29.aspx ) yeni bağlantısıdır , neredeyse hiçbir şey değildir. Bu sayfada ( sites.google.com/site/pinyotae/Home/visual-studio-visual-c/… ) adımların listesi mükemmel değil, daha ayrıntılıdır ancak size bazı ipuçları verir.
Javier Mr

1
Buraya biraz daha fazla bilgi ve örnek eklendi: stackoverflow.com/q/25810603/398670 . Anlaşılması gereken önemli bir şey, özellik sayfalarının tümüne, bazılarına veya yalnızca bir yapılandırma / platform kombinasyonuna eklenebileceğidir. Normal özellikler düzenleyicisinin aksine, farklı konfigürasyonlar / platformlar için farklı değerler yoktur; Eğer bunu istiyorsanız, her biri için farklı kağıtlar kullanırsınız. Birden çok sayfayı nasıl birleştireceğinizi ve birinin diğerindeki makrolara başvurduğunu bulduğunuzda oldukça esnektir.
Craig Ringer

Visual Studio 2019 ve Doug Kimzey'in yorumu ile ilgili olarak, bunları VS 2019'a eklemek mümkündür. Kullanıcı makroları, Serge Rogatch tarafından belirtilen prosedür izlenerek eklenebilir ve düzenlenebilir. Onu bulmam biraz zaman aldı. :)
Hamp

39

Burada yaklaşım resimlerle açıklanmıştır: https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

Visual Studio'da yapmanız gerekenler:

  1. "Görünüm" ana menüsünde, ardından "Emlak Yöneticisi" ni tıklayın
  2. "Emlak Yöneticisi" penceresinin boş alanına sağ tıklayın ve açılır menüde "Yeni Proje Özellik Sayfası Ekle" seçeneğine tıklayın.
  3. Özellik sayfasını ekledikten sonra, Özellik Yöneticisi penceresinde çift tıklayın ve soldaki ağaçta özellik sayfası "Kullanıcı Makroları" nı seçin
  4. Ardından "Makro Ekle" düğmesini tıklayabilirsiniz

İşte Proje Özellik Sayfaları hakkında bir eğitici: http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/


6
Bu yanıtın daha fazla oylamaya ihtiyacı var. Lütfen bu kabul edilen cevabı seçin. Mevcut kabul edilen cevap soruyu cevaplamıyor bile.
Mike S

1
Açık olmaması durumunda (benim için değildi), özellik sayfanızı tüm projelerinize eklemeniz gerekir (aynı çözümde birden fazla var varsayarak). Neden çalışmadığını anlayamadım ama sonra onu farklı bir projeye eklediğimi fark ettim.
Matt


7

Bir özellik sayfası muhtemelen doğru çözüm olacaktır; Bu yanıt, bir yorum için çok uzun olduğu için, @ gregseth'in yerini almaya çalışmaktan ziyade, detaylandırıyor.

32 bit ve 64 bit hedefler için farklı yollara ihtiyacım olduğunu fark ettim ve bunu yapmak biraz zaman aldı, bu yüzden süreci ayrıntılı olarak belgeledim .

Özellik sayfalarıyla ilgili önemli bir yanlış anlama, farklı konfigürasyon / platform kombinasyonlarını düzenleyebileceğiniz normal VS özellik düzenleyicisinin aksine, bir özellik sayfasının yalnızca bir özellik listesi olduğuydu. Yapılandırma başına ve platform başına alt bölümleri yoktur. Bu kafa karıştırıcıydı çünkü bir projeye bir sayfa eklediğimde, üst seviye proje düğümü yerine her yapılandırma / platform düğümünün altında görünüyordu. Tüm girişler aslında aynı özellik tablosu dosyası içindir, bu nedenle birini düzenlemek hepsini değiştirir, ancak başlangıçta bunu anlamadım ve yine de her yerdeki değeri tek tek değiştirmem gerektiğini düşündüm.

Tek bir konfigürasyon / platform kombinasyonuna, hepsine veya sadece bir alt kümeye bir özellik sayfası ekleyebilirsiniz.

Global ayarlara sahip olmak istiyorsanız, yapılandırma / platform geçersiz kılmaları, daha spesifik özellik sayfalarının en son olmasını sağlayarak bunu yapabilirsiniz. Bu nedenle, "tüm konfigürasyonlar" ve ardından "x86" için bir, "x64" için bir, "hata ayıklama" ve bir de "yayın" için bir özellik sayfanız olabilir. X64 hata ayıklama hedefi, "tümü", "x86", "hata ayıklama" sayfalarına sahip olacaktır. Temel olarak VS'nin özellik düzenleyicisinin dahili olarak yaptıklarını taklit etmek.


3

Re: hmm .. "Ortak Özellikler" altında "Kullanıcı Makroları" seçeneğine sahip görünmüyorum. VS 2010 Pro kullanıyorum

Normal Dosyalar görünümünde yaptığınız gibi, bir proje dosyası için özellik iletişim kutusunu açarsanız Kullanıcı Makroları seçeneği görünmez. Özellik görünümüne geçmeniz, bazı projeleri genişletmeniz ve amaç için eklediğiniz bir Özellik Sayfası (* .props) seçmeniz gerekir. Kullanıcı Makroları orada görünür.

Veya doğrudan XML'i düzenleyebilirsiniz. Makrolar bir. * Proj dosyasında tanımlanırsa gayet iyi çalışır, ancak düzenleme sayfası yoksa onu "Kullanıcı Makrosu" yapmak anlamsızdır. Bu nedenle, bunu bir <PropertyGroup> içinde düz bir özellik yapın.

Daha önce belirtildiği gibi, aynı zamanda Ortam Değişkenlerini de çeker. Ancak, onları Devenv'in onları göreceği bir bağlama yerleştirdiğinizden emin olmalısınız! Bunu bir komut kabuğunda yapın ve ardından DEVENV'i aynı komut isteminden çalıştırın. Bu duruma sahip olduğumda, uygun değişkenleri ayarlamak ve DEVENV'i başlatmak için bir toplu iş dosyası hazırladım ve bu yarasa dosyası simgesini masaüstüne koydum.


1
"Mülk görünümü", Görünüm -> Diğer Pencereler aracılığıyla erişilen VS sürümünüzdeki "Mülk Yöneticisi" olabilir.
Craig Ringer

1
Sanırım Dosya, Sınıf ve Kaynak ağacı görünümleri ile birlikte bir sekme olarak yerleştirildiğinde Görünüm olur.
JDługosz

2

Her bir Özellik Sayfasına güçlük eklemeden diğer yolu deneyin

Windows İşletim Sistemi Sistem Özellikleri > Ortam Değişkenleri'ne gidin , sadece Yeni ve Değişkeni girin, örneğin: MY_PATH ve değer örn: D: \ Dev_Path \

bundan sonra Visual Studio'nuzu yeniden başlatmanız gerekir, makro listesinde $ {MY_PATH} olması gerekir

p / s: Jason Williams'ın yukarıda yanıt verdiği İşletim Sistemi Ortam Değişkenleri yöntemi olduğuna dikkat edin


Mülkünüzün sadece projenize ait olmasını istiyorsanız iyi bir fikir değil.
Mia Shani

Bu özellikleri ayarlamak için hangi uygulamayı kullanıyorsunuz?
Doug Kimzey

1

@Serge Rogatch ile aynı yanıt, ancak View'da "Mülk Yöneticisi" ni bulamadım.

Hızlı gezinme için görsel adımlar: görüntü açıklamasını buraya girin


0

En son görsel stüdyo sürümlerinin (2015+) yolu aşağıdaki gibidir:

Kullanıcı tanımlı bir makro oluşturmak için:

  1. Özellik Yöneticisi penceresinde (menü çubuğunda, Görünüm, Özellik Yöneticisi'ni seçin), bir özellik sayfası için kısayol menüsünü açın (adı .user ile biter) ve ardından Özellikler'i seçin.
  2. Bu özellik sayfası için Özellik Sayfaları iletişim kutusu açılır. İletişim kutusunun sol bölmesinde Kullanıcı Makroları'nı seçin. Sağ bölmede, Kullanıcı Makrosu Ekle iletişim kutusunu açmak için Makro Ekle düğmesini seçin.
  3. İletişim kutusunda, makro için bir ad ve değer belirtin. İsteğe bağlı olarak, Bu makroyu derleme ortamında ortam değişkeni olarak ayarla onay kutusunu seçin.

Kaynak


Visual Studio 2019'un Görünüm menüsünde "Özellik Yöneticisi" diye bir şey yoktur. Visual Studio 2019'un Özellik sayfalarında "Kullanıcı Makroları" diye bir giriş yoktur. "Kullanıcı Makroları" için Arama Yardımı Visual Studio 2019'u başlatır bir " Yeni Öğe "iletişim kutusu.
Doug Kimzey

VS2019 - Görünüm -> Diğer Pencereler -> Mülk Yöneticisi (ve doğru yolda olacaksınız!)
Kirk Bates
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.