Visual Studio - Di mana menentukan makro jalur kustom?

92

Saya baru saja membuka proyek Visual Studio orang lain dan di properti build mereka memiliki beberapa makro jalur kustom yang mereka gunakan untuk menyertakan dan direktori lib. Nama makro adalah seperti ini:

$(MY_WHATEVER_INCLUDE_DIR)

Saya dapat mengganti setiap makro secara manual dengan jalur nyata, tetapi alangkah baiknya jika hanya menggunakan makro. Pertanyaan saya adalah, di mana saya menentukan makro jalur kustom ini?

Jake Wilson
sumber
2
Fudge, saya berharap ini akan sangat mudah ditemukan. Setelah 10 menit saya menyerah. . . +1 dari saya. Tampaknya telah berubah sejak VS 6.0 hari. . . Adakah kemungkinan pengguna Anda telah menetapkannya langsung di lingkungan mereka?
Frank Merrow
1
Jawaban gregseth berisi solusi nyata untuk masalah ini: ada bagian Makro Pengguna di bawah Properti Umum saat mengedit lembar properti, tetapi hanya jika lembar itu khusus untuk solusi / proyek. Jadi jika Anda mengedit lembar default yang dibagikan di semua proyek, Makro Pengguna tidak akan ditampilkan. Lihat komentar saya tentang jawaban gregseth di bawah ini.
Cam Jackson
1
Menggunakan file .props melakukannya untuk di Visual Studio 2010 untuk menentukan / mengubah makro. Sebelumnya, ekstensi file adalah .vsprops.
Aditya Kumar Pandey
1
Saya telah menulis beberapa detail lebih lanjut tentang penggunaan shset properti di sini: stackoverflow.com/q/25810603/398670
Craig Ringer

Jawaban:

48

Tautan ini http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx dapat menarik minat Anda. Saya tidak suka gagasan mengubah seluruh konfigurasi sistem saya hanya untuk membangun sebuah proyek. Bagian paling menarik di halaman ini adalah komentar terakhir:

Halaman ini gagal menyebutkan bagaimana menuju ke dialog ini:

Dari Manajer Properti, klik dua kali pada halaman properti. Klik "Makro Pengguna" di bawah "Properti Umum" di kontrol pohon.

gregseth
sumber
8
hmm .. Sepertinya saya tidak memiliki opsi "Makro Pengguna" di bawah "Properti Umum". Saya menggunakan VS 2010 Pro
Jelle Vergeer
21
@Jelle Komentar lebih besar dari tautan di atas berisi info tambahan yang Anda butuhkan! 'Makro Pengguna' hanya akan ditampilkan di bawah 'Properti Umum' jika lembar properti yang Anda edit khusus untuk proyek / solusi! Jadi yang perlu Anda lakukan adalah membuka jendela Manajer Properti di VS, klik kanan pada proyek Anda dan tambahkan lembar properti baru. Kemudian klik kanan-> Properti pada lembar yang baru dibuat, dan Anda sekarang akan melihat opsi 'Makro Pengguna' di bawah 'Properti Umum'! Semoga itu bisa membantu :)
Cam Jackson
1
Ini adalah opsi yang cukup tersembunyi. Ini adalah tautan baru untuk halaman dukungan MSVS ( msdn.microsoft.com/en-us/library/f2t8ztwy%28v=vs.90%29.aspx ), hampir tidak ada. Di halaman ini ( sites.google.com/site/pinyotae/Home/visual-studio-visual-c/… ) ada daftar langkah-langkah yang lebih rinci, tidak sempurna tetapi memberi Anda beberapa petunjuk.
Javier Mr
1
Menambahkan beberapa info dan contoh lebih lanjut di sini: stackoverflow.com/q/25810603/398670 . Satu hal penting yang harus dipahami adalah bahwa lembar properti dapat dilampirkan ke semua, beberapa, atau hanya satu konfigurasi / kombinasi platform. Tidak seperti di editor properti normal, tidak ada nilai yang berbeda untuk konfigurasi / platform yang berbeda; jika Anda menginginkannya, Anda menggunakan lembar yang berbeda untuk masing-masing. Cukup fleksibel setelah Anda mengetahui cara menggabungkan beberapa lembar dan memiliki satu merujuk ke makro di yang lain.
Craig Ringer
Sehubungan dengan Visual Studio 2019 dan komentar oleh Doug Kimzey, dimungkinkan untuk menambahkannya di VS 2019. makro pengguna dapat ditambahkan dan diedit mengikuti prosedur yang ditunjukkan oleh tanggapan oleh Serge Rogatch. Aku butuh sedikit untuk menemukannya. :)
Hamp
39

