Visual Studio - Xác định macro đường dẫn tùy chỉnh ở đâu?


90

Tôi vừa mở dự án Visual Studio của người khác và trong thuộc tính xây dựng của họ, họ có một vài macro đường dẫn tùy chỉnh mà họ đang sử dụng cho các thư mục include và lib của họ. Tên macro là những thứ như sau:

$(MY_WHATEVER_INCLUDE_DIR)

Tôi có thể thay thế thủ công từng macro đơn lẻ bằng đường dẫn thực, nhưng sẽ rất tuyệt nếu chỉ sử dụng macro. Câu hỏi của tôi là, tôi xác định các macro đường dẫn tùy chỉnh này ở đâu?


2
Chà, tôi mong rằng thứ này thực sự dễ tìm. Sau 10 phút tôi bỏ cuộc. . . +1 từ tôi. Nó dường như đã thay đổi kể từ VS 6.0 ngày. . . bất kỳ cơ hội nào người dùng của bạn có những điều này được xác định trực tiếp trong môi trường của họ?
Frank Merrow,

1
Câu trả lời của gregseth chứa giải pháp thực sự cho vấn đề này: có một phần User Macro bên dưới Thuộc tính chung khi chỉnh sửa trang thuộc tính, nhưng chỉ khi trang đó dành riêng cho giải pháp / dự án. Vì vậy, nếu bạn đang chỉnh sửa trang tính mặc định được chia sẻ trên tất cả các dự án, thì Macro người dùng sẽ không hiển thị. Xem bình luận của tôi về câu trả lời của gregseth bên dưới.
Cam Jackson

1
Sử dụng tệp .props thực hiện điều đó trong Visual Studio 2010 để xác định / thay đổi macro. Trước đó, phần mở rộng của tệp là .vsprops.
Aditya Kumar Pandey

1
Tôi đã viết một số chi tiết về việc sử dụng tài sản shset đây: stackoverflow.com/q/25810603/398670
Craig Ringer

Câu trả lời:


47

Liên kết này http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx có thể khiến bạn quan tâm. Tôi không thích ý tưởng thay đổi toàn bộ cấu hình hệ thống của mình chỉ để xây dựng một dự án. Phần thú vị nhất trên trang là bình luận cuối cùng:

Trang này không đề cập đến cách truy cập hộp thoại này:

Từ Trình quản lý tài sản, nhấp đúp vào trang thuộc tính. Nhấp vào "Macro người dùng" trong "Thuộc tính chung" trong điều khiển cây.


8
hmm .. Tôi dường như không có tùy chọn "Macro người dùng" trong "Thuộc tính chung". Tôi đang sử dụng VS 2010 Pro
Jelle Vergeer

21
@Jelle Bình luận lớn hơn từ liên kết trên có chứa thêm thông tin bạn cần! 'Macro người dùng' sẽ chỉ hiển thị trong 'Thuộc tính chung' nếu trang thuộc tính mà bạn đang chỉnh sửa dành riêng cho dự án / giải pháp! Vì vậy, những gì bạn cần làm là mở cửa sổ Quản lý Thuộc tính trong VS, nhấp chuột phải vào dự án của bạn và thêm một trang thuộc tính mới. Sau đó nhấp chuột phải-> Thuộc tính trên trang tính mới được tạo và bây giờ bạn sẽ thấy tùy chọn 'Macro người dùng' bên dưới 'Thuộc tính chung'! Hy vọng điều đó sẽ giúp :)
Cam Jackson

1
Đây là một tùy chọn khá ẩn. Đây là liên kết mới cho trang hỗ trợ MSVS ( msdn.microsoft.com/en-us/library/f2t8ztwy%28v=vs.90%29.aspx ), hầu như không có gì. Trong trang này ( sites.google.com/site/pinyotae/Home/visual-studio-visual-c/… ) là danh sách các bước chi tiết hơn, không hoàn hảo nhưng cung cấp cho bạn một số gợi ý.
Javier Mr

1
Đã thêm một số thông tin và ví dụ khác tại đây: stackoverflow.com/q/25810603/398670 . Một điều quan trọng cần hiểu là các trang thuộc tính có thể được đính kèm với tất cả, một số hoặc chỉ một kết hợp cấu hình / nền tảng. Không giống như trong trình chỉnh sửa thuộc tính thông thường, không có các giá trị khác nhau cho các cấu hình / nền tảng khác nhau; nếu bạn muốn điều đó, bạn sử dụng các trang tính khác nhau cho mỗi trang. Khá linh hoạt khi bạn tìm ra cách kết hợp nhiều trang tính và có một trang tham chiếu đến macro trong trang khác.
Craig Ringer,

