zoukankan      html  css  js  c++  java
  • 设置VS visual studio

     如果你不喜欢白底黑字的颜色配置,可以更改vs2010所有的颜色(不仅仅是文本编辑器的背景颜色)。

       在VS2010的菜单中的:工具====》扩展管理器===》联机库,在其中找到 Visual studio coloer theme editor

    然后安装该库,这款扩展提供对Visual Studio 2010整个颜色样式的编辑,它默认提供了8种样式,我们还可以自定义其颜色样式。

      建议使用一些牛人已经配置好的颜色。去Visual Studio Programmer Themes Gallery 上面有很多配置好的颜色theme,不过这个是vs2005的,不同版本的vs scheme略有不同。

    ide设置 http://msdn.microsoft.com/zh-cn/library/zbhkx167(v=vs.90).aspx,上面说:

    什么是设置?

    设置是对 IDE 进行自定义,包括窗口布局、编辑器默认设置、IntelliSense 代码段和可用的对话框选项等,可以保存、导出、导入或重置这些自定义设置,以使 IDE 用起来更加得心应手。

    活动设置由两部分组成:一部分是预定义的自定义设置,这类设置来自第一次启动 Visual Studio 时所选择安装的 .vssettings 文件;另一部分是您对 IDE 所做的任何后续自定义设置。默认情况下,活动设置保存在 Currentsettings.vssettings 中

    如何:更改选择设置

    更改选择设置

    1. “工具”菜单上选择“导入和导出设置”

    2. “欢迎使用‘导入和导出设置向导’”页上单击“导入选定的环境设置”,再单击“下一步”

    3. “保存当前设置”页上选择“是,保存我的当前设置”,然后单击“下一步”

    4. “要导入哪个设置集合”的列表中选择一个设置集合,然后单击“下一步”

    5. “要导入哪些设置”中,展开列表,并仅选择要应用于当前设置的类别或类别项。

    6. 单击“完成”

      “重置完成”页的“详细信息”下列出了与重置设置有关的所有错误.不过没有这些别人写的scheme,自己可以手动配置。常用的配置;

      括号匹配: 凡是括号,鼠标点上去后会变色。改为显眼一点的颜色。

      高亮显示当前行:突出高亮显示当前鼠标行,通过工具中字体和颜色选项"当前行(扩展部分)"配置通过改变默认颜色设置

      高亮显示断点或当前所在的代码行:菜单:工具》选项》调试》常规,选中“为断点或当前语句突出显示整个行源”项。

        不喜欢默认的颜色,可以在选项>环境》字体和颜色》选择断点(启用),设置新颜色

       Go To Definition:f12,只需把光标放在你想的位置处,不用选中。

    visual stduio添加现有文件夹的方法

    选择左侧的解决方案,然后点击菜单【项目】-》显示所有文件,则会显示目录下所有的文件和文件夹。选中它,然后右键【包含到项目中】

    visual studio 工程目录,添加文件夹 和添加筛选器 的区别, 请看http://bbs.csdn.net/topics/390838516

    看菜单: 项目-->显示所有文件   
    勾上,则在解决方案中按目录显示,右键菜单可以添加文
    不勾上,则在解决方案中按筛选器显示,右键菜单可以添加筛选器

     vs筛选器filter

    使用vs2010开发项目时,有时源码文件过多,想按功能进行分类管理,这个时候就可以使用“筛选器(filter)”。

    添加筛选器很简单,在项目上右键单击,选择“添加 | 新建筛选器”,然后命名就可以了。之后向筛选器中添加文件。创建筛选器之后,要注意工程目录下的“*.filters”文件一定不能删掉,因为这个文件就是用来记录筛选器的。

    还有一个问题就是,有时候不但希望在vs2010 IDE里面,分类管理文件。还希望这些源码文件在实际的物理存储上,也按照筛选器同样的文件夹层次进行存放。这样也可以,比如在工程目录下新建一个DirectShow文件夹,然后按层次创建其子文件夹。不同功能的源码依据功能分别放在不同的子文件夹里面。然后按照实际文件夹的目录层次,一级一级创建筛选器,最后在每一级筛选器中添加相应的文件即可。

    这样有一个问题就是头文件包含麻烦了,可能某个文件需要include的头文件,在另一个子文件夹里面。这个时候就需要在include的时候,使用“..\(上级目录)Utilities\CMsgStation.h”、“.\(当前目录)DirectShow\Device\CVideoDevices.h”等等。这样比较麻烦,有一个解决方法就是添加工程的“包含(include)目录”,比如设置为:$(ProjectDir)XXX,其中$(ProjectDir)是vc编译器的预定义宏,代表当前工程目录。这样include XXX目录下的头文件yyy.h时,就可以直接include “yyy.h”了。

    vs修改输出目录后遇到的问题:

    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(989,5): warning MSB8012: TargetPath(C:\MyProj\Release\MyProj.dll) does not match the Linker's OutputFile property value (). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
    2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetExt(.dll) does not match the Linker's OutputFile property value (). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
    2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(991,5): warning MSB8012: TargetName(MyProj) does not match the Linker's OutputFile property value (). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
    这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配

    相关资料:

    一、VS2010编译器中常见的环境变量有:
    $(OutDir)、$(TargetName) 、 $(TargetExt)、$(ProjectName)、$(TargetFileName)



    二、环境变量含义:
    解决方案目录:$(SolutionDir)即为*.sln文件所在文件夹,尾带   ‘/’
    工程目录:$(ProjectDir) 即 为*.vcproj文件所在文件夹,尾带   ‘/’   
    输出目录(OutDir):  $(ProjectDir)$(PlatformName)/$(ConfigurationName) 
    中间目录(IntDir): $(OutDir)/Intermediate 
    输出文件:$(OutDir)/$(ProjectName).exe 
    平台名称:$(PlatformName) 一般是Win32,除非你的工程选项选的是"Itanium"或者"Pocket PC 2003 (ARMV4)"
    解决方案配置名称:$(ConfigurationName) 一般是Debug或者Release,$(PlatformName)\$(ConfigurationName)的一个示范是等于“Win32\Debug”


    三、其它
    编译事件支持的命令:
    copy/del/xcopy...
    如:copy "$(OutDir)$(TargetName)$(TargetExt)" "e:\"
    默认输出文件:$(OutDir)$(TargetName)$(TargetExt),默认等于$(TargetPath)。

    vs2013新建项目默认属性:

    默认输出目录;
     $(SolutionDir)$(Configuration) $(Configuration)为debug或release。

    连接器常规-》输出:$(OutDir)$(TargetName)$(TargetExt)

     这里的连接器输出实际上是最终的exe输出位置。如果配置和常规里面的输出目录配置不协调,会输出:

    1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(1186,5): warning MSB8012: TargetPath(F:\vsproject\duilibLearn\Debug\duiLogin.exe) does not match the Linker's OutputFile property value (F:\vsproject\duilibLearn\duiLogin.exe). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
    1> duiLogin.vcxproj -> F:\vsproject\duilibLearn\Debug\duiLogin.exe

    涉及到的配置:
    项目编译时使用的中间目录;
    项目链接的输出目录;
    项目编译结束后,拷贝生成的 dll 和 lib 到指定目录;
    项目编译结束后,拷贝需要的 dll 到输出目录;
    设置项目的工作目录;
    设置调试时执行的 exe 和工作目录;
    
    
    配置时使用到的一些宏:
    ConfigurationName   配置名字,通常是Debug或者Release
    IntDir              编译器使用的中间目录,产出obj文件
    OutDir              链接器使用的输出目录
    ProjectDir          项目目录
    ProjectName         项目名字
    SolutionDir         解决方案目录
    TargetDir           目标输出文件所在的目录
    TargetExt           目标输出的扩展名
    TargetFileName      目标输出文件名,包括扩展名
    TargetName          目标输出名,不包括扩展名
    TargetPath          目标输出文件的全路径名
    
    
    下面以 Sticker 为例展示目录结构设置的过程:
    Sticker 目录结构:
    Sticker
        +-- 3rd (第三方库)
        |   +-- dll
        |   |   +-- debug
        |   |   +-- release
        |   +-- lib
        |   |   +-- debug
        |   |   +-- release
        |   +-- include
        |
        +-- src (源码)
        |   +-- Sticker
        |   |   +-- Sticker 项目的代码
        |   +-- StickerLibrary
        |   |   +-- StickerLibrary 项目的代码
        |   +-- Sticker.sln
        |
        +-- xar (脚本)
        |   +-- Sticker
        |   +-- ...
        |
        +-- doc (文档)
        |
        +-- bin (可执行文件)
        |   +-- debug
        |   +-- release
        |
        +-- temp (中间目录)
            +-- compile
            |   +-- debug
            |   +-- release
            +-- link
                +-- debug
                +-- release
    
    1. 创建文件夹 Sticker\src
    2. 创建一个空的解决方案 Sticker.sln ,放入 Sticker\src 中
    3. 创建项目 Sticker
    4. 属性 --> 配置 设定为“所有配置”,这样可以同时设定 debug\release 下的配置
    5. 配置属性 --> 常规 --> 中间目录: $(SolutionDir)..\temp\compile\$(ConfigurationName)
    6. 配置属性 --> 常规 --> 输出目录: $(SolutionDir)..\temp\link\$(ConfigurationName)
    7. 配置属性 --> C/C++ --> 常规 --> 附加包含目录: "$(SolutionDir)..\3rd\include"
    8. 配置属性 --> 链接器 --> 常规 --> 附加库目录: "$(SolutionDir)..\3rd\lib\$(ConfigurationName)"
    9. 配置属性 --> 链接器 --> 输入 --> 附加依赖项: xxx1.lib xxx2.lib xxx3.lib
    10. 配置属性 --> 生成事件 --> 生成后事件 --> 命令行: 
        md $(SolutionDir)..\bin\$(ConfigurationName)
        copy $(TargetPath) $(SolutionDir)..\bin\$(ConfigurationName)
        copy $(SolutionDir)..\3rd\dll\$(ConfigurationName) $(SolutionDir)..\bin\$(ConfigurationName)
    11. 配置属性 --> 调试 --> 命令: $(SolutionDir)..\bin\$(ConfigurationName)\$(TargetFileName)
    12. 配置属性 --> 调试 --> 工作目录: $(SolutionDir)..\bin\$(ConfigurationName)\

    问题:如果编译成功,但提示无法启动程序,前提是修改了输出文件的目录。

    解决方案::项目->属性,将 “配置属性” 下的 “调试” 中的 ”命令“  的值改为和 ”链接器“ 中 ”输出文件的值“。

    一篇文章:

    项目配置及系统变量关系:

    在vs2010的项目属性页,会有一些系统变量,如下:

    SolutionDir:解决方案目录

    Configuration:指debug或release

    ProjectName:项目名字

    IntDir:中间目录

    TargetDir:生成exe或dll文件所在位置,如链接器-常规-输出文件为$(OutDir)$(TargetName)$(TargetExt)(即定义了exe输出位置,也就决定了TargetDit的值),此时TargetDir表示在XXX\lolution\debug\

    TargetName:目标输出名,不包括扩展名

    TargetPath:目标输出文件的全路径名

    ProjectDir:表示项目目录值,一般在“调试-工作目录”中设置该值

    TargetExt:扩展名

    PlatformToolsetVersion:

    ConfigurationName:配置名字,通常是Debug或者Release

    默认情况下“输出目录”和“输出文件”对应的目录值是一样的。

    配置属性

                 常规

                          输出目录:$(SolutionDir)$(Configuration)\

                          中间目录:$(Configuration)\ 

                          目标文件名:$(ProjectName)

                          目标文件扩展名:.exe

                          生成日志文件:$(IntDir)\$(MSBuildProjectName).log

                调试

                         命令:$(TargetPath),表示调试器要启动的exe全名,TargetPath就表示目标输出文件的全路径名,所以一般情况下它代表的值就等于“输出文件”属性代表的值

                         工作目录:$(ProjectDir)

    C/C++

              预编译头

                        预编译头输出文件:$(IntDir)$(TargetName).pch

              输出文件

                        ASM列表位置:$(IntDir)

                        对象文件名:$(IntDir)

                        程序数据库文件名:$(IntDir)vc$(PlatformToolsetVersion).pdb

              浏览信息

                        浏览信息文件:$(IntDir)

    链接器

              常规

                        输出文件:$(OutDir)$(TargetName)$(TargetExt)

             清单文件

                       清单文件:$(IntDir)$(TargetName)$(TargetExt).intermediate.manifest

             调试

                      生成程序数据库文件:$(TargetDir)$(TargetName).pdb

             优化:

                      按配置优化数据库:$(TargetDir)$(TargetName).pgd

    关于vs输出目录,参考:

    http://www.mamicode.com/info-detail-507829.html

    VS项目属性的一些配置项的总结(important)

     

    vs2010项目属性配置

    vs2013新建文件自动保存为utf-8编码

    http://jingyan.baidu.com/article/b907e627b68cb646e7891c28.html

    在vs2013中设置全局的include和lib方法

    在vs2008时设置include和lib都是全局的,也就是说对于每个项目不管是新建的还是以前的,都是公共的,但是在vs2010之后,对于一些全局的include和lib就需要对每个项目来进行设置,太麻烦了,因此这里就说一下在vs2010以及vs2013及以上设置全局的include和lib。

    1、首先新建一个IncludeLib项目,然后打开属性管理器,(注意:默认情况下属性管理器是不显示的,要通过视图->其他窗口->属性管理器,如下图1所示),然后就会在解决方案里出现属性管理器,如下图2所示:
    ---------------------  

    2、展开IncludeLib项目,然后出现有一个Debug和Release,分别展开其中有Microsoft.Cpp.Win32.user,如下图所示.

    3、双击Debug中的,然后在弹出的对话框中选择VC++目录,设置包含目录和库目录,对应的就是Include和Lib,如下图所示:

    4、以上是设置Debug,那么用同样方法可设置Release即可,以后不管是新建的还是旧的项目,默认打开都会被包含。

  • 相关阅读:
    Unity3D实践系列08, MonoBehaviour类的各种触发事件
    Unity3D实践系列07,组件的启用或禁用开关,物体的的可见或不可见开关,以及相应事件
    Unity3D实践系列06,球体撞击物体游戏
    Linux tee的花式用法和pee
    bash内置命令mapfile:读取文件内容到数组
    Perl正则表达式引用
    Perl文件句柄引用
    透明代理、正向代理、反向代理的区别说明
    Perl回调函数和闭包
    一文搞懂:词法作用域、动态作用域、回调函数、闭包
  • 原文地址:https://www.cnblogs.com/youxin/p/2428692.html
Copyright © 2011-2022 走看看