Di sini pendekatannya dijelaskan dengan gambar: https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

Di Visual Studio Anda perlu:

  1. Klik di menu utama "Tampilan", lalu "Pengelola Properti"
  2. Klik kanan di ruang kosong jendela "Manajer Properti" dan di menu pop-up klik "Tambahkan Lembar Properti Proyek Baru"
  3. Setelah menambahkan lembar properti, klik dua kali di jendela Manajer Properti dan di pohon di sebelah kiri halaman properti pilih "Makro Pengguna"
  4. Kemudian Anda dapat mengklik tombol "Tambahkan Makro"

Berikut adalah tutorial tentang Project Property Sheets: http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/

Serge Rogatch
sumber
6
Jawaban ini membutuhkan lebih banyak suara positif. Pilih ini adalah jawaban yang diterima. Jawaban yang diterima saat ini bahkan tidak menjawab pertanyaan itu.
Mike S
1
Jika tidak jelas (bukan bagi saya) Anda harus menambahkan lembar properti Anda ke semua proyek Anda (dengan asumsi Anda memiliki beberapa dalam solusi yang sama). Saya tidak tahu mengapa itu tidak berhasil, tetapi kemudian menyadari bahwa saya telah menambahkannya ke proyek yang berbeda.
Matt
7

Sebuah lembar properti kemungkinan menjadi solusi yang tepat; jawaban ini menjelaskan tentang @ gregseth daripada berusaha menggantinya, karena terlalu panjang untuk sebuah komentar.

Saya menemukan bahwa saya membutuhkan jalur yang berbeda untuk target 32-bit dan 64-bit, dan melakukan itu membutuhkan sedikit pemikiran, jadi saya telah mendokumentasikan prosesnya secara rinci .

Satu kesalahpahaman utama yang saya miliki dengan lembar properti adalah bahwa, tidak seperti editor properti VS biasa di mana Anda dapat mengedit kombinasi konfigurasi / platform yang berbeda, lembar properti hanyalah daftar properti. Itu tidak memiliki sub-bagian per konfigurasi dan per platform. Itu membingungkan karena ketika saya menambahkan lembar ke proyek, itu muncul di bawah setiap node konfigurasi / platform daripada di bawah node proyek tingkat atas. Semua entri sebenarnya untuk file lembar properti yang sama, jadi mengedit satu akan mengubah semuanya, tetapi awalnya saya tidak memahaminya dan berpikir saya masih harus mengubah nilai di setiap tempat satu per satu.

Anda dapat menambahkan lembar properti ke hanya satu konfigurasi / kombinasi platform, ke semuanya, atau ke beberapa subset saja.

Jika Anda ingin memiliki pengaturan global maka konfigurasi / platform menimpa Anda dapat melakukannya dengan memastikan lembar properti yang lebih spesifik adalah yang terakhir. Jadi Anda mungkin memiliki lembar properti "semua konfigurasi" lalu satu untuk "x86", satu untuk "x64" satu untuk "debug" dan satu untuk "rilis". Target debug x64 akan memiliki sheet "semua", "x86", "debug". Pada dasarnya meniru apa yang dilakukan editor properti VS secara internal.

Craig Ringer
sumber
3

Kembali: hmm .. Sepertinya saya tidak memiliki opsi "Makro Pengguna" di bawah "Properti Umum". Saya menggunakan VS 2010 Pro

