Sublime Text 中的 Project 详解

203 阅读2分钟

简介

Sublime 中的 Project 由两部分组成:

  • .sublime-project 文件,包含了 Project 的定义
  • .sublime-workspace 文件,包含了 user 相关的数据,比如打开的文件,编辑区域等等。

workspace 保存的是 session 相关的信息。

Sublime Project 的工作原理

记录 Project 所在的目录,从而实现打开该目录的功能。

一个 .sublime-project 可以包含多个目录(Folders),每个 folder 你可以认为是一个独立的 sub project,如下:

image.png

有了 Sublime Project,我们可以这样来组织我们的代码库,把所有 web repositories 都放在一个统一的 web.sublime-project 中,把所有 cpp repositories 放在另一个 cpp.sublime-project 中,这样的组织方式会更加清晰。

如何保存 .sublime-project 和 .sublime-workspace 文件?

.sublime-workspace 是动态更新的,所以我们不需要进行版本记录。

.sublime-project 可以放在项目目录中虽项目一起版本记录,也可以放在一个单独的目录中,保存所有的 *.sublime-project

如果使用 Project Manager 这个插件来管理所有的 projects,那么就把所有的 .sublime-project 和 .sublime-workspace 放到 Packages/User/Projects/ 目录中去。

怎么用快捷键来在新窗口中打开一个 Project?

我们可以用下面的 key binding

{
    "keys": ["super+ctrl+o"], // or ["ctrl+alt+o"] for Windows/Linux
    "command": "project_manager", "args": {"action": "open_project_in_new_window"}
}

Save Project As

使用 Sublime Text 打开某个目录,可以点击 Project > Save Project As 来把当前目录保存为 Project,按照提示填写 project name 之后,会生成 project_name.sublime-project 和 project_name.sublime-workspace 两个文件。

在关闭当前目录,再次用 sublime 打开 project_name.sublime-project  文件后就可以打开该目录了。

注意:已经保存后的 project_name.sublime-project 不可更改文件名,一旦改名,比如改成 project_name1.sublime-project,那么,再打开该  project_name1.sublime-project 时,会提示找不到。 

比如保存时取的名字是 proj50.sublime-project,然后改成 web.sublime-project,那么用 Sublime Text 打开 web.sublime-project 时,就会出现如下提示:

image.png

原因:

这是 Sublime Text 的 Session 导致的,Session 文件记录了

~/Library/Application Support/Sublime Text 3/Local/Session.sublime_session
解决办法:

Open Recent > Remove Deleted

image.png

Switch Projects

Project > Quick Switch Project ...

image.png

image.png

.sublime-workspace 是动态变化的,当你 Open Project 时,会自动生成一个 .sublime-workspace (默认在 ~/Download 目录下)。

Project 文件格式

.sublime-project 文件是 JSON 类型的,支持三个根级别元素:folders, settings, 和 build_systems.

{
    "folders":
    [
        {
            "path": "src",
            "folder_exclude_patterns": ["backup"],
            "follow_symlinks": true
        },
        {
            "path": "docs",
            "name": "Documentation",
            "file_exclude_patterns": ["*.css"]
        }
    ],
    "settings":
    {
        "tab_size": 8
    },
    "build_systems":
    [
        {
            "name": "List",
            "shell_cmd": "ls -l"
        }
    ]
}

参考文章:

www.sublimetext.com/docs/projec…

github.com/randy3k/Pro…

How to Use Project in Sublime Text 3?

forum.sublimetext.com/t/change-pr…

全文完!

如果你喜欢我的文章,欢迎关注我的微信公众号 deliverit。