首先要排除是否是内存不足导致的。 VS2012对电脑配置要求也比较高。安装失败的原因有很多。如果您使用的是 Windows Vista 并启用了 UAC,请确保将补丁提取到其他位置。目录,并且模型不是“c:\”(否则您将看到访问被拒绝的错误)。
要验证此修补程序是否安装成功,请启动 VS 2012,选择“帮助”-“关于”菜单项,并确认有一条记录为“Hotfix for Microsoft Visual Studio Team System 2012 Team Suite – ENU (KB946581)” ”。
如果要删除此补丁,请转到控制面板 - 添加/删除程序,在 Microsoft Visual Studio 2012(或 Visual Web Developer Express 2012)下选择“Hotfix for Microsoft Visual Studio 2012 – KB946581”,然后单击“去掉“”。
如果还是不行,就只能重新安装了。重新安装时请勿覆盖橙色盖安装。卸载所有VS2012【你自己应该知道如何卸载】,
[img]开始之前,请准备好 Visual Studio 2012 SDK
安装好SDK后,进入VS。首先新建一个Project,在“其他项目类型”中找到“Visual Studio Package”
在接下来的对话框中选择“C#”,然后基本下一步。在最后一步中取消选中这两个复选框,因为它们在这里没有用处。最后,我成功创建了一个新的VS扩展项目
3。初步改造
第一步,给VS添加背景图片。首先,添加 WPF 程序集作为对项目的引用。其中有四个,分别是“PresentationCore”、“PresentationFramework”、“System.Xaml”和“WindowsBase”。然后打开“XXXPackage.cs”(XXX一般是这个Project的名称)文件,代码如下:
使用www.sychzs.cn;
使用Microsoft.VisualStudio.Shell.Interop;
使用系统;
使用 System.Runtime.InteropServices;
使用System.Windows;
使用System.Windows.Controls;
使用www.sychzs.cn;
使用 System.Windows.Media.Imaging;
namespace Moen.IDEBackground //命名空间自己回自己用的修改
{
[PackageRegistration(UseManagedResourcesOnly = true)]
[InstalledProductRegistration("#110", "#112","1.0", IconResourceID = 400)]
[Guid(GuidList.guidIDE_BackgroundPkgString)]
[提供自动加载(UIContextGuids.NoSolution)]
[提供自动加载(UIContextGuids.SolutionExists)]
公共密封类 IDEBackgroundPackage :Package
{
受保护覆盖 void Initialize()
{
base.Initialize();
Application.Current.MainWindow.Loaded += MainWindow_Loaded;
rRootGrid.Children.Insert(0, rImageControl);
}
}
}
修改代码后,调试,编译扩展,然后启动实验VS。 (如果是第一次启动实验VS,可能需要像刚安装VS一样进行设置)然后你会看到角落里出现了背景图片
(无需调试即可进入实验VS的方法:开始菜单-Microsoft Visual Studio 2012-Microsoft Visual Studio SDK-工具-启动Visual Studio 2012实验实例)
4。修改肤色
为了方便,在实验VS中进入“工具-扩展功能和更新程序”,选择“在线”部分,然后在中间找到“Visual Studio 2012 Color ThemeEditor”并安装,重启实验VS
重启后,进入“工具-自定义颜色”。本示例基于深色,因此在左侧“新建主题”区域中,直接在文本框中输入皮肤名称,然后单击“创建”。这将带您进入肤色表
首先去掉主界面上大片的灰色区域。找到以“Environment→EnvironmentBackgroundGradient”开头的,并将所有的不透明度设置为0。然后单击表格左上角的“保存并应用主题”以关闭所有页面。然后你就会看到背景
继续,找到“Environment→MainWindowActiveCaption”、“Environment→MainWindowInactiveCaption”、“Environment→CommandShelfBackgroundGradientXXX”、“Environment→CommandShelfHighlightGradientXXX”、“Environment→CommandBarGradientXXX”、“Environment→CommandBarToolBarBorder”,并将不透明度设置为0,
然后涂抹。上面也没有灰色
至于这些对应在哪里,你可以通过名称来确定,但并不准确。详细的弄清楚是非常麻烦的。你得用反编译软件找到你要修改的控件的xaml文档,找到对应的画笔名。它非常复杂,所以我在这里提供我所使用的。点击“自定义颜色”下的“导入主题”
5。编辑
到目前为止,打开文件后,编辑器的背景还是黑色的。下一步就是去除这层黑色层
首先打开“source.extension.vsixmanifest”文件,进入“Assets”选项卡,点击“New”按钮。在弹出的对话框中,“类型”选择“Microsoft.VisualStudio.MefComponent”,“源”选择“当前解决方案中的项目”,“项目”选择当前项目。目前应该只有一种选择。终于OK了
接下来,创建一个新文件,这里命名为“EditorBackground.cs”
在输入代码之前添加一些引用 - System.ComponentModel.Composition、Microsoft.VisualStudio.CoreUtility、Microsoft.VisualStudio.Text.UI、Microsoft.VisualStudio.Text.UI.Wpf(最后三个位于“Extensions”中) (四处看看)
完成后,文件代码如下:
undefined}
void MakeBackgroundTransparent()
{
r_TextView.Background =画笔.透明;
r_ViewStack.Background =Brushes.Transparent;
r_ParentGrid.ClearValue(Grid.BackgroundProperty);
}
void TextView_Loaded(对象发送者,RoatedEventArgs e)
{
if (r_ParentGrid == null)
r_ParentGrid =(Grid)r_Control.Parent;
if (r_ViewStack == null)
r_ViewStack =(Canvas)r_Control.Content;
MakeBackgroundTransparent();
}
voidTextView_BackgroundBrushChanged(对象发送者,BackgroundBrushChangedEventArgse)
{
r_Control.Dispatcher.BeginInvoke(new Action(() =
{
while (r_ParentGrid.Background!= null)
MakeBackgroundTransparent();
}), DispatcherPriority.Render);
}
void TextView_Closed(对象发送者,EventArgs e)
{
//清除委托,防止内存泄漏
r_TextView.Closed -=TextView_Closed;
r_TextView.BackgroundBrushChanged-= TextView_BackgroundBrushChanged;
}
}
}
调试并进入实验VS,进入颜色表,找到“Environment→EnvironmentBackground”,设置一个颜色值(我的例子是#A0000000)作为编辑器的背景色。然后找到“环境→窗口”并将其设置为透明
6。完结
基本的VS界面修改就这样了。但有一个棘手的问题——xaml编辑器和各个编辑器(例如HTML)托管在VS的一个子窗口上,而这个窗口的背景是黑色的。还在研究中...
首先,在文档的标题中添加以下内容:
#ifdef _DEBUG
#define DEBUG_CLIENTBLOCK new(_CLIENT_BLOCK, __FILE__, __LINE__)
#else
#define DEBUG_CLIENTBLOCK
#endif
#define _CRTDBG_MAP_ALLOC
#include stdlib.h
#include crtdbg.h
#ifdef _DEBUG
#定义新的DEBUG_CLIENTBLOCK
#endif
然后在主函数前面添加一个函数调用:
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);
注意程序必须在debug模式下编译和运行,而不是release模式。然后程序执行后,你会在VS输出窗口中看到可能存在内存泄漏的信息。
建议大家使用VS2015或者2013,VS2012不好用,还有bug,
例如:如果在MFC中使用线程,就会提示内存泄漏。如果把同样的代码放在VS2013或者2015中,内存泄漏信息就会消失!
.c是c语言的源程序,
.cpp是c++语言的源程序,
这是两种不同的语言,具有不同的语法。不过C++兼容了C语言的大部分语法特性,所以这段代码在C++中可以运行,但在C语言中会报错。
下面以常见的hello world为例。
1。打开vs2012-文件-新建-项目,点击(如图)
2。在对话框左侧找到模板-其他语言-Visual C++-win32(如图)。选择“Win32控制台应用程序”并设置“名称”和“存储路径”,然后单击确定
3。单击下一步
4。然后勾选“空项目”
5。然后点击菜单栏-查看-解决方案资源管理器
6。在弹出的浮动窗口中右键“源文件”(如图)
7。然后选择-添加-新建项目并点击(如图)
8。然后选择Visual C++然后选择“c++文件”并命名为holloworld.c
9。然后输入c语言代码
8。 C# 是专门为基于 GUI 的环境(不仅仅是 Windows 环境,尽管现在仅在 Windows 中可用)中进行编程和后台服务(例如 Web 服务)而设计的。这与语言本身无关,而是体现在基类库的设计上。
关于vs2012内存泄漏和vs2019内存泄漏的介绍到此结束。您找到您需要的信息了吗?如果您想了解更多相关信息,请记得添加书签并关注本网站。