Opsi Makro Pengguna tidak muncul jika Anda membuka dialog properti untuk file proj, seperti yang Anda lakukan dalam tampilan File normal. Anda harus beralih ke tampilan Propery, memperluas beberapa proyek, dan memilih Halaman Properti (* .props) yang Anda tambahkan untuk tujuan tersebut. Makro Pengguna muncul di sana.

Atau, Anda bisa langsung mengedit XML. Makro berfungsi dengan baik jika ditentukan dalam file. * Proj, tetapi menjadikannya "Makro Pengguna" tidak ada gunanya jika tidak ada halaman edit. Jadi buat saja itu menjadi properti biasa di <PropertyGroup>.

Seperti yang ditunjukkan sebelumnya, itu juga menarik Variabel Lingkungan. Namun, Anda harus memastikan untuk mengaturnya dalam konteks di mana Devenv akan melihatnya! Lakukan itu di shell perintah dan kemudian jalankan DEVENV dari prompt perintah yang sama. Ketika saya mengalami situasi itu, saya membuat file batch untuk mengatur variabel yang tepat dan meluncurkan DEVENV, dan meletakkan ikon file kelelawar itu di desktop.

JDługosz
sumber
1
"Tampilan properti" mungkin adalah "Manajer Properti" dalam versi VS Anda, diakses melalui Tampilan -> Windows Lainnya.
Craig Ringer
1
Saya kira itu menjadi Tampilan saat dipasang sebagai tab bersama dengan tampilan pohon File, Kelas, dan Sumber Daya.
JDługosz
2

Coba cara lain tanpa repot menambah setiap Property Sheet

Buka OS Windows Properti Sistem > Variabel Lingkungan , cukup Baru dan masukkan Variabel misalnya: MY_PATH dan nilai misalnya: D: \ Dev_Path \

setelah itu Anda harus me-restart Visual Studio Anda, Anda harus dapat memiliki $ {MY_PATH} dalam daftar makro

p / s: perhatikan saja Jason Williams menjawab di atas adalah metode Variabel Lingkungan OS

hghew
sumber
bukan ide yang baik, jika Anda ingin properti Anda hanya dimiliki oleh proyek Anda.
Mia Shani
Aplikasi apa yang Anda gunakan untuk menyetel properti ini?
Doug Kimzey
1

Jawaban yang sama untuk @Serge Rogatch, hanya saja saya tidak dapat menemukan "Manajer Properti" di View.

Langkah-langkah visual untuk navigasi cepat: masukkan deskripsi gambar di sini

userom
sumber
0

Adapun cara untuk versi studio visual terbaru (2015+) adalah sebagai berikut:

Untuk membuat makro yang ditentukan pengguna:

  1. Di jendela Manajer Properti (di bilah menu, pilih Tampilan, Manajer Properti), buka menu pintasan untuk lembar properti (namanya diakhiri dengan .user) lalu pilih Properti.
  2. Kotak dialog Halaman Properti untuk lembar properti itu terbuka. Di panel kiri kotak dialog, pilih Makro Pengguna. Di panel kanan, pilih tombol Tambahkan Makro untuk membuka kotak dialog Tambahkan Makro Pengguna.
  3. Di kotak dialog, tentukan nama dan nilai untuk makro. Secara opsional, centang kotak Tetapkan makro ini sebagai variabel lingkungan di lingkungan build.

Sumber

Tuan Fox yang fantastis
sumber
Tidak ada yang disebut "Manajer Properti" dalam menu Tampilan Visual Studio 2019. Tidak ada entri seperti "Makro Pengguna" di halaman Properti Visual Studio 2019. Bantuan Pencarian di Visual Studio 2019 untuk "Makro Pengguna" meluncurkan " Item baru "dialog.
Doug Kimzey
VS2019 - Tampilan -> Jendela Lain -> Manajer Properti (dan Anda akan berada di jalur yang benar!)
Kirk Bates