Đối với Visual Studio 2019 và nhận xét của Doug Kimzey, có thể thêm chúng vào VS 2019. Các macro người dùng có thể được thêm và chỉnh sửa theo quy trình được chỉ ra bởi phản hồi của Serge Rogatch. Tôi đã mất một chút để tìm ra nó. :)
Hamp

38

Đây là cách tiếp cận được mô tả bằng hình ảnh: https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-enosystem-variables-macros

Trong Visual Studio, bạn cần:

  1. Nhấp vào menu chính "Chế độ xem", sau đó nhấp vào "Trình quản lý tài sản"
  2. Nhấp chuột phải vào không gian trống của cửa sổ "Trình quản lý Thuộc tính" và trong menu bật lên, nhấp vào "Thêm Trang thuộc tính Dự án Mới"
  3. Sau khi thêm trang thuộc tính, hãy nhấp đúp vào trang thuộc tính đó trong cửa sổ Trình quản lý thuộc tính và trong cây ở bên trái, chọn trang thuộc tính "Macro người dùng"
  4. Sau đó, bạn có thể nhấp vào nút "Thêm Macro"

Đây là hướng dẫn về Trang tính thuộc tính dự án: http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/


6
Câu trả lời này cần nhiều lượt ủng hộ hơn. Vui lòng chọn câu trả lời này được chấp nhận. Câu trả lời được chấp nhận hiện tại thậm chí không trả lời câu hỏi.
Mike S

1
Trong trường hợp không rõ ràng (với tôi thì không), bạn phải thêm thuộc tính của mình vào tất cả các dự án của mình (giả sử bạn có nhiều trong cùng một giải pháp). Tôi không thể hiểu tại sao nó không hoạt động, nhưng sau đó nhận ra rằng tôi đã thêm nó vào một dự án khác.
Matt


7

Một trang tính có thể là giải pháp phù hợp; câu trả lời này giải thích chi tiết về @ gregseth thay vì tìm cách thay thế nó, vì nó quá dài cho một nhận xét.

Tôi nhận thấy rằng tôi cần các đường dẫn khác nhau cho các mục tiêu 32 bit và 64 bit và làm điều đó cần một chút tìm hiểu, vì vậy tôi đã ghi lại quá trình một cách chi tiết .

Một sự hiểu lầm chính mà tôi gặp phải với các trang thuộc tính là, không giống như trình chỉnh sửa thuộc tính VS thông thường, nơi bạn có thể chỉnh sửa các tổ hợp cấu hình / nền tảng khác nhau, trang thuộc tính chỉ là một danh sách các thuộc tính. Nó không có các phần phụ cho mỗi cấu hình và mỗi nền tảng. Điều đó thật khó hiểu vì khi tôi thêm một trang tính vào một dự án, nó xuất hiện dưới mỗi nút cấu hình / nền tảng chứ không phải dưới nút dự án cấp cao nhất. Tất cả các mục thực sự dành cho cùng một tệp trang thuộc tính, vì vậy việc chỉnh sửa một sẽ thay đổi tất cả chúng, nhưng ban đầu tôi không hiểu điều đó và nghĩ rằng tôi vẫn phải thay đổi giá trị ở từng nơi riêng lẻ.

Bạn có thể thêm một trang thuộc tính vào chỉ một tổ hợp cấu hình / nền tảng, cho tất cả chúng hoặc chỉ một số tập hợp con.

Nếu bạn muốn có cài đặt chung thì ghi đè cấu hình / nền tảng, bạn có thể làm như vậy bằng cách đảm bảo các trang thuộc tính cụ thể hơn là cuối cùng. Vì vậy, bạn có thể có một bảng thuộc tính "tất cả các cấu hình", sau đó một bảng cho "x86", một cho "x64" một cho "gỡ lỗi" và một cho "phát hành". Mục tiêu gỡ lỗi x64 sẽ có các trang tính "tất cả", "x86", "gỡ lỗi". Về cơ bản mô phỏng những gì trình soạn thảo thuộc tính của VS làm trong nội bộ.


3

Re: hmm .. Tôi dường như không có tùy chọn "User Macro" trong "Thuộc tính chung". Tôi đang sử dụng VS 2010 Pro

