Trong phần mở rộng của tôi mà tôi đang viết cho Visual Studio 2015 tôi muốn thay đổi kích thước tab và kích thước indent như tại nơi làm việc chúng tôi có một cài đặt khác như khi tôi đang phát triển cho dự án mã nguồn mở (lịch sử công ty có niên đại C). Tôi đã viết đoạn mã sau vào lớp lệnh của tôi:Viết Visual Studio cài đặt trong một phần mở rộng không ở lại
private const string CollectionPath = @"Text Editor\CSharp";
private void MenuItemCallback(object sender, EventArgs e)
{
var settingsManager = new ShellSettingsManager(ServiceProvider);
var settingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
var tabSize = settingsStore.GetInt32(CollectionPath, "Tab Size", -1);
var indentSize = settingsStore.GetInt32(CollectionPath, "Indent Size", -1);
if (tabSize != -1 && indentSize != -1)
{
settingsStore.SetInt32(CollectionPath, "Tab Size", 2);
settingsStore.SetInt32(CollectionPath, "Indent Size", 2);
}
}
Khi thử nghiệm trong một tổ ong nghiệm nó thay đổi nó khi bạn bước qua phương pháp này nhưng khi bạn mở Options thoại nó vẫn như giá trị ban đầu. Khi bạn gỡ lỗi một lần nữa các giá trị vẫn giữ nguyên bản gốc.
Tôi đã quên hoặc làm gì sai?
Tôi tin rằng bạn cần phải thực hiện settingsStore.CommitChanges() hoặc một cái gì đó tương tự. :) –
@ Dr.Stitch không tồn tại. –
về điều này "settingsStore.Settings.Default.Save();" ? xin lỗi vì điều đó. –