• 使用VSCODE开发UE4

    2019-08-20 09:52:52
    完全可行,速度很快,智能提示、代码格式化、查找Symbol等等都不...Source Code,选择VSCode 在工程的uproject文件上右键>Generate Visual Studio Project,就会生成一个workspace文件,双击即可打开visual stud...

    完全可行,速度很快,智能提示、代码格式化、查找Symbol等等都不比VS+Visual AssistX 差。

    准备

    1. 打开编辑器的Editor Preferences>Source Code,选择VSCode
    2. 在工程的uproject文件上右键>Generate Visual Studio Project,就会生成一个workspace文件,双击即可打开visual studio code. 同时生成的还有一个.vscode文件夹。

    配置VSCode

    1. VSCode需要的插件网上众说纷纭,实际证明,只需要这三个就够了:
      1128759-20190404142812262-814306659.png

    1128759-20190404142818748-1771221376.png

    什么clang-format之类的完全不需要,因为c/c++里面自带了clang-format.

    打开设置(Ctrl+,或者File>Preferences>Settings)
    选择Extensions>C/C++

    C_Cpp:Autocomplete    Default
    C_Cpp:Clang_format_fallback Style   Visual Studio(这里是防止Clang_format_style填写的是file,而系统找不到.clang-format文件时候的情况)
    C_Cpp:Clang_format_path          不需要填写(默认配置好了)
    C_Cpp:Clang_format_style          Visual Studio(或者LLVM)
    C_Cpp>Default: Cpp Standard        c++11
    C_Cpp:Workspace Symbols          All

    最后这条最重要,否则查找Symbol时候就无法识别到UE源码中的代码了。

    注意上面的两个format 可以取值Visual Studio, LLVM, Google, WebKit等。推荐使用WebKit

    如果追求完美,可以这样设置

    官方C/C++插件自带的clang-format版本是6.0,所以设置相关选项时要注意参考的文档版本。
    可以自行下载最新的clang-format文件,目前最新版本是7.0。
    下载位置:下载
    选择编译好的win64版本。

    安装好以后只需要找到里面的clang-format.exe 拷贝到别处(例如C:/),其余部分就可以卸载了。

    然后将C_Cpp:Clang_format_path设置为刚下载的clang-format.exe路径:
    "C_Cpp.clang_format_path": "C:\\clang-format.exe",
    C_Cpp:Clang_format_style设置为file,表示从工作目录或上级文件夹中寻找.clang-format配置文件。
    在工作目录中创建一个名称为.clang-format的文件
    windows系统中无法创建名字以.开头的文件,可以这样创建:打开cmd,输入echo >.clang-format ,回车即可创建。

    内容用下方内容粘贴

    这里有一个专门为UE4配置好的.clang-format文件内容:

    ---
    Language:        Cpp
    AccessModifierOffset: -4
    AlignAfterOpenBracket: Align
    AlignConsecutiveAssignments: false
    AlignConsecutiveDeclarations: false
    AlignEscapedNewlines: Left
    AlignOperands:   true
    AlignTrailingComments: true
    AllowAllParametersOfDeclarationOnNextLine: true
    AllowShortBlocksOnASingleLine: true
    AllowShortCaseLabelsOnASingleLine: true
    AllowShortFunctionsOnASingleLine: None
    AllowShortIfStatementsOnASingleLine: false
    AllowShortLoopsOnASingleLine: false
    AlwaysBreakAfterReturnType: None
    AlwaysBreakBeforeMultilineStrings: false
    AlwaysBreakTemplateDeclarations: Yes
    BinPackArguments: false
    BinPackParameters: false
    BreakBeforeBinaryOperators: None
    BreakBeforeBraces: Allman
    BreakBeforeInheritanceComma: false
    BreakInheritanceList: AfterColon
    BreakBeforeTernaryOperators: true
    BreakConstructorInitializersBeforeComma: false
    BreakConstructorInitializers: AfterColon
    BreakAfterJavaFieldAnnotations: false
    BreakStringLiterals: true
    ColumnLimit:     0
    CommentPragmas:  '^ IWYU pragma:'
    CompactNamespaces: true
    ConstructorInitializerAllOnOneLineOrOnePerLine: true
    ConstructorInitializerIndentWidth: 4
    ContinuationIndentWidth: 0
    Cpp11BracedListStyle: true
    DerivePointerAlignment: true
    DisableFormat:   false
    FixNamespaceComments: true
    ForEachMacros:   
      - for
    IncludeBlocks:   Regroup
    IncludeCategories: 
      - Regex:           '.*\.generated\.h'
        Priority:        100
      - Regex:           '.*(PCH).*'
        Priority:        -1
      - Regex:           '".*"'
        Priority:        1
      - Regex:           '^<.*\.(h)>'
        Priority:        3
      - Regex:           '^<.*>'
        Priority:        4
    IncludeIsMainRegex: '([-_](test|unittest))?$'
    IndentCaseLabels: true
    IndentPPDirectives: None
    IndentWidth:     4
    IndentWrappedFunctionNames: false
    JavaScriptQuotes: Leave
    JavaScriptWrapImports: true
    KeepEmptyLinesAtTheStartOfBlocks: false
    MacroBlockBegin: ''
    MacroBlockEnd:   ''
    MaxEmptyLinesToKeep: 2
    NamespaceIndentation: None
    ObjCBinPackProtocolList: Never
    ObjCBlockIndentWidth: 2
    ObjCSpaceAfterProperty: false
    ObjCSpaceBeforeProtocolList: true
    PenaltyBreakAssignment: 2
    PenaltyBreakBeforeFirstCallParameter: 1
    PenaltyBreakComment: 300
    PenaltyBreakFirstLessLess: 120
    PenaltyBreakString: 1000
    PenaltyBreakTemplateDeclaration: 10
    PenaltyExcessCharacter: 1000000
    PenaltyReturnTypeOnItsOwnLine: 200
    PointerAlignment: Left
    RawStringFormats: 
      - Language:        Cpp
        Delimiters:      
          - cc
          - CC
          - cpp
          - Cpp
          - CPP
          - 'c++'
          - 'C++'
        CanonicalDelimiter: ''
        BasedOnStyle:    google
      - Language:        TextProto
        Delimiters:      
          - pb
          - PB
          - proto
          - PROTO
        EnclosingFunctions: 
          - EqualsProto
          - EquivToProto
          - PARSE_PARTIAL_TEXT_PROTO
          - PARSE_TEST_PROTO
          - PARSE_TEXT_PROTO
          - ParseTextOrDie
          - ParseTextProtoOrDie
        CanonicalDelimiter: ''
    ReflowComments:  true
    SortIncludes:    true
    SortUsingDeclarations: true
    SpaceAfterCStyleCast: true
    SpaceAfterTemplateKeyword: true
    SpaceBeforeAssignmentOperators: true
    SpaceBeforeCpp11BracedList: false
    SpaceBeforeCtorInitializerColon: true
    SpaceBeforeInheritanceColon: true
    SpaceBeforeParens: ControlStatements
    SpaceBeforeRangeBasedForLoopColon: true
    SpaceInEmptyParentheses: false
    SpacesBeforeTrailingComments: 4
    SpacesInAngles:  false
    SpacesInContainerLiterals: true
    SpacesInCStyleCastParentheses: false
    SpacesInParentheses: false
    SpacesInSquareBrackets: false
    Standard:        Auto
    TabWidth:        4
    UseTab:          Always
    ...
    

    自动格式化

    Text Editor> Formatting
    Format On Save和Format On Type都打勾。

    常用快捷操作

    打开Symbol: 按Ctrl键并鼠标左键点击Symbol
    查找Symbol: 选择Symbol并Ctrl+T (VAssist中的Alt+Shift+S)
    转到定义: F12
    转到声明: Ctrl+F12
    重命名: Ctrl+F2
    切换头/源文件: Alt+O (VAssist快捷键一样)
    快速打开文件: Ctrl+P (VAssist中的Alt+Shift+O)

    转载于:https://www.cnblogs.com/AnKen/p/10654678.html

    展开全文
  • Unreal Engine 4,2017年的时候就支持了使用VSCode https://code.visualstudio.com/ 进行代码的编写与编译,其速度较之Visual Studio 2015或者2017快了很多,众所周知,Visual Studio在第一次编译的时候耗时过长,且...

    Unreal Engine 4,2017年的时候就支持了使用VSCode https://code.visualstudio.com/ 进行代码的编写与编译,其速度较之Visual Studio 2015或者2017快了很多,众所周知,Visual Studio在第一次编译的时候耗时过长,且不用要是用西红柿插件的时候include过程中导致卡死现象……

    这里主要端庄过程进行总结:
    1、安装与配置
    https://www.cnblogs.com/AnKen/p/10654678.html
    2、遇到的问题
    a.VSCode上编译和运行的时候,出现很多选项,这些都写在task.json和lauch.json里面了,但其实我们用不到那么多,特别是使用非源码引擎版本,只有DebugGame、Development、Shipping等,至于各种版本的区别,可以参考这个链接
    b.提示错误问题
    在这里插入图片描述
    解决办法:https://answers.unrealengine.com/questions/729088/view.html
    4.18 是修改"C_Cpp.intelliSenseEngine": "Tag Parser"后即可生效,其他版本暂时不清楚;
    3、Hot Reload
    Hot Reload 作用在于你不需要重新打开编辑器。如此一来,就节约了好多时间了,如果编辑器打开的是Development Editor 版本,那么当你修改了源文件,想要不需要重启编辑器就可看到变化,编译一次Development Editor版本即可。这个在Visual Studio中也是一样的,Editor版本多了一两个Editor的DLL,正是通过更新这个DLL,才达到Hot Reload的。

    展开全文
  • [转]使用VSCODE开发UE4

    2019-06-19 19:45:43
    完全可行,速度很快,智能提示、代码格式化、查找Symbol等等都不比VS+Visual AssistX 差。 准备 打开编辑器的Editor Preferences>...Source Code,选择VSCode 在工程的uproject文件上右键>Generate Visua...

    原文地址:https://www.cnblogs.com/AnKen/p/10654678.html

     

    完全可行,速度很快,智能提示、代码格式化、查找Symbol等等都不比VS+Visual AssistX 差。

    准备

    1. 打开编辑器的Editor Preferences>Source Code,选择VSCode
    2. 在工程的uproject文件上右键>Generate Visual Studio Project,就会生成一个workspace文件,双击即可打开visual studio code. 同时生成的还有一个.vscode文件夹。

    配置VSCode

    1. VSCode需要的插件网上众说纷纭,实际证明,只需要这三个就够了:

    什么clang-format之类的完全不需要,因为c/c++里面自带了clang-format.

    打开设置(Ctrl+,或者File>Preferences>Settings)
    选择Extensions>C/C++

    C_Cpp:Autocomplete    Default
    C_Cpp:Clang_format_fallback Style   Visual Studio(这里是防止Clang_format_style填写的是file,而系统找不到.clang-format文件时候的情况)
    C_Cpp:Clang_format_path          不需要填写(默认配置好了)
    C_Cpp:Clang_format_style          Visual Studio(或者LLVM)
    C_Cpp>Default: Cpp Standard        c++11
    C_Cpp:Workspace Symbols          All

    最后这条最重要,否则查找Symbol时候就无法识别到UE源码中的代码了。

    注意上面的两个format 可以取值Visual Studio, LLVM, Google, WebKit等。推荐使用WebKit

    如果追求完美,可以这样设置

    官方C/C++插件自带的clang-format版本是6.0,所以设置相关选项时要注意参考的文档版本。
    可以自行下载最新的clang-format文件,目前最新版本是7.0。
    下载位置:下载
    选择编译好的win64版本。

    安装好以后只需要找到里面的clang-format.exe 拷贝到别处(例如C:/),其余部分就可以卸载了。

    然后将C_Cpp:Clang_format_path设置为刚下载的clang-format.exe路径:
    "C_Cpp.clang_format_path": "C:\\clang-format.exe",
    C_Cpp:Clang_format_style设置为file,表示从工作目录或上级文件夹中寻找.clang-format配置文件。
    在工作目录中创建一个名称为.clang-format的文件
    windows系统中无法创建名字以.开头的文件,可以这样创建:打开cmd,输入echo >.clang-format ,回车即可创建。

    内容用下方内容粘贴

    这里有一个专门为UE4配置好的.clang-format文件内容:

    ---
    Language:        Cpp
    AccessModifierOffset: -4
    AlignAfterOpenBracket: Align
    AlignConsecutiveAssignments: false
    AlignConsecutiveDeclarations: false
    AlignEscapedNewlines: Left
    AlignOperands:   true
    AlignTrailingComments: true
    AllowAllParametersOfDeclarationOnNextLine: true
    AllowShortBlocksOnASingleLine: true
    AllowShortCaseLabelsOnASingleLine: true
    AllowShortFunctionsOnASingleLine: None
    AllowShortIfStatementsOnASingleLine: false
    AllowShortLoopsOnASingleLine: false
    AlwaysBreakAfterReturnType: None
    AlwaysBreakBeforeMultilineStrings: false
    AlwaysBreakTemplateDeclarations: Yes
    BinPackArguments: false
    BinPackParameters: false
    BreakBeforeBinaryOperators: None
    BreakBeforeBraces: Allman
    BreakBeforeInheritanceComma: false
    BreakInheritanceList: AfterColon
    BreakBeforeTernaryOperators: true
    BreakConstructorInitializersBeforeComma: false
    BreakConstructorInitializers: AfterColon
    BreakAfterJavaFieldAnnotations: false
    BreakStringLiterals: true
    ColumnLimit:     0
    CommentPragmas:  '^ IWYU pragma:'
    CompactNamespaces: true
    ConstructorInitializerAllOnOneLineOrOnePerLine: true
    ConstructorInitializerIndentWidth: 4
    ContinuationIndentWidth: 0
    Cpp11BracedListStyle: true
    DerivePointerAlignment: true
    DisableFormat:   false
    FixNamespaceComments: true
    ForEachMacros:   
      - for
    IncludeBlocks:   Regroup
    IncludeCategories: 
      - Regex:           '.*\.generated\.h'
        Priority:        100
      - Regex:           '.*(PCH).*'
        Priority:        -1
      - Regex:           '".*"'
        Priority:        1
      - Regex:           '^<.*\.(h)>'
        Priority:        3
      - Regex:           '^<.*>'
        Priority:        4
    IncludeIsMainRegex: '([-_](test|unittest))?$'
    IndentCaseLabels: true
    IndentPPDirectives: None
    IndentWidth:     4
    IndentWrappedFunctionNames: false
    JavaScriptQuotes: Leave
    JavaScriptWrapImports: true
    KeepEmptyLinesAtTheStartOfBlocks: false
    MacroBlockBegin: ''
    MacroBlockEnd:   ''
    MaxEmptyLinesToKeep: 2
    NamespaceIndentation: None
    ObjCBinPackProtocolList: Never
    ObjCBlockIndentWidth: 2
    ObjCSpaceAfterProperty: false
    ObjCSpaceBeforeProtocolList: true
    PenaltyBreakAssignment: 2
    PenaltyBreakBeforeFirstCallParameter: 1
    PenaltyBreakComment: 300
    PenaltyBreakFirstLessLess: 120
    PenaltyBreakString: 1000
    PenaltyBreakTemplateDeclaration: 10
    PenaltyExcessCharacter: 1000000
    PenaltyReturnTypeOnItsOwnLine: 200
    PointerAlignment: Left
    RawStringFormats: 
      - Language:        Cpp
        Delimiters:      
          - cc
          - CC
          - cpp
          - Cpp
          - CPP
          - 'c++'
          - 'C++'
        CanonicalDelimiter: ''
        BasedOnStyle:    google
      - Language:        TextProto
        Delimiters:      
          - pb
          - PB
          - proto
          - PROTO
        EnclosingFunctions: 
          - EqualsProto
          - EquivToProto
          - PARSE_PARTIAL_TEXT_PROTO
          - PARSE_TEST_PROTO
          - PARSE_TEXT_PROTO
          - ParseTextOrDie
          - ParseTextProtoOrDie
        CanonicalDelimiter: ''
    ReflowComments:  true
    SortIncludes:    true
    SortUsingDeclarations: true
    SpaceAfterCStyleCast: true
    SpaceAfterTemplateKeyword: true
    SpaceBeforeAssignmentOperators: true
    SpaceBeforeCpp11BracedList: false
    SpaceBeforeCtorInitializerColon: true
    SpaceBeforeInheritanceColon: true
    SpaceBeforeParens: ControlStatements
    SpaceBeforeRangeBasedForLoopColon: true
    SpaceInEmptyParentheses: false
    SpacesBeforeTrailingComments: 4
    SpacesInAngles:  false
    SpacesInContainerLiterals: true
    SpacesInCStyleCastParentheses: false
    SpacesInParentheses: false
    SpacesInSquareBrackets: false
    Standard:        Auto
    TabWidth:        4
    UseTab:          Always
    ...
    

    自动格式化

    Text Editor> Formatting
    Format On Save和Format On Type都打勾。

    常用快捷操作

    打开Symbol: 按Ctrl键并鼠标左键点击Symbol
    查找Symbol: 选择Symbol并Ctrl+T (VAssist中的Alt+Shift+S)
    转到定义: F12
    转到声明: Ctrl+F12
    重命名: Ctrl+F2
    切换头/源文件: Alt+O (VAssist快捷键一样)
    快速打开文件: Ctrl+P (VAssist中的Alt+Shift+O)

    展开全文
  • 下载并安装VSCode4. 安装VS Code的插件5. 将VS Code设为默认的源代码编辑器 1. 下载Build Tools 打开这个页面 微软的C++生成工具下载 点下载生成工具 滚动到页面下方,找到Visual Studio 2019工具 下载Visual ...

    1. 下载Build Tools

    打开这个页面
    微软的C++生成工具下载

    下载生成工具
    在这里插入图片描述
    滚动到页面下方,找到Visual Studio 2019工具

    在这里插入图片描述

    下载Visual Studio 2019生成工具,这个工具看似和VisualStudio的安装包一样,但是不强制安装VisualStudio的编辑器

    在这里插入图片描述

    2. 安装Build Tools

    在这里插入图片描述
    还要在单个组件标签里勾选一个.NET Framework 4.8 SDK

    在这里插入图片描述

    BuildTools安装完毕

    在这里插入图片描述

    3. 下载并安装VSCode

    VS Code的官网下载

    在这里插入图片描述

    4. 安装VS Code的插件

    在这里插入图片描述

    5. 将VS Code设为默认的源代码编辑器

    在这里插入图片描述设置完毕后会要求重启UE4

    生成VIsual Studio Code项目
    在这里插入图片描述
    这样 VS Code的开发环境就设置完毕了
    在这里插入图片描述

    展开全文
  • VSCode作为脚本编程的神器,我们可以尝试在VSCode里编写shader。不管是unityshaderlab还是虚幻4的shader都很方便。 首先去官网下周VScode,下面给哥传送门 https://code.visualstudio.com/ , 然后在VSCode的插件...

    VSCode作为脚本编程的神器,我们可以尝试在VSCode里编写shader。不管是unityshaderlab还是虚幻4的shader都很方便。

    首先去官网下周VScode,下面给哥传送门 https://code.visualstudio.com/

    然后在VSCode的插件拓展商店里搜索HLSL安装HLSL高亮插件

    (呃呃呃感觉上面的都是大家都知道的废话)下面我们开始调整VSCode的高亮配色方案

    打开安装路径下这个文件

    在这里加入虚幻的shader拓展名


    我们就能在这里面书写虚幻4的shader啦。搜索字符串的速度相当快。

    展开全文
  • 下载VS Code,并安装下图两个插件 中途安装时候可能需要要求安装.Net SDK,按提示安装一下即可 打开工程的Editor模式,打开编辑器偏好设置 修改为VS Code作为项目的...打开VS Code即可编译我们的UE4工程了! ...
  • UE4 vscode

    2019-10-17 18:51:59
    vs安装UnrealVS Engine\Extras\UnrealVS\VS* 目录下vsix文件,双击运行安装 vs安装UE4.natvis /Engine/Extras/VisualStudioDebugging/UE4.natvis 拷贝到 vs的Common7/Packages/Debugger/...UE4 使用vscode开发...
  • Perforce与Unreal Engine 4的集成 链接1描述了关于Epic Games Launcher的安装,链接2 描述了关于Perforce的安装 1 https://blog.csdn.net/weixin_42182599/article/details/103883033 2 ...
  • 分类: 对于程序员来讲,在使用UE4时候避免不了调试C++代码,那么就必然有调试代码的时候,假如你为了一个问题,反复的编译C++,反复重新打开UE4 Editor,或者你用Editor里面的Compile来编译,但是错误提示一些的都...
  • [gdc20]ISPC in UnrealEngine4

    2020-05-04 08:03:07
    2020GDC上,ispc也是intel重点推进的技术,这里是在ue中的应用。 ISPC ISPC是 Implicit SPMD(single program multiple data) Program Compiler的缩写。 可以理解为这是一个面向cpu的shader。 ...
  • 设置Visual Studio和虚幻引擎4协同工作有利于提高开发人员使用UE4 的效率和整体用户体验。 On this page: 推荐设置Intellisense(智能编码)、Live Errors(实时错误)和Squiggles(波浪线提示) 实现细节 ...
  • 最近公司可能要用到UE,所以想着先学习一下,原本以为工具和蓝图会栽的比较多,但是万万没想到啊,第一步代码上面就炸了 WDNMD ================================================================================...
  • 使用VS Code作为UE4 Python脚本的编辑器,进行一系列设置使之能够高亮提示与智能补全
  • 1. 首先UE4 Editor里面 File里面Greate Visual Studio Project用来创建VS工程,之后点击Open Visual Studio Project来打开工程。 2. 编译工程,最终绝对UE4工程编译是否成功的是UE4 Editor里面的compile是否成功,...
  • UE4-VS宏提示

    2020-06-05 15:43:16
    亲爱的各位下载者,该资源我本人也没使用过,对于具体使用方法还是各位大佬摸索下,多多包涵。
  • 在之前的博客《【UE4源代码观察】手动建立一个使用UBT进行编译的空白工程》中我尝试动手搭建了一个用UBT进行编译的空白的工程。但是对UBT其中的逻辑并不理解。 后来在学习UE4源代码的过程中,又了解了它的一些行为。...
  • title: ue4-shader-自定义...categories: UnrealEngine4 tags: [ue4, shader, hlsl] date: 2019-05-01 00:14:31 comments: false ue4-shader-自定义shader代码hlsl 前篇 Shader Development - https://docs.un...
  • 关于VS2017编译UE4项目,输出窗口有乱码的解决方案 主机环境——区域:中国,系统语言:中文,VS中英文,UE4中文。 修改系统语言和所在地区依旧乱码。 勾选使用Unicode UTF-8提供全球语言支持,依旧乱码。 ...
  • 2、shift+alt+o可输入想要打开的文件,既可以是UE4源码中的也可是游戏项目里的.h或.cpp文件 如果不知道一个类的头文件可以在这里查找并看最后的路径,来include 3、查看一个变量或变量的声明方法 alt+g 比如...
1 2 3 4 5 6
收藏数 104
精华内容 41
热门标签