Tùy chọn User Macros không hiển thị nếu bạn mở hộp thoại thuộc tính cho tệp proj, như bạn làm trong chế độ xem Tệp thông thường. Bạn phải chuyển sang dạng xem Propery, mở rộng một số dự án và chọn Trang thuộc tính (* .props) mà bạn đã thêm cho mục đích này. Macro Người dùng hiển thị ở đó.

Hoặc, bạn có thể chỉnh sửa trực tiếp XML. Macro hoạt động tốt nếu được định nghĩa trong tệp. * Proj, nhưng việc biến nó thành "Macro người dùng" là vô nghĩa nếu không có trang chỉnh sửa. Vì vậy, chỉ cần đặt nó thành một thuộc tính thuần túy trong một <PropertyGroup>.

Như đã chỉ ra trước đó, nó cũng kéo các Biến Môi trường vào. Tuy nhiên, bạn phải đảm bảo đặt chúng trong bối cảnh mà Devenv sẽ nhìn thấy chúng! Làm điều đó trong trình bao lệnh và sau đó chạy DEVENV từ cùng dấu nhắc lệnh đó. Khi gặp trường hợp đó, tôi đã tạo một tệp loạt để đặt các biến thích hợp và khởi chạy DEVENV, và đặt biểu tượng tệp con dơi đó trên màn hình.


1
"Chế độ xem thuộc tính" có thể là "Trình quản lý tài sản" trong phiên bản VS của bạn, được truy cập qua Chế độ xem -> Windows khác.
Craig Ringer,

1
Tôi đoán nó sẽ trở thành Chế độ xem khi được gắn dưới dạng tab cùng với chế độ xem Tệp, Lớp và cây Tài nguyên.
JDługosz

2

Hãy thử cách khác mà không gặp rắc rối khi thêm vào mỗi Trang thuộc tính

Đi tới Thuộc tính Hệ thống Hệ điều hành Windows > Biến Môi trường , chỉ Mới và nhập Biến, ví dụ: MY_PATH và giá trị ví dụ: D: \ Dev_Path \

sau đó bạn phải khởi động lại Visual Studio của mình, bạn sẽ có thể có $ {MY_PATH} trong danh sách macro

p / s: chỉ cần chú ý Jason Williams đã trả lời ở trên là phương pháp Biến môi trường hệ điều hành


không phải là một ý kiến ​​hay, nếu bạn muốn tài sản của mình chỉ thuộc về dự án của bạn.
Mia Shani

Bạn đang sử dụng ứng dụng nào để đặt các thuộc tính này?
Doug Kimzey

1

Câu trả lời tương tự như cho @Serge Rogatch, ngoại trừ việc tôi không thể tìm thấy "Người quản lý tài sản" trong Chế độ xem.

Các bước trực quan để điều hướng nhanh: nhập mô tả hình ảnh ở đây


0

Cách dành cho các phiên bản studio trực quan mới nhất (2015+) như sau:

Để tạo macro do người dùng xác định:

  1. Trong cửa sổ Trình quản lý Thuộc tính (trên thanh menu, chọn Chế độ xem, Trình quản lý Thuộc tính), mở menu lối tắt cho trang thuộc tính (tên của nó kết thúc bằng .user) và sau đó chọn Thuộc tính.
  2. Hộp thoại Trang thuộc tính cho trang thuộc tính đó sẽ mở ra. Trong ngăn bên trái của hộp thoại, chọn Macro người dùng. Trong ngăn bên phải, chọn nút Thêm Macro để mở hộp thoại Thêm Macro người dùng.
  3. Trong hộp thoại, chỉ định tên và giá trị cho macro. Theo tùy chọn, hãy chọn hộp kiểm Đặt macro này làm biến môi trường trong hộp kiểm môi trường xây dựng.

Nguồn


Không có mục nào được gọi là "Trình quản lý thuộc tính" trong menu Chế độ xem của Visual Studio 2019. Không có mục nhập nào như "Macro người dùng" trong các trang Thuộc tính của Visual Studio 2019. Tìm kiếm trợ giúp là Visual Studio 2019 dành cho "Macro người dùng" khởi chạy " Mục mới ".
Doug Kimzey

VS2019 - Xem -> Windows khác -> Trình quản lý tài sản (và bạn sẽ đi đúng hướng!)
Kirk Bates
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.