用Sublime Text 2 作IDE开发 Unity3D 项目(VinceLi)

本文详细介绍了如何配置Sublime Text作为Unity3D项目的集成开发环境(IDE),包括安装必要的插件、设置C#代码注释快捷键、实现C#语法高亮及智能提示等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sublime是一款非常优秀的脚本编辑器,用它做unity3d的项目IDE效果也不错。

关于这个软件的配置,网上找了些教程,如下是按照这个http://www.cnblogs.com/yili16438/p/3721896.html做的,个人觉得内容不是很具体,下面补完:

下载好sublime text,个人用的是sublime text2,嗯那个要钱是吧?看你们本事了。



好,然后安装package controll,文章链接:http://www.cnblogs.com/ldm1989/p/3738815.html

在线安装,首先打开 Ctrl + ~,输入如下的代码:

import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation') 

安装完了之后重启软件即可。

ps:输入Ctrl + Shift + P 然后输入Install Package看是否可以调出来Install Package验证下安装是否成功。


unity设置sublime

edit-preferences-External tools

选择好sublime,然后下面Arg要填"$(File)":$(Line)

原因:http://docs.unity3d.com/Manual/Preferences.html


Sublime 中 C# 注释快捷键

这个很简单,照着第一个链接里面的做就ok了,方法如下

Sublime 注释的快捷键是 ctrl+/,对于不同的语言根据文件的扩展名会有不同的注释类型,不知道为什么这个快捷键在 C# 中似乎是失效了,也找到了解决方法,因为 C# 的注释和 JS 是一样的,所以把 JS 中关于注释那一块的 source 类型加上 cs 就好。具体的操作步骤如下:

1、打开 Sublime 的包目录,Preference -> Browse Packages ...
2、打开 JavaScript,找到 Comments.tmPreferences 并编辑
3、找到并编辑 <string>source.js, source.json, source.cs</string>



C# 语法分析

这个插件是重中之重,它会从 dll 文件中分析相关的类信息以及其他的元信息,然后你在编辑 cs 文件的时候,会在输入 . 的时候触发补全功能,根据不同的上下文,不同的变量,不同的类文件,会显示出相应的变量和方法提示列表,好用到暴!拉下来我们安装:

1、安装插件:CompleteSharp
2、编辑工程文件,工程文件是指扩展名为 *.sublime-project 的文件
3、在工程文件中加入如下相关的 dll 信息

然后像我这样没头脑的人就不知道工程文件是在哪里了,好吧,其实工程文件要自己在自己工程里面新建。那么,在工程里面新建一个 名字.sublime-project的文件吧,然后用sublime打开,下面的信息要自定义

{
    "folders":
    [
        {
            "path": "/C/Users/Vince/Desktop/shaderStudy"<span style="white-space:pre">		</span>//自定义的项目路径
        }
    ],
    "settings":
    {
        "completesharp_assemblies": [
            "D:/Program Files (x86)/Unity5/Editor/Data/Managed/UnityEngine.dll",<span style="white-space:pre">	</span>//自定义的unity3d程序路径,注意unity5和unity的文件名不一样
            "D:/Program Files (x86)/Unity5/Editor/Data/Managed/UnityEditor.dll",
            "D:/Program Files (x86)/Unity5/Editor/Data/Managed/nunit.framework.dll",
            "D:/Program Files (x86)/Unity5/Editor/Data/Mono/lib/mono/unity/UnityScript.dll",
            "D:/Program Files (x86)/Unity5/Editor/Data/Mono/lib/mono/unity/System.Core.dll",
            "D:/Program Files (x86)/Unity5/Editor/Data/Mono/lib/mono/unity/System.dll",
            "C:/Users/Vince/Desktop/shaderStudy/*/*/*/*/*.dll",<span style="white-space:pre">			</span>//用自己的项目路径把<span style="font-family: Arial, Helvetica, sans-serif;">C:/Users/Vince/Desktop/shaderStudy/替换掉</span>
            "C:/Users/Vince/Desktop/shaderStudy/*/*/*/*.dll"
        ]
    }
}

增强版的 All AutoComplete

这个我不是很清楚,可能还不需要吧,作者主要是要查找自己定义的类啊方法的,可以链接里面找下

插件:All AutoComplete

