Đó là khoảng cách tôi thêm tệp cpp của mình, sẽ không khác gì trong trường hợp của bạn.
Mã sẽ thêm tệp trong "SourceFiles \ SomeFolder" trong dự án và cũng trong thư mục "Tệp nguồn" trong cây xem dự án (cần phải có sẵn).
Project project = null; // you should get the project from the solution or as active project or somehow else
string fileName = "myFileName.cpp";
string fileRelativePath = "SourceFiles\\SomeFolder\\" + fileName;
// First see if the file is already there and delete it (to create an empty one)
string fileFullPath = Path.GetDirectoryName(project.FileName) + "\\" + fileRelativePath;
if (File.Exists(fileFullPath))
File.Delete(fileFullPath);
// m_applicationObject here is DTE2 or DTE2
string templatePath = (m_applicationObject.Solution as Solution2).ProjectItemsTemplatePath(project.Kind);
ProjectItem folderItem = project.ProjectItems.Item("Source Files");
ProjectItem myFileItem = folderItem.ProjectItems.AddFromTemplate(templatePath + "/newc++file.cpp", fileRelativePath);
Vui lòng không mong đợi mã biên dịch ngay và chạy - một số kiểm tra trạng thái không hợp lệ không được thực hiện tại đây.