在 Visual Studio 中打开解决方案之前(或当)自动启动脚本

问题描述 投票:0回答:1

我有一个包含多个项目的解决方案和一个脚本,每当我在 VS 中打开该解决方案时,该脚本应该执行一些维护任务。问题是我经常忘记手动运行它,所以我认为可能有一种方法可以自动执行此操作。该脚本位于解决方案的目录中,但问题是目录本身可能会有所不同,因此不能选择创建用于启动 VS 和脚本的批处理文件。我听说 VS 的自定义扩展可以解决这个问题,但我对此一无所知。我使用的 Visual Studio 版本(如果有的话)是 Professional 2019。谢谢!

visual-studio automation visual-studio-extensions
1个回答
0
投票

目前,我想出的解决方案是修改脚本以使用 VS 打开解决方案文件,如下所示(Python):

import os

solution_file_path = os.path.join(
    os.path.dirname(os.path.abspath(__file__)), 
    'SolutionFileName.sln')
os.system(f'start "{visual_studio_path}" "{solution_file_path}"')

然后脚本照常继续。

visual_studio_path
字符串是从解决方案文件所在同一目录内的文本文件中检索的。该文件用于其他目的,用户无论如何都应该使用正确的 VS 路径填充它。所以在这里我很幸运。这是我的做法:

def get_visual_studio_path_from_text_file(working_dir: str) -> Union[str, None]:
    file_path = os.path.join(working_dir, 'text_file_name.txt')
    with open(file_path, 'r') as file:
        lines = file.readlines()
        for line in lines:
            if line.startswith("visual.studio.home="):
                return line.split("=")[1].strip()
    return None

这对我来说不是完美的解决方案,因为人们应该知道启动脚本才能打开解决方案,但不是通过通常的方式(通过双击解决方案文件,通过 VS 打开它等),这会很麻烦更优雅的方式相反 - 让 VS 在打开解决方案时打开脚本。因此,如果您知道如何做到这一点,请分享!

© www.soinside.com 2019 - 2024. All rights reserved.