编辑 all_views_completions.py 文件,在其中 AllAutocomplete 中加入了一个 __init__ 方法,该方法会在插件初始化的时候去读取一个指定目录下的文件,指定目录下会有若干个文件,文件为一个以 '|' 为分隔符的单词的字符串,比如:Abs|AccelerationEvent,并将所有读取到的单词加入到 self.customs 中,然后在触发补全的方法中,将自定义的单词加入进去,大概效果效果如下(unity.txt 这份文件其实是从 Unity3D/UnityC#.tmLanguage 中扒过来的):

def __init__(self):
    words = []
    for root, dirs, files in os.walk("D:/Program Files/Sublime Text 2/Conf/Packages/All Autocomplete/custom"):<span style="white-space:pre">		</span>//改成自己package里面的路径
        for name in files:
            with open(os.path.join(root, name), "r") as file:
                words += file.read().split('|')

    words = filter_words2(words)
    self.customs = without_duplicates(words)

Unity3D 脚本参考

好,这个是重中之重,先贴作者的


写代码的过程中,经常会需要查 API 文档,所以方便的查 API 文档是一个重要的功能。Sublime 本身并不提供类似的功能,但这难不倒各位程序员童鞋,我在网上找到一个插件:Unity3D Script Reference Search,这个插件的作用就是搜索 API,可以搜索当前光标上的单词,也可以输入指定的内容。这个插件干的事情非常简单,其实就是在插件中调用 webbrowser.open_new_tab(url) ,其中 url 就是拼成的一个查询链接。不过这个插件访问的 url 却是官网的在线 API,而实际上在本地是也有一份 API 文档的,通过 Unity 菜单 Help -> Scripting Reference 可以访问。

我试着改了一下插件,修改 Unity3DScriptReference.py 文件,将其中的 url 链接改成指向本地的文件,似乎并不生效,web 这一块我不熟悉,所以我干脆简单点,用 Python 开一个简单的 http 服务,我在 使用Python创建简单的HTTP和FTP服务 中有介绍,直接在 Unity 目录下面开一个 http 服务,最终的效果图如下:



2014/5/23 修改:因为有先入为主的想法,以为只能用 webbrowser 来访问网页,实际上是不需要的,http 服务也是没必要开的,上面的代码只要改一下就可以,将 webbrowser.open_new_tab 改成 subprocess.call 就可以了,如下:

browser = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe "<span style="white-space:pre">	</span>//自己的浏览器路径

def SearchUnityScriptReferenceFor(text):
    # url = 'http://unity3d.com/support/documentation/ScriptReference/30_search.html?q=' + text.replace(' ','%20')
    url = 'file:///D:/Program%20Files%20(x86)/Unity/Editor/Data/Documentation/Documentation/ScriptReference/30_search.html?q=' + text.replace(' ','%20')<span style="white-space:pre">	</span>//自己的<span style="font-family: Arial, Helvetica, sans-serif;">ScriptReference下面的路径,一定要填对,还有unity5会有en文件夹在</span><span style="font-family: Arial, Helvetica, sans-serif;">ScriptReference之前,要注意</span><span style="font-family: Arial, Helvetica, sans-serif;">
</span>    # webbrowser.open_new_tab(url)
    subprocess.call(browser+url)<span style="white-space:pre">	</span>//浏览器加链接

def OpenUnityFunctionReference(text):
    # url = 'http://unity3d.com/support/documentation/ScriptReference/' + text.replace(' ','%20')
    url = 'file:///D:/Program%20Files%20(x86)/Unity/Editor/Data/Documentation/Documentation/ScriptReference/' + text.replace(' ','%20') + '.html'
    # webbrowser.open_new_tab(url)
    subprocess.call(browser+url)
这样,在sublime里面用右键点类,可以查找本地api

需要定义快捷键的,ctrl+shift+p -> key bindings user,添加如下快捷键:

{ "keys": ["f4"], "command": "unity_reference_search_selection" }


unity高亮插件:unity3d

代码片段插件:Unity3D Snippets and Completes


中文乱码插件:ConvertToUTF8或者GBK Encoding Support


还有,可以设置每次打开sublime的文件格式。先打开一个cs文件,在右下角的文件选择中选择unity3D--->unity C#,js同理,然后再最上面设置Open all with current extension as...这样就可以了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值